From 8ac7bd099f4f3f66cf56cccec41c550f35440089 Mon Sep 17 00:00:00 2001 From: Brian Carlson Date: Thu, 30 May 2024 15:48:56 -0500 Subject: [PATCH] More linting --- packages/pg-native/bench/index.js | 64 +- packages/pg-native/bench/leaks.js | 60 +- packages/pg-native/index.js | 340 ++++----- packages/pg-native/lib/build-result.js | 66 +- packages/pg-native/lib/copy-stream.js | 138 ++-- packages/pg-native/package.json | 10 - packages/pg-native/test/array-mode.js | 44 +- packages/pg-native/test/async-workflow.js | 104 +-- packages/pg-native/test/cancel.js | 52 +- packages/pg-native/test/connection-errors.js | 32 +- packages/pg-native/test/connection.js | 38 +- packages/pg-native/test/copy-from.js | 80 +-- packages/pg-native/test/copy-to.js | 52 +- packages/pg-native/test/custom-types.js | 36 +- packages/pg-native/test/domains.js | 50 +- packages/pg-native/test/empty-query.js | 30 +- packages/pg-native/test/huge-query.js | 38 +- packages/pg-native/test/index.js | 58 +- packages/pg-native/test/load.js | 44 +- packages/pg-native/test/many-connections.js | 84 +-- packages/pg-native/test/many-errors.js | 38 +- packages/pg-native/test/multiple-queries.js | 64 +- .../test/multiple-statement-results.js | 38 +- packages/pg-native/test/notify.js | 90 +-- packages/pg-native/test/prepare.js | 72 +- packages/pg-native/test/query-async.js | 178 ++--- packages/pg-native/test/query-sync.js | 118 ++-- packages/pg-native/test/version.js | 20 +- yarn.lock | 644 +----------------- 29 files changed, 1041 insertions(+), 1641 deletions(-) diff --git a/packages/pg-native/bench/index.js b/packages/pg-native/bench/index.js index ce51382f..05dbc949 100644 --- a/packages/pg-native/bench/index.js +++ b/packages/pg-native/bench/index.js @@ -1,52 +1,52 @@ -var pg = require("pg").native; -var Native = require("../"); +var pg = require('pg').native +var Native = require('../') var warmup = function (fn, cb) { - var count = 0; - var max = 10; + var count = 0 + var max = 10 var run = function (err) { - if (err) return cb(err); + if (err) return cb(err) if (max >= count++) { - return fn(run); + return fn(run) } - cb(); - }; - run(); -}; + cb() + } + run() +} -var native = Native(); -native.connectSync(); +var native = Native() +native.connectSync() -var queryText = "SELECT generate_series(0, 1000)"; -var client = new pg.Client(); +var queryText = 'SELECT generate_series(0, 1000)' +var client = new pg.Client() client.connect(function () { var pure = function (cb) { client.query(queryText, function (err) { - if (err) throw err; - cb(err); - }); - }; + if (err) throw err + cb(err) + }) + } var nativeQuery = function (cb) { native.query(queryText, function (err) { - if (err) throw err; - cb(err); - }); - }; + if (err) throw err + cb(err) + }) + } var run = function () { - var start = Date.now(); + var start = Date.now() warmup(pure, function () { - console.log("pure done", Date.now() - start); - start = Date.now(); + console.log('pure done', Date.now() - start) + start = Date.now() warmup(nativeQuery, function () { - console.log("native done", Date.now() - start); - }); - }); - }; + console.log('native done', Date.now() - start) + }) + }) + } setInterval(function () { - run(); - }, 500); -}); + run() + }, 500) +}) diff --git a/packages/pg-native/bench/leaks.js b/packages/pg-native/bench/leaks.js index 9aaab3ba..57fe36da 100644 --- a/packages/pg-native/bench/leaks.js +++ b/packages/pg-native/bench/leaks.js @@ -1,50 +1,50 @@ -var Client = require("../"); -var async = require("async"); +var Client = require('../') +var async = require('async') var loop = function () { - var client = new Client(); + var client = new Client() var connect = function (cb) { - client.connect(cb); - }; + client.connect(cb) + } var simpleQuery = function (cb) { - client.query("SELECT NOW()", cb); - }; + client.query('SELECT NOW()', cb) + } var paramsQuery = function (cb) { - client.query("SELECT $1::text as name", ["Brian"], cb); - }; + client.query('SELECT $1::text as name', ['Brian'], cb) + } var prepared = function (cb) { - client.prepare("test", "SELECT $1::text as name", 1, function (err) { - if (err) return cb(err); - client.execute("test", ["Brian"], cb); - }); - }; + client.prepare('test', 'SELECT $1::text as name', 1, function (err) { + if (err) return cb(err) + client.execute('test', ['Brian'], cb) + }) + } var sync = function (cb) { - client.querySync("SELECT NOW()"); - client.querySync("SELECT $1::text as name", ["Brian"]); - client.prepareSync("boom", "SELECT $1::text as name", 1); - client.executeSync("boom", ["Brian"]); - setImmediate(cb); - }; + client.querySync('SELECT NOW()') + client.querySync('SELECT $1::text as name', ['Brian']) + client.prepareSync('boom', 'SELECT $1::text as name', 1) + client.executeSync('boom', ['Brian']) + setImmediate(cb) + } var end = function (cb) { - client.end(cb); - }; + client.end(cb) + } - var ops = [connect, simpleQuery, paramsQuery, prepared, sync, end]; + var ops = [connect, simpleQuery, paramsQuery, prepared, sync, end] - var start = Date.now(); + var start = Date.now() async.series(ops, function (err) { - if (err) throw err; - console.log(Date.now() - start); - setImmediate(loop); - }); -}; + if (err) throw err + console.log(Date.now() - start) + setImmediate(loop) + }) +} // on my machine this will consume memory up to about 50 megs of ram // and then stabalize at that point -loop(); +loop() diff --git a/packages/pg-native/index.js b/packages/pg-native/index.js index 1e0b7225..87980197 100644 --- a/packages/pg-native/index.js +++ b/packages/pg-native/index.js @@ -1,332 +1,332 @@ -var Libpq = require("libpq"); -var EventEmitter = require("events").EventEmitter; -var util = require("util"); -var assert = require("assert"); -var types = require("pg-types"); -var buildResult = require("./lib/build-result"); -var CopyStream = require("./lib/copy-stream"); +var Libpq = require('libpq') +var EventEmitter = require('events').EventEmitter +var util = require('util') +var assert = require('assert') +var types = require('pg-types') +var buildResult = require('./lib/build-result') +var CopyStream = require('./lib/copy-stream') var Client = (module.exports = function (config) { if (!(this instanceof Client)) { - return new Client(config); + return new Client(config) } - config = config || {}; + config = config || {} - EventEmitter.call(this); - this.pq = new Libpq(); - this._reading = false; - this._read = this._read.bind(this); + EventEmitter.call(this) + this.pq = new Libpq() + this._reading = false + this._read = this._read.bind(this) // allow custom type converstion to be passed in - this._types = config.types || types; + this._types = config.types || types // allow config to specify returning results // as an array of values instead of a hash - this.arrayMode = config.arrayMode || false; - this._resultCount = 0; - this._rows = undefined; - this._results = undefined; + this.arrayMode = config.arrayMode || false + this._resultCount = 0 + this._rows = undefined + this._results = undefined // lazy start the reader if notifications are listened for // this way if you only run sync queries you wont block // the event loop artificially - this.on("newListener", (event) => { - if (event !== "notification") return; - this._startReading(); - }); + this.on('newListener', (event) => { + if (event !== 'notification') return + this._startReading() + }) - this.on("result", this._onResult.bind(this)); - this.on("readyForQuery", this._onReadyForQuery.bind(this)); -}); + this.on('result', this._onResult.bind(this)) + this.on('readyForQuery', this._onReadyForQuery.bind(this)) +}) -util.inherits(Client, EventEmitter); +util.inherits(Client, EventEmitter) Client.prototype.connect = function (params, cb) { - this.pq.connect(params, cb); -}; + this.pq.connect(params, cb) +} Client.prototype.connectSync = function (params) { - this.pq.connectSync(params); -}; + this.pq.connectSync(params) +} Client.prototype.query = function (text, values, cb) { - var queryFn; + var queryFn - if (typeof values === "function") { - cb = values; + if (typeof values === 'function') { + cb = values } if (Array.isArray(values) && values.length > 0) { queryFn = function () { - return self.pq.sendQueryParams(text, values); - }; + return self.pq.sendQueryParams(text, values) + } } else { queryFn = function () { - return self.pq.sendQuery(text); - }; + return self.pq.sendQuery(text) + } } - var self = this; + var self = this self._dispatchQuery(self.pq, queryFn, function (err) { - if (err) return cb(err); + if (err) return cb(err) - self._awaitResult(cb); - }); -}; + self._awaitResult(cb) + }) +} Client.prototype.prepare = function (statementName, text, nParams, cb) { - var self = this; + var self = this var fn = function () { - return self.pq.sendPrepare(statementName, text, nParams); - }; + return self.pq.sendPrepare(statementName, text, nParams) + } self._dispatchQuery(self.pq, fn, function (err) { - if (err) return cb(err); - self._awaitResult(cb); - }); -}; + if (err) return cb(err) + self._awaitResult(cb) + }) +} Client.prototype.execute = function (statementName, parameters, cb) { - var self = this; + var self = this var fn = function () { - return self.pq.sendQueryPrepared(statementName, parameters); - }; + return self.pq.sendQueryPrepared(statementName, parameters) + } self._dispatchQuery(self.pq, fn, function (err, rows) { - if (err) return cb(err); - self._awaitResult(cb); - }); -}; + if (err) return cb(err) + self._awaitResult(cb) + }) +} Client.prototype.getCopyStream = function () { - this.pq.setNonBlocking(true); - this._stopReading(); - return new CopyStream(this.pq); -}; + this.pq.setNonBlocking(true) + this._stopReading() + return new CopyStream(this.pq) +} // cancel a currently executing query Client.prototype.cancel = function (cb) { - assert(cb, "Callback is required"); + assert(cb, 'Callback is required') // result is either true or a string containing an error - var result = this.pq.cancel(); + var result = this.pq.cancel() return setImmediate(function () { - cb(result === true ? undefined : new Error(result)); - }); -}; + cb(result === true ? undefined : new Error(result)) + }) +} Client.prototype.querySync = function (text, values) { if (values) { - this.pq.execParams(text, values); + this.pq.execParams(text, values) } else { - this.pq.exec(text); + this.pq.exec(text) } - throwIfError(this.pq); - const result = buildResult(this.pq, this._types, this.arrayMode); - return result.rows; -}; + throwIfError(this.pq) + const result = buildResult(this.pq, this._types, this.arrayMode) + return result.rows +} Client.prototype.prepareSync = function (statementName, text, nParams) { - this.pq.prepare(statementName, text, nParams); - throwIfError(this.pq); -}; + this.pq.prepare(statementName, text, nParams) + throwIfError(this.pq) +} Client.prototype.executeSync = function (statementName, parameters) { - this.pq.execPrepared(statementName, parameters); - throwIfError(this.pq); - return buildResult(this.pq, this._types, this.arrayMode).rows; -}; + this.pq.execPrepared(statementName, parameters) + throwIfError(this.pq) + return buildResult(this.pq, this._types, this.arrayMode).rows +} Client.prototype.escapeLiteral = function (value) { - return this.pq.escapeLiteral(value); -}; + return this.pq.escapeLiteral(value) +} Client.prototype.escapeIdentifier = function (value) { - return this.pq.escapeIdentifier(value); -}; + return this.pq.escapeIdentifier(value) +} // export the version number so we can check it in node-postgres -module.exports.version = require("./package.json").version; +module.exports.version = require('./package.json').version Client.prototype.end = function (cb) { - this._stopReading(); - this.pq.finish(); - if (cb) setImmediate(cb); -}; + this._stopReading() + this.pq.finish() + if (cb) setImmediate(cb) +} Client.prototype._readError = function (message) { - var err = new Error(message || this.pq.errorMessage()); - this.emit("error", err); -}; + var err = new Error(message || this.pq.errorMessage()) + this.emit('error', err) +} Client.prototype._stopReading = function () { - if (!this._reading) return; - this._reading = false; - this.pq.stopReader(); - this.pq.removeListener("readable", this._read); -}; + if (!this._reading) return + this._reading = false + this.pq.stopReader() + this.pq.removeListener('readable', this._read) +} Client.prototype._consumeQueryResults = function (pq) { - return buildResult(pq, this._types, this.arrayMode); -}; + return buildResult(pq, this._types, this.arrayMode) +} Client.prototype._emitResult = function (pq) { - var status = pq.resultStatus(); + var status = pq.resultStatus() switch (status) { - case "PGRES_FATAL_ERROR": - this._queryError = new Error(this.pq.resultErrorMessage()); - break; + case 'PGRES_FATAL_ERROR': + this._queryError = new Error(this.pq.resultErrorMessage()) + break - case "PGRES_TUPLES_OK": - case "PGRES_COMMAND_OK": - case "PGRES_EMPTY_QUERY": - const result = this._consumeQueryResults(this.pq); - this.emit("result", result); - break; + case 'PGRES_TUPLES_OK': + case 'PGRES_COMMAND_OK': + case 'PGRES_EMPTY_QUERY': + const result = this._consumeQueryResults(this.pq) + this.emit('result', result) + break - case "PGRES_COPY_OUT": - case "PGRES_COPY_BOTH": { - break; + case 'PGRES_COPY_OUT': + case 'PGRES_COPY_BOTH': { + break } default: - this._readError("unrecognized command status: " + status); - break; + this._readError('unrecognized command status: ' + status) + break } - return status; -}; + return status +} // called when libpq is readable Client.prototype._read = function () { - var pq = this.pq; + var pq = this.pq // read waiting data from the socket // e.g. clear the pending 'select' if (!pq.consumeInput()) { // if consumeInput returns false // than a read error has been encountered - return this._readError(); + return this._readError() } // check if there is still outstanding data // if so, wait for it all to come in if (pq.isBusy()) { - return; + return } // load our result object while (pq.getResult()) { - const resultStatus = this._emitResult(this.pq); + const resultStatus = this._emitResult(this.pq) // if the command initiated copy mode we need to break out of the read loop // so a substream can begin to read copy data - if (resultStatus === "PGRES_COPY_BOTH" || resultStatus === "PGRES_COPY_OUT") { - break; + if (resultStatus === 'PGRES_COPY_BOTH' || resultStatus === 'PGRES_COPY_OUT') { + break } // if reading multiple results, sometimes the following results might cause // a blocking read. in this scenario yield back off the reader until libpq is readable if (pq.isBusy()) { - return; + return } } - this.emit("readyForQuery"); + this.emit('readyForQuery') - var notice = this.pq.notifies(); + var notice = this.pq.notifies() while (notice) { - this.emit("notification", notice); - notice = this.pq.notifies(); + this.emit('notification', notice) + notice = this.pq.notifies() } -}; +} // ensures the client is reading and // everything is set up for async io Client.prototype._startReading = function () { - if (this._reading) return; - this._reading = true; - this.pq.on("readable", this._read); - this.pq.startReader(); -}; + if (this._reading) return + this._reading = true + this.pq.on('readable', this._read) + this.pq.startReader() +} var throwIfError = function (pq) { - var err = pq.resultErrorMessage() || pq.errorMessage(); + var err = pq.resultErrorMessage() || pq.errorMessage() if (err) { - throw new Error(err); + throw new Error(err) } -}; +} Client.prototype._awaitResult = function (cb) { - this._queryCallback = cb; - return this._startReading(); -}; + this._queryCallback = cb + return this._startReading() +} // wait for the writable socket to drain Client.prototype._waitForDrain = function (pq, cb) { - var res = pq.flush(); + var res = pq.flush() // res of 0 is success - if (res === 0) return cb(); + if (res === 0) return cb() // res of -1 is failure - if (res === -1) return cb(pq.errorMessage()); + if (res === -1) return cb(pq.errorMessage()) // otherwise outgoing message didn't flush to socket // wait for it to flush and try again - var self = this; + var self = this // you cannot read & write on a socket at the same time return pq.writable(function () { - self._waitForDrain(pq, cb); - }); -}; + self._waitForDrain(pq, cb) + }) +} // send an async query to libpq and wait for it to // finish writing query text to the socket Client.prototype._dispatchQuery = function (pq, fn, cb) { - this._stopReading(); - var success = pq.setNonBlocking(true); - if (!success) return cb(new Error("Unable to set non-blocking to true")); - var sent = fn(); - if (!sent) return cb(new Error(pq.errorMessage() || "Something went wrong dispatching the query")); - this._waitForDrain(pq, cb); -}; + this._stopReading() + var success = pq.setNonBlocking(true) + if (!success) return cb(new Error('Unable to set non-blocking to true')) + var sent = fn() + if (!sent) return cb(new Error(pq.errorMessage() || 'Something went wrong dispatching the query')) + this._waitForDrain(pq, cb) +} Client.prototype._onResult = function (result) { if (this._resultCount === 0) { - this._results = result; - this._rows = result.rows; + this._results = result + this._rows = result.rows } else if (this._resultCount === 1) { - this._results = [this._results, result]; - this._rows = [this._rows, result.rows]; + this._results = [this._results, result] + this._rows = [this._rows, result.rows] } else { - this._results.push(result); - this._rows.push(result.rows); + this._results.push(result) + this._rows.push(result.rows) } - this._resultCount++; -}; + this._resultCount++ +} Client.prototype._onReadyForQuery = function () { // remove instance callback - const cb = this._queryCallback; - this._queryCallback = undefined; + const cb = this._queryCallback + this._queryCallback = undefined // remove instance query error - const err = this._queryError; - this._queryError = undefined; + const err = this._queryError + this._queryError = undefined // remove instance rows - const rows = this._rows; - this._rows = undefined; + const rows = this._rows + this._rows = undefined // remove instance results - const results = this._results; - this._results = undefined; + const results = this._results + this._results = undefined - this._resultCount = 0; + this._resultCount = 0 if (cb) { - cb(err, rows || [], results); + cb(err, rows || [], results) } -}; +} diff --git a/packages/pg-native/lib/build-result.js b/packages/pg-native/lib/build-result.js index 8ccd99a2..38408a60 100644 --- a/packages/pg-native/lib/build-result.js +++ b/packages/pg-native/lib/build-result.js @@ -1,76 +1,76 @@ -"use strict"; +'use strict' class Result { constructor(types, arrayMode) { - this._types = types; - this._arrayMode = arrayMode; + this._types = types + this._arrayMode = arrayMode - this.command = undefined; - this.rowCount = undefined; - this.fields = []; - this.rows = []; + this.command = undefined + this.rowCount = undefined + this.fields = [] + this.rows = [] } consumeCommand(pq) { - this.command = pq.cmdStatus().split(" ")[0]; - this.rowCount = parseInt(pq.cmdTuples(), 10); + this.command = pq.cmdStatus().split(' ')[0] + this.rowCount = parseInt(pq.cmdTuples(), 10) } consumeFields(pq) { - const nfields = pq.nfields(); + const nfields = pq.nfields() for (var x = 0; x < nfields; x++) { this.fields.push({ name: pq.fname(x), dataTypeID: pq.ftype(x), - }); + }) } } consumeRows(pq) { - const tupleCount = pq.ntuples(); + const tupleCount = pq.ntuples() for (var i = 0; i < tupleCount; i++) { - const row = this._arrayMode ? this.consumeRowAsArray(pq, i) : this.consumeRowAsObject(pq, i); - this.rows.push(row); + const row = this._arrayMode ? this.consumeRowAsArray(pq, i) : this.consumeRowAsObject(pq, i) + this.rows.push(row) } } consumeRowAsObject(pq, rowIndex) { - const row = {}; + const row = {} for (var j = 0; j < this.fields.length; j++) { - const value = this.readValue(pq, rowIndex, j); - row[this.fields[j].name] = value; + const value = this.readValue(pq, rowIndex, j) + row[this.fields[j].name] = value } - return row; + return row } consumeRowAsArray(pq, rowIndex) { - const row = []; + const row = [] for (var j = 0; j < this.fields.length; j++) { - const value = this.readValue(pq, rowIndex, j); - row.push(value); + const value = this.readValue(pq, rowIndex, j) + row.push(value) } - return row; + return row } readValue(pq, rowIndex, colIndex) { - var rawValue = pq.getvalue(rowIndex, colIndex); - if (rawValue === "") { + var rawValue = pq.getvalue(rowIndex, colIndex) + if (rawValue === '') { if (pq.getisnull(rowIndex, colIndex)) { - return null; + return null } } - const dataTypeId = this.fields[colIndex].dataTypeID; - return this._types.getTypeParser(dataTypeId)(rawValue); + const dataTypeId = this.fields[colIndex].dataTypeID + return this._types.getTypeParser(dataTypeId)(rawValue) } } function buildResult(pq, types, arrayMode) { - const result = new Result(types, arrayMode); - result.consumeCommand(pq); - result.consumeFields(pq); - result.consumeRows(pq); + const result = new Result(types, arrayMode) + result.consumeCommand(pq) + result.consumeFields(pq) + result.consumeRows(pq) - return result; + return result } -module.exports = buildResult; +module.exports = buildResult diff --git a/packages/pg-native/lib/copy-stream.js b/packages/pg-native/lib/copy-stream.js index 669f5f23..13b45538 100644 --- a/packages/pg-native/lib/copy-stream.js +++ b/packages/pg-native/lib/copy-stream.js @@ -1,42 +1,42 @@ -var Duplex = require("stream").Duplex; -var Writable = require("stream").Writable; -var util = require("util"); +var Duplex = require('stream').Duplex +var Writable = require('stream').Writable +var util = require('util') var CopyStream = (module.exports = function (pq, options) { - Duplex.call(this, options); - this.pq = pq; - this._reading = false; -}); + Duplex.call(this, options) + this.pq = pq + this._reading = false +}) -util.inherits(CopyStream, Duplex); +util.inherits(CopyStream, Duplex) // writer methods CopyStream.prototype._write = function (chunk, encoding, cb) { - var result = this.pq.putCopyData(chunk); + var result = this.pq.putCopyData(chunk) // sent successfully - if (result === 1) return cb(); + if (result === 1) return cb() // error - if (result === -1) return cb(new Error(this.pq.errorMessage())); + if (result === -1) return cb(new Error(this.pq.errorMessage())) // command would block. wait for writable and call again. - var self = this; + var self = this this.pq.writable(function () { - self._write(chunk, encoding, cb); - }); -}; + self._write(chunk, encoding, cb) + }) +} CopyStream.prototype.end = function () { - var args = Array.prototype.slice.call(arguments, 0); - var self = this; + var args = Array.prototype.slice.call(arguments, 0) + var self = this - var callback = args.pop(); + var callback = args.pop() if (args.length) { - this.write(args[0]); + this.write(args[0]) } - var result = this.pq.putCopyEnd(); + var result = this.pq.putCopyEnd() // sent successfully if (result === 1) { @@ -44,19 +44,19 @@ CopyStream.prototype.end = function () { // "parent" writable class so we can emit 'finish' and // all that jazz return consumeResults(this.pq, function (err, res) { - Writable.prototype.end.call(self); + Writable.prototype.end.call(self) // handle possible passing of callback to end method if (callback) { - callback(err); + callback(err) } - }); + }) } // error if (result === -1) { - var err = new Error(this.pq.errorMessage()); - return this.emit("error", err); + var err = new Error(this.pq.errorMessage()) + return this.emit('error', err) } // command would block. wait for writable and call end again @@ -64,92 +64,92 @@ CopyStream.prototype.end = function () { // we already sent them to possible this.write the first time // we called end return this.pq.writable(function () { - return self.end.apply(self, callback); - }); -}; + return self.end.apply(self, callback) + }) +} // reader methods CopyStream.prototype._consumeBuffer = function (cb) { - var result = this.pq.getCopyData(true); + var result = this.pq.getCopyData(true) if (result instanceof Buffer) { return setImmediate(function () { - cb(null, result); - }); + cb(null, result) + }) } if (result === -1) { // end of stream - return cb(null, null); + return cb(null, null) } if (result === 0) { - var self = this; - this.pq.once("readable", function () { - self.pq.stopReader(); - self.pq.consumeInput(); - self._consumeBuffer(cb); - }); - return this.pq.startReader(); + var self = this + this.pq.once('readable', function () { + self.pq.stopReader() + self.pq.consumeInput() + self._consumeBuffer(cb) + }) + return this.pq.startReader() } - cb(new Error("Unrecognized read status: " + result)); -}; + cb(new Error('Unrecognized read status: ' + result)) +} CopyStream.prototype._read = function (size) { - if (this._reading) return; - this._reading = true; + if (this._reading) return + this._reading = true // console.log('read begin'); - var self = this; + var self = this this._consumeBuffer(function (err, buffer) { - self._reading = false; + self._reading = false if (err) { - return self.emit("error", err); + return self.emit('error', err) } if (buffer === false) { // nothing to read for now, return - return; + return } - self.push(buffer); - }); -}; + self.push(buffer) + }) +} var consumeResults = function (pq, cb) { var cleanup = function () { - pq.removeListener("readable", onReadable); - pq.stopReader(); - }; + pq.removeListener('readable', onReadable) + pq.stopReader() + } var readError = function (message) { - cleanup(); - return cb(new Error(message || pq.errorMessage())); - }; + cleanup() + return cb(new Error(message || pq.errorMessage())) + } var onReadable = function () { // read waiting data from the socket // e.g. clear the pending 'select' if (!pq.consumeInput()) { - return readError(); + return readError() } // check if there is still outstanding data // if so, wait for it all to come in if (pq.isBusy()) { - return; + return } // load our result object - pq.getResult(); + pq.getResult() // "read until results return null" // or in our case ensure we only have one result - if (pq.getResult() && pq.resultStatus() !== "PGRES_COPY_OUT") { - return readError("Only one result at a time is accepted"); + if (pq.getResult() && pq.resultStatus() !== 'PGRES_COPY_OUT') { + return readError('Only one result at a time is accepted') } - if (pq.resultStatus() === "PGRES_FATAL_ERROR") { - return readError(); + if (pq.resultStatus() === 'PGRES_FATAL_ERROR') { + return readError() } - cleanup(); - return cb(null); - }; - pq.on("readable", onReadable); - pq.startReader(); -}; + cleanup() + return cb(null) + } + pq.on('readable', onReadable) + pq.startReader() +} diff --git a/packages/pg-native/package.json b/packages/pg-native/package.json index 97eff824..1714df50 100644 --- a/packages/pg-native/package.json +++ b/packages/pg-native/package.json @@ -29,21 +29,11 @@ "devDependencies": { "async": "^0.9.0", "concat-stream": "^1.4.6", - "eslint": "4.2.0", - "eslint-config-standard": "10.2.1", - "eslint-plugin-import": "2.7.0", - "eslint-plugin-node": "5.1.0", - "eslint-plugin-promise": "3.5.0", - "eslint-plugin-standard": "3.0.1", "generic-pool": "^2.1.1", "lodash": "^2.4.1", "mocha": "3.4.2", "node-gyp": ">=10.x", "okay": "^0.3.0", - "pg": "*", "semver": "^4.1.0" - }, - "prettier": { - "printWidth": 200 } } diff --git a/packages/pg-native/test/array-mode.js b/packages/pg-native/test/array-mode.js index 7d923b1e..c79d471d 100644 --- a/packages/pg-native/test/array-mode.js +++ b/packages/pg-native/test/array-mode.js @@ -1,25 +1,25 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("client with arrayMode", function () { - it("returns result as array", function (done) { - var client = new Client({ arrayMode: true }); - client.connectSync(); - client.querySync("CREATE TEMP TABLE blah(name TEXT)"); - client.querySync("INSERT INTO blah (name) VALUES ($1)", ["brian"]); - client.querySync("INSERT INTO blah (name) VALUES ($1)", ["aaron"]); - var rows = client.querySync("SELECT * FROM blah"); - assert.equal(rows.length, 2); - var row = rows[0]; - assert.equal(row.length, 1); - assert.equal(row[0], "brian"); - assert.equal(rows[1][0], "aaron"); +describe('client with arrayMode', function () { + it('returns result as array', function (done) { + var client = new Client({ arrayMode: true }) + client.connectSync() + client.querySync('CREATE TEMP TABLE blah(name TEXT)') + client.querySync('INSERT INTO blah (name) VALUES ($1)', ['brian']) + client.querySync('INSERT INTO blah (name) VALUES ($1)', ['aaron']) + var rows = client.querySync('SELECT * FROM blah') + assert.equal(rows.length, 2) + var row = rows[0] + assert.equal(row.length, 1) + assert.equal(row[0], 'brian') + assert.equal(rows[1][0], 'aaron') client.query("SELECT 'brian', null", function (err, res) { - assert.ifError(err); - assert.strictEqual(res[0][0], "brian"); - assert.strictEqual(res[0][1], null); - client.end(done); - }); - }); -}); + assert.ifError(err) + assert.strictEqual(res[0][0], 'brian') + assert.strictEqual(res[0][1], null) + client.end(done) + }) + }) +}) diff --git a/packages/pg-native/test/async-workflow.js b/packages/pg-native/test/async-workflow.js index d5ffcac7..975c5a97 100644 --- a/packages/pg-native/test/async-workflow.js +++ b/packages/pg-native/test/async-workflow.js @@ -1,80 +1,80 @@ -var Client = require("../"); -var ok = require("okay"); -var assert = require("assert"); -var concat = require("concat-stream"); +var Client = require('../') +var ok = require('okay') +var assert = require('assert') +var concat = require('concat-stream') -describe("async workflow", function () { +describe('async workflow', function () { before(function (done) { - this.client = new Client(); - this.client.connect(done); - }); + this.client = new Client() + this.client.connect(done) + }) var echoParams = function (params, cb) { this.client.query( - "SELECT $1::text as first, $2::text as second", + 'SELECT $1::text as first, $2::text as second', params, ok(cb, function (rows) { - checkParams(params, rows); - cb(null, rows); - }), - ); - }; + checkParams(params, rows) + cb(null, rows) + }) + ) + } var checkParams = function (params, rows) { - assert.equal(rows.length, 1); - assert.equal(rows[0].first, params[0]); - assert.equal(rows[0].second, params[1]); - }; + assert.equal(rows.length, 1) + assert.equal(rows[0].first, params[0]) + assert.equal(rows[0].second, params[1]) + } - it("sends async query", function (done) { - var params = ["one", "two"]; - echoParams.call(this, params, done); - }); + it('sends async query', function (done) { + var params = ['one', 'two'] + echoParams.call(this, params, done) + }) - it("sends multiple async queries", function (done) { - var self = this; - var params = ["bang", "boom"]; + it('sends multiple async queries', function (done) { + var self = this + var params = ['bang', 'boom'] echoParams.call( this, params, ok(done, function (rows) { - echoParams.call(self, params, done); - }), - ); - }); + echoParams.call(self, params, done) + }) + ) + }) - it("sends an async query, copies in, copies out, and sends another query", function (done) { - var self = this; - this.client.querySync("CREATE TEMP TABLE test(name text, age int)"); + it('sends an async query, copies in, copies out, and sends another query', function (done) { + var self = this + this.client.querySync('CREATE TEMP TABLE test(name text, age int)') this.client.query( "INSERT INTO test(name, age) VALUES('brian', 32)", ok(done, function () { - self.client.querySync("COPY test FROM stdin"); - var input = self.client.getCopyStream(); - input.write(Buffer.from("Aaron\t30\n", "utf8")); + self.client.querySync('COPY test FROM stdin') + var input = self.client.getCopyStream() + input.write(Buffer.from('Aaron\t30\n', 'utf8')) input.end(function () { self.client.query( - "SELECT COUNT(*) FROM test", + 'SELECT COUNT(*) FROM test', ok(done, function (rows) { - assert.equal(rows.length, 1); + assert.equal(rows.length, 1) self.client.query( - "COPY test TO stdout", + 'COPY test TO stdout', ok(done, function () { - var output = self.client.getCopyStream(); + var output = self.client.getCopyStream() // pump the stream - output.read(); + output.read() output.pipe( concat(function (res) { - done(); - }), - ); - }), - ); - }), - ); - }); - }), - ); - }); -}); + done() + }) + ) + }) + ) + }) + ) + }) + }) + ) + }) +}) diff --git a/packages/pg-native/test/cancel.js b/packages/pg-native/test/cancel.js index 4d292834..35c5f5ab 100644 --- a/packages/pg-native/test/cancel.js +++ b/packages/pg-native/test/cancel.js @@ -1,32 +1,32 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("cancel query", function () { - it("works", function (done) { - var client = new Client(); - client.connectSync(); - client.query("SELECT pg_sleep(100);", function (err) { - assert(err instanceof Error); - client.end(done); - }); +describe('cancel query', function () { + it('works', function (done) { + var client = new Client() + client.connectSync() + client.query('SELECT pg_sleep(100);', function (err) { + assert(err instanceof Error) + client.end(done) + }) client.cancel(function (err) { - assert.ifError(err); - }); - }); + assert.ifError(err) + }) + }) - it("does not raise error if no active query", function (done) { - var client = new Client(); - client.connectSync(); + it('does not raise error if no active query', function (done) { + var client = new Client() + client.connectSync() client.cancel(function (err) { - assert.ifError(err); - done(); - }); - }); + assert.ifError(err) + done() + }) + }) - it("raises error if client is not connected", function (done) { + it('raises error if client is not connected', function (done) { new Client().cancel(function (err) { - assert(err, "should raise an error when not connected"); - done(); - }); - }); -}); + assert(err, 'should raise an error when not connected') + done() + }) + }) +}) diff --git a/packages/pg-native/test/connection-errors.js b/packages/pg-native/test/connection-errors.js index 2ebd2d14..e02f2025 100644 --- a/packages/pg-native/test/connection-errors.js +++ b/packages/pg-native/test/connection-errors.js @@ -1,18 +1,18 @@ -"use strict"; +'use strict' -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("connection errors", function () { - it("raise error events", function (done) { - var client = new Client(); - client.connectSync(); - client.query("SELECT pg_terminate_backend(pg_backend_pid())", assert.fail); - client.on("error", function (err) { - assert(err); - assert.strictEqual(client.pq.resultErrorFields().sqlState, "57P01"); - client.end(); - done(); - }); - }); -}); +describe('connection errors', function () { + it('raise error events', function (done) { + var client = new Client() + client.connectSync() + client.query('SELECT pg_terminate_backend(pg_backend_pid())', assert.fail) + client.on('error', function (err) { + assert(err) + assert.strictEqual(client.pq.resultErrorFields().sqlState, '57P01') + client.end() + done() + }) + }) +}) diff --git a/packages/pg-native/test/connection.js b/packages/pg-native/test/connection.js index 4238b308..af81ffda 100644 --- a/packages/pg-native/test/connection.js +++ b/packages/pg-native/test/connection.js @@ -1,23 +1,23 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("connection error", function () { - it("doesnt segfault", function (done) { - var client = new Client(); - client.connect("asldgsdgasgdasdg", function (err) { - assert(err); +describe('connection error', function () { + it('doesnt segfault', function (done) { + var client = new Client() + client.connect('asldgsdgasgdasdg', function (err) { + assert(err) // calling error on a closed client was segfaulting - client.end(); - done(); - }); - }); -}); + client.end() + done() + }) + }) +}) -describe("reading while not connected", function () { - it("does not seg fault but does throw execption", function () { - var client = new Client(); +describe('reading while not connected', function () { + it('does not seg fault but does throw execption', function () { + var client = new Client() assert.throws(function () { - client.on("notification", function (msg) {}); - }); - }); -}); + client.on('notification', function (msg) {}) + }) + }) +}) diff --git a/packages/pg-native/test/copy-from.js b/packages/pg-native/test/copy-from.js index dff4f8ac..87501a95 100644 --- a/packages/pg-native/test/copy-from.js +++ b/packages/pg-native/test/copy-from.js @@ -1,47 +1,47 @@ -var assert = require("assert"); -var Client = require("../"); +var assert = require('assert') +var Client = require('../') -describe("COPY FROM", function () { +describe('COPY FROM', function () { before(function (done) { - this.client = Client(); - this.client.connect(done); - }); + this.client = Client() + this.client.connect(done) + }) after(function (done) { - this.client.end(done); - }); + this.client.end(done) + }) - it("works", function (done) { - var client = this.client; - this.client.querySync("CREATE TEMP TABLE blah(name text, age int)"); - this.client.querySync("COPY blah FROM stdin"); - var stream = this.client.getCopyStream(); - stream.write(Buffer.from("Brian\t32\n", "utf8")); - stream.write(Buffer.from("Aaron\t30\n", "utf8")); - stream.write(Buffer.from("Shelley\t28\n", "utf8")); - stream.end(); + it('works', function (done) { + var client = this.client + this.client.querySync('CREATE TEMP TABLE blah(name text, age int)') + this.client.querySync('COPY blah FROM stdin') + var stream = this.client.getCopyStream() + stream.write(Buffer.from('Brian\t32\n', 'utf8')) + stream.write(Buffer.from('Aaron\t30\n', 'utf8')) + stream.write(Buffer.from('Shelley\t28\n', 'utf8')) + stream.end() - stream.once("finish", function () { - var rows = client.querySync("SELECT COUNT(*) FROM blah"); - assert.equal(rows.length, 1); - assert.equal(rows[0].count, 3); - done(); - }); - }); + stream.once('finish', function () { + var rows = client.querySync('SELECT COUNT(*) FROM blah') + assert.equal(rows.length, 1) + assert.equal(rows[0].count, 3) + done() + }) + }) - it("works with a callback passed to end", function (done) { - var client = this.client; - this.client.querySync("CREATE TEMP TABLE boom(name text, age int)"); - this.client.querySync("COPY boom FROM stdin"); - var stream = this.client.getCopyStream(); - stream.write(Buffer.from("Brian\t32\n", "utf8")); - stream.write(Buffer.from("Aaron\t30\n", "utf8"), function () { - stream.end(Buffer.from("Shelley\t28\n", "utf8"), function () { - var rows = client.querySync("SELECT COUNT(*) FROM boom"); - assert.equal(rows.length, 1); - assert.equal(rows[0].count, 3); - done(); - }); - }); - }); -}); + it('works with a callback passed to end', function (done) { + var client = this.client + this.client.querySync('CREATE TEMP TABLE boom(name text, age int)') + this.client.querySync('COPY boom FROM stdin') + var stream = this.client.getCopyStream() + stream.write(Buffer.from('Brian\t32\n', 'utf8')) + stream.write(Buffer.from('Aaron\t30\n', 'utf8'), function () { + stream.end(Buffer.from('Shelley\t28\n', 'utf8'), function () { + var rows = client.querySync('SELECT COUNT(*) FROM boom') + assert.equal(rows.length, 1) + assert.equal(rows[0].count, 3) + done() + }) + }) + }) +}) diff --git a/packages/pg-native/test/copy-to.js b/packages/pg-native/test/copy-to.js index 2d3ae132..28e06255 100644 --- a/packages/pg-native/test/copy-to.js +++ b/packages/pg-native/test/copy-to.js @@ -1,35 +1,35 @@ -var assert = require("assert"); -var Client = require("../"); -var concat = require("concat-stream"); -var _ = require("lodash"); +var assert = require('assert') +var Client = require('../') +var concat = require('concat-stream') +var _ = require('lodash') -describe("COPY TO", function () { +describe('COPY TO', function () { before(function (done) { - this.client = Client(); - this.client.connect(done); - }); + this.client = Client() + this.client.connect(done) + }) after(function (done) { - this.client.end(done); - }); + this.client.end(done) + }) - it("works - basic check", function (done) { - var limit = 1000; - var qText = "COPY (SELECT * FROM generate_series(0, " + (limit - 1) + ")) TO stdout"; - var self = this; + it('works - basic check', function (done) { + var limit = 1000 + var qText = 'COPY (SELECT * FROM generate_series(0, ' + (limit - 1) + ')) TO stdout' + var self = this this.client.query(qText, function (err) { - if (err) return done(err); - var stream = self.client.getCopyStream(); + if (err) return done(err) + var stream = self.client.getCopyStream() // pump the stream for node v0.11.x - stream.read(); + stream.read() stream.pipe( concat(function (buff) { - var res = buff.toString("utf8"); - var expected = _.range(0, limit).join("\n") + "\n"; - assert.equal(res, expected); - done(); - }), - ); - }); - }); -}); + var res = buff.toString('utf8') + var expected = _.range(0, limit).join('\n') + '\n' + assert.equal(res, expected) + done() + }) + ) + }) + }) +}) diff --git a/packages/pg-native/test/custom-types.js b/packages/pg-native/test/custom-types.js index 7512925e..4930c85a 100644 --- a/packages/pg-native/test/custom-types.js +++ b/packages/pg-native/test/custom-types.js @@ -1,27 +1,27 @@ -var Client = require("../"); -var ok = require("okay"); -var assert = require("assert"); +var Client = require('../') +var ok = require('okay') +var assert = require('assert') -describe("Custom type parser", function () { - it("is used by client", function (done) { +describe('Custom type parser', function () { + it('is used by client', function (done) { var client = new Client({ types: { getTypeParser: function () { return function () { - return "blah"; - }; + return 'blah' + } }, }, - }); - client.connectSync(); - var rows = client.querySync("SELECT NOW() AS when"); - assert.equal(rows[0].when, "blah"); + }) + client.connectSync() + var rows = client.querySync('SELECT NOW() AS when') + assert.equal(rows[0].when, 'blah') client.query( - "SELECT NOW() as when", + 'SELECT NOW() as when', ok(function (rows) { - assert.equal(rows[0].when, "blah"); - client.end(done); - }), - ); - }); -}); + assert.equal(rows[0].when, 'blah') + client.end(done) + }) + ) + }) +}) diff --git a/packages/pg-native/test/domains.js b/packages/pg-native/test/domains.js index 913be559..67254bae 100644 --- a/packages/pg-native/test/domains.js +++ b/packages/pg-native/test/domains.js @@ -1,32 +1,32 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') var checkDomain = function (domain, when) { - assert(process.domain, "Domain was lost after " + when); - assert.strictEqual(process.domain, domain, "Domain switched after " + when); -}; + assert(process.domain, 'Domain was lost after ' + when) + assert.strictEqual(process.domain, domain, 'Domain switched after ' + when) +} -describe("domains", function (done) { - it("remains bound after a query", function (done) { +describe('domains', function (done) { + it('remains bound after a query', function (done) { var domain = require('domain').create() // eslint-disable-line domain.run(function () { - var client = new Client(); + var client = new Client() client.connect(function () { - checkDomain(domain, "connection"); - client.query("SELECT NOW()", function () { - checkDomain(domain, "query"); - client.prepare("testing", "SELECT NOW()", 0, function () { - checkDomain(domain, "prepare"); - client.execute("testing", [], function () { - checkDomain(domain, "execute"); + checkDomain(domain, 'connection') + client.query('SELECT NOW()', function () { + checkDomain(domain, 'query') + client.prepare('testing', 'SELECT NOW()', 0, function () { + checkDomain(domain, 'prepare') + client.execute('testing', [], function () { + checkDomain(domain, 'execute') client.end(function () { - checkDomain(domain, "end"); - done(); - }); - }); - }); - }); - }); - }); - }); -}); + checkDomain(domain, 'end') + done() + }) + }) + }) + }) + }) + }) + }) +}) diff --git a/packages/pg-native/test/empty-query.js b/packages/pg-native/test/empty-query.js index 059f1c70..d8ec5611 100644 --- a/packages/pg-native/test/empty-query.js +++ b/packages/pg-native/test/empty-query.js @@ -1,16 +1,16 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("empty query", () => { - it("has field metadata in result", (done) => { - const client = new Client(); - client.connectSync(); - client.query("SELECT NOW() as now LIMIT 0", (err, rows, res) => { - assert(!err); - assert.equal(rows.length, 0); - assert(Array.isArray(res.fields)); - assert.equal(res.fields.length, 1); - client.end(done); - }); - }); -}); +describe('empty query', () => { + it('has field metadata in result', (done) => { + const client = new Client() + client.connectSync() + client.query('SELECT NOW() as now LIMIT 0', (err, rows, res) => { + assert(!err) + assert.equal(rows.length, 0) + assert(Array.isArray(res.fields)) + assert.equal(res.fields.length, 1) + client.end(done) + }) + }) +}) diff --git a/packages/pg-native/test/huge-query.js b/packages/pg-native/test/huge-query.js index 868fb9b8..d3bf5cda 100644 --- a/packages/pg-native/test/huge-query.js +++ b/packages/pg-native/test/huge-query.js @@ -1,27 +1,27 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("huge async query", function () { +describe('huge async query', function () { before(function (done) { - this.client = Client(); - this.client.connect(done); - }); + this.client = Client() + this.client.connect(done) + }) after(function (done) { - this.client.end(done); - }); + this.client.end(done) + }) - it("works", function (done) { - var params = [""]; - var len = 100000; + it('works', function (done) { + var params = [''] + var len = 100000 for (var i = 0; i < len; i++) { - params[0] += "A"; + params[0] += 'A' } - var qText = "SELECT '" + params[0] + "'::text as my_text"; + var qText = "SELECT '" + params[0] + "'::text as my_text" this.client.query(qText, function (err, rows) { - if (err) return done(err); - assert.equal(rows[0].my_text.length, len); - done(); - }); - }); -}); + if (err) return done(err) + assert.equal(rows[0].my_text.length, len) + done() + }) + }) +}) diff --git a/packages/pg-native/test/index.js b/packages/pg-native/test/index.js index 2794ebf1..1ef15b09 100644 --- a/packages/pg-native/test/index.js +++ b/packages/pg-native/test/index.js @@ -1,36 +1,36 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("connection", function () { - it("works", function (done) { - Client().connect(done); - }); +describe('connection', function () { + it('works', function (done) { + Client().connect(done) + }) - it("connects with args", function (done) { - Client().connect("host=localhost", done); - }); + it('connects with args', function (done) { + Client().connect('host=localhost', done) + }) - it("errors out with bad connection args", function (done) { - Client().connect("host=asldkfjasdf", function (err) { - assert(err, "should raise an error for bad host"); - done(); - }); - }); -}); + it('errors out with bad connection args', function (done) { + Client().connect('host=asldkfjasdf', function (err) { + assert(err, 'should raise an error for bad host') + done() + }) + }) +}) -describe("connectSync", function () { - it("works without args", function () { - Client().connectSync(); - }); +describe('connectSync', function () { + it('works without args', function () { + Client().connectSync() + }) - it("works with args", function () { - var args = "host=" + (process.env.PGHOST || "localhost"); - Client().connectSync(args); - }); + it('works with args', function () { + var args = 'host=' + (process.env.PGHOST || 'localhost') + Client().connectSync(args) + }) - it("throws if bad host", function () { + it('throws if bad host', function () { assert.throws(function () { - Client().connectSync("host=laksdjfdsf"); - }); - }); -}); + Client().connectSync('host=laksdjfdsf') + }) + }) +}) diff --git a/packages/pg-native/test/load.js b/packages/pg-native/test/load.js index 01eeb0ea..039ea7d0 100644 --- a/packages/pg-native/test/load.js +++ b/packages/pg-native/test/load.js @@ -1,30 +1,30 @@ -var Client = require("../"); -var async = require("async"); -var ok = require("okay"); +var Client = require('../') +var async = require('async') +var ok = require('okay') var execute = function (x, done) { - var client = new Client(); - client.connectSync(); + var client = new Client() + client.connectSync() var query = function (n, cb) { - client.query("SELECT $1::int as num", [n], function (err) { - cb(err); - }); - }; + client.query('SELECT $1::int as num', [n], function (err) { + cb(err) + }) + } return async.timesSeries( 5, query, ok(done, function () { - client.end(); - done(); - }), - ); -}; -describe("Load tests", function () { - it("single client and many queries", function (done) { - async.times(1, execute, done); - }); + client.end() + done() + }) + ) +} +describe('Load tests', function () { + it('single client and many queries', function (done) { + async.times(1, execute, done) + }) - it("multiple client and many queries", function (done) { - async.times(20, execute, done); - }); -}); + it('multiple client and many queries', function (done) { + async.times(20, execute, done) + }) +}) diff --git a/packages/pg-native/test/many-connections.js b/packages/pg-native/test/many-connections.js index 2efd96fb..20419966 100644 --- a/packages/pg-native/test/many-connections.js +++ b/packages/pg-native/test/many-connections.js @@ -1,57 +1,57 @@ -var Client = require("../"); -var async = require("async"); -var ok = require("okay"); -var bytes = require("crypto").pseudoRandomBytes; +var Client = require('../') +var async = require('async') +var ok = require('okay') +var bytes = require('crypto').pseudoRandomBytes -describe("many connections", function () { - describe("async", function () { +describe('many connections', function () { + describe('async', function () { var test = function (count, times) { - it("connecting " + count + " clients " + times, function (done) { - this.timeout(200000); + it('connecting ' + count + ' clients ' + times, function (done) { + this.timeout(200000) var connectClient = function (n, cb) { - var client = new Client(); + var client = new Client() client.connect( ok(cb, function () { bytes( 1000, ok(cb, function (chunk) { client.query( - "SELECT $1::text as txt", - [chunk.toString("base64")], + 'SELECT $1::text as txt', + [chunk.toString('base64')], ok(cb, function (rows) { - client.end(cb); - }), - ); - }), - ); - }), - ); - }; + client.end(cb) + }) + ) + }) + ) + }) + ) + } var run = function (n, cb) { - async.times(count, connectClient, cb); - }; + async.times(count, connectClient, cb) + } - async.timesSeries(times, run, done); - }); - }; + async.timesSeries(times, run, done) + }) + } - test(1, 1); - test(1, 1); - test(1, 1); - test(5, 5); - test(5, 5); - test(5, 5); - test(5, 5); - test(10, 10); - test(10, 10); - test(10, 10); - test(20, 20); - test(20, 20); - test(20, 20); - test(30, 10); - test(30, 10); - test(30, 10); - }); -}); + test(1, 1) + test(1, 1) + test(1, 1) + test(5, 5) + test(5, 5) + test(5, 5) + test(5, 5) + test(10, 10) + test(10, 10) + test(10, 10) + test(20, 20) + test(20, 20) + test(20, 20) + test(30, 10) + test(30, 10) + test(30, 10) + }) +}) diff --git a/packages/pg-native/test/many-errors.js b/packages/pg-native/test/many-errors.js index ae109f65..f8958f54 100644 --- a/packages/pg-native/test/many-errors.js +++ b/packages/pg-native/test/many-errors.js @@ -1,26 +1,26 @@ -var Client = require("../"); -var async = require("async"); -var assert = require("assert"); +var Client = require('../') +var async = require('async') +var assert = require('assert') -describe("many errors", function () { - it("functions properly without segfault", function (done) { +describe('many errors', function () { + it('functions properly without segfault', function (done) { var throwError = function (n, cb) { - var client = new Client(); - client.connectSync(); + var client = new Client() + client.connectSync() var doIt = function (n, cb) { - client.query("select asdfiasdf", function (err) { - assert(err, "bad query should emit an error"); - cb(null); - }); - }; + client.query('select asdfiasdf', function (err) { + assert(err, 'bad query should emit an error') + cb(null) + }) + } async.timesSeries(10, doIt, function (err) { - if (err) return cb(err); - client.end(cb); - }); - }; + if (err) return cb(err) + client.end(cb) + }) + } - async.times(10, throwError, done); - }); -}); + async.times(10, throwError, done) + }) +}) diff --git a/packages/pg-native/test/multiple-queries.js b/packages/pg-native/test/multiple-queries.js index 9282ebf7..ea67defe 100644 --- a/packages/pg-native/test/multiple-queries.js +++ b/packages/pg-native/test/multiple-queries.js @@ -1,41 +1,41 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("multiple commands in a single query", function () { +describe('multiple commands in a single query', function () { before(function (done) { - this.client = new Client(); - this.client.connect(done); - }); + this.client = new Client() + this.client.connect(done) + }) after(function (done) { - this.client.end(done); - }); + this.client.end(done) + }) - it("all execute to completion", function (done) { + it('all execute to completion', function (done) { this.client.query("SELECT '10'::int as num; SELECT 'brian'::text as name", function (err, rows) { - assert.ifError(err); - assert.equal(rows.length, 2, "should return two sets rows"); - assert.equal(rows[0][0].num, "10"); - assert.equal(rows[1][0].name, "brian"); - done(); - }); - }); + assert.ifError(err) + assert.equal(rows.length, 2, 'should return two sets rows') + assert.equal(rows[0][0].num, '10') + assert.equal(rows[1][0].name, 'brian') + done() + }) + }) - it("inserts and reads at once", function (done) { - var txt = "CREATE TEMP TABLE boom(age int);"; - txt += "INSERT INTO boom(age) VALUES(10);"; - txt += "SELECT * FROM boom;"; + it('inserts and reads at once', function (done) { + var txt = 'CREATE TEMP TABLE boom(age int);' + txt += 'INSERT INTO boom(age) VALUES(10);' + txt += 'SELECT * FROM boom;' this.client.query(txt, function (err, rows, results) { - assert.ifError(err); - assert.equal(rows.length, 3); - assert.equal(rows[0].length, 0); - assert.equal(rows[1].length, 0); - assert.equal(rows[2][0].age, 10); + assert.ifError(err) + assert.equal(rows.length, 3) + assert.equal(rows[0].length, 0) + assert.equal(rows[1].length, 0) + assert.equal(rows[2][0].age, 10) - assert.equal(results[0].command, "CREATE"); - assert.equal(results[1].command, "INSERT"); - assert.equal(results[2].command, "SELECT"); - done(); - }); - }); -}); + assert.equal(results[0].command, 'CREATE') + assert.equal(results[1].command, 'INSERT') + assert.equal(results[2].command, 'SELECT') + done() + }) + }) +}) diff --git a/packages/pg-native/test/multiple-statement-results.js b/packages/pg-native/test/multiple-statement-results.js index 6e28eda0..ae0f9baf 100644 --- a/packages/pg-native/test/multiple-statement-results.js +++ b/packages/pg-native/test/multiple-statement-results.js @@ -1,28 +1,28 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("multiple statements", () => { +describe('multiple statements', () => { before(() => { - this.client = new Client(); - this.client.connectSync(); - }); + this.client = new Client() + this.client.connectSync() + }) - after(() => this.client.end()); + after(() => this.client.end()) - it("works with multiple queries", (done) => { + it('works with multiple queries', (done) => { const text = ` SELECT generate_series(1, 2) as foo; SELECT generate_series(10, 11) as bar; SELECT generate_series(20, 22) as baz; - `; + ` this.client.query(text, (err, results) => { - if (err) return done(err); - assert(Array.isArray(results)); - assert.equal(results.length, 3); - assert(Array.isArray(results[0])); - assert(Array.isArray(results[1])); - assert(Array.isArray(results[2])); - done(); - }); - }); -}); + if (err) return done(err) + assert(Array.isArray(results)) + assert.equal(results.length, 3) + assert(Array.isArray(results[0])) + assert(Array.isArray(results[1])) + assert(Array.isArray(results[2])) + done() + }) + }) +}) diff --git a/packages/pg-native/test/notify.js b/packages/pg-native/test/notify.js index 4df341cd..769faf39 100644 --- a/packages/pg-native/test/notify.js +++ b/packages/pg-native/test/notify.js @@ -1,64 +1,64 @@ -var Client = require("../"); -var ok = require("okay"); +var Client = require('../') +var ok = require('okay') var notify = function (channel, payload) { - var client = new Client(); - client.connectSync(); - client.querySync("NOTIFY " + channel + ", '" + payload + "'"); - client.end(); -}; + var client = new Client() + client.connectSync() + client.querySync('NOTIFY ' + channel + ", '" + payload + "'") + client.end() +} -describe("simple LISTEN/NOTIFY", function () { +describe('simple LISTEN/NOTIFY', function () { before(function (done) { - var client = (this.client = new Client()); - client.connect(done); - }); + var client = (this.client = new Client()) + client.connect(done) + }) - it("works", function (done) { - var client = this.client; - client.querySync("LISTEN boom"); - client.on("notification", function (msg) { - done(); - }); - notify("boom", "sup"); - }); + it('works', function (done) { + var client = this.client + client.querySync('LISTEN boom') + client.on('notification', function (msg) { + done() + }) + notify('boom', 'sup') + }) after(function (done) { - this.client.end(done); - }); -}); + this.client.end(done) + }) +}) if (!process.env.TRAVIS_CI) { - describe("async LISTEN/NOTIFY", function () { + describe('async LISTEN/NOTIFY', function () { before(function (done) { - var client = (this.client = new Client()); - client.connect(done); - }); + var client = (this.client = new Client()) + client.connect(done) + }) - it("works", function (done) { - var client = this.client; - var count = 0; + it('works', function (done) { + var client = this.client + var count = 0 var check = function () { - count++; - if (count >= 2) return done(); - }; - client.on("notification", check); + count++ + if (count >= 2) return done() + } + client.on('notification', check) client.query( - "LISTEN test", + 'LISTEN test', ok(done, function () { - notify("test", "bot"); + notify('test', 'bot') client.query( - "SELECT pg_sleep(.05)", + 'SELECT pg_sleep(.05)', ok(done, function () { - notify("test", "bot"); - }), - ); - }), - ); - }); + notify('test', 'bot') + }) + ) + }) + ) + }) after(function (done) { - this.client.end(done); - }); - }); + this.client.end(done) + }) + }) } diff --git a/packages/pg-native/test/prepare.js b/packages/pg-native/test/prepare.js index 93afe4dd..bae3fb34 100644 --- a/packages/pg-native/test/prepare.js +++ b/packages/pg-native/test/prepare.js @@ -1,64 +1,64 @@ -var Client = require("../"); -var ok = require("okay"); -var async = require("async"); +var Client = require('../') +var ok = require('okay') +var async = require('async') -describe("async prepare", function () { +describe('async prepare', function () { var run = function (n, cb) { - var client = new Client(); - client.connectSync(); + var client = new Client() + client.connectSync() var exec = function (x, done) { - client.prepare("get_now" + x, "SELECT NOW()", 0, done); - }; + client.prepare('get_now' + x, 'SELECT NOW()', 0, done) + } async.timesSeries( 10, exec, ok(cb, function () { - client.end(cb); - }), - ); - }; + client.end(cb) + }) + ) + } var t = function (n) { - it("works for " + n + " clients", function (done) { + it('works for ' + n + ' clients', function (done) { async.times(n, run, function (err) { - done(err); - }); - }); - }; + done(err) + }) + }) + } for (var i = 0; i < 10; i++) { - t(i); + t(i) } -}); +}) -describe("async execute", function () { +describe('async execute', function () { var run = function (n, cb) { - var client = new Client(); - client.connectSync(); - client.prepareSync("get_now", "SELECT NOW()", 0); + var client = new Client() + client.connectSync() + client.prepareSync('get_now', 'SELECT NOW()', 0) var exec = function (x, cb) { - client.execute("get_now", [], cb); - }; + client.execute('get_now', [], cb) + } async.timesSeries( 10, exec, ok(cb, function () { - client.end(cb); - }), - ); - }; + client.end(cb) + }) + ) + } var t = function (n) { - it("works for " + n + " clients", function (done) { + it('works for ' + n + ' clients', function (done) { async.times(n, run, function (err) { - done(err); - }); - }); - }; + done(err) + }) + }) + } for (var i = 0; i < 10; i++) { - t(i); + t(i) } -}); +}) diff --git a/packages/pg-native/test/query-async.js b/packages/pg-native/test/query-async.js index 99e6f2d8..9e2d0525 100644 --- a/packages/pg-native/test/query-async.js +++ b/packages/pg-native/test/query-async.js @@ -1,115 +1,115 @@ -var Client = require("../"); -var assert = require("assert"); -var async = require("async"); -var ok = require("okay"); +var Client = require('../') +var assert = require('assert') +var async = require('async') +var ok = require('okay') -describe("async query", function () { +describe('async query', function () { before(function (done) { - this.client = Client(); - this.client.connect(done); - }); + this.client = Client() + this.client.connect(done) + }) after(function (done) { - this.client.end(done); - }); + this.client.end(done) + }) - it("can execute many prepared statements on a client", function (done) { + it('can execute many prepared statements on a client', function (done) { async.timesSeries( 20, (i, cb) => { - this.client.query("SELECT $1::text as name", ["brianc"], cb); + this.client.query('SELECT $1::text as name', ['brianc'], cb) }, - done, - ); - }); + done + ) + }) - it("simple query works", function (done) { + it('simple query works', function (done) { var runQuery = function (n, done) { - this.client.query("SELECT NOW() AS the_time", function (err, rows) { - if (err) return done(err); - assert.equal(rows[0].the_time.getFullYear(), new Date().getFullYear()); - return done(); - }); - }.bind(this); - async.timesSeries(3, runQuery, done); - }); + this.client.query('SELECT NOW() AS the_time', function (err, rows) { + if (err) return done(err) + assert.equal(rows[0].the_time.getFullYear(), new Date().getFullYear()) + return done() + }) + }.bind(this) + async.timesSeries(3, runQuery, done) + }) - it("parameters work", function (done) { + it('parameters work', function (done) { var runQuery = function (n, done) { - this.client.query("SELECT $1::text AS name", ["Brian"], done); - }.bind(this); - async.timesSeries(3, runQuery, done); - }); + this.client.query('SELECT $1::text AS name', ['Brian'], done) + }.bind(this) + async.timesSeries(3, runQuery, done) + }) - it("prepared, named statements work", function (done) { - var client = this.client; - client.prepare("test", "SELECT $1::text as name", 1, function (err) { - if (err) return done(err); + it('prepared, named statements work', function (done) { + var client = this.client + client.prepare('test', 'SELECT $1::text as name', 1, function (err) { + if (err) return done(err) client.execute( - "test", - ["Brian"], + 'test', + ['Brian'], ok(done, function (rows) { - assert.equal(rows.length, 1); - assert.equal(rows[0].name, "Brian"); + assert.equal(rows.length, 1) + assert.equal(rows[0].name, 'Brian') client.execute( - "test", - ["Aaron"], + 'test', + ['Aaron'], ok(done, function (rows) { - assert.equal(rows.length, 1); - assert.equal(rows[0].name, "Aaron"); - done(); - }), - ); - }), - ); - }); - }); + assert.equal(rows.length, 1) + assert.equal(rows[0].name, 'Aaron') + done() + }) + ) + }) + ) + }) + }) - it("returns error if prepare fails", function (done) { - this.client.prepare("test", "SELECT AWWW YEAH", 0, function (err) { - assert(err, "Should have returned an error"); - done(); - }); - }); + it('returns error if prepare fails', function (done) { + this.client.prepare('test', 'SELECT AWWW YEAH', 0, function (err) { + assert(err, 'Should have returned an error') + done() + }) + }) - it("returns an error if execute fails", function (done) { - this.client.execute("test", [], function (err) { - assert(err, "Should have returned an error"); - done(); - }); - }); + it('returns an error if execute fails', function (done) { + this.client.execute('test', [], function (err) { + assert(err, 'Should have returned an error') + done() + }) + }) - it("returns an error if there was a query error", function (done) { + it('returns an error if there was a query error', function (done) { var runErrorQuery = function (n, done) { - this.client.query("SELECT ALKJSFDSLFKJ", function (err) { - assert(err instanceof Error, "Should return an error instance"); - done(); - }); - }.bind(this); - async.timesSeries(3, runErrorQuery, done); - }); + this.client.query('SELECT ALKJSFDSLFKJ', function (err) { + assert(err instanceof Error, 'Should return an error instance') + done() + }) + }.bind(this) + async.timesSeries(3, runErrorQuery, done) + }) - it("is still usable after an error", function (done) { + it('is still usable after an error', function (done) { const runErrorQuery = (_, cb) => { - this.client.query("SELECT LKJSDJFLSDKFJ", (err) => { - assert(err instanceof Error, "Should return an error instance"); - cb(null, err); - }); - }; + this.client.query('SELECT LKJSDJFLSDKFJ', (err) => { + assert(err instanceof Error, 'Should return an error instance') + cb(null, err) + }) + } async.timesSeries(3, runErrorQuery, (err, res) => { - assert(!err); - assert.equal(res.length, 3); - this.client.query("SELECT NOW()", done); - }); - }); + assert(!err) + assert.equal(res.length, 3) + this.client.query('SELECT NOW()', done) + }) + }) - it("supports empty query", function (done) { - this.client.query("", function (err, rows) { - assert.ifError(err); - assert(Array.isArray(rows)); - console.log("rows", rows); - assert(rows.length === 0); - done(); - }); - }); -}); + it('supports empty query', function (done) { + this.client.query('', function (err, rows) { + assert.ifError(err) + assert(Array.isArray(rows)) + console.log('rows', rows) + assert(rows.length === 0) + done() + }) + }) +}) diff --git a/packages/pg-native/test/query-sync.js b/packages/pg-native/test/query-sync.js index 8914e078..f7a0ad0b 100644 --- a/packages/pg-native/test/query-sync.js +++ b/packages/pg-native/test/query-sync.js @@ -1,83 +1,83 @@ -var Client = require("../"); -var assert = require("assert"); +var Client = require('../') +var assert = require('assert') -describe("query sync", function (done) { +describe('query sync', function (done) { before(function () { - this.client = Client(); - this.client.connectSync(); - }); + this.client = Client() + this.client.connectSync() + }) after(function (done) { - this.client.end(done); - }); + this.client.end(done) + }) - it("simple query works", function () { - var rows = this.client.querySync("SELECT NOW() AS the_time"); - assert.equal(rows.length, 1); - assert.equal(rows[0].the_time.getFullYear(), new Date().getFullYear()); - }); + it('simple query works', function () { + var rows = this.client.querySync('SELECT NOW() AS the_time') + assert.equal(rows.length, 1) + assert.equal(rows[0].the_time.getFullYear(), new Date().getFullYear()) + }) - it("parameterized query works", function () { - var rows = this.client.querySync("SELECT $1::text AS name", ["Brian"]); - assert.equal(rows.length, 1); - assert.equal(rows[0].name, "Brian"); - }); + it('parameterized query works', function () { + var rows = this.client.querySync('SELECT $1::text AS name', ['Brian']) + assert.equal(rows.length, 1) + assert.equal(rows[0].name, 'Brian') + }) - it("throws when second argument is not an array", function () { + it('throws when second argument is not an array', function () { assert.throws(() => { - this.client.querySync("SELECT $1::text AS name", "Brian"); - }); + this.client.querySync('SELECT $1::text AS name', 'Brian') + }) assert.throws(() => { - this.client.prepareSync("test-failure", "SELECT $1::text as name", 1); + this.client.prepareSync('test-failure', 'SELECT $1::text as name', 1) - this.client.executeSync("test-failure", "Brian"); - }); - }); + this.client.executeSync('test-failure', 'Brian') + }) + }) - it("prepared statement works", function () { - this.client.prepareSync("test", "SELECT $1::text as name", 1); + it('prepared statement works', function () { + this.client.prepareSync('test', 'SELECT $1::text as name', 1) - var rows = this.client.executeSync("test", ["Brian"]); - assert.equal(rows.length, 1); - assert.equal(rows[0].name, "Brian"); + var rows = this.client.executeSync('test', ['Brian']) + assert.equal(rows.length, 1) + assert.equal(rows[0].name, 'Brian') - var rows2 = this.client.executeSync("test", ["Aaron"]); - assert.equal(rows2.length, 1); - assert.equal(rows2[0].name, "Aaron"); - }); + var rows2 = this.client.executeSync('test', ['Aaron']) + assert.equal(rows2.length, 1) + assert.equal(rows2[0].name, 'Aaron') + }) - it("prepare throws exception on error", function () { + it('prepare throws exception on error', function () { assert.throws( function () { - this.client.prepareSync("blah", "I LIKE TO PARTY!!!", 0); - }.bind(this), - ); - }); + this.client.prepareSync('blah', 'I LIKE TO PARTY!!!', 0) + }.bind(this) + ) + }) - it("throws exception on executing improperly", function () { + it('throws exception on executing improperly', function () { assert.throws(function () { // wrong number of parameters - this.client.executeSync("test", []); - }); - }); + this.client.executeSync('test', []) + }) + }) - it("throws exception on error", function () { + it('throws exception on error', function () { assert.throws( function () { - this.client.querySync("SELECT ASLKJASLKJF"); - }.bind(this), - ); - }); + this.client.querySync('SELECT ASLKJASLKJF') + }.bind(this) + ) + }) - it("is still usable after an error", function () { - var rows = this.client.querySync("SELECT NOW()"); - assert(rows, "should have returned rows"); - assert.equal(rows.length, 1); - }); + it('is still usable after an error', function () { + var rows = this.client.querySync('SELECT NOW()') + assert(rows, 'should have returned rows') + assert.equal(rows.length, 1) + }) - it("supports empty query", function () { - var rows = this.client.querySync(""); - assert(rows, "should return rows"); - assert.equal(rows.length, 0, "should return no rows"); - }); -}); + it('supports empty query', function () { + var rows = this.client.querySync('') + assert(rows, 'should return rows') + assert.equal(rows.length, 0, 'should return no rows') + }) +}) diff --git a/packages/pg-native/test/version.js b/packages/pg-native/test/version.js index 248e6a9f..204d8368 100644 --- a/packages/pg-native/test/version.js +++ b/packages/pg-native/test/version.js @@ -1,11 +1,11 @@ -var Client = require("../"); -var assert = require("assert"); -var semver = require("semver"); +var Client = require('../') +var assert = require('assert') +var semver = require('semver') -describe("version", function () { - it("is exported", function () { - assert(Client.version); - assert.equal(require("../package.json").version, Client.version); - assert(semver.gt(Client.version, "1.4.0")); - }); -}); +describe('version', function () { + it('is exported', function () { + assert(Client.version) + assert.equal(require('../package.json').version, Client.version) + assert(semver.gt(Client.version, '1.4.0')) + }) +}) diff --git a/yarn.lock b/yarn.lock index 33ca9c57..a4c84779 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1602,28 +1602,11 @@ abbrev@^2.0.0: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - integrity sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ== - dependencies: - acorn "^3.0.4" - acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - integrity sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw== - -acorn@^5.5.0: - version "5.7.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== - acorn@^8.9.0: version "8.11.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" @@ -1665,22 +1648,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-keywords@^3.0.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^5.2.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw== - 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.12.3, ajv@^6.12.4: +ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1700,7 +1668,7 @@ ansi-colors@3.2.3: resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz" integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: +ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== @@ -1730,11 +1698,6 @@ ansi-regex@^6.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" @@ -1936,15 +1899,6 @@ aws4@^1.8.0: resolved "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz" integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== -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 sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g== - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" @@ -2078,11 +2032,6 @@ buffer-from@^1.0.0: resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ== - builtins@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" @@ -2166,17 +2115,6 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -call-bind@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz" @@ -2189,13 +2127,6 @@ caller-callsite@^2.0.0: dependencies: callsites "^2.0.0" -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - integrity sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g== - dependencies: - callsites "^0.2.0" - caller-path@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" @@ -2203,11 +2134,6 @@ caller-path@^2.0.0: dependencies: caller-callsite "^2.0.0" -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - integrity sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A== - callsites@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" @@ -2277,18 +2203,7 @@ chai@^4.1.1, chai@^4.2.0: pathval "^1.1.1" type-detect "^4.0.5" -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2305,11 +2220,6 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" - integrity sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg== - chardet@^0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" @@ -2370,11 +2280,6 @@ ci-info@^2.0.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -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.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" @@ -2425,7 +2330,7 @@ clone@^1.0.2: resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -co@4.6.0, co@^4.6.0: +co@4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= @@ -2507,7 +2412,7 @@ concat-map@0.0.1: resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.4.6, concat-stream@^1.5.0, concat-stream@^1.6.0: +concat-stream@^1.4.6, concat-stream@^1.5.0: version "1.6.2" resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -2547,11 +2452,6 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha512-OKZnPGeMQy2RPaUIBPFFd71iNf4791H12MCRuVQDnzGRwCYNYmTDy5pdafo2SLAcEMKzTOQnLWG4QdcjeJUMEg== - conventional-changelog-angular@^5.0.3: version "5.0.11" resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz" @@ -2767,20 +2667,13 @@ debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "2.1.2" -debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: +debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - debuglog@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" @@ -2828,15 +2721,6 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" @@ -2923,21 +2807,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg== - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - doctrine@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" @@ -3083,18 +2952,6 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" @@ -3144,7 +3001,7 @@ esbuild@0.16.3: "@esbuild/win32-ia32" "0.16.3" "@esbuild/win32-x64" "0.16.3" -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, 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.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -3171,27 +3028,6 @@ eslint-config-prettier@^9.1.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== -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 sha512-UkFojTV1o0GOe1edOEiuI5ccYLJSuNngtqSeClNzhsmG8KPJ+7mRxgtp2oYhqZAK/brlXMoCd+VgXViE0AfyKw== - -eslint-import-resolver-node@^0.3.1: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.1.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== - dependencies: - debug "^3.2.7" - eslint-plugin-es@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" @@ -3200,32 +3036,6 @@ eslint-plugin-es@^3.0.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f" - integrity sha512-HGYmpU9f/zJaQiKNQOVfHUh2oLWW3STBrCgH0sHTX1xtsxYlH1zjLh8FlQGEIdZSdTbUMaV36WaZ6ImXkenGxQ== - dependencies: - builtin-modules "^1.1.1" - contains-path "^0.1.0" - debug "^2.6.8" - 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" - read-pkg-up "^2.0.0" - -eslint-plugin-node@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.1.0.tgz#bc8cdb85180d0b4d946a2531640e2a4dd7a4e6d4" - integrity sha512-MzAAnEfNOl6g871VgjKswHkyG+bqsXX2//SWXwNkyREvWAPUoU8X6ZvcrambHEGecUIbE0pAVPzzfKU/p9H5lg== - dependencies: - ignore "^3.3.3" - minimatch "^3.0.4" - resolve "^1.3.3" - semver "5.3.0" - eslint-plugin-node@^11.1.0: version "11.1.0" resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" @@ -3246,29 +3056,11 @@ eslint-plugin-prettier@^5.1.2: prettier-linter-helpers "^1.0.0" synckit "^0.8.6" -eslint-plugin-promise@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" - integrity sha512-kqXN7i1wfx5j7XuFVzuX4W3XDCEyNDsbd+O5NXWIl+zTSP510rKn2Xk8OO6JhM1ivXbkse0tQf6jjSTLS58Prg== - eslint-plugin-promise@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz" integrity sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw== -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 sha512-JyT7wqVYlaHxnljWMT7CKa0R1QDQqArTi6g8kYnexTHHuK7x3Vg//kCepnoTgdT9x/kDbSluXMhJgjBvgVRLlQ== - -eslint-scope@^3.7.1: - version "3.7.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535" - integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-scope@^7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" @@ -3294,45 +3086,6 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.2.0.tgz#a2b3184111b198e02e9c7f3cca625a5e01c56b3d" - integrity sha512-ezidnFhTPpvlOG6cS/yjN40DqFxVbufqT6a1eD/f5l4ynVD7fgTEZESwXoSL9vFEOzliWmY/edNE8py0gEYuZQ== - dependencies: - ajv "^5.2.0" - babel-code-frame "^6.22.0" - chalk "^1.1.3" - concat-stream "^1.6.0" - debug "^2.6.8" - doctrine "^2.0.0" - eslint-scope "^3.7.1" - espree "^3.4.3" - esquery "^1.0.0" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.1.2" - globals "^9.17.0" - ignore "^3.3.3" - imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.8.4" - json-stable-stringify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^4.0.0" - progress "^2.0.0" - require-uncached "^1.0.3" - strip-json-comments "~2.0.1" - table "^4.0.1" - text-table "~0.2.0" - eslint@^8.56.0: version "8.57.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" @@ -3377,14 +3130,6 @@ eslint@^8.56.0: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^3.4.3: - version "3.5.4" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" - integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== - dependencies: - acorn "^5.5.0" - acorn-jsx "^3.0.0" - espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" @@ -3404,14 +3149,14 @@ esprima@^4.0.0: resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.0, esquery@^1.4.2: +esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0, esrecurse@^4.3.0: +esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== @@ -3423,11 +3168,6 @@ estraverse@^1.9.1: resolved "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz" integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" @@ -3519,15 +3259,6 @@ extend@~3.0.2: resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -external-editor@^2.0.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" - integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== - dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" - tmp "^0.0.33" - external-editor@^3.0.3: version "3.1.0" resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" @@ -3561,11 +3292,6 @@ extsprintf@^1.2.0: resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -3628,14 +3354,6 @@ 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 sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w== - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -3703,16 +3421,6 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -flat-cache@^1.2.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" - integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== - dependencies: - circular-json "^0.3.1" - graceful-fs "^4.1.2" - rimraf "~2.6.2" - write "^0.2.1" - flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" @@ -3844,11 +3552,6 @@ function-bind@^1.1.1: resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - gauge@~2.7.3: version "2.7.4" resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" @@ -3883,17 +3586,6 @@ get-func-name@^2.0.0: resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - get-pkg-repo@^1.0.0: version "1.4.0" resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz" @@ -4073,18 +3765,6 @@ glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.2: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - globals@^13.19.0: version "13.24.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" @@ -4092,11 +3772,6 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globals@^9.17.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -4123,13 +3798,6 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: version "4.2.4" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz" @@ -4190,13 +3858,6 @@ hard-rejection@^2.1.0: resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" @@ -4212,28 +3873,11 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - has-symbols@^1.0.0, has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" @@ -4270,11 +3914,6 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" - integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== - has@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" @@ -4282,13 +3921,6 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hasown@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - he@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" @@ -4367,7 +3999,7 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -iconv-lite@^0.4.17, iconv-lite@^0.4.24: +iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -4393,11 +4025,6 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.3: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - ignore@^4.0.3: version "4.0.6" resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" @@ -4491,26 +4118,6 @@ init-package-json@^1.10.3: validate-npm-package-license "^3.0.1" validate-npm-package-name "^3.0.0" -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== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - inquirer@^6.2.0: version "6.5.2" resolved "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz" @@ -4591,13 +4198,6 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" @@ -4754,11 +4354,6 @@ is-regex@^1.1.1: dependencies: has-symbols "^1.0.1" -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - is-ssh@^1.3.0: version "1.3.2" resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz" @@ -4810,16 +4405,11 @@ isarray@0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -4876,11 +4466,6 @@ jackspeak@^3.1.2: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== - js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" @@ -4902,14 +4487,6 @@ js-yaml@3.x, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.8.4: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -4942,11 +4519,6 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -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 sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA== - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" @@ -4962,16 +4534,6 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stable-stringify@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz#52d4361b47d49168bcc4e564189a42e5a7439454" - integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== - dependencies: - call-bind "^1.0.5" - isarray "^2.0.5" - jsonify "^0.0.1" - object-keys "^1.1.1" - json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" @@ -4989,11 +4551,6 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" @@ -5074,14 +4631,6 @@ lerna@^3.19.0: import-local "^2.0.0" npmlog "^4.1.2" -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - levn@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" @@ -5090,6 +4639,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + libpq@1.8.13: version "1.8.13" resolved "https://registry.yarnpkg.com/libpq/-/libpq-1.8.13.tgz#d48af53c88defa7a20f958ef51bbbc0f58747355" @@ -5114,16 +4671,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ== - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" @@ -5213,11 +4760,6 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.cond@^4.3.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" - integrity sha512-RWjUhzGbzG/KfDwk+onqdXvrsNv47G9UCMJgSKalPTSqJQyxZhQophG9jgqLf+15TIbZ5a/yG2YKOWsH3dVy9A== - lodash.create@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" @@ -5296,7 +4838,7 @@ lodash@^2.4.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" integrity sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw== -lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0: +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.1: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5590,7 +5132,7 @@ miniflare@2.13.0: source-map-support "^0.5.20" undici "5.20.0" -"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -6240,7 +5782,7 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -optionator@^0.8.1, optionator@^0.8.2: +optionator@^0.8.1: version "0.8.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -6498,11 +6040,6 @@ path-is-absolute@^1.0.0: resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -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 sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" @@ -6518,7 +6055,7 @@ path-key@^4.0.0: resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== -path-parse@^1.0.6, path-parse@^1.0.7: +path-parse@^1.0.6: version "1.0.7" resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -6545,13 +6082,6 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ== - dependencies: - pify "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" @@ -6662,11 +6192,6 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" -pluralize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" - integrity sha512-yldjGERgycMeEPPtACWJe3sPwp4j0Jp1ae/z/JYcATdDqeV90gOSQaGFWsLDEh5R2boRF4iV0h+WCSQSz8Qxog== - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" @@ -6736,11 +6261,6 @@ process-nextick-args@~2.0.0: resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" @@ -6875,14 +6395,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w== - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" @@ -6909,15 +6421,6 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA== - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" @@ -7090,14 +6593,6 @@ require-main-filename@^2.0.0: resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - integrity sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w== - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz" @@ -7105,11 +6600,6 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - integrity sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg== - resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" @@ -7137,15 +6627,6 @@ resolve@^1.10.0, resolve@^1.10.1: dependencies: path-parse "^1.0.6" -resolve@^1.22.4, resolve@^1.3.3: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" @@ -7188,13 +6669,6 @@ rimraf@^3.0.2: dependencies: glob "^7.1.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== - dependencies: - glob "^7.1.3" - rollup-plugin-inject@^3.0.0: version "3.0.2" resolved "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz" @@ -7235,18 +6709,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -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 sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg== - 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 sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA== - rxjs@^6.4.0: version "6.6.3" resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz" @@ -7293,11 +6755,6 @@ semiver@^1.1.0: resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw== - semver@^4.1.0: version "4.3.6" resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" @@ -7330,18 +6787,6 @@ set-cookie-parser@^2.4.8: resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz" integrity sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ== -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" @@ -7408,13 +6853,6 @@ slash@^3.0.0: resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -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== - dependencies: - is-fullwidth-code-point "^2.0.0" - sliced@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/sliced/-/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f" @@ -7694,6 +7132,7 @@ streamsearch@^1.1.0: integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: + name string-width-cjs version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7711,7 +7150,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.npmjs.org/string-width/-/string-width-2.1.1.tgz" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -7848,7 +7287,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -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.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= @@ -7881,11 +7320,6 @@ supports-color@6.0.0: dependencies: has-flag "^3.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - supports-color@^3.1.0: version "3.2.3" resolved "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz" @@ -7907,11 +7341,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - synckit@^0.8.6: version "0.8.8" resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" @@ -7920,18 +7349,6 @@ synckit@^0.8.6: "@pkgr/core" "^0.1.0" tslib "^2.6.2" -table@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" - integrity sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg== - 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" - tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: version "4.4.19" resolved "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz" @@ -7979,7 +7396,7 @@ text-extensions@^1.0.0: resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== -text-table@^0.2.0, text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= @@ -8546,13 +7963,6 @@ write-pkg@^3.1.0: sort-keys "^2.0.0" write-json-file "^2.2.0" -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA== - dependencies: - mkdirp "^0.5.1" - ws@^8.2.2: version "8.13.0" resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz"