From 423baa644affeff21984ef41def480829d170f01 Mon Sep 17 00:00:00 2001 From: "Brian M. Carlson" Date: Wed, 18 Dec 2019 13:42:47 -0600 Subject: [PATCH] Update lint rules for pg-cursor --- .eslintrc | 20 +- package.json | 3 +- packages/pg-cursor/.eslintrc | 17 -- packages/pg-cursor/index.js | 46 ++-- packages/pg-cursor/package.json | 5 +- packages/pg-cursor/test/close.js | 18 +- packages/pg-cursor/test/error-handling.js | 12 +- packages/pg-cursor/test/index.js | 35 +-- packages/pg-cursor/test/no-data-handling.js | 4 +- packages/pg-cursor/test/pool.js | 24 +- packages/pg-cursor/test/query-config.js | 6 +- packages/pg-cursor/test/transactions.js | 2 +- packages/pg/package.json | 3 +- yarn.lock | 278 ++++++++++++++++++-- 14 files changed, 348 insertions(+), 125 deletions(-) delete mode 100644 packages/pg-cursor/.eslintrc diff --git a/.eslintrc b/.eslintrc index 43aee602..6242db30 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,19 +1,21 @@ { - "plugins": [ - "node" - ], - "extends": [ - "standard", - "eslint:recommended", - "plugin:node/recommended" - ], + "plugins": ["node"], + "extends": ["standard", "eslint:recommended", "plugin:node/recommended"], "parserOptions": { "ecmaVersion": 2017 }, "env": { "node": true, - "es6": true + "es6": true, + "mocha": true }, "rules": { + "space-before-function-paren": "off", + "node/no-unpublished-require": [ + "error", + { + "allowModules": ["pg"] + } + ] } } diff --git a/package.json b/package.json index 5dd581b2..8386726e 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "packages/*" ], "scripts": { - "test": "yarn lerna exec --parallel yarn test" + "test": "yarn lerna exec --parallel yarn test", + "lint": "yarn lerna exec --parallel yarn lint" }, "devDependencies": { "lerna": "^3.19.0" diff --git a/packages/pg-cursor/.eslintrc b/packages/pg-cursor/.eslintrc deleted file mode 100644 index aa7df694..00000000 --- a/packages/pg-cursor/.eslintrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": ["eslint:recommended"], - "parserOptions": { - "ecmaVersion": 2017 - }, - "plugins": ["prettier"], - "rules": { - "prettier/prettier": "error", - "prefer-const": "error", - "no-var": "error" - }, - "env": { - "es6": true, - "node": true, - "mocha": true - } -} diff --git a/packages/pg-cursor/index.js b/packages/pg-cursor/index.js index 3fa9c9a5..405a6712 100644 --- a/packages/pg-cursor/index.js +++ b/packages/pg-cursor/index.js @@ -6,7 +6,7 @@ const util = require('util') let nextUniqueID = 1 // concept borrowed from org.postgresql.core.v3.QueryExecutorImpl -function Cursor(text, values, config) { +function Cursor (text, values, config) { EventEmitter.call(this) this._conf = config || {} @@ -25,18 +25,18 @@ function Cursor(text, values, config) { util.inherits(Cursor, EventEmitter) -Cursor.prototype._ifNoData = function() { +Cursor.prototype._ifNoData = function () { this.state = 'idle' this._shiftQueue() } -Cursor.prototype._rowDescription = function() { +Cursor.prototype._rowDescription = function () { if (this.connection) { this.connection.removeListener('noData', this._ifNoData) } } -Cursor.prototype.submit = function(connection) { +Cursor.prototype.submit = function (connection) { this.connection = connection this._portal = 'C_' + nextUniqueID++ @@ -44,7 +44,7 @@ Cursor.prototype.submit = function(connection) { con.parse( { - text: this.text, + text: this.text }, true ) @@ -52,7 +52,7 @@ Cursor.prototype.submit = function(connection) { con.bind( { portal: this._portal, - values: this.values, + values: this.values }, true ) @@ -60,7 +60,7 @@ Cursor.prototype.submit = function(connection) { con.describe( { type: 'P', - name: this._portal, // AWS Redshift requires a portal name + name: this._portal // AWS Redshift requires a portal name }, true ) @@ -75,13 +75,13 @@ Cursor.prototype.submit = function(connection) { con.once('rowDescription', this._rowDescription) } -Cursor.prototype._shiftQueue = function() { +Cursor.prototype._shiftQueue = function () { if (this._queue.length) { this._getRows.apply(this, this._queue.shift()) } } -Cursor.prototype._closePortal = function() { +Cursor.prototype._closePortal = function () { // because we opened a named portal to stream results // we need to close the same named portal. Leaving a named portal // open can lock tables for modification if inside a transaction. @@ -90,19 +90,19 @@ Cursor.prototype._closePortal = function() { this.connection.sync() } -Cursor.prototype.handleRowDescription = function(msg) { +Cursor.prototype.handleRowDescription = function (msg) { this._result.addFields(msg.fields) this.state = 'idle' this._shiftQueue() } -Cursor.prototype.handleDataRow = function(msg) { +Cursor.prototype.handleDataRow = function (msg) { const row = this._result.parseRow(msg.fields) this.emit('row', row, this._result) this._rows.push(row) } -Cursor.prototype._sendRows = function() { +Cursor.prototype._sendRows = function () { this.state = 'idle' setImmediate(() => { const cb = this._cb @@ -118,26 +118,26 @@ Cursor.prototype._sendRows = function() { }) } -Cursor.prototype.handleCommandComplete = function(msg) { +Cursor.prototype.handleCommandComplete = function (msg) { this._result.addCommandComplete(msg) this._closePortal() } -Cursor.prototype.handlePortalSuspended = function() { +Cursor.prototype.handlePortalSuspended = function () { this._sendRows() } -Cursor.prototype.handleReadyForQuery = function() { +Cursor.prototype.handleReadyForQuery = function () { this._sendRows() this.state = 'done' this.emit('end', this._result) } -Cursor.prototype.handleEmptyQuery = function() { +Cursor.prototype.handleEmptyQuery = function () { this.connection.sync() } -Cursor.prototype.handleError = function(msg) { +Cursor.prototype.handleError = function (msg) { this.connection.removeListener('noData', this._ifNoData) this.connection.removeListener('rowDescription', this._rowDescription) this.state = 'error' @@ -159,13 +159,13 @@ Cursor.prototype.handleError = function(msg) { this.connection.sync() } -Cursor.prototype._getRows = function(rows, cb) { +Cursor.prototype._getRows = function (rows, cb) { this.state = 'busy' this._cb = cb this._rows = [] const msg = { portal: this._portal, - rows: rows, + rows: rows } this.connection.execute(msg, true) this.connection.flush() @@ -173,7 +173,7 @@ Cursor.prototype._getRows = function(rows, cb) { // users really shouldn't be calling 'end' here and terminating a connection to postgres // via the low level connection.end api -Cursor.prototype.end = util.deprecate(function(cb) { +Cursor.prototype.end = util.deprecate(function (cb) { if (this.state !== 'initialized') { this.connection.sync() } @@ -181,7 +181,7 @@ Cursor.prototype.end = util.deprecate(function(cb) { this.connection.end() }, 'Cursor.end is deprecated. Call end on the client itself to end a connection to the database.') -Cursor.prototype.close = function(cb) { +Cursor.prototype.close = function (cb) { if (this.state === 'done') { if (cb) { return setImmediate(cb) @@ -192,13 +192,13 @@ Cursor.prototype.close = function(cb) { this._closePortal() this.state = 'done' if (cb) { - this.connection.once('closeComplete', function() { + this.connection.once('closeComplete', function () { cb() }) } } -Cursor.prototype.read = function(rows, cb) { +Cursor.prototype.read = function (rows, cb) { if (this.state === 'idle') { return this._getRows(rows, cb) } diff --git a/packages/pg-cursor/package.json b/packages/pg-cursor/package.json index 14b34ee9..60213bb5 100644 --- a/packages/pg-cursor/package.json +++ b/packages/pg-cursor/package.json @@ -7,7 +7,8 @@ "test": "test" }, "scripts": { - "test": " mocha && eslint ." + "test": "mocha && eslint .", + "lint": "eslint ." }, "repository": { "type": "git", @@ -26,7 +27,7 @@ "prettier": { "semi": false, "printWidth": 120, - "trailingComma": "es5", + "trailingComma": "none", "singleQuote": true } } diff --git a/packages/pg-cursor/test/close.js b/packages/pg-cursor/test/close.js index 23fb7f9d..5497c51b 100644 --- a/packages/pg-cursor/test/close.js +++ b/packages/pg-cursor/test/close.js @@ -3,40 +3,40 @@ const Cursor = require('../') const pg = require('pg') const text = 'SELECT generate_series as num FROM generate_series(0, 50)' -describe('close', function() { - beforeEach(function(done) { +describe('close', function () { + beforeEach(function (done) { const client = (this.client = new pg.Client()) client.connect(done) client.on('drain', client.end.bind(client)) }) - it('can close a finished cursor without a callback', function(done) { + it('can close a finished cursor without a callback', function (done) { const cursor = new Cursor(text) this.client.query(cursor) this.client.query('SELECT NOW()', done) - cursor.read(100, function(err) { + cursor.read(100, function (err) { assert.ifError(err) cursor.close() }) }) - it('closes cursor early', function(done) { + it('closes cursor early', function (done) { const cursor = new Cursor(text) this.client.query(cursor) this.client.query('SELECT NOW()', done) - cursor.read(25, function(err) { + cursor.read(25, function (err) { assert.ifError(err) cursor.close() }) }) - it('works with callback style', function(done) { + it('works with callback style', function (done) { const cursor = new Cursor(text) const client = this.client client.query(cursor) - cursor.read(25, function(err) { + cursor.read(25, function (err) { assert.ifError(err) - cursor.close(function(err) { + cursor.close(function (err) { assert.ifError(err) client.query('SELECT NOW()', done) }) diff --git a/packages/pg-cursor/test/error-handling.js b/packages/pg-cursor/test/error-handling.js index e559d909..43d34581 100644 --- a/packages/pg-cursor/test/error-handling.js +++ b/packages/pg-cursor/test/error-handling.js @@ -29,11 +29,11 @@ describe('read callback does not fire sync', () => { let after = false cursor.read(1, function(err) { assert(err, 'error should be returned') - assert.equal(after, true, 'should not call read sync') + assert.strictEqual(after, true, 'should not call read sync') after = false cursor.read(1, function(err) { assert(err, 'error should be returned') - assert.equal(after, true, 'should not call read sync') + assert.strictEqual(after, true, 'should not call read sync') client.end() done() }) @@ -49,13 +49,13 @@ describe('read callback does not fire sync', () => { let after = false cursor.read(1, function(err) { assert(!err) - assert.equal(after, true, 'should not call read sync') + assert.strictEqual(after, true, 'should not call read sync') cursor.read(1, function(err) { assert(!err) after = false cursor.read(1, function(err) { assert(!err) - assert.equal(after, true, 'should not call read sync') + assert.strictEqual(after, true, 'should not call read sync') client.end() done() }) @@ -73,11 +73,11 @@ describe('proper cleanup', function() { const cursor1 = client.query(new Cursor(text)) cursor1.read(8, function(err, rows) { assert.ifError(err) - assert.equal(rows.length, 5) + assert.strictEqual(rows.length, 5) const cursor2 = client.query(new Cursor(text)) cursor2.read(8, function(err, rows) { assert.ifError(err) - assert.equal(rows.length, 5) + assert.strictEqual(rows.length, 5) client.end() done() }) diff --git a/packages/pg-cursor/test/index.js b/packages/pg-cursor/test/index.js index 0f41f882..fe210096 100644 --- a/packages/pg-cursor/test/index.js +++ b/packages/pg-cursor/test/index.js @@ -22,7 +22,7 @@ describe('cursor', function() { const cursor = this.pgCursor(text) cursor.read(10, function(err, res) { assert.ifError(err) - assert.equal(res.length, 6) + assert.strictEqual(res.length, 6) done() }) }) @@ -31,7 +31,7 @@ describe('cursor', function() { const cursor = this.pgCursor(text) cursor.read(3, function(err, res) { assert.ifError(err) - assert.equal(res.length, 3) + assert.strictEqual(res.length, 3) done() }) }) @@ -48,13 +48,13 @@ describe('cursor', function() { const cursor = this.pgCursor(text) cursor.read(2, function(err, res) { assert.ifError(err) - assert.equal(res.length, 2) + assert.strictEqual(res.length, 2) cursor.read(3, function(err, res) { assert(!err) - assert.equal(res.length, 3) + assert.strictEqual(res.length, 3) cursor.read(1, function(err, res) { assert(!err) - assert.equal(res.length, 1) + assert.strictEqual(res.length, 1) cursor.read(1, function(err, res) { assert(!err) assert.ifError(err) @@ -72,10 +72,10 @@ describe('cursor', function() { assert(!err) cursor.read(100, function(err, res) { assert(!err) - assert.equal(res.length, 4) + assert.strictEqual(res.length, 4) cursor.read(100, function(err, res) { assert(!err) - assert.equal(res.length, 0) + assert.strictEqual(res.length, 0) done() }) }) @@ -92,7 +92,7 @@ describe('cursor', function() { cursor.read(100, function(err, rows) { if (err) return done(err) if (!rows.length) { - assert.equal(count, 100001) + assert.strictEqual(count, 100001) return done() } count += rows.length @@ -111,10 +111,10 @@ describe('cursor', function() { const cursor = this.pgCursor(text, values) cursor.read(1, function(err, rows) { if (err) return done(err) - assert.equal(rows[0].me.name, 'brian') + assert.strictEqual(rows[0].me.name, 'brian') cursor.read(1, function(err, rows) { assert(!err) - assert.equal(rows.length, 0) + assert.strictEqual(rows.length, 0) done() }) }) @@ -124,9 +124,12 @@ describe('cursor', function() { const cursor = this.pgCursor(text) cursor.read(1, function(err, rows, result) { assert.ifError(err) - assert.equal(rows.length, 1) + assert.strictEqual(rows.length, 1) assert.strictEqual(rows, result.rows) - assert.deepEqual(result.fields.map(f => f.name), ['num']) + assert.deepStrictEqual( + result.fields.map(f => f.name), + ['num'] + ) done() }) }) @@ -136,7 +139,7 @@ describe('cursor', function() { cursor.read(10) cursor.on('row', (row, result) => result.addRow(row)) cursor.on('end', result => { - assert.equal(result.rows.length, 6) + assert.strictEqual(result.rows.length, 6) done() }) }) @@ -145,7 +148,7 @@ describe('cursor', function() { const cursor = this.pgCursor(text) cursor.on('row', (row, result) => result.addRow(row)) cursor.on('end', result => { - assert.equal(result.rows.length, 3) + assert.strictEqual(result.rows.length, 3) done() }) @@ -168,8 +171,8 @@ describe('cursor', function() { const cursor = pgCursor('insert into pg_cursor_test values($1, $2)', ['a', 'b']) cursor.read(1, function(err, rows, result) { assert.ifError(err) - assert.equal(rows.length, 0) - assert.equal(result.rowCount, 1) + assert.strictEqual(rows.length, 0) + assert.strictEqual(result.rowCount, 1) done() }) }) diff --git a/packages/pg-cursor/test/no-data-handling.js b/packages/pg-cursor/test/no-data-handling.js index ab2ed3f6..75565874 100644 --- a/packages/pg-cursor/test/no-data-handling.js +++ b/packages/pg-cursor/test/no-data-handling.js @@ -17,7 +17,7 @@ describe('queries with no data', function() { this.client.query(cursor) cursor.read(100, function(err, rows) { assert.ifError(err) - assert.equal(rows.length, 0) + assert.strictEqual(rows.length, 0) done() }) }) @@ -27,7 +27,7 @@ describe('queries with no data', function() { cursor = this.client.query(cursor) cursor.read(100, function(err, rows) { assert.ifError(err) - assert.equal(rows.length, 0) + assert.strictEqual(rows.length, 0) done() }) }) diff --git a/packages/pg-cursor/test/pool.js b/packages/pg-cursor/test/pool.js index 61f5e279..9af79276 100644 --- a/packages/pg-cursor/test/pool.js +++ b/packages/pg-cursor/test/pool.js @@ -5,7 +5,7 @@ const pg = require('pg') const text = 'SELECT generate_series as num FROM generate_series(0, 50)' -function poolQueryPromise(pool, readRowCount) { +function poolQueryPromise (pool, readRowCount) { return new Promise((resolve, reject) => { pool.connect((err, client, done) => { if (err) { @@ -31,16 +31,16 @@ function poolQueryPromise(pool, readRowCount) { }) } -describe('pool', function() { - beforeEach(function() { +describe('pool', function () { + beforeEach(function () { this.pool = new pg.Pool({ max: 1 }) }) - afterEach(function() { + afterEach(function () { this.pool.end() }) - it('closes cursor early, single pool query', function(done) { + it('closes cursor early, single pool query', function (done) { poolQueryPromise(this.pool, 25) .then(() => done()) .catch(err => { @@ -49,7 +49,7 @@ describe('pool', function() { }) }) - it('closes cursor early, saturated pool', function(done) { + it('closes cursor early, saturated pool', function (done) { const promises = [] for (let i = 0; i < 10; i++) { promises.push(poolQueryPromise(this.pool, 25)) @@ -62,7 +62,7 @@ describe('pool', function() { }) }) - it('closes exhausted cursor, single pool query', function(done) { + it('closes exhausted cursor, single pool query', function (done) { poolQueryPromise(this.pool, 100) .then(() => done()) .catch(err => { @@ -71,7 +71,7 @@ describe('pool', function() { }) }) - it('closes exhausted cursor, saturated pool', function(done) { + it('closes exhausted cursor, saturated pool', function (done) { const promises = [] for (let i = 0; i < 10; i++) { promises.push(poolQueryPromise(this.pool, 100)) @@ -84,16 +84,16 @@ describe('pool', function() { }) }) - it('can close multiple times on a pool', async function() { + it('can close multiple times on a pool', async function () { const pool = new pg.Pool({ max: 1 }) const run = async () => { const cursor = new Cursor(text) const client = await pool.connect() client.query(cursor) - new Promise(resolve => { - cursor.read(25, function(err) { + await new Promise(resolve => { + cursor.read(25, function (err) { assert.ifError(err) - cursor.close(function(err) { + cursor.close(function (err) { assert.ifError(err) client.release() resolve() diff --git a/packages/pg-cursor/test/query-config.js b/packages/pg-cursor/test/query-config.js index 53b612c8..42692b90 100644 --- a/packages/pg-cursor/test/query-config.js +++ b/packages/pg-cursor/test/query-config.js @@ -11,7 +11,7 @@ describe('query config passed to result', () => { const cursor = client.query(new Cursor(text, null, { rowMode: 'array' })) cursor.read(10, (err, rows) => { assert(!err) - assert.deepEqual(rows, [[0], [1], [2], [3], [4], [5]]) + assert.deepStrictEqual(rows, [[0], [1], [2], [3], [4], [5]]) client.end() done() }) @@ -22,12 +22,12 @@ describe('query config passed to result', () => { client.connect() const text = 'SELECT generate_series as num FROM generate_series(0, 2)' const types = { - getTypeParser: () => () => 'foo', + getTypeParser: () => () => 'foo' } const cursor = client.query(new Cursor(text, null, { types })) cursor.read(10, (err, rows) => { assert(!err) - assert.deepEqual(rows, [{ num: 'foo' }, { num: 'foo' }, { num: 'foo' }]) + assert.deepStrictEqual(rows, [{ num: 'foo' }, { num: 'foo' }, { num: 'foo' }]) client.end() done() }) diff --git a/packages/pg-cursor/test/transactions.js b/packages/pg-cursor/test/transactions.js index f83cc1d7..a0ee5e6f 100644 --- a/packages/pg-cursor/test/transactions.js +++ b/packages/pg-cursor/test/transactions.js @@ -12,7 +12,7 @@ describe('transactions', () => { const rows = await new Promise((resolve, reject) => { cursor.read(10, (err, rows) => (err ? reject(err) : resolve(rows))) }) - assert.equal(rows.length, 0) + assert.strictEqual(rows.length, 0) await client.query('ALTER TABLE foobar ADD COLUMN name TEXT') await client.end() }) diff --git a/packages/pg/package.json b/packages/pg/package.json index bd1b3432..651d91c4 100644 --- a/packages/pg/package.json +++ b/packages/pg/package.json @@ -41,7 +41,8 @@ }, "minNativeVersion": "2.0.0", "scripts": { - "test": "make test-all" + "test": "make test-all", + "lint": "make lint" }, "files": [ "lib", diff --git a/yarn.lock b/yarn.lock index 845ed02b..05d5e8f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -918,6 +918,11 @@ ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha1-V9NbhoboUeLMBMQD8cACA5dqGBM= + ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -1168,6 +1173,11 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA= + btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" @@ -1300,7 +1310,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1646,6 +1656,13 @@ debug@3.1.0: dependencies: ms "2.0.0" +debug@3.2.6, debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + 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" @@ -1653,13 +1670,6 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: dependencies: ms "2.0.0" -debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - 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" @@ -1764,6 +1774,11 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" +diff@3.5.0: + version "3.5.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI= + dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -1901,11 +1916,18 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +eslint-config-prettier@^6.4.0: + version "6.7.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz#9a876952e12df2b284adbd3440994bf1f39dfbb9" + integrity sha1-modpUuEt8rKErb00QJlL8fOd+7k= + dependencies: + get-stdin "^6.0.0" + eslint-config-standard@^13.0.1: version "13.0.1" resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-13.0.1.tgz#c9c6ffe0cfb8a51535bc5c7ec9f70eafb8c6b2c0" @@ -1964,6 +1986,13 @@ eslint-plugin-node@^9.1.0: resolve "^1.10.1" semver "^6.1.0" +eslint-plugin-prettier@^3.1.1: + version "3.1.2" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz#432e5a667666ab84ce72f945c72f77d996a5c9ba" + integrity sha1-Qy5aZnZmq4TOcvlFxy932Zalybo= + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-plugin-promise@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" @@ -2037,6 +2066,49 @@ eslint@^6.0.1: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^6.5.1: + version "6.7.2" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/eslint/-/eslint-6.7.2.tgz#c17707ca4ad7b2d8af986a33feba71e18a9fecd1" + integrity sha1-wXcHykrXstivmGoz/rpx4Yqf7NE= + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + espree@^6.1.2: version "6.1.2" resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" @@ -2164,6 +2236,11 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha1-c+4RmC2Gyq95WYKNUZz+kn+sXwM= + fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" @@ -2222,6 +2299,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -2237,13 +2321,6 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -2253,6 +2330,13 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" +flat@^4.1.0: + version "4.1.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI= + dependencies: + is-buffer "~2.0.3" + flatted@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" @@ -2386,6 +2470,11 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs= + get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -2474,6 +2563,18 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= +glob@7.1.3: + version "7.1.3" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" @@ -2512,6 +2613,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +growl@1.10.5: + version "1.10.5" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4= + handlebars@^4.4.0: version "4.5.3" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" @@ -2541,7 +2647,7 @@ 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.1: +has-symbols@^1.0.0, has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== @@ -2589,6 +2695,11 @@ has@^1.0.1, has@^1.0.3: dependencies: function-bind "^1.1.1" +he@1.2.0: + version "1.2.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: version "2.8.5" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" @@ -2805,6 +2916,11 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-buffer@~2.0.3: + version "2.0.4" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha1-PlcvI8hBGlz9lVfISeNmXgspBiM= + is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" @@ -3035,7 +3151,7 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: +js-yaml@3.13.1, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -3263,6 +3379,13 @@ lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +log-symbols@2.2.0: + version "2.2.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo= + dependencies: + chalk "^2.0.1" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -3429,7 +3552,7 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -3505,13 +3628,42 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@*, mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" +mocha@^6.2.2: + version "6.2.2" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/mocha/-/mocha-6.2.2.tgz#5d8987e28940caf8957a7d7664b910dc5b2fea20" + integrity sha1-XYmH4olAyviVen12ZLkQ3Fsv6iA= + dependencies: + ansi-colors "3.2.3" + browser-stdout "1.3.1" + debug "3.2.6" + diff "3.5.0" + escape-string-regexp "1.0.5" + find-up "3.0.0" + glob "7.1.3" + growl "1.10.5" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "2.2.0" + minimatch "3.0.4" + mkdirp "0.5.1" + ms "2.1.1" + node-environment-flags "1.0.5" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "13.3.0" + yargs-parser "13.1.1" + yargs-unparser "1.6.0" + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" @@ -3534,6 +3686,11 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= +ms@2.1.1: + version "2.1.1" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + ms@^2.0.0, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -3600,6 +3757,14 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-environment-flags@1.0.5: + version "1.0.5" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" + integrity sha1-+pMCdfW/Xa4YjWGSsktMi7rD12o= + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + node-fetch-npm@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" @@ -3745,7 +3910,7 @@ object-inspect@^1.7.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== -object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -3757,6 +3922,16 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" +object.assign@4.1.0: + version "4.1.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" @@ -4168,6 +4343,18 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s= + dependencies: + fast-diff "^1.1.2" + +prettier@^1.18.2: + version "1.19.1" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha1-99f1/4qc2HKnvkyhQglZVqYHl8s= + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -4966,6 +5153,11 @@ 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: + version "2.0.1" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + strip-json-comments@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" @@ -4980,6 +5172,13 @@ strong-log-transformer@^2.0.0: minimist "^1.2.0" through "^2.3.4" +supports-color@6.0.0: + version "6.0.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha1-ds/nQs8fQbubHCmtAwaMBbTA5Ao= + dependencies: + has-flag "^3.0.0" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -5323,14 +5522,14 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.9, which@^1.3.1: +which@1, which@1.3.1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" -wide-align@^1.1.0: +wide-align@1.1.3, wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== @@ -5431,6 +5630,14 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yargs-parser@13.1.1, yargs-parser@^13.1.1: + version "13.1.1" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" @@ -5446,6 +5653,31 @@ yargs-parser@^15.0.0: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-unparser@1.6.0: + version "1.6.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" + integrity sha1-7yXCx2n/a9CeSw+dfGBfsnhG6p8= + dependencies: + flat "^4.1.0" + lodash "^4.17.15" + yargs "^13.3.0" + +yargs@13.3.0, yargs@^13.3.0: + version "13.3.0" + resolved "https://artifactory.robot.car/artifactory/api/npm/npm-virtual/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha1-TGV6VeB+Xyz5R/ijZlZ8BKDe3IM= + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" + yargs@^14.2.2: version "14.2.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.2.tgz#2769564379009ff8597cdd38fba09da9b493c4b5"