Update lint rules for pg-cursor

This commit is contained in:
Brian M. Carlson 2019-12-18 13:42:47 -06:00
parent 37d15740ed
commit 423baa644a
14 changed files with 348 additions and 125 deletions

View File

@ -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"]
}
]
}
}

View File

@ -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"

View File

@ -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
}
}

View File

@ -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)
}

View File

@ -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
}
}

View File

@ -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)
})

View File

@ -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()
})

View File

@ -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()
})
})

View File

@ -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()
})
})

View File

@ -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()

View File

@ -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()
})

View File

@ -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()
})

View File

@ -41,7 +41,8 @@
},
"minNativeVersion": "2.0.0",
"scripts": {
"test": "make test-all"
"test": "make test-all",
"lint": "make lint"
},
"files": [
"lib",

278
yarn.lock
View File

@ -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"