From d46510897b7b313fb88eccd6cfb5e0cdd87c1810 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 23 Oct 2019 14:23:13 +0300 Subject: [PATCH] [Gradle, JS] Refactor and extract team city formatting in separate file --- .../karma-kotlin-reporter.js | 73 +-- .../mocha-kotlin-reporter.js | 88 ++-- .../tools/kotlin-test-js-runner/package.json | 3 +- .../kotlin-test-js-runner/rollup.config.js | 16 + .../src/TeamCityMessagesFlow.ts | 3 +- .../src/teamcity-format.d.ts | 1 + .../src/teamcity-format.js | 58 +++ .../tools/kotlin-test-js-runner/src/utils.ts | 26 -- .../tools/kotlin-test-js-runner/yarn.lock | 434 +----------------- license/README.md | 5 + 10 files changed, 142 insertions(+), 565 deletions(-) create mode 100644 libraries/tools/kotlin-test-js-runner/src/teamcity-format.d.ts create mode 100644 libraries/tools/kotlin-test-js-runner/src/teamcity-format.js diff --git a/libraries/tools/kotlin-test-js-runner/karma-kotlin-reporter.js b/libraries/tools/kotlin-test-js-runner/karma-kotlin-reporter.js index 3fb442878f2..40230fa0b92 100644 --- a/libraries/tools/kotlin-test-js-runner/karma-kotlin-reporter.js +++ b/libraries/tools/kotlin-test-js-runner/karma-kotlin-reporter.js @@ -1,4 +1,15 @@ -const util = require('util'); +import { + BLOCK_CLOSED, + BLOCK_OPENED, + formatMessage, + SUITE_END, + SUITE_START, + TEST_END, + TEST_FAILED, + TEST_IGNORED, + TEST_START +} from "./src/teamcity-format"; + const resolve = require('path').resolve; /** @@ -72,23 +83,6 @@ function createFormatError(config, emitter) { * The MIT License * Copyright (C) 2011-2013 Vojta Jína and contributors */ -const escapeMessage = function (message) { - if (message === null || message === undefined) { - return '' - } - - return message.toString() - .replace(/\|/g, '||') - .replace(/'/g, "|'") - .replace(/\n/g, '|n') - .replace(/\r/g, '|r') - .replace(/\u0085/g, '|x') - .replace(/\u2028/g, '|l') - .replace(/\u2029/g, '|p') - .replace(/\[/g, '|[') - .replace(/]/g, '|]') -}; - const hashString = function (s) { let hash = 0 let i @@ -104,16 +98,6 @@ const hashString = function (s) { return hash } -const formatMessage = function () { - const args = Array.prototype.slice.call(arguments); - - for (let i = args.length - 1; i > 0; i--) { - args[i] = escapeMessage(args[i]) - } - - return util.format.apply(null, args) + '\n' -}; - // This reporter extends karma-teamcity-reporter // It is necessary, because karma-teamcity-reporter can't write browser's log // And additionally it overrides flushLogs, because flushLogs adds redundant spaces after some messages @@ -123,15 +107,6 @@ const KarmaKotlinReporter = function (baseReporterDecorator, config, emitter) { const formatError = createFormatError(config, emitter) - this.TEST_IGNORED = "##teamcity[testIgnored name='%s' flowId='']" - this.SUITE_START = "##teamcity[testSuiteStarted name='%s' flowId='']" - this.SUITE_END = "##teamcity[testSuiteFinished name='%s' flowId='']" - this.TEST_START = "##teamcity[testStarted name='%s' flowId='']" - this.TEST_FAILED = "##teamcity[testFailed name='%s' message='FAILED' details='%s' flowId='']" - this.TEST_END = "##teamcity[testFinished name='%s' duration='%s' flowId='']" - this.BLOCK_OPENED = "##teamcity[blockOpened name='%s' flowId='']" - this.BLOCK_CLOSED = "##teamcity[blockClosed name='%s' flowId='']" - const END_KOTLIN_TEST = "'--END_KOTLIN_TEST--" const reporter = this @@ -147,7 +122,7 @@ const KarmaKotlinReporter = function (baseReporterDecorator, config, emitter) { } this.onRunStart = function (browsers) { - this.write(formatMessage(this.BLOCK_OPENED, 'JavaScript Unit Tests')) + this.write(formatMessage(BLOCK_OPENED, 'JavaScript Unit Tests')) this.browserResults = {} // Support Karma 0.10 (TODO: remove) @@ -181,38 +156,38 @@ const KarmaKotlinReporter = function (baseReporterDecorator, config, emitter) { const log = this.getLog(browser, result) const testName = result.description - log.push(formatMessage(this.TEST_START, testName)) + log.push(formatMessage(TEST_START, testName)) this.browserResults[browser.id].consoleResultCollector[concatenateFqn(result)].forEach(item => { log.push(item) }); - log.push(formatMessage(this.TEST_END, testName, result.time)) + log.push(formatMessage(TEST_END, testName, result.time)) } this.specFailure = function (browser, result) { const log = this.getLog(browser, result) const testName = result.description - log.push(formatMessage(this.TEST_START, testName)) + log.push(formatMessage(TEST_START, testName)) this.browserResults[browser.id].consoleResultCollector[concatenateFqn(result)].forEach(item => { log.push(item) }); - log.push(formatMessage(this.TEST_FAILED, testName, + log.push(formatMessage(TEST_FAILED, testName, "FAILED", result.log .map(log => formatError(log)) .join('\n\n') )); - log.push(formatMessage(this.TEST_END, testName, result.time)) + log.push(formatMessage(TEST_END, testName, result.time)) } this.specSkipped = function (browser, result) { const log = this.getLog(browser, result) const testName = result.description - log.push(formatMessage(this.TEST_IGNORED, testName)) + log.push(formatMessage(TEST_IGNORED, testName)) } this.onRunComplete = function () { @@ -220,12 +195,12 @@ const KarmaKotlinReporter = function (baseReporterDecorator, config, emitter) { const browserResult = self.browserResults[browserId] const log = browserResult.log if (browserResult.lastSuite) { - log.push(formatMessage(self.SUITE_END, browserResult.lastSuite)) + log.push(formatMessage(SUITE_END, browserResult.lastSuite)) } self.flushLogs(browserResult) }) - self.write(formatMessage(self.BLOCK_CLOSED, 'JavaScript Unit Tests')) + self.write(formatMessage(BLOCK_CLOSED, 'JavaScript Unit Tests')) } this.getLog = function (browser, result) { @@ -240,11 +215,11 @@ const KarmaKotlinReporter = function (baseReporterDecorator, config, emitter) { const log = browserResult.log if (browserResult.lastSuite !== suiteName) { if (browserResult.lastSuite) { - log.push(formatMessage(this.SUITE_END, browserResult.lastSuite)) + log.push(formatMessage(SUITE_END, browserResult.lastSuite)) } this.flushLogs(browserResult) browserResult.lastSuite = suiteName - log.push(formatMessage(this.SUITE_START, suiteName)) + log.push(formatMessage(SUITE_START, suiteName)) } return log } @@ -252,7 +227,7 @@ const KarmaKotlinReporter = function (baseReporterDecorator, config, emitter) { this.flushLogs = function (browserResult) { while (browserResult.log.length > 0) { let line = browserResult.log.shift(); - line = line.replace("flowId=''", "flowId='" + browserResult.flowId + "'"); + line = line.replace("flowId='%s'", "flowId='" + browserResult.flowId + "'"); this.write(line); } diff --git a/libraries/tools/kotlin-test-js-runner/mocha-kotlin-reporter.js b/libraries/tools/kotlin-test-js-runner/mocha-kotlin-reporter.js index fd670d5c4d5..6322f79dc89 100644 --- a/libraries/tools/kotlin-test-js-runner/mocha-kotlin-reporter.js +++ b/libraries/tools/kotlin-test-js-runner/mocha-kotlin-reporter.js @@ -11,19 +11,20 @@ */ 'use strict'; -const processPID = process.pid.toString(); -const TEST_IGNORED = `##teamcity[testIgnored name='%s' message='%s' flowId='%s']`; -const SUITE_START = `##teamcity[testSuiteStarted name='%s' flowId='%s']`; -const SUITE_END = `##teamcity[testSuiteFinished name='%s' duration='%s' flowId='%s']`; -const SUITE_END_NO_DURATION = `##teamcity[testSuiteFinished name='%s' flowId='%s']`; -const TEST_START = `##teamcity[testStarted name='%s' captureStandardOutput='true' flowId='%s']`; -const TEST_FAILED = `##teamcity[testFailed name='%s' message='%s' details='%s' captureStandardOutput='true' flowId='%s']`; -const TEST_FAILED_COMPARISON = `##teamcity[testFailed type='comparisonFailure' name='%s' message='%s' \ -details='%s' captureStandardOutput='true' actual='%s' expected='%s' flowId='%s']`; -const TEST_END = `##teamcity[testFinished name='%s' duration='%s' flowId='%s']`; -const TEST_END_NO_DURATION = `##teamcity[testFinished name='%s' flowId='%s']`; +import { + formatMessage, + SUITE_END, + SUITE_END_NO_DURATION, + SUITE_START, + TEST_END, + TEST_END_NO_DURATION, + TEST_FAILED, + TEST_FAILED_COMPARISON, + TEST_IGNORED, + TEST_START +} from "./src/teamcity-format"; -const util = require('util'); +const processPID = process.pid.toString(); let Base, log, logError; @@ -31,43 +32,10 @@ Base = require('mocha').reporters.Base; log = console.log; logError = console.error; -/** - * Escape the given `str`. - */ - -function escape(str) { - if (!str) return ''; - return str - .toString() - .replace(/\x1B.*?m/g, '') // eslint-disable-line no-control-regex - .replace(/\|/g, '||') - .replace(/\n/g, '|n') - .replace(/\r/g, '|r') - .replace(/\[/g, '|[') - .replace(/\]/g, '|]') - .replace(/\u0085/g, '|x') - .replace(/\u2028/g, '|l') - .replace(/\u2029/g, '|p') - .replace(/'/g, '|\''); -} - function isNil(value) { return value == null; // eslint-disable-line } -function formatString() { - let formattedArguments = []; - const args = Array.prototype.slice.call(arguments, 0); - // Format all arguments for TC display (it escapes using the pipe char). - let tcMessage = args.shift(); - args.forEach((param) => { - formattedArguments.push(escape(param)); - }); - formattedArguments.unshift(tcMessage); - return util.format.apply(util, formattedArguments); -} - - /** * Initialize a new `Teamcity` reporter. * @@ -96,39 +64,41 @@ function Teamcity(runner, options) { runner.on('suite', function (suite) { if (suite.root) { if (topLevelSuite) { - log(formatString(SUITE_START, topLevelSuite, flowId)); + log(formatMessage(SUITE_START, topLevelSuite, flowId)); } return; } suite.startDate = new Date(); - log(formatString(SUITE_START, suite.title, flowId)); + log(formatMessage(SUITE_START, suite.title, flowId)); }); runner.on('test', function (test) { - log(formatString(TEST_START, test.title, flowId)); + log(formatMessage(TEST_START, test.title, flowId)); }); runner.on('fail', function (test, err) { if (actualVsExpected && (err.actual && err.expected)) { if (useStdError) { - logError(formatString(TEST_FAILED_COMPARISON, test.title, err.message, err.stack, err.actual, err.expected, flowId)); + logError(formatMessage(TEST_FAILED_COMPARISON, test.title, err.message, err.stack, err.actual, + err.expected, flowId)); } else { - log(formatString(TEST_FAILED_COMPARISON, test.title, err.message, err.stack, err.actual, err.expected, flowId)); + log(formatMessage(TEST_FAILED_COMPARISON, test.title, err.message, err.stack, err.actual, + err.expected, flowId)); } } else { if (useStdError) { - logError(formatString(TEST_FAILED, test.title, err.message, err.stack, flowId)); + logError(formatMessage(TEST_FAILED, test.title, err.message, err.stack, flowId)); } else { - log(formatString(TEST_FAILED, test.title, err.message, err.stack, flowId)); + log(formatMessage(TEST_FAILED, test.title, err.message, err.stack, flowId)); } } }); runner.on('pending', function (test) { - log(formatString(TEST_IGNORED, test.title, test.title, flowId)); + log(formatMessage(TEST_IGNORED, test.title, test.title, flowId)); }); runner.on('test end', function (test) { @@ -136,30 +106,30 @@ function Teamcity(runner, options) { if (test.isPending()) return if (isNil(test.duration)) { - log(formatString(TEST_END_NO_DURATION, test.title, flowId)); + log(formatMessage(TEST_END_NO_DURATION, test.title, flowId)); } else { - log(formatString(TEST_END, test.title, test.duration.toString(), flowId)); + log(formatMessage(TEST_END, test.title, test.duration.toString(), flowId)); } }); runner.on('hook', function (test) { if (recordHookFailures) { - log(formatString(TEST_START, test.title, flowId)); + log(formatMessage(TEST_START, test.title, flowId)); } }); runner.on('suite end', function (suite) { if (suite.root) return; - log(formatString(SUITE_END, suite.title, new Date() - suite.startDate, flowId)); + log(formatMessage(SUITE_END, suite.title, new Date() - suite.startDate, flowId)); }); runner.on('end', function () { let duration; (typeof stats === 'undefined') ? duration = null : duration = stats.duration; if (topLevelSuite) { - isNil(duration) ? log(formatString(SUITE_END_NO_DURATION, topLevelSuite, flowId)) : log( - formatString(SUITE_END, topLevelSuite, duration, flowId)); + isNil(duration) ? log(formatMessage(SUITE_END_NO_DURATION, topLevelSuite, flowId)) : log( + formatMessage(SUITE_END, topLevelSuite, duration, flowId)); } }); } diff --git a/libraries/tools/kotlin-test-js-runner/package.json b/libraries/tools/kotlin-test-js-runner/package.json index 8f221f49606..50cafa41cde 100644 --- a/libraries/tools/kotlin-test-js-runner/package.json +++ b/libraries/tools/kotlin-test-js-runner/package.json @@ -11,7 +11,7 @@ "lib/**/*" ], "scripts": { - "build": "rimraf lib/* && rollup -c rollup.config.js && copyfiles \"karma-kotlin-reporter.js\" \"mocha-kotlin-reporter.js\" lib" + "build": "rimraf lib/* && rollup -c rollup.config.js" }, "dependencies": { "@types/node": "^10.12.21", @@ -19,7 +19,6 @@ "browser-process-hrtime": "^1.0.0" }, "devDependencies": { - "copyfiles": "^2.1.0", "rimraf": "^2.6.3", "rollup": "^1.1.2", "rollup-plugin-commonjs": "^9.2.0", diff --git a/libraries/tools/kotlin-test-js-runner/rollup.config.js b/libraries/tools/kotlin-test-js-runner/rollup.config.js index 5235919fda4..7564757794c 100644 --- a/libraries/tools/kotlin-test-js-runner/rollup.config.js +++ b/libraries/tools/kotlin-test-js-runner/rollup.config.js @@ -44,6 +44,22 @@ export default [ sourcemap: true }, plugins: plugins() + }, + { + input: './karma-kotlin-reporter.js', + external: ['path', 'util'], + output: { + file: 'lib/karma-kotlin-reporter.js', + format: 'cjs' + } + }, + { + input: './mocha-kotlin-reporter.js', + external: ['path', 'util'], + output: { + file: 'lib/mocha-kotlin-reporter.js', + format: 'cjs' + } } ] diff --git a/libraries/tools/kotlin-test-js-runner/src/TeamCityMessagesFlow.ts b/libraries/tools/kotlin-test-js-runner/src/TeamCityMessagesFlow.ts index fdeb9d7248d..ede859c53f4 100644 --- a/libraries/tools/kotlin-test-js-runner/src/TeamCityMessagesFlow.ts +++ b/libraries/tools/kotlin-test-js-runner/src/TeamCityMessagesFlow.ts @@ -1,4 +1,5 @@ -import {dateTimeWithoutTimeZone, newFlowId, tcEscape} from "./utils" +import {dateTimeWithoutTimeZone, newFlowId} from "./utils" +import {tcEscape} from "./teamcity-format"; export type TeamCityMessageData = { [key: string]: any } diff --git a/libraries/tools/kotlin-test-js-runner/src/teamcity-format.d.ts b/libraries/tools/kotlin-test-js-runner/src/teamcity-format.d.ts new file mode 100644 index 00000000000..a21fc0cb006 --- /dev/null +++ b/libraries/tools/kotlin-test-js-runner/src/teamcity-format.d.ts @@ -0,0 +1 @@ +export function tcEscape(str: string): string \ No newline at end of file diff --git a/libraries/tools/kotlin-test-js-runner/src/teamcity-format.js b/libraries/tools/kotlin-test-js-runner/src/teamcity-format.js new file mode 100644 index 00000000000..9eecf189438 --- /dev/null +++ b/libraries/tools/kotlin-test-js-runner/src/teamcity-format.js @@ -0,0 +1,58 @@ +/** + * From mocha-teamcity-reporter + * The MIT License + * Copyright (c) 2016 Jamie Sherriff + */ +export const TEST_IGNORED = `##teamcity[testIgnored name='%s' message='%s' flowId='%s']`; +export const SUITE_START = `##teamcity[testSuiteStarted name='%s' flowId='%s']`; +export const SUITE_END = `##teamcity[testSuiteFinished name='%s' duration='%s' flowId='%s']`; +export const SUITE_END_NO_DURATION = `##teamcity[testSuiteFinished name='%s' flowId='%s']`; +export const TEST_START = `##teamcity[testStarted name='%s' captureStandardOutput='true' flowId='%s']`; +export const TEST_FAILED = `##teamcity[testFailed name='%s' message='%s' details='%s' captureStandardOutput='true' flowId='%s']`; +export const TEST_FAILED_COMPARISON = `##teamcity[testFailed type='comparisonFailure' name='%s' message='%s' \ +details='%s' captureStandardOutput='true' actual='%s' expected='%s' flowId='%s']`; +export const TEST_END = `##teamcity[testFinished name='%s' duration='%s' flowId='%s']`; +export const TEST_END_NO_DURATION = `##teamcity[testFinished name='%s' flowId='%s']`; +export const BLOCK_OPENED = `##teamcity[blockOpened name='%s' flowId='%s']` +export const BLOCK_CLOSED = `##teamcity[blockClosed name='%s' flowId='%s']` + +/** + * from teamcity-service-messages + * Copyright (c) 2013 Aaron Forsander + * + * Escape string for TeamCity output. + * @see https://confluence.jetbrains.com/display/TCD65/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-servMsgsServiceMessages + */ + +const util = require('util'); + +export function tcEscape(str) { + if (!str) { + return ''; + } + + return str + .toString() + .replace(/\x1B.*?m/g, '') // eslint-disable-line no-control-regex + .replace(/\|/g, '||') + .replace(/\n/g, '|n') + .replace(/\r/g, '|r') + .replace(/\[/g, '|[') + .replace(/\]/g, '|]') + .replace(/\u0085/g, '|x') // next line + .replace(/\u2028/g, '|l') // line separator + .replace(/\u2029/g, '|p') // paragraph separator + .replace(/'/g, '|\''); +} + +export function formatMessage() { + let formattedArguments = []; + const args = Array.prototype.slice.call(arguments, 0); + // Format all arguments for TC display (it escapes using the pipe char). + let tcMessage = args.shift(); + args.forEach((param) => { + formattedArguments.push(tcEscape(param)); + }); + formattedArguments.unshift(tcMessage); + return util.format.apply(util, formattedArguments); +} \ No newline at end of file diff --git a/libraries/tools/kotlin-test-js-runner/src/utils.ts b/libraries/tools/kotlin-test-js-runner/src/utils.ts index 1714c914b21..5374588e80c 100644 --- a/libraries/tools/kotlin-test-js-runner/src/utils.ts +++ b/libraries/tools/kotlin-test-js-runner/src/utils.ts @@ -1,29 +1,3 @@ - -/** - * from teamcity-service-messages - * Copyright (c) 2013 Aaron Forsander - * - * Escape string for TeamCity output. - * @see https://confluence.jetbrains.com/display/TCD65/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-servMsgsServiceMessages - */ -export function tcEscape(str: string): string { - if (!str) { - return ''; - } - - return str - .toString() - .replace(/\|/g, '||') - .replace(/\n/g, '|n') - .replace(/\r/g, '|r') - .replace(/\[/g, '|[') - .replace(/\]/g, '|]') - .replace(/\u0085/g, '|x') // next line - .replace(/\u2028/g, '|l') // line separator - .replace(/\u2029/g, '|p') // paragraph separator - .replace(/'/g, '|\''); -} - /** * From teamcity-service-messages. * Copyright 2013 Aaron Forsander diff --git a/libraries/tools/kotlin-test-js-runner/yarn.lock b/libraries/tools/kotlin-test-js-runner/yarn.lock index 7d86b2cf8b0..95911124ad5 100644 --- a/libraries/tools/kotlin-test-js-runner/yarn.lock +++ b/libraries/tools/kotlin-test-js-runner/yarn.lock @@ -45,12 +45,7 @@ acorn@^6.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" integrity sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw== -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -116,11 +111,6 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -130,15 +120,6 @@ chalk@^2.0.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -161,56 +142,11 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -copyfiles@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.1.1.tgz#d430e122d7880f92c45d372208b0af03b0c39db6" - integrity sha512-y6DZHve80whydXzBal7r70TBgKMPKesVRR1Sn/raUu7Jh/i7iSLSyGvYaq0eMJ/3Y/CKghwzjY32q1WzEnpp3Q== - dependencies: - glob "^7.0.5" - minimatch "^3.0.3" - mkdirp "^0.5.1" - noms "0.0.0" - through2 "^2.0.1" - yargs "^13.2.4" - -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" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - 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" @@ -231,19 +167,6 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= -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@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -281,13 +204,6 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - for-in@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -314,18 +230,6 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -341,7 +245,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@^7.0.5, glob@^7.1.3: +glob@^7.1.3: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -371,16 +275,11 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@~2.0.1, inherits@~2.0.3: +inherits@2: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -408,11 +307,6 @@ is-extglob@^1.0.0: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -447,26 +341,11 @@ is-primitive@^2.0.0: resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -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" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -506,21 +385,6 @@ kind-of@^6.0.0: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - magic-string@^0.25.2: version "0.25.3" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.3.tgz#34b8d2a2c7fec9d9bdf9929a3fd81d271ef35be9" @@ -528,27 +392,11 @@ magic-string@^0.25.2: dependencies: sourcemap-codec "^1.4.4" -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - math-random@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -573,43 +421,13 @@ micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -mimic-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -noms@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" - integrity sha1-2o69nzr51nYJGbJ9nNyAkqczKFk= - dependencies: - inherits "^2.0.1" - readable-stream "~1.0.31" - normalize-path@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -617,13 +435,6 @@ normalize-path@^2.0.1: dependencies: remove-trailing-separator "^1.0.1" -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" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -632,56 +443,13 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" -os-locale@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -p-limit@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== - dependencies: - p-try "^2.0.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -692,21 +460,11 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - path-parse@^1.0.5, path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -717,19 +475,6 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - randomatic@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" @@ -739,29 +484,6 @@ randomatic@^3.0.0: kind-of "^6.0.0" math-random "^1.0.1" -readable-stream@~1.0.31: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" @@ -784,16 +506,6 @@ repeat-string@^1.5.2: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -900,43 +612,11 @@ rollup@^1.1.2: "@types/node" "^12.0.10" acorn "^6.1.1" -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -semver@^5.5.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== - serialize-javascript@^1.7.0: version "1.9.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - source-map-resolve@^0.5.0: version "0.5.2" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" @@ -979,39 +659,6 @@ sourcemap-codec@^1.4.4: resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9" integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg== -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -1035,14 +682,6 @@ terser@^4.1.0: source-map "~0.6.1" source-map-support "~0.5.12" -through2@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - tslib@1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" @@ -1063,68 +702,7 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yargs-parser@^13.1.0: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^13.2.4: - version "13.2.4" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" - integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - os-locale "^3.1.0" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.0" diff --git a/license/README.md b/license/README.md index f49262ed169..4805b8b5518 100644 --- a/license/README.md +++ b/license/README.md @@ -196,6 +196,11 @@ any distributions of the tools or libraries: and [license/third_party/lodash_LICENSE.txt](third_party/lodash_LICENSE.txt)) - Origin: Copyright (c) 2013 Aaron Forsander and Copyright JS Foundation and other contributors + - Path: libraries/tools/kotlin-test-js-runner/src/teamcity-format.js + - License: MIT ([license/third_party/mocha-teamcity-reporter_LICENSE.txt](third_party/mocha-teamcity-reporter_LICENSE.txt) + and [license/third_party/teamcity-service-messages_LICENSE.txt](third_party/teamcity-service-messages_LICENSE.txt)) + - Origin: Copyright (c) 2016 Jamie Sherriff and Copyright (c) 2013 Aaron Forsander + - Path: libraries/tools/kotlin-source-map-loader/kotlin-source-map-loader.js - License: MIT ([license/third_party/source-map-loader_LICENSE.txt](third_party/source-map-loader_LICENSE.txt)) - Origin: Copyright JS Foundation and other contributors