From a1049c6059db84ae7b14621d8df6a0db7b6d13cc Mon Sep 17 00:00:00 2001 From: Yaroslav Admin Date: Fri, 12 Jul 2019 18:34:57 +0200 Subject: [PATCH] chore: update eslint packages to latest and fix complaints (#3312) --- client/karma.js | 6 +- context/karma.js | 4 +- lib/completion.js | 2 +- lib/helper.js | 2 +- lib/logger.js | 2 +- lib/middleware/karma.js | 1 + lib/middleware/proxy.js | 3 +- lib/preprocessor.js | 2 +- lib/reporter.js | 1 + lib/server.js | 2 +- lib/utils/json-utils.js | 2 +- lib/watcher.js | 2 +- package.json | 14 +- tasks/test.js | 4 +- test/client/karma.spec.js | 38 +- test/client/mocks.js | 2 +- test/client/stringify.spec.js | 32 +- test/client/util.spec.js | 2 +- test/e2e/step_definitions/core_steps.js | 4 +- test/e2e/support/world.js | 2 +- test/unit/browser.spec.js | 60 +- test/unit/browser_collection.spec.js | 4 +- test/unit/cli.spec.js | 10 +- test/unit/config.spec.js | 88 +-- test/unit/events.spec.js | 4 +- test/unit/executor.spec.js | 2 +- test/unit/file-list.spec.js | 12 +- test/unit/helper.spec.js | 10 +- test/unit/init.spec.js | 4 +- test/unit/init/formatters.spec.js | 12 +- test/unit/init/state_machine.spec.js | 26 +- test/unit/launcher.spec.js | 4 +- test/unit/launchers/process.spec.js | 4 +- test/unit/logger.spec.js | 2 +- test/unit/middleware/karma.spec.js | 12 +- test/unit/middleware/proxy.spec.js | 28 +- test/unit/middleware/runner.spec.js | 24 +- test/unit/middleware/source_files.spec.js | 2 +- test/unit/preprocessor.spec.js | 58 +- test/unit/reporter.spec.js | 56 +- test/unit/reporters/base.spec.js | 4 +- test/unit/reporters/progress.spec.js | 2 +- test/unit/runner.spec.js | 4 +- test/unit/utils/json-utils.spec.js | 2 +- test/unit/watcher.spec.js | 4 +- test/unit/web-server.spec.js | 16 +- yarn.lock | 802 ++++++++++++---------- 47 files changed, 717 insertions(+), 666 deletions(-) diff --git a/client/karma.js b/client/karma.js index 0d9fa3683..43708fe08 100644 --- a/client/karma.js +++ b/client/karma.js @@ -113,7 +113,7 @@ function Karma (socket, iframe, opener, navigator, location) { values.push(this.stringify(args[i], 3)) } - this.info({log: values.join(', '), type: type}) + this.info({ log: values.join(', '), type: type }) } this.stringify = stringify @@ -159,7 +159,7 @@ function Karma (socket, iframe, opener, navigator, location) { } else { // create an object with the string representation of the message to // ensure all its content is properly transferred to the console log - message = {message: messageOrEvent, str: messageOrEvent.toString()} + message = { message: messageOrEvent, str: messageOrEvent.toString() } } socket.emit('karma_error', message) @@ -184,7 +184,7 @@ function Karma (socket, iframe, opener, navigator, location) { } if (!startEmitted) { - socket.emit('start', {total: null}) + socket.emit('start', { total: null }) startEmitted = true } diff --git a/context/karma.js b/context/karma.js index 3a12ca4f7..9e0756e90 100644 --- a/context/karma.js +++ b/context/karma.js @@ -17,7 +17,7 @@ function ContextKarma (callParentKarmaMethod) { values.push(this.stringify(args[i], 3)) } - this.info({log: values.join(', '), type: type}) + this.info({ log: values.join(', '), type: type }) } this.stringify = stringify @@ -153,7 +153,7 @@ ContextKarma.getDirectCallParentKarmaMethod = function (parentWindow) { } ContextKarma.getPostMessageCallParentKarmaMethod = function (parentWindow) { return function postMessageCallParentKarmaMethod (method, args) { - parentWindow.postMessage({__karmaMethod: method, __karmaArguments: args}, window.location.origin) + parentWindow.postMessage({ __karmaMethod: method, __karmaArguments: args }, window.location.origin) } } diff --git a/lib/completion.js b/lib/completion.js index df58a79da..8e2d56f63 100644 --- a/lib/completion.js +++ b/lib/completion.js @@ -56,7 +56,7 @@ function sendCompletionFiles (env) { if (err) return console.error(err) if (files.length === 1 && files[0].endsWith('/')) { - sendCompletionFiles({last: files[0]}) + sendCompletionFiles({ last: files[0] }) } else { console.log(files.join('\n')) } diff --git a/lib/helper.js b/lib/helper.js index b940309ca..b3d64b24f 100644 --- a/lib/helper.js +++ b/lib/helper.js @@ -62,7 +62,7 @@ exports.mmPatternWeight = (pattern) => { const result = m.globParts.reduce((prev, p) => { const r = p.reduce((prev, p) => { return gsParser(p, prev) - }, {glob_star: 0, ext_glob: 0, word: 0, star: 0, optional: 0, range: 0}) + }, { glob_star: 0, ext_glob: 0, word: 0, star: 0, optional: 0, range: 0 }) if (prev === undefined) return r return compareWeightObject(r, prev) > 0 ? r : prev }, undefined) diff --git a/lib/logger.js b/lib/logger.js index 9ae3f48c8..e65c9baf2 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -45,7 +45,7 @@ function setup (level, colors, appenders) { }) } } else { - appenders = {'console': constant.CONSOLE_APPENDER} + appenders = { 'console': constant.CONSOLE_APPENDER } } log4js.configure({ diff --git a/lib/middleware/karma.js b/lib/middleware/karma.js index cf7a93ec6..4bcb98f80 100644 --- a/lib/middleware/karma.js +++ b/lib/middleware/karma.js @@ -42,6 +42,7 @@ function filePathToUrlPath (filePath, basePath, urlRoot, proxyPath) { } function getQuery (urlStr) { + // eslint-disable-next-line node/no-deprecated-api return url.parse(urlStr, true).query || {} } diff --git a/lib/middleware/proxy.js b/lib/middleware/proxy.js index 9df819db0..4f01c3d66 100644 --- a/lib/middleware/proxy.js +++ b/lib/middleware/proxy.js @@ -8,9 +8,10 @@ function parseProxyConfig (proxies, config) { proxies = proxies || [] return _.sortBy(_.map(proxies, function (proxyConfiguration, proxyPath) { if (typeof proxyConfiguration === 'string') { - proxyConfiguration = {target: proxyConfiguration} + proxyConfiguration = { target: proxyConfiguration } } let proxyUrl = proxyConfiguration.target + // eslint-disable-next-line node/no-deprecated-api const proxyDetails = url.parse(proxyUrl) let pathname = proxyDetails.pathname diff --git a/lib/preprocessor.js b/lib/preprocessor.js index 079821419..61c34e065 100644 --- a/lib/preprocessor.js +++ b/lib/preprocessor.js @@ -91,7 +91,7 @@ function createPreprocessor (config, basePath, injector) { let preprocessorNames = [] patterns.forEach((pattern) => { - if (mm(file.originalPath, pattern, {dot: true})) { + if (mm(file.originalPath, pattern, { dot: true })) { preprocessorNames = _.union(preprocessorNames, config[pattern]) } }) diff --git a/lib/reporter.js b/lib/reporter.js index 2e66f3e0c..de5ae7f9c 100644 --- a/lib/reporter.js +++ b/lib/reporter.js @@ -1,5 +1,6 @@ 'use strict' +// eslint-disable-next-line node/no-deprecated-api const resolve = require('url').resolve const SourceMapConsumer = require('source-map').SourceMapConsumer const _ = require('lodash') diff --git a/lib/server.js b/lib/server.js index 693610184..c01e43dd5 100644 --- a/lib/server.js +++ b/lib/server.js @@ -220,7 +220,7 @@ class Server extends KarmaEventEmitter { if (!helper.isString(message)) { message = util.inspect(message, { showHidden: false, colors: false }) } - const logMap = {'%m': message, '%t': level.toLowerCase(), '%T': level.toUpperCase(), '%b': browser} + const logMap = { '%m': message, '%t': level.toLowerCase(), '%T': level.toUpperCase(), '%b': browser } const logString = configFormat.replace(/%[mtTb]/g, (m) => logMap[m]) this.log.debug(`Writing browser console line: ${logString}`) fs.writeSync(browserLogFile, logString + '\n') diff --git a/lib/utils/json-utils.js b/lib/utils/json-utils.js index a6bb481a9..3002bf3f7 100644 --- a/lib/utils/json-utils.js +++ b/lib/utils/json-utils.js @@ -1,5 +1,5 @@ -const {stringify} = require('flatted/cjs') +const { stringify } = require('flatted/cjs') const JsonUtils = { stringify (obj) { diff --git a/lib/watcher.js b/lib/watcher.js index 870ee6b23..7a16667e7 100644 --- a/lib/watcher.js +++ b/lib/watcher.js @@ -27,7 +27,7 @@ function watchPatterns (patterns, watcher) { } function checkAnyPathMatch (patterns, path) { - return patterns.some((pattern) => mm(path, pattern, {dot: true})) + return patterns.some((pattern) => mm(path, pattern, { dot: true })) } function createIgnore (patterns, excludes) { diff --git a/package.json b/package.json index abba33833..4ead912c7 100644 --- a/package.json +++ b/package.json @@ -416,12 +416,12 @@ "chai-as-promised": "^7.1.1", "chai-subset": "^1.2.2", "cucumber": "^3.1.0", - "eslint": "^4.11.0", - "eslint-config-standard": "^10.2.1", - "eslint-plugin-import": "^2.2.0", - "eslint-plugin-node": "^5.2.1", - "eslint-plugin-promise": "^3.4.2", - "eslint-plugin-standard": "^3.0.1", + "eslint": "^5.16.0", + "eslint-config-standard": "^12.0.0", + "eslint-plugin-import": "^2.17.2", + "eslint-plugin-node": "^9.0.1", + "eslint-plugin-promise": "^4.1.1", + "eslint-plugin-standard": "^4.0.0", "grunt": "^1.0.4", "grunt-auto-release": "^0.0.7", "grunt-browserify": "^5.0.0", @@ -432,7 +432,7 @@ "grunt-conventional-changelog": "^6.0.1", "grunt-conventional-github-releaser": "^1.0.0", "grunt-cucumberjs": "^2.0.2", - "grunt-eslint": "^20.1.0", + "grunt-eslint": "^21.0.0", "grunt-mocha-test": "^0.13.2", "grunt-npm": "0.0.2", "http2": "^3.3.6", diff --git a/tasks/test.js b/tasks/test.js index e999425f7..373c3ba45 100644 --- a/tasks/test.js +++ b/tasks/test.js @@ -16,9 +16,9 @@ module.exports = function (grunt) { grunt.log.writeln(['Running', cmd].concat(args).join(' ')) var child if (process.platform === 'win32') { - child = grunt.util.spawn({cmd: node, args: [cmd].concat(args)}, callback) + child = grunt.util.spawn({ cmd: node, args: [cmd].concat(args) }, callback) } else { - child = grunt.util.spawn({cmd: cmd, args: args}, callback) + child = grunt.util.spawn({ cmd: cmd, args: args }, callback) } child.stdout.pipe(process.stdout) child.stderr.pipe(process.stderr) diff --git a/test/client/karma.spec.js b/test/client/karma.spec.js index a858d0252..f75e2bc4c 100644 --- a/test/client/karma.spec.js +++ b/test/client/karma.spec.js @@ -19,7 +19,7 @@ describe('Karma', function () { socket = new MockSocket() iframe = {} windowNavigator = {} - windowLocation = {search: ''} + windowLocation = { search: '' } windowStub = sinon.stub().returns({}) k = new ClientKarma(socket, iframe, windowStub, windowNavigator, windowLocation) @@ -76,11 +76,11 @@ describe('Karma', function () { ck.start = ADAPTER_START_FN ck.error('syntax error', '/some/file.js', 11) ck.loaded() - assert.notEqual(ck.start, ADAPTER_START_FN) + assert.notStrictEqual(ck.start, ADAPTER_START_FN) ck.start = ADAPTER_START_FN ck.loaded() - assert.notEqual(k.start, ADAPTER_START_FN) + assert.notStrictEqual(k.start, ADAPTER_START_FN) }) it('should not set up context if there was an error', function () { @@ -180,12 +180,12 @@ describe('Karma', function () { // emit 49 results for (var i = 1; i < 50; i++) { - ck.result({id: i}) + ck.result({ id: i }) } assert(!spyResult.called) - ck.result('result', {id: 50}) + ck.result('result', { id: 50 }) assert(spyResult.called) assert(spyResult.args[0][0].length === 50) }) @@ -198,7 +198,7 @@ describe('Karma', function () { // emit 40 results for (var i = 1; i <= 40; i++) { - ck.result({id: i}) + ck.result({ id: i }) } ck.complete() @@ -221,7 +221,7 @@ describe('Karma', function () { // adapter didn't call info({total: x}) ck.result() - assert.deepEqual(log, ['start', 'result']) + assert.deepStrictEqual(log, ['start', 'result']) }) it('should not emit "start" if already done by the adapter', function () { @@ -240,10 +240,10 @@ describe('Karma', function () { setTransportTo('websocket') - ck.info({total: 321}) + ck.info({ total: 321 }) ck.result() - assert.deepEqual(log, ['start', 'result']) - assert(spyStart.calledWith({total: 321})) + assert.deepStrictEqual(log, ['start', 'result']) + assert(spyStart.calledWith({ total: 321 })) }) }) @@ -276,8 +276,8 @@ describe('Karma', function () { ck.setupContext(mockWindow) var confirmResult = mockWindow.confirm('What?') assert(ck.log.calledWith('confirm', ['What?'])) - assert.equal(confirmCalled, true) - assert.equal(confirmResult, true) + assert.strictEqual(confirmCalled, true) + assert.strictEqual(confirmResult, true) }) it('should capture prompt', function () { @@ -294,8 +294,8 @@ describe('Karma', function () { ck.setupContext(mockWindow) var promptResult = mockWindow.prompt('What is your favorite color?', 'blue') assert(ck.log.calledWith('prompt', ['What is your favorite color?', 'blue'])) - assert.equal(promptCalled, true) - assert.equal(promptResult, 'user-input') + assert.strictEqual(promptCalled, true) + assert.strictEqual(promptResult, 'user-input') }) it('should patch the console if captureConsole is true', function () { @@ -344,7 +344,7 @@ describe('Karma', function () { ck.setupContext(mockWindow) mockWindow.console.log('What?') assert(ck.log.calledWith('log')) - assert.equal(ck.log.args[0][1][0], 'What?') + assert.strictEqual(ck.log.args[0][1][0], 'What?') assert(ck.log.calledWith('warn')) assert(/^Console method log threw:[\s\S]+I am a broken console\.log method/.test(ck.log.args[1][1][0])) }) @@ -369,7 +369,7 @@ describe('Karma', function () { // emit 40 results for (var i = 0; i < 40; i++) { - ck.result({id: i}) + ck.result({ id: i }) } assert(!spyResult.called) @@ -382,7 +382,7 @@ describe('Karma', function () { windowLocation.search = '?id=567&return_url=http://return.com' socket = new MockSocket() k = new ClientKarma(socket, {}, windowStub, windowNavigator, windowLocation) - clientWindow = {karma: k} + clientWindow = { karma: k } ck = new ContextKarma(ContextKarma.getDirectCallParentKarmaMethod(clientWindow)) ck.config = {} @@ -415,7 +415,7 @@ describe('Karma', function () { // clock.tick() does not work in IE 7 setTimeout(function () { clock.tick(1) - assert.notEqual(iframe.src, CURRENT_URL) + assert.notStrictEqual(iframe.src, CURRENT_URL) }, 10) }) @@ -431,7 +431,7 @@ describe('Karma', function () { clock.tick(1) - assert.equal(iframe.src, CURRENT_URL) + assert.strictEqual(iframe.src, CURRENT_URL) }) it('should accept multiple calls to loaded', function () { diff --git a/test/client/mocks.js b/test/client/mocks.js index f49357d21..953b4259a 100644 --- a/test/client/mocks.js +++ b/test/client/mocks.js @@ -25,7 +25,7 @@ function Emitter () { function MockSocket () { Emitter.call(this) - this.socket = {transport: {name: 'websocket'}} + this.socket = { transport: { name: 'websocket' } } var transportName = 'websocket' diff --git a/test/client/stringify.spec.js b/test/client/stringify.spec.js index aaeea7dd0..921ec3366 100644 --- a/test/client/stringify.spec.js +++ b/test/client/stringify.spec.js @@ -8,22 +8,22 @@ describe('stringify', function () { // IE does not support Symbol // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol it('should serialize symbols', function () { - assert.deepEqual(stringify(Symbol.for('x')), 'Symbol(x)') + assert.deepStrictEqual(stringify(Symbol.for('x')), 'Symbol(x)') }) } it('should serialize string', function () { - assert.deepEqual(stringify('aaa'), "'aaa'") + assert.deepStrictEqual(stringify('aaa'), "'aaa'") }) it('should serialize booleans', function () { - assert.deepEqual(stringify(true), 'true') - assert.deepEqual(stringify(false), 'false') + assert.deepStrictEqual(stringify(true), 'true') + assert.deepStrictEqual(stringify(false), 'false') }) it('should serialize null and undefined', function () { - assert.deepEqual(stringify(null), 'null') - assert.deepEqual(stringify(), 'undefined') + assert.deepStrictEqual(stringify(null), 'null') + assert.deepStrictEqual(stringify(), 'undefined') }) it('should serialize functions', function () { @@ -49,18 +49,18 @@ describe('stringify', function () { if (window.Proxy) { it('should serialize proxied functions', function () { var defProxy = new Proxy(function (d, e, f) { return 'whatever' }, {}) - assert.deepEqual(stringify(defProxy), 'function () { ... }') + assert.deepStrictEqual(stringify(defProxy), 'function () { ... }') }) } it('should serialize arrays', function () { - assert.deepEqual(stringify(['a', 'b', null, true, false]), "['a', 'b', null, true, false]") + assert.deepStrictEqual(stringify(['a', 'b', null, true, false]), "['a', 'b', null, true, false]") }) it('should serialize objects', function () { var obj - obj = {a: 'a', b: 'b', c: null, d: true, e: false} + obj = { a: 'a', b: 'b', c: null, d: true, e: false } assert(stringify(obj).indexOf("{a: 'a', b: 'b', c: null, d: true, e: false}") > -1) function MyObj () { @@ -70,7 +70,7 @@ describe('stringify', function () { obj = new MyObj() assert(stringify(obj).indexOf("{a: 'a'}") > -1) - obj = {constructor: null} + obj = { constructor: null } // IE 7 serializes this to Object{} var s = stringify(obj) @@ -85,10 +85,10 @@ describe('stringify', function () { it('should serialize html', function () { var div = document.createElement('div') - assert.deepEqual(stringify(div).trim().toLowerCase(), '
') + assert.deepStrictEqual(stringify(div).trim().toLowerCase(), '
') div.innerHTML = 'some text' - assert.deepEqual(stringify(div).trim().toLowerCase(), '
some text
') + assert.deepStrictEqual(stringify(div).trim().toLowerCase(), '
some text
') }) it('should serialize error', function () { @@ -101,18 +101,18 @@ describe('stringify', function () { // Test only works in IE 9 and above var parser = new DOMParser() var doc = parser.parseFromString('', 'application/xml') - assert.deepEqual(stringify(doc), '') + assert.deepStrictEqual(stringify(doc), '') } }) it('should serialize across iframes', function () { var div = document.createElement('div') - assert.deepEqual(__karma__.stringify(div).trim().toLowerCase(), '
') + assert.deepStrictEqual(__karma__.stringify(div).trim().toLowerCase(), '
') - assert.deepEqual(__karma__.stringify([1, 2]), '[1, 2]') + assert.deepStrictEqual(__karma__.stringify([1, 2]), '[1, 2]') }) it('should stringify object with property tagName as Object', function () { - assert(stringify({tagName: 'a'}).indexOf("{tagName: 'a'}") > -1) + assert(stringify({ tagName: 'a' }).indexOf("{tagName: 'a'}") > -1) }) }) diff --git a/test/client/util.spec.js b/test/client/util.spec.js index 035ffc49b..cfd31dcc7 100644 --- a/test/client/util.spec.js +++ b/test/client/util.spec.js @@ -6,6 +6,6 @@ describe('util', function () { it('parseQueryParams', function () { var params = util.parseQueryParams('?id=123&return_url=http://whatever.com') - assert.deepEqual(params, {id: '123', return_url: 'http://whatever.com'}) + assert.deepStrictEqual(params, { id: '123', return_url: 'http://whatever.com' }) }) }) diff --git a/test/e2e/step_definitions/core_steps.js b/test/e2e/step_definitions/core_steps.js index fac3852f7..3651cb41c 100644 --- a/test/e2e/step_definitions/core_steps.js +++ b/test/e2e/step_definitions/core_steps.js @@ -188,7 +188,7 @@ cucumber.defineSupportCode((a) => { regexp: /no\sdebug|like/ }) - Then('it passes with( {exact}):', {timeout: 10 * 1000}, function (mode, expectedOutput, callback) { + Then('it passes with( {exact}):', { timeout: 10 * 1000 }, function (mode, expectedOutput, callback) { const noDebug = mode === 'no debug' const like = mode === 'like' let actualOutput = this.lastRun.stdout.toString() @@ -261,7 +261,7 @@ cucumber.defineSupportCode((a) => { Then(/^the file at ([a-zA-Z0-9/\\_.]+) contains:$/, function (filePath, expectedOutput, callback) { - const data = fs.readFileSync(filePath, {encoding: 'UTF-8'}) + const data = fs.readFileSync(filePath, { encoding: 'UTF-8' }) if (data.match(expectedOutput)) { return callback() } diff --git a/test/e2e/support/world.js b/test/e2e/support/world.js index 6cb02605c..3a39ef1ce 100644 --- a/test/e2e/support/world.js +++ b/test/e2e/support/world.js @@ -53,7 +53,7 @@ function World () { return this.template({ content: JSON.stringify(Object.assign({}, config, { customLaunchers: Object.assign({ - ChromeHeadlessNoSandbox: {base: 'ChromeHeadless', flags: ['--no-sandbox']} + ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', flags: ['--no-sandbox'] } }, config.customLaunchers) })) }) diff --git a/test/unit/browser.spec.js b/test/unit/browser.spec.js index 3bd242ee5..2233cf93a 100644 --- a/test/unit/browser.spec.js +++ b/test/unit/browser.spec.js @@ -109,7 +109,7 @@ describe('Browser', () => { emitter.on('browser_log', spy) browser.state = Browser.STATE_EXECUTING - browser.onInfo({log: 'something', type: 'info'}) + browser.onInfo({ log: 'something', type: 'info' }) expect(spy).to.have.been.calledWith(browser, 'something', 'info') }) @@ -125,7 +125,7 @@ describe('Browser', () => { it('should update total specs count during execution', () => { browser.state = Browser.STATE_EXECUTING - browser.onInfo({total: 20}) + browser.onInfo({ total: 20 }) expect(browser.lastResult.total).to.equal(20) }) @@ -136,7 +136,7 @@ describe('Browser', () => { emitter.on('browser_info', spy) browser.state = Browser.STATE_CONNECTED - browser.onInfo({total: 20}) + browser.onInfo({ total: 20 }) expect(browser.lastResult.total).to.equal(0) expect(spy).not.to.have.been.called @@ -150,12 +150,12 @@ describe('Browser', () => { it('should change state to EXECUTING', () => { browser.state = Browser.STATE_CONNECTED - browser.onStart({total: 20}) + browser.onStart({ total: 20 }) expect(browser.state).to.equal(Browser.STATE_EXECUTING) }) it('should set total count of specs', () => { - browser.onStart({total: 20}) + browser.onStart({ total: 20 }) expect(browser.lastResult.total).to.equal(20) }) @@ -163,9 +163,9 @@ describe('Browser', () => { const spy = sinon.spy() emitter.on('browser_start', spy) - browser.onStart({total: 20}) + browser.onStart({ total: 20 }) - expect(spy).to.have.been.calledWith(browser, {total: 20}) + expect(spy).to.have.been.calledWith(browser, { total: 20 }) }) }) @@ -285,7 +285,7 @@ describe('Browser', () => { browser.reconnect(mkSocket()) // still accept results on the old socket - socket.emit('result', {success: true}) + socket.emit('result', { success: true }) expect(browser.lastResult.success).to.equal(1) socket.emit('karma_error', {}) @@ -321,15 +321,15 @@ describe('Browser', () => { describe('onResult', () => { const createSuccessResult = () => { - return {success: true, suite: [], log: []} + return { success: true, suite: [], log: [] } } const createFailedResult = () => { - return {success: false, suite: [], log: []} + return { success: false, suite: [], log: [] } } const createSkippedResult = () => { - return {success: true, skipped: true, suite: [], log: []} + return { success: true, skipped: true, suite: [], log: [] } } beforeEach(() => { @@ -360,9 +360,9 @@ describe('Browser', () => { it('should update netTime', () => { browser.state = Browser.STATE_EXECUTING - browser.onResult({time: 3, suite: [], log: []}) - browser.onResult({time: 1, suite: [], log: []}) - browser.onResult({time: 5, suite: [], log: []}) + browser.onResult({ time: 3, suite: [], log: [] }) + browser.onResult({ time: 1, suite: [], log: [] }) + browser.onResult({ time: 5, suite: [], log: [] }) expect(browser.lastResult.netTime).to.equal(9) }) @@ -387,7 +387,7 @@ describe('Browser', () => { browser.name = 'Browser 1.0' browser.id = '12345' - expect(browser.serialize()).to.deep.equal({id: '12345', name: 'Browser 1.0', isConnected: true}) + expect(browser.serialize()).to.deep.equal({ id: '12345', name: 'Browser 1.0', isConnected: true }) }) }) @@ -408,7 +408,7 @@ describe('Browser', () => { browser.init() // init socket listeners expect(browser.state).to.equal(Browser.STATE_CONNECTED) - socket.emit('start', {total: 1}) + socket.emit('start', { total: 1 }) expect(browser.state).to.equal(Browser.STATE_EXECUTING) }) }) @@ -419,7 +419,7 @@ describe('Browser', () => { browser = new Browser('fake-id', 'full name', collection, emitter, socket, timer, 10) browser.init() browser.state = Browser.STATE_EXECUTING - socket.emit('result', {success: true, suite: [], log: []}) + socket.emit('result', { success: true, suite: [], log: [] }) socket.emit('disconnect', 'socket.io reason') expect(browser.isConnected()).to.equal(false) @@ -427,7 +427,7 @@ describe('Browser', () => { browser.reconnect(newSocket) expect(browser.isConnected()).to.equal(false) - newSocket.emit('result', {success: false, suite: [], log: []}) + newSocket.emit('result', { success: false, suite: [], log: [] }) newSocket.emit('complete') expect(browser.isConnected()).to.equal(true) expect(browser.lastResult.success).to.equal(1) @@ -441,7 +441,7 @@ describe('Browser', () => { browser = new Browser('fake-id', 'full name', collection, emitter, socket, timer, 10) browser.init() browser.state = Browser.STATE_EXECUTING - socket.emit('result', {success: true, suite: [], log: []}) + socket.emit('result', { success: true, suite: [], log: [] }) socket.emit('disconnect', 'socket.io reason') const spyBrowserError = sinon.spy() @@ -460,10 +460,10 @@ describe('Browser', () => { expect(browser.state).to.equal(Browser.STATE_CONNECTED) browser.execute() - socket.emit('start', {total: 10}) - socket.emit('result', {success: true, suite: [], log: []}) - socket.emit('result', {success: false, suite: [], log: []}) - socket.emit('result', {skipped: true, suite: [], log: []}) + socket.emit('start', { total: 10 }) + socket.emit('result', { success: true, suite: [], log: [] }) + socket.emit('result', { success: false, suite: [], log: [] }) + socket.emit('result', { skipped: true, suite: [], log: [] }) socket.emit('disconnect', 'socket.io reason') timer.wind(10) // wait-for reconnecting delay expect(browser.state).to.equal(Browser.STATE_DISCONNECTED) @@ -475,9 +475,9 @@ describe('Browser', () => { // reconnect on a new socket (which triggers re-execution) browser.reconnect(newSocket) expect(browser.state).to.equal(Browser.STATE_CONFIGURING) - newSocket.emit('start', {total: 11}) + newSocket.emit('start', { total: 11 }) expect(browser.state).to.equal(Browser.STATE_EXECUTING) - socket.emit('result', {success: true, suite: [], log: []}) + socket.emit('result', { success: true, suite: [], log: [] }) // expected cleared last result (should not include the results from previous run) expect(browser.lastResult.total).to.equal(11) @@ -502,11 +502,11 @@ describe('Browser', () => { // Disconnect the second connection... browser.onDisconnect('socket.io-reason', newSocket) expect(browser.state).to.equal(Browser.STATE_CONFIGURING) - socket.emit('start', {total: 1}) + socket.emit('start', { total: 1 }) expect(browser.state).to.equal(Browser.STATE_EXECUTING) // It should still be listening on the old socket. - socket.emit('result', {success: true, suite: [], log: []}) + socket.emit('result', { success: true, suite: [], log: [] }) expect(browser.lastResult.success).to.equal(1) }) @@ -521,7 +521,7 @@ describe('Browser', () => { // A second connection... browser.reconnect(socket) - socket.emit('result', {success: true, suite: [], log: []}) + socket.emit('result', { success: true, suite: [], log: [] }) socket.emit('complete') expect(browser.onComplete.callCount).to.equal(1) @@ -536,8 +536,8 @@ describe('Browser', () => { const spyBrowserComplete = sinon.spy() emitter.on('browser_complete', spyBrowserComplete) - socket.emit('start', {total: 11}) - socket.emit('result', {success: true, suite: [], log: []}) + socket.emit('start', { total: 11 }) + socket.emit('result', { success: true, suite: [], log: [] }) timer.wind(20) expect(browser.state).to.equal(Browser.STATE_DISCONNECTED) diff --git a/test/unit/browser_collection.spec.js b/test/unit/browser_collection.spec.js index 622d6f9aa..bcac4af8a 100644 --- a/test/unit/browser_collection.spec.js +++ b/test/unit/browser_collection.spec.js @@ -113,8 +113,8 @@ describe('BrowserCollection', () => { collection.add(browsers[1]) expect(collection.serialize()).to.deep.equal([ - {id: '1', name: 'B 1.0', isConnected: true}, - {id: '2', name: 'B 2.0', isConnected: true} + { id: '1', name: 'B 1.0', isConnected: true }, + { id: '2', name: 'B 2.0', isConnected: true } ]) }) }) diff --git a/test/unit/cli.spec.js b/test/unit/cli.spec.js index ed2ccd73c..06a957af9 100644 --- a/test/unit/cli.spec.js +++ b/test/unit/cli.spec.js @@ -15,9 +15,9 @@ describe('cli', () => { let mockery const fsMock = mocks.fs.create({ - cwd: {'karma.conf.js': true}, - cwd2: {'karma.conf.coffee': true}, - cwd3: {'karma.conf.ts': true} + cwd: { 'karma.conf.js': true }, + cwd2: { 'karma.conf.coffee': true }, + cwd3: { 'karma.conf.ts': true } }) let currentCwd = null @@ -41,8 +41,8 @@ describe('cli', () => { beforeEach(() => { setCWD('/') mockery = {} - mockery.process = {exit: sinon.spy()} - mockery.console = {error: sinon.spy()} + mockery.process = { exit: sinon.spy() } + mockery.console = { error: sinon.spy() } // load file under test m = loadFile(path.join(__dirname, '/../../lib/cli.js'), mockery, { diff --git a/test/unit/config.spec.js b/test/unit/config.spec.js index 560af8717..e0f16c5b0 100644 --- a/test/unit/config.spec.js +++ b/test/unit/config.spec.js @@ -33,24 +33,24 @@ describe('config', () => { beforeEach(() => { mocks = {} - mocks.process = {exit: sinon.spy()} + mocks.process = { exit: sinon.spy() } const mockConfigs = { - '/home/config1.js': wrapCfg({basePath: 'base', reporters: ['dots']}), - '/home/config2.js': wrapCfg({basePath: '/abs/base'}), - '/home/config3.js': wrapCfg({files: ['one.js', 'sub/two.js']}), - '/home/config4.js': wrapCfg({port: 123, autoWatch: true, basePath: '/abs/base'}), - '/home/config6.js': wrapCfg({reporters: 'junit'}), - '/home/config7.js': wrapCfg({browsers: ['Chrome', 'Firefox']}), - '/home/config8.js': (config) => config.set({files: config.suite === 'e2e' ? ['tests/e2e.spec.js'] : ['tests/unit.spec.js']}), - '/home/config9.js': wrapCfg({client: {useIframe: false}}), + '/home/config1.js': wrapCfg({ basePath: 'base', reporters: ['dots'] }), + '/home/config2.js': wrapCfg({ basePath: '/abs/base' }), + '/home/config3.js': wrapCfg({ files: ['one.js', 'sub/two.js'] }), + '/home/config4.js': wrapCfg({ port: 123, autoWatch: true, basePath: '/abs/base' }), + '/home/config6.js': wrapCfg({ reporters: 'junit' }), + '/home/config7.js': wrapCfg({ browsers: ['Chrome', 'Firefox'] }), + '/home/config8.js': (config) => config.set({ files: config.suite === 'e2e' ? ['tests/e2e.spec.js'] : ['tests/unit.spec.js'] }), + '/home/config9.js': wrapCfg({ client: { useIframe: false } }), '/conf/invalid.js': () => { throw new SyntaxError('Unexpected token =') }, - '/conf/exclude.js': wrapCfg({exclude: ['one.js', 'sub/two.js']}), - '/conf/absolute.js': wrapCfg({files: ['http://some.com', 'https://more.org/file.js']}), - '/conf/both.js': wrapCfg({files: ['one.js', 'two.js'], exclude: ['third.js']}), - '/conf/coffee.coffee': wrapCfg({files: ['one.js', 'two.js']}), - '/conf/default-export.js': {default: wrapCfg({files: ['one.js', 'two.js']})} + '/conf/exclude.js': wrapCfg({ exclude: ['one.js', 'sub/two.js'] }), + '/conf/absolute.js': wrapCfg({ files: ['http://some.com', 'https://more.org/file.js'] }), + '/conf/both.js': wrapCfg({ files: ['one.js', 'two.js'], exclude: ['third.js'] }), + '/conf/coffee.coffee': wrapCfg({ files: ['one.js', 'two.js'] }), + '/conf/default-export.js': { default: wrapCfg({ files: ['one.js', 'two.js'] }) } } // load file under test @@ -133,7 +133,7 @@ describe('config', () => { }) it('should override config with given cli options', () => { - const config = e.parseConfig('/home/config4.js', {port: 456, autoWatch: false}) + const config = e.parseConfig('/home/config4.js', { port: 456, autoWatch: false }) expect(config.port).to.equal(456) expect(config.autoWatch).to.equal(false) @@ -142,21 +142,21 @@ describe('config', () => { it('should override config with cli options if the config property is an array', () => { // regression https://github.com/karma-runner/karma/issues/283 - const config = e.parseConfig('/home/config7.js', {browsers: ['Safari']}) + const config = e.parseConfig('/home/config7.js', { browsers: ['Safari'] }) expect(config.browsers).to.deep.equal(['Safari']) }) it('should merge config with cli options if the config property is an object', () => { // regression https://github.com/karma-runner/grunt-karma/issues/165 - const config = e.parseConfig('/home/config9.js', {client: {captureConsole: false}}) + const config = e.parseConfig('/home/config9.js', { client: { captureConsole: false } }) expect(config.client.useIframe).to.equal(false) expect(config.client.captureConsole).to.equal(false) }) it('should have access to cli options in the config file', () => { - let config = e.parseConfig('/home/config8.js', {suite: 'e2e'}) + let config = e.parseConfig('/home/config8.js', { suite: 'e2e' }) expect(patternsFrom(config.files)).to.deep.equal([resolveWinPath('/home/tests/e2e.spec.js')]) config = e.parseConfig('/home/config8.js', {}) @@ -164,7 +164,7 @@ describe('config', () => { }) it('should resolve files and excludes to overriden basePath from cli', () => { - const config = e.parseConfig('/conf/both.js', {port: 456, autoWatch: false, basePath: '/xxx'}) + const config = e.parseConfig('/conf/both.js', { port: 456, autoWatch: false, basePath: '/xxx' }) expect(config.basePath).to.equal(resolveWinPath('/xxx')) const actual = [resolveWinPath('/xxx/one.js'), resolveWinPath('/xxx/two.js')] @@ -176,16 +176,16 @@ describe('config', () => { }) it('should normalize urlRoot config', () => { - let config = normalizeConfigWithDefaults({urlRoot: ''}) + let config = normalizeConfigWithDefaults({ urlRoot: '' }) expect(config.urlRoot).to.equal('/') - config = normalizeConfigWithDefaults({urlRoot: '/a/b'}) + config = normalizeConfigWithDefaults({ urlRoot: '/a/b' }) expect(config.urlRoot).to.equal('/a/b/') - config = normalizeConfigWithDefaults({urlRoot: 'a/'}) + config = normalizeConfigWithDefaults({ urlRoot: 'a/' }) expect(config.urlRoot).to.equal('/a/') - config = normalizeConfigWithDefaults({urlRoot: 'some/thing'}) + config = normalizeConfigWithDefaults({ urlRoot: 'some/thing' }) expect(config.urlRoot).to.equal('/some/thing/') }) @@ -193,34 +193,34 @@ describe('config', () => { let config = normalizeConfigWithDefaults({}) expect(config.upstreamProxy).to.be.undefined - config = normalizeConfigWithDefaults({upstreamProxy: {}}) + config = normalizeConfigWithDefaults({ upstreamProxy: {} }) expect(config.upstreamProxy.path).to.equal('/') expect(config.upstreamProxy.hostname).to.equal('localhost') expect(config.upstreamProxy.port).to.equal(9875) expect(config.upstreamProxy.protocol).to.equal('http:') - config = normalizeConfigWithDefaults({upstreamProxy: {protocol: 'http'}}) + config = normalizeConfigWithDefaults({ upstreamProxy: { protocol: 'http' } }) expect(config.upstreamProxy.protocol).to.equal('http:') - config = normalizeConfigWithDefaults({upstreamProxy: {protocol: 'https'}}) + config = normalizeConfigWithDefaults({ upstreamProxy: { protocol: 'https' } }) expect(config.upstreamProxy.protocol).to.equal('https:') - config = normalizeConfigWithDefaults({upstreamProxy: {protocol: 'unknown'}}) + config = normalizeConfigWithDefaults({ upstreamProxy: { protocol: 'unknown' } }) expect(config.upstreamProxy.protocol).to.equal('http:') - config = normalizeConfigWithDefaults({upstreamProxy: {path: '/a/b'}}) + config = normalizeConfigWithDefaults({ upstreamProxy: { path: '/a/b' } }) expect(config.upstreamProxy.path).to.equal('/a/b/') - config = normalizeConfigWithDefaults({upstreamProxy: {path: 'a/'}}) + config = normalizeConfigWithDefaults({ upstreamProxy: { path: 'a/' } }) expect(config.upstreamProxy.path).to.equal('/a/') - config = normalizeConfigWithDefaults({upstreamProxy: {path: 'some/thing'}}) + config = normalizeConfigWithDefaults({ upstreamProxy: { path: 'some/thing' } }) expect(config.upstreamProxy.path).to.equal('/some/thing/') }) it('should change autoWatch to false if singleRun', () => { // config4.js has autoWatch = true - const config = m.parseConfig('/home/config4.js', {singleRun: true}) + const config = m.parseConfig('/home/config4.js', { singleRun: true }) expect(config.autoWatch).to.equal(false) }) @@ -243,7 +243,7 @@ describe('config', () => { }) it('should not read config file, when null', () => { - const config = e.parseConfig(null, {basePath: '/some'}) + const config = e.parseConfig(null, { basePath: '/some' }) expect(logSpy).not.to.have.been.called expect(config.basePath).to.equal(resolveWinPath('/some')) // overriden by CLI @@ -251,7 +251,7 @@ describe('config', () => { }) // default value it('should not read config file, when null but still resolve cli basePath', () => { - const config = e.parseConfig(null, {basePath: './some'}) + const config = e.parseConfig(null, { basePath: './some' }) expect(logSpy).not.to.have.been.called expect(config.basePath).to.equal(resolveWinPath('./some')) @@ -259,17 +259,17 @@ describe('config', () => { }) // default value it('should default unset options in client config', () => { - let config = e.parseConfig(null, {client: {args: ['--test']}}) + let config = e.parseConfig(null, { client: { args: ['--test'] } }) expect(config.client.useIframe).to.not.be.undefined expect(config.client.captureConsole).to.not.be.undefined - config = e.parseConfig(null, {client: {useIframe: true}}) + config = e.parseConfig(null, { client: { useIframe: true } }) expect(config.client.args).to.not.be.undefined expect(config.client.captureConsole).to.not.be.undefined - config = e.parseConfig(null, {client: {captureConsole: true}}) + config = e.parseConfig(null, { client: { captureConsole: true } }) expect(config.client.useIframe).to.not.be.undefined expect(config.client.args).to.not.be.undefined @@ -279,19 +279,19 @@ describe('config', () => { let config = normalizeConfigWithDefaults({}) expect(config.protocol).to.equal('http:') - config = normalizeConfigWithDefaults({protocol: 'http'}) + config = normalizeConfigWithDefaults({ protocol: 'http' }) expect(config.protocol).to.equal('http:') - config = normalizeConfigWithDefaults({protocol: 'http:'}) + config = normalizeConfigWithDefaults({ protocol: 'http:' }) expect(config.protocol).to.equal('http:') - config = normalizeConfigWithDefaults({protocol: 'https'}) + config = normalizeConfigWithDefaults({ protocol: 'https' }) expect(config.protocol).to.equal('https:') - config = normalizeConfigWithDefaults({protocol: 'https:'}) + config = normalizeConfigWithDefaults({ protocol: 'https:' }) expect(config.protocol).to.equal('https:') - config = normalizeConfigWithDefaults({protocol: 'unsupported:'}) + config = normalizeConfigWithDefaults({ protocol: 'unsupported:' }) expect(config.protocol).to.equal('http:') }) @@ -305,7 +305,7 @@ describe('config', () => { it('should convert patterns to objects and set defaults', () => { const config = normalizeConfigWithDefaults({ basePath: '/base', - files: ['a/*.js', {pattern: 'b.js', watched: false, included: false}, {pattern: 'c.js'}], + files: ['a/*.js', { pattern: 'b.js', watched: false, included: false }, { pattern: 'c.js' }], customContextFile: 'context.html', customDebugFile: 'debug.html', customClientContextFile: 'client_with_context.html' @@ -396,7 +396,7 @@ describe('config', () => { }) it('should merge pattern object and set defaults', () => { - const pattern = m.createPatternObject({pattern: 'a.js', included: false, watched: false}) + const pattern = m.createPatternObject({ pattern: 'a.js', included: false, watched: false }) expect(typeof pattern).to.equal('object') expect(pattern.pattern).to.equal('a.js') @@ -413,7 +413,7 @@ describe('config', () => { expect(pattern.watched).to.equal(false) expect(pattern.served).to.equal(false) - pattern = m.createPatternObject({pattern: 'https://some.other.com'}) + pattern = m.createPatternObject({ pattern: 'https://some.other.com' }) expect(pattern.pattern).to.equal('https://some.other.com') expect(pattern.included).to.equal(true) diff --git a/test/unit/events.spec.js b/test/unit/events.spec.js index 8a604cebb..859dfec1a 100644 --- a/test/unit/events.spec.js +++ b/test/unit/events.spec.js @@ -110,7 +110,7 @@ describe('events', () => { describe('bindAll', () => { it('should take emitter as second argument', () => { - const object = sinon.stub({onFoo: () => {}}) + const object = sinon.stub({ onFoo: () => {} }) emitter.bind(object) emitter.emit('foo') @@ -120,7 +120,7 @@ describe('events', () => { }) it('should append "context" to event arguments', () => { - const object = sinon.stub({onFoo: () => {}}) + const object = sinon.stub({ onFoo: () => {} }) emitter.bind(object) emitter.emit('foo', 'event-argument') diff --git a/test/unit/executor.spec.js b/test/unit/executor.spec.js index a09382c4f..054259839 100644 --- a/test/unit/executor.spec.js +++ b/test/unit/executor.spec.js @@ -13,7 +13,7 @@ describe('executor', () => { let executor beforeEach(() => { - config = {client: {}} + config = { client: {} } emitter = new EventEmitter() capturedBrowsers = new BrowserCollection(emitter) capturedBrowsers.add(new Browser()) diff --git a/test/unit/file-list.spec.js b/test/unit/file-list.spec.js index 3bec4bc68..65097ed30 100644 --- a/test/unit/file-list.spec.js +++ b/test/unit/file-list.spec.js @@ -31,11 +31,11 @@ const PATTERN_LIST = { const MG = { statCache: { - '/some/a.js': {mtime: new Date()}, - '/some/b.js': {mtime: new Date()}, - '/a.txt': {mtime: new Date()}, - '/b.txt': {mtime: new Date()}, - '/c.txt': {mtime: new Date()} + '/some/a.js': { mtime: new Date() }, + '/some/b.js': { mtime: new Date() }, + '/a.txt': { mtime: new Date() }, + '/b.txt': { mtime: new Date() }, + '/c.txt': { mtime: new Date() } } } const mockFs = mocks.fs.create({ @@ -293,7 +293,7 @@ describe('FileList', () => { const p1 = list.refresh().then(checkResult) patternList['/some/*.js'].push('/some/c.js') - mg.statCache['/some/c.js'] = {mtime: new Date(Date.now() + 5000)} + mg.statCache['/some/c.js'] = { mtime: new Date(Date.now() + 5000) } const p2 = list.refresh().then(checkResult) let called = false const callback = (data) => { diff --git a/test/unit/helper.spec.js b/test/unit/helper.spec.js index 65651dac2..43a08b043 100644 --- a/test/unit/helper.spec.js +++ b/test/unit/helper.spec.js @@ -185,11 +185,11 @@ describe('helper', () => { describe('merge', () => { it('should copy properties to first argument', () => { - const destination = {a: 1, b: 2} - const result = helper.merge(destination, {a: 4, c: 5}) + const destination = { a: 1, b: 2 } + const result = helper.merge(destination, { a: 4, c: 5 }) expect(destination.a).to.equal(1) - expect(result).to.deep.equal({a: 4, b: 2, c: 5}) + expect(result).to.deep.equal({ a: 4, b: 2, c: 5 }) }) }) @@ -225,11 +225,11 @@ describe('helper', () => { const loadFile = require('mocks').loadFile const fs = fsMock.create({ - home: {'some.js': fsMock.file()} + home: { 'some.js': fsMock.file() } }) // load file under test - const m = loadFile(path.join(__dirname, '/../../lib/helper.js'), {'graceful-fs': fs, lodash: require('lodash')}) + const m = loadFile(path.join(__dirname, '/../../lib/helper.js'), { 'graceful-fs': fs, lodash: require('lodash') }) const mkdirIfNotExists = m.exports.mkdirIfNotExists diff --git a/test/unit/init.spec.js b/test/unit/init.spec.js index e9e0f1445..910d1f329 100644 --- a/test/unit/init.spec.js +++ b/test/unit/init.spec.js @@ -5,7 +5,7 @@ describe('init', () => { let m = null beforeEach(() => { - m = loadFile(path.join(__dirname, '/../../lib/init.js'), {glob: require('glob')}) + m = loadFile(path.join(__dirname, '/../../lib/init.js'), { glob: require('glob') }) sinon.stub(m, 'installPackage') }) @@ -99,7 +99,7 @@ describe('init', () => { let machine = formatter = null const evaluateConfigCode = (code) => { - const sandbox = {module: {}} + const sandbox = { module: {} } vm.runInNewContext(code, sandbox) const config = new DefaultKarmaConfig() sandbox.module.exports(config) diff --git a/test/unit/init/formatters.spec.js b/test/unit/init/formatters.spec.js index ba0f98831..c90c0b08c 100644 --- a/test/unit/init/formatters.spec.js +++ b/test/unit/init/formatters.spec.js @@ -21,7 +21,7 @@ describe('init/formatters', () => { } it('should format FRAMEWORKS', () => { - const replacements = formatter.formatAnswers(createAnswers({frameworks: ['jasmine', 'requirejs']})) + const replacements = formatter.formatAnswers(createAnswers({ frameworks: ['jasmine', 'requirejs'] })) expect(replacements.FRAMEWORKS).to.equal("'jasmine', 'requirejs'") }) @@ -29,22 +29,22 @@ describe('init/formatters', () => { let replacements = formatter.formatAnswers(createAnswers()) expect(replacements.FILES).to.equal('') - replacements = formatter.formatAnswers(createAnswers({files: ['*.js', 'other/file.js']})) + replacements = formatter.formatAnswers(createAnswers({ files: ['*.js', 'other/file.js'] })) expect(replacements.FILES).to.equal( "\n '*.js',\n 'other/file.js'" ) }) it('should format BROWSERS', () => { - const replacements = formatter.formatAnswers(createAnswers({browsers: ['Chrome', 'Firefox']})) + const replacements = formatter.formatAnswers(createAnswers({ browsers: ['Chrome', 'Firefox'] })) expect(replacements.BROWSERS).to.equal("'Chrome', 'Firefox'") }) it('should format AUTO_WATCH', () => { - let replacements = formatter.formatAnswers(createAnswers({autoWatch: true})) + let replacements = formatter.formatAnswers(createAnswers({ autoWatch: true })) expect(replacements.AUTO_WATCH).to.equal('true') - replacements = formatter.formatAnswers(createAnswers({autoWatch: false})) + replacements = formatter.formatAnswers(createAnswers({ autoWatch: false })) expect(replacements.AUTO_WATCH).to.equal('false') }) @@ -60,7 +60,7 @@ describe('init/formatters', () => { }) it('should format PREPROCESSORS', () => { - const replacements = formatter.formatAnswers(createAnswers({preprocessors: {'*.coffee': ['coffee']}})) + const replacements = formatter.formatAnswers(createAnswers({ preprocessors: { '*.coffee': ['coffee'] } })) expect(replacements.PREPROCESSORS).to.equal( "\n '*.coffee': ['coffee']" diff --git a/test/unit/init/state_machine.spec.js b/test/unit/init/state_machine.spec.js index d3a0bec8b..92845b28a 100644 --- a/test/unit/init/state_machine.spec.js +++ b/test/unit/init/state_machine.spec.js @@ -23,8 +23,8 @@ describe('init/StateMachine', () => { it('should go through all the questions', () => { const questions = [ - {id: 'framework', options: ['jasmine', 'mocha']}, - {id: 'other'} + { id: 'framework', options: ['jasmine', 'mocha'] }, + { id: 'other' } ] done = sinon.spy((answers) => { @@ -40,7 +40,7 @@ describe('init/StateMachine', () => { it('should allow multiple answers', () => { const questions = [ - {id: 'browsers', multiple: true} + { id: 'browsers', multiple: true } ] done = sinon.spy((answers) => { @@ -56,7 +56,7 @@ describe('init/StateMachine', () => { it('should treat spaces as confirmation of multiple answers', () => { const questions = [ - {id: 'browsers', multiple: true} + { id: 'browsers', multiple: true } ] done = sinon.spy((answers) => { @@ -71,7 +71,7 @@ describe('init/StateMachine', () => { it('should always return array for multiple', () => { const questions = [ - {id: 'empty', multiple: true} + { id: 'empty', multiple: true } ] done = sinon.spy((answers) => { @@ -86,7 +86,7 @@ describe('init/StateMachine', () => { it('should validate answers', () => { const validator = sinon.spy() const questions = [ - {id: 'validated', validate: validator} + { id: 'validated', validate: validator } ] machine.process(questions, done) @@ -111,9 +111,9 @@ describe('init/StateMachine', () => { }) const questions = [ - {id: 'first'}, - {id: 'onlyIfTrue', condition: ifTrue}, - {id: 'onlyIfFalse', condition: ifFalse} + { id: 'first' }, + { id: 'onlyIfTrue', condition: ifTrue }, + { id: 'onlyIfFalse', condition: ifFalse } ] machine.process(questions, done) @@ -130,8 +130,8 @@ describe('init/StateMachine', () => { }) const questions = [ - {id: 'yes', options: ['yes', 'no'], boolean: true}, - {id: 'no', options: ['yes', 'no'], boolean: true} + { id: 'yes', options: ['yes', 'no'], boolean: true }, + { id: 'no', options: ['yes', 'no'], boolean: true } ] machine.process(questions, done) @@ -147,8 +147,8 @@ describe('init/StateMachine', () => { }) const questions = [ - {id: 'what', options: ['yes', 'no'], boolean: true, validate: validator}, - {id: 'really', options: ['yes', 'no'], boolean: true, validate: validator} + { id: 'what', options: ['yes', 'no'], boolean: true, validate: validator }, + { id: 'really', options: ['yes', 'no'], boolean: true, validate: validator } ] machine.process(questions, done) diff --git a/test/unit/launcher.spec.js b/test/unit/launcher.spec.js index ac4cd00e2..19455d412 100644 --- a/test/unit/launcher.spec.js +++ b/test/unit/launcher.spec.js @@ -87,7 +87,7 @@ describe('launcher', () => { beforeEach(() => { emitter = new events.EventEmitter() - server = {'loadErrors': []} + server = { 'loadErrors': [] } config = { captureTimeout: 0, protocol: 'http:', @@ -123,7 +123,7 @@ describe('launcher', () => { describe('with upstream proxy settings', () => { beforeEach(() => { emitter = new events.EventEmitter() - server = {'loadErrors': []} + server = { 'loadErrors': [] } config = { captureTimeout: 0, protocol: 'http:', diff --git a/test/unit/launchers/process.spec.js b/test/unit/launchers/process.spec.js index f8a4e58ef..eeb3a3ee0 100644 --- a/test/unit/launchers/process.spec.js +++ b/test/unit/launchers/process.spec.js @@ -83,7 +83,7 @@ describe('launchers/process.js', () => { emitter.on('browser_process_failure', failureSpy) launcher.start('http://host:9876/') - mockSpawn._processes[0].emit('error', {code: 'ENOENT'}) + mockSpawn._processes[0].emit('error', { code: 'ENOENT' }) mockSpawn._processes[0].emit('exit', 1) mockTempDir.remove.callArg(1) @@ -103,7 +103,7 @@ describe('launchers/process.js', () => { emitter.on('browser_process_failure', failureSpy) launcher.start('http://host:9876/') - mockSpawn._processes[0].emit('error', {code: 'EACCES'}) + mockSpawn._processes[0].emit('error', { code: 'EACCES' }) mockSpawn._processes[0].emit('exit', 1) mockTempDir.remove.callArg(1) diff --git a/test/unit/logger.spec.js b/test/unit/logger.spec.js index bbc07bcef..b9ceb40ac 100644 --- a/test/unit/logger.spec.js +++ b/test/unit/logger.spec.js @@ -11,7 +11,7 @@ describe('logger', () => { configuration = config } } - m = loadFile(path.join(__dirname, '/../../lib/logger.js'), {'log4js': mockLog4Js}) + m = loadFile(path.join(__dirname, '/../../lib/logger.js'), { 'log4js': mockLog4Js }) }) describe('setup', () => { diff --git a/test/unit/middleware/karma.spec.js b/test/unit/middleware/karma.spec.js index 18a8ec953..580d5f006 100644 --- a/test/unit/middleware/karma.spec.js +++ b/test/unit/middleware/karma.spec.js @@ -68,17 +68,17 @@ describe('middleware.karma', () => { injector, '/base/path', '/__karma__/', - {path: '/__proxy__/'} + { path: '/__proxy__/' } ) }) // helpers const includedFiles = (files) => { - return filesDeferred.resolve({included: files, served: []}) + return filesDeferred.resolve({ included: files, served: [] }) } const servedFiles = (files) => { - return filesDeferred.resolve({included: [], served: files}) + return filesDeferred.resolve({ included: [], served: files }) } const normalizedHttpRequest = (urlPath) => { @@ -479,9 +479,9 @@ describe('middleware.karma', () => { if (val === 'config.client') { i++ if (i === 1) { - return {foo: 'bar'} + return { foo: 'bar' } } else { - return {foo: 'baz'} + return { foo: 'baz' } } } else { return null @@ -490,7 +490,7 @@ describe('middleware.karma', () => { }, '/base/path', '/__karma__/', - {path: '/__proxy__/'} + { path: '/__proxy__/' } ) includedFiles([ diff --git a/test/unit/middleware/proxy.spec.js b/test/unit/middleware/proxy.spec.js index a23f9a58c..30b3beb98 100644 --- a/test/unit/middleware/proxy.spec.js +++ b/test/unit/middleware/proxy.spec.js @@ -139,7 +139,7 @@ describe('middleware.proxy', () => { }) it('should parse a simple proxy config', () => { - const proxy = {'/base/': 'http://localhost:8000/'} + const proxy = { '/base/': 'http://localhost:8000/' } const parsedProxyConfig = m.parseProxyConfig(proxy, {}) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -153,7 +153,7 @@ describe('middleware.proxy', () => { }) it('should set default http port', () => { - const proxy = {'/base/': 'http://localhost/'} + const proxy = { '/base/': 'http://localhost/' } const parsedProxyConfig = m.parseProxyConfig(proxy, {}) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -167,7 +167,7 @@ describe('middleware.proxy', () => { }) it('should set default https port', () => { - const proxy = {'/base/': 'https://localhost/'} + const proxy = { '/base/': 'https://localhost/' } const parsedProxyConfig = m.parseProxyConfig(proxy, {}) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -188,7 +188,7 @@ describe('middleware.proxy', () => { }) it('should handle proxy configs with paths', () => { - const proxy = {'/base': 'http://localhost:8000/proxy'} + const proxy = { '/base': 'http://localhost:8000/proxy' } const parsedProxyConfig = m.parseProxyConfig(proxy, {}) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -202,7 +202,7 @@ describe('middleware.proxy', () => { }) it('should determine protocol', () => { - const proxy = {'/base': 'https://localhost:8000'} + const proxy = { '/base': 'https://localhost:8000' } const parsedProxyConfig = m.parseProxyConfig(proxy, {}) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -223,8 +223,8 @@ describe('middleware.proxy', () => { }) it('should handle proxy configs with only basepaths', () => { - const proxy = {'/base': '/proxy/test'} - const config = {port: 9877, hostname: 'localhost'} + const proxy = { '/base': '/proxy/test' } + const config = { port: 9877, hostname: 'localhost' } const parsedProxyConfig = m.parseProxyConfig(proxy, config) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -238,8 +238,8 @@ describe('middleware.proxy', () => { }) it('should normalize proxy url with only basepaths', () => { - const proxy = {'/base/': '/proxy/test'} - const config = {port: 9877, hostname: 'localhost'} + const proxy = { '/base/': '/proxy/test' } + const config = { port: 9877, hostname: 'localhost' } const parsedProxyConfig = m.parseProxyConfig(proxy, config) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -254,7 +254,7 @@ describe('middleware.proxy', () => { it('should parse right port of proxy target', () => { const proxy = { '/w': 'http://krinkle.dev/w' } - const config = {port: 9877, hostname: 'localhost'} + const config = { port: 9877, hostname: 'localhost' } const parsedProxyConfig = m.parseProxyConfig(proxy, config) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -269,7 +269,7 @@ describe('middleware.proxy', () => { it('should parse right port of proxy target w. https', () => { const proxy = { '/w': 'https://krinkle.dev/w' } - const config = {port: 9877, hostname: 'localhost'} + const config = { port: 9877, hostname: 'localhost' } const parsedProxyConfig = m.parseProxyConfig(proxy, config) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -283,7 +283,7 @@ describe('middleware.proxy', () => { }) it('should normalize proxy url', () => { - const proxy = {'/base/': 'http://localhost:8000/proxy/test'} + const proxy = { '/base/': 'http://localhost:8000/proxy/test' } const parsedProxyConfig = m.parseProxyConfig(proxy, {}) expect(parsedProxyConfig).to.have.length(1) expect(parsedProxyConfig[0]).to.containSubset({ @@ -323,7 +323,7 @@ describe('middleware.proxy', () => { it('should accept object for proxy config', () => { const proxy = { - '/base/': {target: 'http://localhost:8000/'} + '/base/': { target: 'http://localhost:8000/' } } const parsedProxyConfig = m.parseProxyConfig(proxy, {}) expect(parsedProxyConfig).to.have.length(1) @@ -338,7 +338,7 @@ describe('middleware.proxy', () => { }) it('should bind proxy event', () => { - const proxy = {'/base/': 'http://localhost:8000/'} + const proxy = { '/base/': 'http://localhost:8000/' } const config = { proxyReq: function proxyReq () {}, proxyRes: function proxyRes () {} diff --git a/test/unit/middleware/runner.spec.js b/test/unit/middleware/runner.spec.js index 3fc1beac2..0f831bf2a 100644 --- a/test/unit/middleware/runner.spec.js +++ b/test/unit/middleware/runner.spec.js @@ -69,7 +69,7 @@ describe('middleware.runner', () => { nextSpy = sinon.spy() response = new HttpResponseMock() - config = {client: {}, basePath: '/'} + config = { client: {}, basePath: '/' } }) describe('', () => { @@ -90,7 +90,7 @@ describe('middleware.runner', () => { handler(new HttpRequestMock('/__run__'), response, nextSpy) mockReporter.write('result') - emitter.emit('run_complete', capturedBrowsers, {exitCode: 0}) + emitter.emit('run_complete', capturedBrowsers, { exitCode: 0 }) }) it('should set the empty to 0 if empty results', (done) => { @@ -106,7 +106,7 @@ describe('middleware.runner', () => { handler(new HttpRequestMock('/__run__'), response, nextSpy) mockReporter.write('result') - emitter.emit('run_complete', capturedBrowsers, {exitCode: 0, success: 0, failed: 0}) + emitter.emit('run_complete', capturedBrowsers, { exitCode: 0, success: 0, failed: 0 }) }) it('should set the empty to 1 if successful tests', (done) => { @@ -122,7 +122,7 @@ describe('middleware.runner', () => { handler(new HttpRequestMock('/__run__'), response, nextSpy) mockReporter.write('result') - emitter.emit('run_complete', capturedBrowsers, {exitCode: 0, success: 3, failed: 0}) + emitter.emit('run_complete', capturedBrowsers, { exitCode: 0, success: 3, failed: 0 }) }) it('should set the empty to 1 if failed tests', (done) => { @@ -138,7 +138,7 @@ describe('middleware.runner', () => { handler(new HttpRequestMock('/__run__'), response, nextSpy) mockReporter.write('result') - emitter.emit('run_complete', capturedBrowsers, {exitCode: 0, success: 0, failed: 6}) + emitter.emit('run_complete', capturedBrowsers, { exitCode: 0, success: 0, failed: 6 }) }) it('should not run if there is no browser captured', (done) => { @@ -222,7 +222,7 @@ describe('middleware.runner', () => { sinon.spy(fileListMock, 'refresh') sinon.stub(executor, 'schedule') - const RAW_MESSAGE = JSON.stringify({refresh: false}) + const RAW_MESSAGE = JSON.stringify({ refresh: false }) const request = new HttpRequestMock('/__run__', { 'content-type': 'application/json', @@ -281,7 +281,7 @@ describe('middleware.runner', () => { }, { desc: 'should set object client args passed by run when there are no existing client.args', - expected: {arg2: 'fig', arg3: 'chocolate'}, + expected: { arg2: 'fig', arg3: 'chocolate' }, rawMessage: '{"args": {"arg2": "fig", "arg3": "chocolate"}}' }, { @@ -292,7 +292,7 @@ describe('middleware.runner', () => { }, { desc: 'should overwrite empty array client.args when run passes an object for client.args', - expected: {arg2: 'figs', arg3: 'chocolates'}, + expected: { arg2: 'figs', arg3: 'chocolates' }, rawMessage: '{"args": {"arg2": "figs", "arg3": "chocolates"}}', existingConfig: [] }, @@ -322,13 +322,13 @@ describe('middleware.runner', () => { }, { desc: 'should merge existing client.args with client.args passed by run', - expected: {arg1: 'cherry', arg2: 'fig', arg3: 'chocolate'}, + expected: { arg1: 'cherry', arg2: 'fig', arg3: 'chocolate' }, rawMessage: '{"args": {"arg2": "fig", "arg3": "chocolate"}}', - existingConfig: {arg1: 'cherry', arg2: 'mango'} + existingConfig: { arg1: 'cherry', arg2: 'mango' } }, { desc: 'should merge empty client.args with client.args passed by run', - expected: {arg2: 'fig', arg3: 'chocolate'}, + expected: { arg2: 'fig', arg3: 'chocolate' }, rawMessage: '{"args": {"arg2": "fig", "arg3": "chocolate"}}', existingConfig: {} } @@ -339,7 +339,7 @@ describe('middleware.runner', () => { capturedBrowsers.add(new Browser()) sinon.stub(capturedBrowsers, 'areAllReady').callsFake(() => true) if (run.existingConfig) { - config = _.merge(config, {client: {args: run.existingConfig}}) + config = _.merge(config, { client: { args: run.existingConfig } }) } createHandler() diff --git a/test/unit/middleware/source_files.spec.js b/test/unit/middleware/source_files.spec.js index afa1e671c..1729db3d2 100644 --- a/test/unit/middleware/source_files.spec.js +++ b/test/unit/middleware/source_files.spec.js @@ -61,7 +61,7 @@ describe('middleware.source_files', function () { }) function servedFiles (list) { - return files.resolve({included: [], served: list}) + return files.resolve({ included: [], served: list }) } describe('Range headers', function () { diff --git a/test/unit/preprocessor.spec.js b/test/unit/preprocessor.spec.js index 10e1f2a00..a02274447 100644 --- a/test/unit/preprocessor.spec.js +++ b/test/unit/preprocessor.spec.js @@ -32,7 +32,7 @@ describe('preprocessor', () => { 'graceful-fs': mockFs, minimatch: require('minimatch') } - emitterSetting = {'emitter': ['value', new events.EventEmitter()]} + emitterSetting = { 'emitter': ['value', new events.EventEmitter()] } m = mocks.loadFile(path.join(__dirname, '/../../lib/preprocessor.js'), mocks_) }) @@ -47,9 +47,9 @@ describe('preprocessor', () => { 'factory', function () { return fakePreprocessor } ] }, emitterSetting]) - pp = m.createPreprocessor({'**/*.js': ['fake']}, null, injector) + pp = m.createPreprocessor({ '**/*.js': ['fake'] }, null, injector) - const file = {originalPath: '/some/a.js', path: 'path'} + const file = { originalPath: '/some/a.js', path: 'path' } pp(file, () => { expect(fakePreprocessor).to.have.been.called @@ -68,9 +68,9 @@ describe('preprocessor', () => { const injector = new di.Injector([{ 'preprocessor:fake': ['factory', function () { return fakePreprocessor }] }, emitterSetting]) - pp = m.createPreprocessor({'**/*.js': ['fake']}, null, injector) + pp = m.createPreprocessor({ '**/*.js': ['fake'] }, null, injector) - const file = {originalPath: '/some/.dir/a.js', path: 'path'} + const file = { originalPath: '/some/.dir/a.js', path: 'path' } pp(file, () => { expect(fakePreprocessor).to.have.been.called @@ -89,10 +89,10 @@ describe('preprocessor', () => { const injector = new di.Injector([{ 'preprocessor:fake': ['factory', function () { return fakePreprocessor }] }, emitterSetting]) - const config = {'**/*.txt': ['fake']} + const config = { '**/*.txt': ['fake'] } pp = m.createPreprocessor(config, null, injector) - const file = {originalPath: '/some/a.js', path: 'path'} + const file = { originalPath: '/some/a.js', path: 'path' } config['**/*.js'] = ['fake'] @@ -112,9 +112,9 @@ describe('preprocessor', () => { const injector = new di.Injector([{ 'preprocessor:fake': ['factory', function () { return fakePreprocessor }] }, emitterSetting]) - pp = m.createPreprocessor({'**/*.js': ['fake']}, null, injector) + pp = m.createPreprocessor({ '**/*.js': ['fake'] }, null, injector) - const file = {originalPath: '/some/a.txt', path: 'path'} + const file = { originalPath: '/some/a.txt', path: 'path' } pp(file, () => { expect(fakePreprocessor).to.not.have.been.called @@ -138,9 +138,9 @@ describe('preprocessor', () => { 'preprocessor:fake2': ['factory', function () { return fakePreprocessor2 }] }, emitterSetting]) - pp = m.createPreprocessor({'**/*.js': ['fake1', 'fake2']}, null, injector) + pp = m.createPreprocessor({ '**/*.js': ['fake1', 'fake2'] }, null, injector) - const file = {originalPath: '/some/a.js', path: 'path'} + const file = { originalPath: '/some/a.js', path: 'path' } pp(file, () => { expect(fakePreprocessor1).to.have.been.calledOnce @@ -153,7 +153,7 @@ describe('preprocessor', () => { it('should compute SHA', (done) => { pp = m.createPreprocessor({}, null, new di.Injector([emitterSetting])) - const file = {originalPath: '/some/a.js', path: 'path'} + const file = { originalPath: '/some/a.js', path: 'path' } pp(file, () => { expect(file.sha).to.exist @@ -182,10 +182,10 @@ describe('preprocessor', () => { 'preprocessor:fake': ['factory', function () { return fakePreprocessor }] }, emitterSetting]) - pp = m.createPreprocessor({'**/a.js': ['fake']}, null, injector) + pp = m.createPreprocessor({ '**/a.js': ['fake'] }, null, injector) - const fileProcess = {originalPath: '/some/a.js', path: 'path'} - const fileSkip = {originalPath: '/some/b.js', path: 'path'} + const fileProcess = { originalPath: '/some/a.js', path: 'path' } + const fileSkip = { originalPath: '/some/b.js', path: 'path' } pp(fileProcess, () => { pp(fileSkip, () => { @@ -208,9 +208,9 @@ describe('preprocessor', () => { 'preprocessor:failing': ['factory', function () { return failingPreprocessor }] }, emitterSetting]) - pp = m.createPreprocessor({'**/*.js': ['failing']}, null, injector) + pp = m.createPreprocessor({ '**/*.js': ['failing'] }, null, injector) - const file = {originalPath: '/some/a.js', path: 'path'} + const file = { originalPath: '/some/a.js', path: 'path' } pp(file, (err) => { expect(err).to.exist @@ -232,9 +232,9 @@ describe('preprocessor', () => { 'preprocessor:fake': ['factory', function () { return fakePreprocessor }] }, emitterSetting]) - pp = m.createPreprocessor({'**/*.js': ['failing', 'fake']}, null, injector) + pp = m.createPreprocessor({ '**/*.js': ['failing', 'fake'] }, null, injector) - const file = {originalPath: '/some/a.js', path: 'path'} + const file = { originalPath: '/some/a.js', path: 'path' } pp(file, () => { expect(fakePreprocessor).not.to.have.been.called @@ -243,7 +243,7 @@ describe('preprocessor', () => { }) describe('when fs.readFile fails', () => { - const file = {originalPath: '/some/a.js', path: 'path'} + const file = { originalPath: '/some/a.js', path: 'path' } const getReadFileCallback = (nthCall) => { return mockFs.readFile.args[nthCall][1] } @@ -261,7 +261,7 @@ describe('preprocessor', () => { 'preprocessor:fake': ['factory', function () { return fakePreprocessor }] }, emitterSetting]) - const pp = m.createPreprocessor({'**/*.js': ['fake']}, null, injector) + const pp = m.createPreprocessor({ '**/*.js': ['fake'] }, null, injector) pp(file, () => { expect(fakePreprocessor).to.have.been.called @@ -277,7 +277,7 @@ describe('preprocessor', () => { it('should throw after 3 retries', (done) => { const injector = new di.Injector([{}, emitterSetting]) - const pp = m.createPreprocessor({'**/*.js': []}, null, injector) + const pp = m.createPreprocessor({ '**/*.js': [] }, null, injector) pp(file, () => { }) @@ -299,9 +299,9 @@ describe('preprocessor', () => { 'preprocessor:fake': ['factory', function () { return fakePreprocessor }] }, emitterSetting]) - pp = m.createPreprocessor({'**/*': ['fake']}, null, injector) + pp = m.createPreprocessor({ '**/*': ['fake'] }, null, injector) - const file = {originalPath: '/some/photo.png', path: 'path'} + const file = { originalPath: '/some/photo.png', path: 'path' } pp(file, (err) => { if (err) throw err @@ -322,9 +322,9 @@ describe('preprocessor', () => { 'preprocessor:fake': ['factory', function () { return fakePreprocessor }] }, emitterSetting]) - pp = m.createPreprocessor({'**/*': ['fake']}, null, injector) + pp = m.createPreprocessor({ '**/*': ['fake'] }, null, injector) - const file = {originalPath: '/some/photo.png', path: 'path'} + const file = { originalPath: '/some/photo.png', path: 'path' } pp(file, (err) => { if (err) throw err @@ -344,9 +344,9 @@ describe('preprocessor', () => { 'preprocessor:fake': ['factory', function () { fakePreprocessor }] }, emitterSetting]) - pp = m.createPreprocessor({'**/*': ['fake']}, null, injector) + pp = m.createPreprocessor({ '**/*': ['fake'] }, null, injector) - const file = {originalPath: '/some/CAM_PHOTO.JPG', path: 'path'} + const file = { originalPath: '/some/CAM_PHOTO.JPG', path: 'path' } pp(file, (err) => { if (err) throw err @@ -389,7 +389,7 @@ describe('preprocessor', () => { '/some/a.js': ['fakeD'] }, null, injector) - const file = {originalPath: '/some/a.js', path: 'path'} + const file = { originalPath: '/some/a.js', path: 'path' } pp(file, (err) => { if (err) throw err diff --git a/test/unit/reporter.spec.js b/test/unit/reporter.spec.js index 0b2308120..c88c01142 100644 --- a/test/unit/reporter.spec.js +++ b/test/unit/reporter.spec.js @@ -67,9 +67,9 @@ describe('reporter', () => { it('should handle arbitrary error objects', () => { expect( - formatError({hello: 'world'}) + formatError({ hello: 'world' }) ).to.equal( - JSON.stringify({hello: 'world'}) + '\n' + JSON.stringify({ hello: 'world' }) + '\n' ) }) @@ -158,10 +158,10 @@ describe('reporter', () => { it('should rewrite stack traces', (done) => { formatError = m.createErrorFormatter({ basePath: '/some/base', hostname: 'localhost', port: 123 }, emitter, MockSourceMapConsumer) const servedFiles = [new File('/some/base/a.js'), new File('/some/base/b.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP a.js'} - servedFiles[1].sourceMap = {content: 'SOURCE MAP b.js'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP a.js' } + servedFiles[1].sourceMap = { content: 'SOURCE MAP b.js' } - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at http://localhost:123/base/b.js:2:6' @@ -173,10 +173,10 @@ describe('reporter', () => { it('should rewrite stack traces (when basePath is empty)', (done) => { formatError = m.createErrorFormatter({ basePath: '', hostname: 'localhost', port: 123 }, emitter, MockSourceMapConsumer) const servedFiles = [new File('/a.js'), new File('/b.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP a.js'} - servedFiles[1].sourceMap = {content: 'SOURCE MAP b.js'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP a.js' } + servedFiles[1].sourceMap = { content: 'SOURCE MAP b.js' } - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at http://localhost:123/base/b.js:2:6' @@ -188,10 +188,10 @@ describe('reporter', () => { it('should rewrite stack traces to the first column when no column is given', (done) => { formatError = m.createErrorFormatter({ basePath: '/some/base', hostname: 'localhost', port: 123 }, emitter, MockSourceMapConsumer) const servedFiles = [new File('/some/base/a.js'), new File('/some/base/b.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP a.js'} - servedFiles[1].sourceMap = {content: 'SOURCE MAP b.js'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP a.js' } + servedFiles[1].sourceMap = { content: 'SOURCE MAP b.js' } - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at http://localhost:123/base/b.js:2' @@ -203,10 +203,10 @@ describe('reporter', () => { it('should rewrite relative url stack traces', (done) => { formatError = m.createErrorFormatter({ basePath: '/some/base', hostname: 'localhost', port: 123 }, emitter, MockSourceMapConsumer) const servedFiles = [new File('/some/base/a.js'), new File('/some/base/b.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP a.js'} - servedFiles[1].sourceMap = {content: 'SOURCE MAP b.js'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP a.js' } + servedFiles[1].sourceMap = { content: 'SOURCE MAP b.js' } - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at /base/b.js:2:6' @@ -219,9 +219,9 @@ describe('reporter', () => { sourceMappingPath = 'original/' // Note: relative path. formatError = m.createErrorFormatter({ basePath: '/some/base' }, emitter, MockSourceMapConsumer) const servedFiles = [new File('/some/base/path/a.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP a.fancyjs'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP a.fancyjs' } - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at /base/path/a.js:2:6' @@ -233,10 +233,10 @@ describe('reporter', () => { it('should fall back to non-source-map format if originalPositionFor throws', (done) => { formatError = m.createErrorFormatter({ basePath: '/some/base', hostname: 'localhost', port: 123 }, emitter, MockSourceMapConsumer) const servedFiles = [new File('/some/base/a.js'), new File('/some/base/b.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP a.js'} - servedFiles[1].sourceMap = {content: 'SOURCE MAP b.js'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP a.js' } + servedFiles[1].sourceMap = { content: 'SOURCE MAP b.js' } - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at http://localhost:123/base/b.js:0:0' @@ -248,10 +248,10 @@ describe('reporter', () => { it('should not try to use source maps when no line is given', (done) => { formatError = m.createErrorFormatter({ basePath: '/some/base', hostname: 'localhost', port: 123 }, emitter, MockSourceMapConsumer) const servedFiles = [new File('/some/base/a.js'), new File('/some/base/b.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP a.js'} - servedFiles[1].sourceMap = {content: 'SOURCE MAP b.js'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP a.js' } + servedFiles[1].sourceMap = { content: 'SOURCE MAP b.js' } - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at http://localhost:123/base/b.js' @@ -264,10 +264,10 @@ describe('reporter', () => { it('should not try to match domains with spaces', (done) => { formatError = m.createErrorFormatter({ basePath: '/some/base', hostname: 'localhost', port: 9876 }, emitter, MockSourceMapConsumer) const servedFiles = [new File('/some/base/a.js'), new File('/some/base/b.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP a.js'} - servedFiles[1].sourceMap = {content: 'SOURCE MAP b.js'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP a.js' } + servedFiles[1].sourceMap = { content: 'SOURCE MAP b.js' } - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = '"http://localhost:9876"\n at /base/b.js:2:6' @@ -283,11 +283,11 @@ describe('reporter', () => { beforeEach(() => { formatError = m.createErrorFormatter({ basePath: '/some/base', hostname: 'localhost', port: 123 }, emitter, MockSourceMapConsumer) servedFiles = [new File('C:/a/b/c.js')] - servedFiles[0].sourceMap = {content: 'SOURCE MAP b.js'} + servedFiles[0].sourceMap = { content: 'SOURCE MAP b.js' } }) it('should correct rewrite stack traces without sha', (done) => { - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at http://localhost:123/absoluteC:/a/b/c.js:2:6' @@ -297,7 +297,7 @@ describe('reporter', () => { }) it('should correct rewrite stack traces with sha', (done) => { - emitter.emit('file_list_modified', {served: servedFiles}) + emitter.emit('file_list_modified', { served: servedFiles }) _.defer(() => { const ERROR = 'at http://localhost:123/absoluteC:/a/b/c.js?da39a3ee5e6:2:6' diff --git a/test/unit/reporters/base.spec.js b/test/unit/reporters/base.spec.js index 586cc913d..8d3fea5fc 100644 --- a/test/unit/reporters/base.spec.js +++ b/test/unit/reporters/base.spec.js @@ -9,7 +9,7 @@ describe('reporter', () => { beforeEach(() => { adapter = sinon.spy() - reporter = new BaseReporter(null, null, false, {terminal: true}, adapter) + reporter = new BaseReporter(null, null, false, { terminal: true }, adapter) return reporter }) @@ -192,7 +192,7 @@ describe('reporter', () => { it('should log messages correctly when complete with just one browser', () => { const writeSpy = sinon.spy(reporter, 'write') - const mockResults = {error: false, disconnected: false} + const mockResults = { error: false, disconnected: false } reporter.onRunComplete(['Chrome'], mockResults) return writeSpy.should.have.been.called diff --git a/test/unit/reporters/progress.spec.js b/test/unit/reporters/progress.spec.js index 6d924bd15..bbafbe5d5 100644 --- a/test/unit/reporters/progress.spec.js +++ b/test/unit/reporters/progress.spec.js @@ -7,7 +7,7 @@ describe('reporter', function () { beforeEach(function () { formatError = sinon.spy() - reporter = new ProgressReporter(formatError, null, false, {terminal: true}) + reporter = new ProgressReporter(formatError, null, false, { terminal: true }) }) it('should turn off colors', function () { diff --git a/test/unit/runner.spec.js b/test/unit/runner.spec.js index 5c05fa044..97cefc49a 100644 --- a/test/unit/runner.spec.js +++ b/test/unit/runner.spec.js @@ -38,7 +38,7 @@ describe('runner', () => { it('should not slice buffer if smaller than exit code msg', () => { // regression - const fakeBuffer = {length: 1, slice: () => null} + const fakeBuffer = { length: 1, slice: () => null } sinon.stub(fakeBuffer, 'slice') m.parseExitCode(fakeBuffer, 10) @@ -47,7 +47,7 @@ describe('runner', () => { it('should return same buffer if smaller than exit code msg', () => { // regression - const fakeBuffer = {length: 1, slice: () => null} + const fakeBuffer = { length: 1, slice: () => null } const result = m.parseExitCode(fakeBuffer, 10) expect(fakeBuffer).to.equal(result.buffer) }) diff --git a/test/unit/utils/json-utils.spec.js b/test/unit/utils/json-utils.spec.js index aa6757e81..92b69762a 100644 --- a/test/unit/utils/json-utils.spec.js +++ b/test/unit/utils/json-utils.spec.js @@ -4,7 +4,7 @@ const JsonUtils = require('../../../lib/utils/json-utils') describe('json-utils', () => { it('stringify-s', () => { - const obj = {a: 'a', i: 1} + const obj = { a: 'a', i: 1 } const json = JsonUtils.stringify(obj) expect(json).to.be.equal('[{"a":"1","i":1},"a"]') }) diff --git a/test/unit/watcher.spec.js b/test/unit/watcher.spec.js index c71d87a9e..f581d7047 100644 --- a/test/unit/watcher.spec.js +++ b/test/unit/watcher.spec.js @@ -7,7 +7,7 @@ describe('watcher', () => { let m = null beforeEach(() => { - const mocks_ = {chokidar: mocks.chokidar} + const mocks_ = { chokidar: mocks.chokidar } m = mocks.loadFile(path.join(__dirname, '/../../lib/watcher.js'), mocks_) }) @@ -59,7 +59,7 @@ describe('watcher', () => { it('should return list of watched patterns (strings)', () => { const watchedPatterns = m.getWatchedPatterns([ config.createPatternObject('/watched.js'), - config.createPatternObject({pattern: 'non/*.js', watched: false}) + config.createPatternObject({ pattern: 'non/*.js', watched: false }) ]) expect(watchedPatterns).to.deep.equal(['/watched.js']) }) diff --git a/test/unit/web-server.spec.js b/test/unit/web-server.spec.js index fdae27d37..efd8b3ae4 100644 --- a/test/unit/web-server.spec.js +++ b/test/unit/web-server.spec.js @@ -12,7 +12,7 @@ describe('web-server', () => { const File = require('../../lib/file') const _mocks = {} - const _globals = {__dirname: '/karma/lib'} + const _globals = { __dirname: '/karma/lib' } _mocks['graceful-fs'] = mocks.fs.create({ karma: { @@ -35,7 +35,7 @@ describe('web-server', () => { let beforeMiddlewareActive = false let middlewareActive = false const servedFiles = (files) => { - emitter.emit('file_list_modified', {included: [], served: files}) + emitter.emit('file_list_modified', { included: [], served: files }) } describe('request', () => { @@ -48,7 +48,7 @@ describe('web-server', () => { beforeMiddleware: ['beforeCustom'], middleware: ['custom'], middlewareResponse: 'hello middleware!', - mime: {'custom/custom': ['custom']}, + mime: { 'custom/custom': ['custom'] }, client: { useIframe: true, useSingleWindow: false @@ -59,7 +59,7 @@ describe('web-server', () => { config: ['value', config], customFileHandlers: ['value', customFileHandlers], emitter: ['value', emitter], - fileList: ['value', {files: {served: [], included: []}}], + fileList: ['value', { files: { served: [], included: [] } }], filesPromise: ['factory', m.createFilesPromise], serveStaticFile: ['factory', m.createServeStaticFile], serveFile: ['factory', m.createServeFile], @@ -225,11 +225,11 @@ describe('web-server', () => { urlRoot: '/', protocol: 'https:', httpsServerOptions: credentials, - client: {useIframe: true, useSingleWindow: false} + client: { useIframe: true, useSingleWindow: false } }], customFileHandlers: ['value', customFileHandlers], emitter: ['value', emitter], - fileList: ['value', {files: {served: [], included: []}}], + fileList: ['value', { files: { served: [], included: [] } }], filesPromise: ['factory', m.createFilesPromise], serveStaticFile: ['factory', m.createServeStaticFile], serveFile: ['factory', m.createServeFile], @@ -271,10 +271,10 @@ describe('web-server', () => { emitter = new EventEmitter() const injector = new di.Injector([{ - config: ['value', {basePath: '/base/path', urlRoot: '/', httpModule: http2, protocol: 'https:', httpsServerOptions: credentials}], + config: ['value', { basePath: '/base/path', urlRoot: '/', httpModule: http2, protocol: 'https:', httpsServerOptions: credentials }], customFileHandlers: ['value', customFileHandlers], emitter: ['value', emitter], - fileList: ['value', {files: {served: [], included: []}}], + fileList: ['value', { files: { served: [], included: [] } }], filesPromise: ['factory', m.createFilesPromise], serveStaticFile: ['factory', m.createServeStaticFile], serveFile: ['factory', m.createServeFile], diff --git a/yarn.lock b/yarn.lock index 1ee448bfa..cad3f864b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,22 @@ # yarn lockfile v1 +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + "@sinonjs/commons@^1", "@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.4.0.tgz#7b3ec2d96af481d7a0321252e7b1c94724ec5a78" @@ -65,12 +81,10 @@ acorn-dynamic-import@^4.0.0: resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= - dependencies: - acorn "^3.0.4" +acorn-jsx@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" + integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== acorn-node@^1.2.0, acorn-node@^1.3.0: version "1.6.2" @@ -87,22 +101,12 @@ acorn-walk@^6.1.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= - acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= -acorn@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" - integrity sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w== - -acorn@^6.0.2: +acorn@^6.0.2, acorn@^6.0.7: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== @@ -127,22 +131,7 @@ agent-base@^4.1.0: dependencies: es6-promisify "^5.0.0" -ajv-keywords@^3.0.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" - integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== - -ajv@^5.3.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.0.1: +ajv@^6.9.1: version "6.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== @@ -166,10 +155,10 @@ amdefine@>=0.0.4: resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= -ansi-escapes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" - integrity sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ== +ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-regex@^2.0.0: version "2.1.1" @@ -181,19 +170,17 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= +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@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= -ansi-styles@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - integrity sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^3.2.1: +ansi-styles@^3.1.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -281,6 +268,14 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + array-map@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" @@ -333,10 +328,11 @@ assert-plus@^1.0.0: integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== dependencies: + object-assign "^4.1.1" util "0.10.3" assertion-error-formatter@^2.0.0, assertion-error-formatter@^2.0.1: @@ -358,6 +354,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + astw@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz#7bd41784d32493987aeb239b6b4e1c57a873b917" @@ -416,15 +417,6 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - babel-runtime@^6.11.6, babel-runtime@^6.23.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -770,7 +762,7 @@ buffers@~0.1.1: resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= -builtin-modules@^1.0.0, builtin-modules@^1.1.1: +builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= @@ -810,22 +802,15 @@ cached-path-relative@^1.0.0: resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" integrity sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc= -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= - dependencies: - callsites "^0.2.0" - callsite@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-keys@^2.0.0: version "2.1.0" @@ -884,7 +869,7 @@ chainsaw@~0.1.0: dependencies: traverse ">=0.3.0 <0.4" -chalk@^1.1.0, chalk@^1.1.3: +chalk@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= @@ -904,7 +889,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chalk@~2.4.1: +chalk@^2.4.2, chalk@~2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -913,10 +898,10 @@ chalk@~2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" - integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== check-error@^1.0.2: version "1.0.2" @@ -976,11 +961,6 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== - class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -1019,11 +999,6 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -1433,12 +1408,14 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: - lru-cache "^4.0.1" + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" @@ -1618,14 +1595,14 @@ dateformat@^1.0.11, dateformat@^1.0.12, dateformat@~1.0.12: get-stdin "^4.0.1" meow "^3.3.0" -debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: +debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@3.1.0, debug@^3.0.1, debug@^3.1.0, debug@~3.1.0: +debug@3.1.0, debug@^3.1.0, debug@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== @@ -1639,6 +1616,13 @@ debug@^3.2.6: dependencies: ms "^2.1.1" +debug@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + decamelize@^1.0.0, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1666,6 +1650,13 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= +define-properties@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" @@ -1693,19 +1684,6 @@ defined@^1.0.0: resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1785,10 +1763,10 @@ doctrine@1.5.0: esutils "^2.0.2" isarray "^1.0.0" -doctrine@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.2.tgz#68f96ce8efc56cc42651f1faadb4f175273b0075" - integrity sha512-y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A== +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" @@ -1847,6 +1825,11 @@ elliptic@^6.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" +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== + encodeurl@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" @@ -1919,6 +1902,27 @@ error@^7.0.0: string-template "~0.2.1" xtend "~4.0.0" +es-abstract@^1.7.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-keys "^1.0.12" + +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2: version "0.10.37" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.37.tgz#0ee741d148b80069ba27d020393756af257defc3" @@ -1971,131 +1975,152 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-config-standard@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" - integrity sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE= +eslint-config-standard@^12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz#638b4c65db0bd5a41319f96bba1f15ddad2107d9" + integrity sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ== -eslint-import-resolver-node@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc" - integrity sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A== +eslint-import-resolver-node@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== dependencies: - debug "^2.6.8" - resolve "^1.2.0" + debug "^2.6.9" + resolve "^1.5.0" -eslint-module-utils@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449" - integrity sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw== +eslint-module-utils@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a" + integrity sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw== dependencies: debug "^2.6.8" - pkg-dir "^1.0.0" + pkg-dir "^2.0.0" -eslint-plugin-import@^2.2.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz#fa1b6ef31fcb3c501c09859c1b86f1fc5b986894" - integrity sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g== +eslint-plugin-es@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.0.tgz#475f65bb20c993fc10e8c8fe77d1d60068072da6" + integrity sha512-XfFmgFdIUDgvaRAlaXUkxrRg5JSADoRC8IkKLc/cISeR3yHVMefFHQZpcyXXEUUPHfy5DwviBcrfqlyqEwlQVw== + dependencies: + eslint-utils "^1.3.0" + regexpp "^2.0.1" + +eslint-plugin-import@^2.17.2: + version "2.17.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.17.2.tgz#d227d5c6dc67eca71eb590d2bb62fb38d86e9fcb" + integrity sha512-m+cSVxM7oLsIpmwNn2WXTJoReOF9f/CtLMo7qOVmKd1KntBy0hEcuNZ3erTmWjx+DxRO0Zcrm5KwAvI9wHcV5g== dependencies: - builtin-modules "^1.1.1" + array-includes "^3.0.3" contains-path "^0.1.0" - debug "^2.6.8" + debug "^2.6.9" doctrine "1.5.0" - eslint-import-resolver-node "^0.3.1" - eslint-module-utils "^2.1.1" - has "^1.0.1" - lodash.cond "^4.3.0" - minimatch "^3.0.3" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.0" + has "^1.0.3" + lodash "^4.17.11" + minimatch "^3.0.4" read-pkg-up "^2.0.0" + resolve "^1.10.0" -eslint-plugin-node@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz#80df3253c4d7901045ec87fa660a284e32bdca29" - integrity sha512-xhPXrh0Vl/b7870uEbaumb2Q+LxaEcOQ3kS1jtIXanBAwpMre1l5q/l2l/hESYJGEFKuI78bp6Uw50hlpr7B+g== +eslint-plugin-node@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-9.0.1.tgz#93e44626fa62bcb6efea528cee9687663dc03b62" + integrity sha512-fljT5Uyy3lkJzuqhxrYanLSsvaILs9I7CmQ31atTtZ0DoIzRbbvInBh4cQ1CrthFHInHYBQxfPmPt6KLHXNXdw== dependencies: - ignore "^3.3.6" + eslint-plugin-es "^1.4.0" + eslint-utils "^1.3.1" + ignore "^5.1.1" minimatch "^3.0.4" - resolve "^1.3.3" - semver "5.3.0" + resolve "^1.10.1" + semver "^6.0.0" -eslint-plugin-promise@^3.4.2: - version "3.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz#54b7658c8f454813dc2a870aff8152ec4969ba75" - integrity sha512-YQzM6TLTlApAr7Li8vWKR+K3WghjwKcYzY0d2roWap4SLK+kzuagJX/leTetIDWsFcTFnKNJXWupDCD6aZkP2Q== +eslint-plugin-promise@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz#1e08cb68b5b2cd8839f8d5864c796f56d82746db" + integrity sha512-faAHw7uzlNPy7b45J1guyjazw28M+7gJokKUjC5JSFoYfUEyy6Gw/i7YQvmv2Yk00sUjWcmzXQLpU1Ki/C2IZQ== -eslint-plugin-standard@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" - integrity sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI= +eslint-plugin-standard@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz#f845b45109c99cd90e77796940a344546c8f6b5c" + integrity sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA== -eslint-scope@^3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" - integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint@^4.0.0, eslint@^4.11.0: - version "4.13.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.13.1.tgz#0055e0014464c7eb7878caf549ef2941992b444f" - integrity sha512-UCJVV50RtLHYzBp1DZ8CMPtRSg4iVZvjgO9IJHIKyWU/AnJVjtdRikoUPLB29n5pzMB7TnsLQWf0V6VUJfoPfw== +eslint-utils@^1.3.0, eslint-utils@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== + +eslint-visitor-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== + +eslint@^5.0.0, eslint@^5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" + "@babel/code-frame" "^7.0.0" + ajv "^6.9.1" chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.0.1" - doctrine "^2.0.2" - eslint-scope "^3.7.1" - espree "^3.5.2" - esquery "^1.0.0" - estraverse "^4.2.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^4.0.3" + eslint-utils "^1.3.1" + eslint-visitor-keys "^1.0.0" + espree "^5.0.1" + esquery "^1.0.1" esutils "^2.0.2" - file-entry-cache "^2.0.0" + file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" + globals "^11.7.0" + ignore "^4.0.6" + import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" + inquirer "^6.2.2" + js-yaml "^3.13.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" + lodash "^4.17.11" + minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" path-is-inside "^1.0.2" - pluralize "^7.0.0" progress "^2.0.0" - require-uncached "^1.0.3" - semver "^5.3.0" + regexpp "^2.0.1" + semver "^5.5.1" strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "^4.0.1" - text-table "~0.2.0" + strip-json-comments "^2.0.1" + table "^5.2.3" + text-table "^0.2.0" -espree@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca" - integrity sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ== +espree@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" + integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== dependencies: - acorn "^5.2.1" - acorn-jsx "^3.0.0" + acorn "^6.0.7" + acorn-jsx "^5.0.0" + eslint-visitor-keys "^1.0.0" esprima@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" integrity sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw== -esquery@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" - integrity sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo= +esquery@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== dependencies: estraverse "^4.0.0" @@ -2107,7 +2132,7 @@ esrecurse@^4.1.0: estraverse "^4.1.0" object-assign "^4.0.1" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= @@ -2183,13 +2208,13 @@ extend@3, extend@^3.0.0, extend@~3.0.0: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" integrity sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ= -external-editor@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" - integrity sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA== +external-editor@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" + chardet "^0.7.0" + iconv-lite "^0.4.24" tmp "^0.0.33" extglob@^2.0.4: @@ -2221,11 +2246,6 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" - integrity sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8= - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -2262,13 +2282,12 @@ figures@2.0.0, figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -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" - integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" + flat-cache "^2.0.1" fill-keys@^1.0.2: version "1.0.2" @@ -2350,15 +2369,14 @@ findup@0.1.5: colors "~0.6.0-1" commander "~2.1.0" -flat-cache@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" - integrity sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE= +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" flatted@^2.0.0: version "2.0.0" @@ -2462,7 +2480,7 @@ fsevents@^2.0.6: mkdirp "0.5" rimraf "2" -function-bind@^1.0.2: +function-bind@^1.0.2, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== @@ -2590,7 +2608,7 @@ glob-parent@^5.0.0: dependencies: is-glob "^4.0.1" -glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: +glob@7.1.2, glob@^7.0.0, glob@^7.0.5, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== @@ -2637,22 +2655,10 @@ glob@~7.0.0: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^11.0.1: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.1.0.tgz#632644457f5f0e3ae711807183700ebf2e4633e4" - integrity sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ== - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" +globals@^11.7.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globule@^1.0.0: version "1.2.0" @@ -2766,13 +2772,13 @@ grunt-cucumberjs@^2.0.2: node-fs "^0.1.7" ramda "^0.24.1" -grunt-eslint@^20.1.0: - version "20.1.0" - resolved "https://registry.yarnpkg.com/grunt-eslint/-/grunt-eslint-20.1.0.tgz#2e5d273546cf36d80d313c1db91d73b805940816" - integrity sha512-VZlDOLrB2KKefDDcx/wR8rEEz7smDwDKVblmooa+itdt/2jWw3ee2AiZB5Ap4s4AoRY0pbHRjZ3HHwY8uKR9Rw== +grunt-eslint@^21.0.0: + version "21.0.0" + resolved "https://registry.yarnpkg.com/grunt-eslint/-/grunt-eslint-21.0.0.tgz#5863f593d328c27ffec2a183319e5ad5380eed9e" + integrity sha512-HJocD9P35lpCvy6pPPCTgzBavzckrT1nt7lpqV55Vy8E6LQJv4RortXoH1jJTYhO5DYY7RPATv7Uc4383PUYqQ== dependencies: chalk "^2.1.0" - eslint "^4.0.0" + eslint "^5.0.0" grunt-known-options@~1.1.0: version "1.1.0" @@ -2886,6 +2892,11 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -2929,6 +2940,13 @@ has@^1.0.0, has@^1.0.1: dependencies: function-bind "^1.0.2" +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + hash-base@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" @@ -3045,12 +3063,12 @@ husky@^0.14.3: normalize-path "^1.0.0" strip-indent "^2.0.0" -iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13: +iconv-lite@0.4.19, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ== -iconv-lite@^0.4.4: +iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -3069,10 +3087,23 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.3, ignore@^3.3.6: - version "3.3.7" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" - integrity sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA== +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.1.tgz#2fc6b8f518aff48fef65a7f348ed85632448e4a5" + integrity sha512-DWjnQIFLenVrwyRCKZT+7a7/U4Cqgar4WG8V++K3hw+lrW1hc/SIwdiGmtxKCVACmHULTuGeBbHJmbwW7/sAvA== + +import-fresh@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" + integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" imurmurhash@^0.1.4: version "0.1.4" @@ -3126,24 +3157,23 @@ inline-source-map@~0.6.0: dependencies: source-map "~0.5.3" -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== +inquirer@^6.2.2: + version "6.3.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7" + integrity sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA== dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" + ansi-escapes "^3.2.0" + chalk "^2.4.2" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^2.0.4" + external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.3.0" + lodash "^4.17.11" mute-stream "0.0.7" run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" + rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^4.0.0" + strip-ansi "^5.1.0" through "^2.3.6" insert-module-globals@^7.0.0: @@ -3210,6 +3240,11 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + is-ci@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" @@ -3231,6 +3266,11 @@ is-data-descriptor@^1.0.0: dependencies: kind-of "^6.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" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -3326,25 +3366,6 @@ is-object@~1.0.1: resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - integrity sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw= - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -3357,10 +3378,12 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-resolvable@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.1.tgz#acca1cd36dbe44b974b924321555a70ba03b1cf4" - integrity sha512-y5CXYbzvB3jTnWAZH1Nl7ykUWb6T3BcTs56HUruwBf8MhF56n1HWqhDWnVFo8GHrUPDgvUUNVhrc2U8W7iqz5g== +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" is-stream@^1.1.0: version "1.1.0" @@ -3372,6 +3395,13 @@ is-subset@^0.1.1: resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY= +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + is-text-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" @@ -3441,12 +3471,12 @@ js-string-escape@^1.0.0: resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" integrity sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8= -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.9.1, js-yaml@~3.13.0: +js-yaml@^3.13.0, js-yaml@~3.13.0: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -3454,11 +3484,6 @@ js-yaml@^3.9.1, js-yaml@~3.13.0: argparse "^1.0.7" esprima "^4.0.0" -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3697,11 +3722,6 @@ lodash._reinterpolate@~3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= -lodash.cond@^4.3.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" - integrity sha1-9HGh2khr5g9quVXRcRVSPdHSVdU= - lodash.memoize@~3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" @@ -3727,7 +3747,7 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "~3.0.0" -lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10, lodash@~4.17.4, lodash@~4.17.5: +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1, lodash@~4.17.10, lodash@~4.17.4, lodash@~4.17.5: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -3778,7 +3798,7 @@ lower-case@^1.1.1: resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= -lru-cache@4.1.x, lru-cache@^4.0.1: +lru-cache@4.1.x: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" integrity sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew== @@ -3914,7 +3934,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -4103,6 +4123,11 @@ negotiator@0.6.1: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= +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== + nise@^1.4.10: version "1.4.10" resolved "https://registry.yarnpkg.com/nise/-/nise-1.4.10.tgz#ae46a09a26436fae91a38a60919356ae6db143b6" @@ -4217,7 +4242,7 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -4236,6 +4261,11 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-keys@^1.0.12: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" @@ -4365,6 +4395,13 @@ pako@~1.0.5: resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parents@^1.0.0, parents@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" @@ -4446,15 +4483,20 @@ path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - integrity sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME= +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" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-platform@~0.11.15: version "0.11.15" @@ -4527,12 +4569,12 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: - find-up "^1.0.0" + find-up "^2.1.0" pkg-up@^2.0.0: version "2.0.0" @@ -4548,11 +4590,6 @@ plur@^2.0.0: dependencies: irregular-plurals "^1.0.0" -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -4866,6 +4903,11 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -4888,29 +4930,21 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - requires-port@1.x.x: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= - resolve-from@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" integrity sha1-lICrIOlP+h2egKgEx+oUdhGWa1c= +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolve-pkg@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-1.0.0.tgz#e19a15e78aca2e124461dc92b2e3943ef93494d9" @@ -4928,19 +4962,12 @@ resolve@1.1.7, resolve@~1.1.0: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.4, resolve@^1.2.0, resolve@^1.3.3: - version "1.5.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" - integrity sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw== - dependencies: - path-parse "^1.0.5" - -resolve@^1.1.6, resolve@^1.4.0: - version "1.7.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" - integrity sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw== +resolve@^1.1.4, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.3.3, resolve@^1.4.0, resolve@^1.5.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" + integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw== dependencies: - path-parse "^1.0.5" + path-parse "^1.0.6" resolve@~1.8.1: version "1.8.1" @@ -4974,14 +5001,14 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.6.0, rimraf@^2.6.1: +rimraf@2, rimraf@^2.6.0, rimraf@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== dependencies: glob "^7.0.5" -rimraf@~2.6.2: +rimraf@2.6.3, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -5003,17 +5030,12 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= +rxjs@^6.4.0: + version "6.5.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" + integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= + tslib "^1.9.0" safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" @@ -5057,10 +5079,15 @@ semver-regex@1.0.0, semver-regex@^1.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== -semver@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= +semver@^5.5.0, semver@^5.5.1: + version "5.7.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" + integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== + +semver@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" + integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== semver@~5.0.1: version "5.0.3" @@ -5163,11 +5190,13 @@ sinon@^7.3.2: nise "^1.4.10" supports-color "^5.5.0" -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" "slice-stream@>= 1.0.0 < 2": @@ -5470,7 +5499,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -5478,6 +5507,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.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, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -5518,6 +5556,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.1.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-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -5542,7 +5587,7 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -strip-json-comments@~2.0.1: +strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= @@ -5611,17 +5656,15 @@ syntax-error@^1.1.1: dependencies: acorn-node "^1.2.0" -table@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" - integrity sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg== +table@^5.2.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/table/-/table-5.3.3.tgz#eae560c90437331b74200e011487a33442bd28b4" + integrity sha512-3wUNCgdWX6PNpOe3amTTPWPuF6VGvgzjKCaO1snFj0z7Y3mUPWf5+zDtxUVGispJkDECPmR29wbzh6bVMOHbcw== dependencies: - ajv "^6.0.1" - ajv-keywords "^3.0.0" - chalk "^2.1.0" - lodash "^4.17.4" - slice-ansi "1.0.0" - string-width "^2.1.1" + ajv "^6.9.1" + lodash "^4.17.11" + slice-ansi "^2.1.0" + string-width "^3.0.0" tar@^4: version "4.4.8" @@ -5641,7 +5684,7 @@ text-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== -text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= @@ -5776,6 +5819,11 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== + tty-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" @@ -6060,10 +6108,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== dependencies: mkdirp "^0.5.1"