diff --git a/Dockerfile b/Dockerfile index 890f78e9..d1c0e706 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:erbium +FROM node:gallium-bullseye-slim # install dependencies ADD package.json yarn.lock /src/hearth/ diff --git a/lib/fhir/common.js b/lib/fhir/common.js index 71097aba..40ff7653 100644 --- a/lib/fhir/common.js +++ b/lib/fhir/common.js @@ -28,8 +28,8 @@ function buildOperationOutcome (severity, code, detailsText, diagnostics) { resourceType: 'OperationOutcome', issue: [ { - severity: severity, - code: code, + severity, + code, details: { text: detailsText }, @@ -57,7 +57,7 @@ module.exports = exports = (mongo) => { const buildHTTPOutcome = (httpStatus, severity, code, detailsText, diagnostics) => { return { - httpStatus: httpStatus, + httpStatus, resource: buildOperationOutcome(severity, code, detailsText, diagnostics) } } @@ -96,9 +96,9 @@ module.exports = exports = (mongo) => { doc.meta.security = [] } doc.meta.security.push({ - system: system, - code: code, - display: display + system, + code, + display }) } @@ -348,7 +348,7 @@ module.exports = exports = (mongo) => { */ // end jsdoc - formatResource: formatResource, + formatResource, bundleResults: (type, entries, total, callingUrl) => { const url = URI(callingUrl) @@ -358,7 +358,7 @@ module.exports = exports = (mongo) => { meta: { lastUpdated: moment().format(dateFormat) }, - type: type, + type, total: ((total !== null) ? total : entries.length), link: [ { @@ -408,11 +408,11 @@ module.exports = exports = (mongo) => { }) }, - buildOperationOutcome: buildOperationOutcome, - buildHTTPOutcome: buildHTTPOutcome, + buildOperationOutcome, + buildHTTPOutcome, internalServerErrorOutcome: () => buildOperationOutcome('fatal', 'exception', 'Internal server error'), - isValidReferenceString: isValidReferenceString, + isValidReferenceString, /** * Extracts an attachment from a document and stores it seperately, removing it from the document @@ -540,11 +540,11 @@ module.exports = exports = (mongo) => { * @param {Function} callback (err, array) with array an list of resources, * e.g. ['Practitioner/123'] */ - lookupPractitionersForOrganization: lookupPractitionersForOrganization, + lookupPractitionersForOrganization, breakTheGlassCategory: 'http://hl7.org/fhir/security-label#break-the-glass', - addSecurityLabel: addSecurityLabel, + addSecurityLabel, addSubsettedSecurityLabel: (doc) => { addSecurityLabel(doc, 'http://hl7.org/fhir/ValueSet/v3-SecurityIntegrityObservationValue', 'SUBSETTED', 'subsetted') @@ -619,7 +619,7 @@ module.exports = exports = (mongo) => { } }, - generateID: generateID, + generateID, /** * Validate a value as a FHIR id datatype @@ -627,7 +627,7 @@ module.exports = exports = (mongo) => { * @param {String} id The value to validate * @return {Boolean} */ - validateID: validateID + validateID } } diff --git a/lib/fhir/core.js b/lib/fhir/core.js index 99412c22..57d821be 100644 --- a/lib/fhir/core.js +++ b/lib/fhir/core.js @@ -79,14 +79,14 @@ module.exports = (mongo, modules) => { } const c = db.collection(resourceType) - c.findOne({ id: id }, (err, resource) => { + c.findOne({ id }, (err, resource) => { if (err) { return callback(err) } if (!resource) { const c = db.collection(`${resourceType}_history`) - c.findOne({ id: id }, (err, resource) => { + c.findOne({ id }, (err, resource) => { if (err) { return callback(err) } @@ -144,7 +144,7 @@ module.exports = (mongo, modules) => { const c = db.collection(resourceType) - c.findOne({ id: id, 'meta.versionId': vid }, (err, resource) => { + c.findOne({ id, 'meta.versionId': vid }, (err, resource) => { if (err) { return callback(err) } @@ -162,7 +162,7 @@ module.exports = (mongo, modules) => { if (!resource) { const cHistory = db.collection(`${resourceType}_history`) - cHistory.findOne({ id: id, 'meta.versionId': vid }, (err, resource) => { + cHistory.findOne({ id, 'meta.versionId': vid }, (err, resource) => { if (err) { return callback(err) } @@ -499,7 +499,7 @@ module.exports = (mongo, modules) => { } const location = `/fhir/${resourceType}/${resource.id}/_history/${resource.meta.versionId}` - callback(null, { httpStatus: 201, location: location, id: resource.id }) + callback(null, { httpStatus: 201, location, id: resource.id }) }) }) }) @@ -540,7 +540,7 @@ module.exports = (mongo, modules) => { } const c = db.collection(resourceType) - c.findOne({ id: id }, {}, (err, result) => { + c.findOne({ id }, {}, (err, result) => { if (err) { return callback(err) } @@ -573,7 +573,7 @@ module.exports = (mongo, modules) => { } c.findOneAndReplace({ - id: id + id }, resource, options, (err, result) => { if (err) { return callback(err) @@ -586,7 +586,7 @@ module.exports = (mongo, modules) => { } const location = `/fhir/${resourceType}/${resource.id}/_history/${resource.meta.versionId}` - callback(null, { httpStatus: 201, location: location, etag: resource.meta.versionId, id: resource.id }) + callback(null, { httpStatus: 201, location, etag: resource.meta.versionId, id: resource.id }) }) } @@ -609,9 +609,9 @@ module.exports = (mongo, modules) => { const location = `/fhir/${resourceType}/${id}/_history/${resource.meta.versionId}` callback(null, { httpStatus: 200, - location: location, + location, etag: resource.meta.versionId, - id: id + id }) }) }) @@ -648,13 +648,13 @@ module.exports = (mongo, modules) => { } const c = db.collection(resourceType) - c.findOneAndDelete({ id: id }, (err, result) => { + c.findOneAndDelete({ id }, (err, result) => { if (err) { return callback(err) } if (!result.value) { - return callback(null, { httpStatus: 204, id: id }) + return callback(null, { httpStatus: 204, id }) } const historyDoc = result.value @@ -685,12 +685,12 @@ module.exports = (mongo, modules) => { return handleErrorAndBadRequest(err, badRequest, callback) } - callback(null, { httpStatus: 204, id: id }) + callback(null, { httpStatus: 204, id }) }) }) }) } else { - cHistory.remove({ id: id }, (err) => { + cHistory.remove({ id }, (err) => { if (err) { return callback(err) } @@ -700,7 +700,7 @@ module.exports = (mongo, modules) => { return handleErrorAndBadRequest(err, badRequest, callback) } - callback(null, { httpStatus: 204, id: id }) + callback(null, { httpStatus: 204, id }) }) }) } diff --git a/lib/fhir/module-loader.js b/lib/fhir/module-loader.js index 7d2dc55f..37478c84 100644 --- a/lib/fhir/module-loader.js +++ b/lib/fhir/module-loader.js @@ -40,7 +40,7 @@ module.exports = exports = (mongo) => { }) }, - getLoadedModules: getLoadedModules + getLoadedModules } } diff --git a/lib/fhir/query-builder.js b/lib/fhir/query-builder.js index 06fc47aa..47d264d1 100644 --- a/lib/fhir/query-builder.js +++ b/lib/fhir/query-builder.js @@ -113,7 +113,7 @@ module.exports = (mongo) => { } return { - path: path, + path, condition: conditionalMatch ? conditionalMatch[1] : null // 2nd index - no brackets } } @@ -402,6 +402,6 @@ module.exports = (mongo) => { return { private: exposedPrivateFuncsForTesting, - buildQuery: buildQuery + buildQuery } } diff --git a/lib/fhir/query-utils.js b/lib/fhir/query-utils.js index 0a756b99..c27d1d26 100644 --- a/lib/fhir/query-utils.js +++ b/lib/fhir/query-utils.js @@ -112,7 +112,7 @@ module.exports = (mongo) => { * @param {String} value The date value to transform * @returns {Date} The transformed date */ - transformDate: transformDate, + transformDate, tokenToSystemValue: (fieldToMatch, token, propertyDefObj) => { const match = (fieldToMatch, token) => { @@ -360,7 +360,7 @@ module.exports = (mongo) => { return null }, - paramAsReference: paramAsReference, + paramAsReference, /** * Build a mongo query clause that allows for date or period searching. diff --git a/lib/fhir/query-validator.js b/lib/fhir/query-validator.js index ecc8b380..d64f6753 100644 --- a/lib/fhir/query-validator.js +++ b/lib/fhir/query-validator.js @@ -19,8 +19,8 @@ const extensionConf = require('../../config/queryparam-extensions.json') module.exports = () => { return { - standardFHIRParams: standardFHIRParams, - standardFHIRSearchParams: standardFHIRSearchParams, + standardFHIRParams, + standardFHIRSearchParams, validateQueryParams: (resourceType, queryParams, customSupported, callback) => { const supportedParams = Object.assign({}, searchParamsMap[resourceType], customSupported, extensionConf[resourceType]) diff --git a/lib/fhir/resources/matching.js b/lib/fhir/resources/matching.js index 563f12be..9a9fd63b 100644 --- a/lib/fhir/resources/matching.js +++ b/lib/fhir/resources/matching.js @@ -58,7 +58,7 @@ module.exports = (mongo) => { url: 'http://hl7.org/fhir/StructureDefinition/match-grade', valueCode: scoreToString(score) }, - score: score + score } } return matchesMap[key] @@ -210,9 +210,9 @@ module.exports = (mongo) => { return { name: 'Matching', - algorithms: algorithms, - createEliminateMatchingOnSelfQuery: createEliminateMatchingOnSelfQuery, - appendToQuery: appendToQuery, + algorithms, + createEliminateMatchingOnSelfQuery, + appendToQuery, match: (resourceType, queryResource, count, callback) => { const resourceId = queryResource.id @@ -252,12 +252,12 @@ module.exports = (mongo) => { case 'levenshtein': { const workerContext = { workerName: `mpi_query_${path}`, - resourceType: resourceType, - queryResource: queryResource, - path: path, - algorithm: algorithm, - weight: weight, - discriminatorQuery: discriminatorQuery + resourceType, + queryResource, + path, + algorithm, + weight, + discriminatorQuery } promises.push(matchingWorker.startMatchingWorker(workerContext)) diff --git a/lib/fhir/root.js b/lib/fhir/root.js index 46a72ff7..86c3e5f7 100644 --- a/lib/fhir/root.js +++ b/lib/fhir/root.js @@ -53,7 +53,7 @@ module.exports = (mongo, modules, callback) => { const pushReverts = (revertType, successStatusArray) => { if (successStatusArray.indexOf(outcome.httpStatus) > -1) { revert[revertType].push({ - resourceType: resourceType, + resourceType, id: outcome.id }) } @@ -102,7 +102,7 @@ module.exports = (mongo, modules, callback) => { } const processEntry = (baseCtx, entry, revert, isTransaction, callback) => { - const parsedUrl = url.parse(entry.request.url, true) // eslint-disable-line node/no-deprecated-api + const parsedUrl = url.parse(entry.request.url, true) // eslint-disable-line n/no-deprecated-api const entryCtx = { authenticatedUser: baseCtx.authenticatedUser, diff --git a/lib/fhir/services/matching-worker/matching-worker.js b/lib/fhir/services/matching-worker/matching-worker.js index 956ee3bf..67311e78 100644 --- a/lib/fhir/services/matching-worker/matching-worker.js +++ b/lib/fhir/services/matching-worker/matching-worker.js @@ -38,6 +38,6 @@ module.exports = (mongo) => { } return { - startMatchingWorker: startMatchingWorker + startMatchingWorker } } diff --git a/lib/fhir/services/terminology-service.js b/lib/fhir/services/terminology-service.js index 6e57e6c3..209e5aeb 100644 --- a/lib/fhir/services/terminology-service.js +++ b/lib/fhir/services/terminology-service.js @@ -38,7 +38,7 @@ module.exports = (mongo) => { 'codeSystem.system': system, 'codeSystem.concept': { $elemMatch: { - code: code + code } } } diff --git a/lib/fhir/transaction.js b/lib/fhir/transaction.js index 6c99ee82..abeb14a4 100644 --- a/lib/fhir/transaction.js +++ b/lib/fhir/transaction.js @@ -63,7 +63,7 @@ module.exports = (mongo) => { } const c = db.collection(resourceType) - c.deleteOne({ id: id }, (err, result) => { + c.deleteOne({ id }, (err, result) => { if (err) { return callback(err) } @@ -92,21 +92,21 @@ module.exports = (mongo) => { const c = db.collection(resourceType) const cHistory = db.collection(`${resourceType}_history`) - cHistory.findOneAndDelete({ id: id }, { sort: { '_transforms.meta.lastUpdated': -1 } }, (err, result) => { + cHistory.findOneAndDelete({ id }, { sort: { '_transforms.meta.lastUpdated': -1 } }, (err, result) => { if (err) { return callback(err) } if (result.value) { delete result.value._id - c.findOneAndReplace({ id: id }, result.value, (err, result) => { + c.findOneAndReplace({ id }, result.value, (err, result) => { if (err) { return callback(err) } callback(null, !!result.value) }) } else { - c.deleteOne({ id: id }, (err, result) => { + c.deleteOne({ id }, (err, result) => { if (err) { return callback(err) } @@ -145,7 +145,7 @@ module.exports = (mongo) => { } // move last non-delete entry to non-history collection - cHistory.findOneAndDelete({ id: id }, { sort: { '_transforms.meta.lastUpdated': -1 } }, (err, result) => { + cHistory.findOneAndDelete({ id }, { sort: { '_transforms.meta.lastUpdated': -1 } }, (err, result) => { if (err) { return callback(err) } @@ -155,7 +155,7 @@ module.exports = (mongo) => { } delete result.value._id - c.findOneAndReplace({ id: id }, result.value, { upsert: true }, (err, result) => { + c.findOneAndReplace({ id }, result.value, { upsert: true }, (err, result) => { if (err) { return callback(err) } diff --git a/lib/mongo.js b/lib/mongo.js index c43b0ded..d8b0dfae 100644 --- a/lib/mongo.js +++ b/lib/mongo.js @@ -73,7 +73,7 @@ module.exports = () => { util: { // if there is just one $and/$or clause, then we don't need the $and/$or - used recursively - collapseWhenSingleClause: collapseWhenSingleClause, + collapseWhenSingleClause, hasQueryOperators: (query) => { return (query.$and && query.$and.length !== 0) || (query.$or && query.$or.length !== 0) diff --git a/lib/resource-linking.js b/lib/resource-linking.js index ec3b6cc7..5c385eae 100644 --- a/lib/resource-linking.js +++ b/lib/resource-linking.js @@ -197,9 +197,9 @@ module.exports = (mongo) => { } return { - addLinkToResource: addLinkToResource, - addLinkToMatches: addLinkToMatches, - addMatchesLinksToResource: addMatchesLinksToResource, - removePreviousMatchingLinks: removePreviousMatchingLinks + addLinkToResource, + addLinkToMatches, + addMatchesLinksToResource, + removePreviousMatchingLinks } } diff --git a/lib/security/authorizers-common.js b/lib/security/authorizers-common.js index fdc0194e..e5a2cd04 100644 --- a/lib/security/authorizers-common.js +++ b/lib/security/authorizers-common.js @@ -33,7 +33,7 @@ module.exports = (mongo) => { searchFilters: { filterIdByUserResource: (authenticatedUser, callback) => { const id = authenticatedUser.resource.split('/')[1] - callback(null, { id: id }) + callback(null, { id }) } } } diff --git a/lib/security/openhim-style-authentication.js b/lib/security/openhim-style-authentication.js index 3f359b8d..e7145415 100644 --- a/lib/security/openhim-style-authentication.js +++ b/lib/security/openhim-style-authentication.js @@ -65,7 +65,7 @@ module.exports = (mongo) => { } const c = db.collection('user') - c.findOne({ email: email }, (err, user) => { + c.findOne({ email }, (err, user) => { if (err) { logger.error(err) return res.status(500).send(fhirCommon.internalServerErrorOutcome()) diff --git a/lib/server.js b/lib/server.js index 7146359a..d073e3a1 100644 --- a/lib/server.js +++ b/lib/server.js @@ -127,7 +127,7 @@ switch (config.getConf('authentication:type')) { } const checkForOperation = (req, res, next) => { - const url = URL.parse(req.url) // eslint-disable-line node/no-deprecated-api + const url = URL.parse(req.url) // eslint-disable-line n/no-deprecated-api const parts = url.pathname.split('/') const lastSegment = parts.pop() @@ -154,7 +154,7 @@ const setupContext = (req, res, next) => { headers: req.headers, operation: res.locals.operation, domain: fhirDomain, - fullUrl: fullUrl, + fullUrl, requestorIp: req.connection.remoteAddress } res.locals.ctx = ctx diff --git a/package.json b/package.json index 76770254..f70a5633 100644 --- a/package.json +++ b/package.json @@ -25,12 +25,12 @@ "atna-audit": "^1.0.1", "body-parser": "^1.18.3", "cors": "^2.8.1", - "express": "^4.16.3", + "express": "4.18.2", "express-xml-bodyparser": "^0.3.0", "fhir": "^3.3.1", - "jsonwebtoken": "^8.2.2", + "jsonwebtoken": "^9.0.0", "lodash": "^4.17.10", - "moment": "^2.22.2", + "moment": "^2.29.4", "mongodb": "3.5.4", "mongodb-queue": "^3.1.0", "nconf": "^0.11.3", @@ -48,13 +48,13 @@ "cross-env": "^5.1.6", "faker": "^4.1.0", "glossy": "^0.1.7", - "libxmljs": "^0.19.7", + "libxmljs": "^0.19.10", "license-checker": "^25.0.1", "mustache": "^3.1.0", "neo-async": "^2.5.1", "sinon": "^7.5.0", "snazzy": "^9.0.0", - "standard": "^16.0.4", + "standard": "17.0.0", "tap": "^15.2.3" }, "main": "server.js", @@ -72,7 +72,9 @@ "resolutions": { "lodash": "4.17.21", "xmlbuilder": "9.0.7", - "libxmljs": "0.19.7", - "tar": "4.4.19" + "libxmljs": "0.19.10", + "tar": "4.4.19", + "qs": "6.11.0", + "xml2js": "0.5.0" } } diff --git a/test/audit-plugin.js b/test/audit-plugin.js deleted file mode 100644 index b89572bd..00000000 --- a/test/audit-plugin.js +++ /dev/null @@ -1,323 +0,0 @@ -/** - * Copyright (c) 2017-present, Jembi Health Systems NPC. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. - */ - -'use strict' - -const tap = require('tap') -const moment = require('moment') -const request = require('request') -const _ = require('lodash') - -const env = require('./test-env/init')() -const server = require('../lib/server') - -const headers = env.getTestAuthHeaders(env.users.sysadminUser.email) - -let auditPlugin - -const fhirResources = { AuditEvent: { name: 'AuditEvent', searchFilters: () => {} } } - -const testServerInit = (t, test) => { - env.initDB((err, db) => { - t.error(err) - - auditPlugin = require('../lib/plugins/audit')(env.mongo(), fhirResources) - - server.start((err) => { - t.error(err) - - test(db, () => { - env.clearDB((err) => { - t.error(err) - server.stop(() => { - t.end() - }) - }) - }) - }) - }) -} - -const testResourceTemplate = { - resourceType: 'Patient', - id: '1', - active: true, - identifier: [ - { - use: 'official', - system: 'pshr:passport:za', - value: '1001113333933', - assigner: { - display: 'Passport South Africa' - } - } - ], - name: [ - { - use: 'official', - prefix: [ - 'Mr' - ], - family: [ - 'Matinyana' - ], - given: [ - 'Charlton', - 'Joseph' - ] - } - ], - gender: 'male', - birthDate: '1970-07-21' -} - -const testBundleTemplate = { - resourceType: 'Bundle', - total: 2, - entry: [ - { - resource: { - resourceType: 'Questionnaire', - id: '1234567890' - } - }, - { - resource: { - resourceType: 'Questionnaire', - id: '0987654321' - } - } - ] -} - -tap.test('Audit Plugin - getSuccessOrFailed()', { autoend: true }, (t) => { - t.test('should determine the event outcome value for a successful request', (t) => { - testServerInit(t, (db, done) => { - // given - const resource = JSON.parse(JSON.stringify(testResourceTemplate)) - - // when - const successOrFailValue = auditPlugin.getSuccessOrFailed(resource) - - t.equal(successOrFailValue, '0', 'should return a success/fail value of 0 - Success') - - done() - }) - }) - - t.test('should determine the event outcome value for a unsuccessful request', (t) => { - testServerInit(t, (db, done) => { - // given - const resource = { - resourceType: 'OperationOutcome', - issue: [{ severity: 'information', code: 'gone', details: { text: 'Gone' } }] - } - - // when - const successOrFailValue = auditPlugin.getSuccessOrFailed(resource) - - t.equal(successOrFailValue, '4', 'should return a success/fail value of 4 - Minor Failure') - - done() - }) - }) -}) - -tap.test('Audit Plugin - buildEventObj()', { autoend: true }, (t) => { - t.test('should build the eventObj object', (t) => { - testServerInit(t, (db, done) => { - // given - const resource = JSON.parse(JSON.stringify(testResourceTemplate)) - - // when - const eventObj = auditPlugin.buildEventObj('read', resource) - - t.ok(eventObj) - - t.equals(eventObj.type.code, 'rest', 'should have a value of \'rest\'') - t.equals(eventObj.type.display, 'Restful Operation', 'should have a value of \'Restful Operation\'') - t.equals(eventObj.subtype[0].code, 'read', 'should have a value of \'read\'') - t.equals(eventObj.subtype[0].display, 'read', 'should have a value of \'read\'') - t.equals(moment(eventObj.dateTime).isValid(), true, 'should be a valid timestamp value') - t.equals(eventObj.outcome, '0', 'should have a value of \'0\'') - - done() - }) - }) -}) - -tap.test('Audit Plugin - buildParticipantObj()', { autoend: true }, (t) => { - t.test('should build the participantObj object', (t) => { - testServerInit(t, (db, done) => { - // given - const ctx = { - authenticatedUser: { - email: 'user@hearth.org', - type: 'practitioner', - resource: 'Practitioner/b7aeb450-8bde-11e7-812f-bbfc0872406b' - }, - url: '/fhir/Questionnaire?identifier=preoperative-questionnaire', - query: { identifier: 'preoperative-questionnaire' }, - headers: { - referer: 'http://localhost:9000/' - } - } - - // when - const participantObj = auditPlugin.buildParticipantObj(ctx) - - t.ok(participantObj) - - t.equals(participantObj.role[0].coding[0].system, 'hearth:user-roles', 'should have a value of \'hearth:user-roles\'') - t.equals(participantObj.role[0].coding[0].code, 'practitioner', 'should have a value of \'practitioner\'') - t.equals(participantObj.reference.reference, 'Practitioner/b7aeb450-8bde-11e7-812f-bbfc0872406b', 'should have a value of \'Practitioner/b7aeb450-8bde-11e7-812f-bbfc0872406b\'') - t.equals(participantObj.userId.system, 'hearth:resource-reference', 'should have a value of \'hearth:resource-reference\'') - t.equals(participantObj.userId.value, 'b7aeb450-8bde-11e7-812f-bbfc0872406b', 'should have a value of \'b7aeb450-8bde-11e7-812f-bbfc0872406b\'') - t.equals(participantObj.altId, 'user@hearth.org', 'should have a value of \'user@hearth.org\'') - t.equals(participantObj.requester, true, 'should have a value of \'true\'') - - done() - }) - }) -}) - -tap.test('Audit Plugin - buildSourceObj()', { autoend: true }, (t) => { - t.test('should build the sourceObj object', (t) => { - testServerInit(t, (db, done) => { - // given - const ctx = { - authenticatedUser: { - email: 'jenny@sssa.org', - type: 'practitioner', - resource: 'Practitioner/b7aeb450-8bde-11e7-812f-bbfc0872406b' - }, - url: '/fhir/Questionnaire?identifier=preoperative-questionnaire', - query: { identifier: 'preoperative-questionnaire' }, - headers: { - referer: 'http://localhost:9000/' - } - } - - // when - const sourceObj = auditPlugin.buildSourceObj(ctx) - - t.ok(sourceObj) - - t.equals(sourceObj.site, 'Cloud', 'should have a value of \'Cloud\'') - t.equals(sourceObj.identifier.value, 'http://localhost:9000/', 'should have a value of \'http://localhost:9000/\'') - t.equals(sourceObj.type[0].system, 'http://hl7.org/fhir/security-source-type', 'should have a value of \'http://hl7.org/fhir/security-source-type\'') - t.equals(sourceObj.type[0].code, 3, 'should have a value of \'3\'') - t.equals(sourceObj.type[0].display, 'Web Server', 'should have a value of \'Web Server\'') - - done() - }) - }) -}) - -tap.test('Audit Plugin - buildObjectArray()', { autoend: true }, (t) => { - t.test('should build the objectObj object', (t) => { - testServerInit(t, (db, done) => { - // given - const ctx = { - authenticatedUser: { - email: 'jenny@sssa.org', - type: 'practitioner', - resource: 'Practitioner/b7aeb450-8bde-11e7-812f-bbfc0872406b' - }, - url: '/fhir/Questionnaire?identifier=preoperative-questionnaire', - query: { identifier: 'preoperative-questionnaire' }, - headers: { - referer: 'http://localhost:9000/' - } - } - const bundle = JSON.parse(JSON.stringify(testBundleTemplate)) - - // when - const objectArray = auditPlugin.buildObjectArray(ctx, bundle) - - t.ok(objectArray) - - t.equals(objectArray[0].query, '/fhir/Questionnaire?identifier=preoperative-questionnaire', 'should have a value of \'/fhir/Questionnaire?identifier=preoperative-questionnaire\'') - t.equals(objectArray[0].reference.reference, 'Questionnaire/1234567890', 'should have a value of \'Questionnaire/1234567890\'') - t.equals(objectArray[1].reference.reference, 'Questionnaire/0987654321', 'should have a value of \'Questionnaire/0987654321\'') - - done() - }) - }) -}) - -tap.test('Audit Plugin - buildAuditEvent()', { autoend: true }, (t) => { - t.test('should build the AuditEvent object', (t) => { - testServerInit(t, (db, done) => { - // given - const resource = JSON.parse(JSON.stringify(testResourceTemplate)) - const ctx = { - authenticatedUser: { - email: 'jenny@sssa.org', - type: 'practitioner', - resource: 'Practitioner/b7aeb450-8bde-11e7-812f-bbfc0872406b' - }, - url: '/fhir/Questionnaire?identifier=preoperative-questionnaire', - query: { identifier: 'preoperative-questionnaire' }, - headers: { - referer: 'http://localhost:9000/' - } - } - - // when - const auditEvent = auditPlugin.buildAuditEvent('read', ctx, 'Patient', resource) - - t.ok(auditEvent) - t.ok(auditEvent.event) - t.ok(auditEvent.participant) - t.ok(auditEvent.source) - t.ok(auditEvent.object) - - done() - }) - }) -}) - -tap.test('Audit Plugin - create audit via fhirCore.create()', { autoend: true }, (t) => { - t.test('should build and create a new audit event in the AuditEvent collection', (t) => { - testServerInit(t, (db, done) => { - // when - const pat = _.cloneDeep(require('./resources/Patient-1.json')) - delete pat.id - - request.post({ - url: 'http://localhost:3447/fhir/Patient', - headers: headers, - body: pat, - json: true - }, (err, res, body) => { - t.error(err) - t.equal(res.statusCode, 201, 'response status code should be 201') - - const cPatient = db.collection('Patient') - cPatient.findOne({}, (err, patient) => { - t.error(err) - t.ok(patient, 'patient should exist in mongo') - - const c = db.collection('AuditEvent') - c.findOne({}, (err, result) => { - t.error(err) - t.ok(result, 'result should exist in mongo') - - t.equals(result.participant[0].role[0].coding[0].system, 'hearth:user-roles', 'should have a value of \'hearth:user-roles\'') - t.equals(result.participant[0].role[0].coding[0].code, 'sysadmin', 'should have a value of \'sysadmin\'') - t.equals(result.participant[0].altId, 'sysadmin@jembi.org') - t.equals(result.object[0].reference.reference, `Patient/${patient.id}`) - - done() - }) - }) - }) - }) - }) -}) diff --git a/test/binary.js b/test/binary.js index 2aea5be5..7a69ce28 100644 --- a/test/binary.js +++ b/test/binary.js @@ -58,7 +58,7 @@ tap.test('Binary - should return all results when there are no parameters', (t) binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -82,7 +82,7 @@ tap.test('Binary - should search by contentType', (t) => { binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary?contenttype=application/pdf', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -106,7 +106,7 @@ tap.test('Binary - should search by contentType - none found', (t) => { binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary?contenttype=application/x-binary', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -126,7 +126,7 @@ tap.test('Binary - should fail for invalid Binary resource ID', (t) => { binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary/77ssssssssssssssssssssss', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -146,7 +146,7 @@ tap.test('Binary - should search for a specific Binary document', (t) => { binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary?contenttype=application/xml', - headers: headers, + headers, json: true }, (err, res, searchBody) => { // then @@ -154,7 +154,7 @@ tap.test('Binary - should search for a specific Binary document', (t) => { request({ url: `http://localhost:3447/fhir/Binary/${searchBody.entry[0].resource.id}`, - headers: headers, + headers, json: true }, (err, res, readBody) => { // then @@ -176,7 +176,7 @@ tap.test('Binary - should search for a specific Binary document, and return the binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary?contenttype=application/pdf', - headers: headers, + headers, json: true }, (err, res, searchBody) => { // then @@ -214,7 +214,7 @@ tap.test('Binary - should search for a specific Binary document, and return the binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary?contenttype=application/pdf', - headers: headers, + headers, json: true }, (err, res, searchBody) => { // then @@ -256,7 +256,7 @@ tap.test('Binary - preInteractionHandlers.create - should insert binary data', ( // when request.post({ url: 'http://localhost:3447/fhir/Binary', - headers: headers, + headers, body: binaryResource, json: true }, (err, res, body) => { @@ -310,7 +310,7 @@ tap.test('Binary - preInteractionHandlers.update - should update reference to bi // when request.post({ url: 'http://localhost:3447/fhir/Binary', - headers: headers, + headers, body: binaryResource, json: true }, (err, res, body) => { @@ -332,7 +332,7 @@ tap.test('Binary - preInteractionHandlers.update - should update reference to bi br.contentType = 'image/jpeg' request.put({ url: 'http://localhost:3447/fhir/Binary/' + idToUpdate, - headers: headers, + headers, body: br, json: true }, (err, res, body) => { @@ -386,7 +386,7 @@ tap.test('Binary - preInteractionHandlers writeToGridFS - should return bad requ delete testResource.content request.post({ url: 'http://localhost:3447/fhir/Binary', - headers: headers, + headers, body: testResource, json: true }, (err, res, body) => { @@ -413,7 +413,7 @@ tap.test('Binary - postInteractionHandlers.read - should fetch binary resource w binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary?contenttype=application/xml', - headers: headers, + headers, json: true }, (err, res, searchBody) => { // then @@ -422,7 +422,7 @@ tap.test('Binary - postInteractionHandlers.read - should fetch binary resource w // check request binary data is same as original data request({ url: `http://localhost:3447/fhir/Binary/${searchBody.entry[0].resource.id}`, - headers: headers, + headers, json: true }, (err, res, readBody) => { // then @@ -443,7 +443,7 @@ tap.test('Binary - postInteractionHandlers.search - should fetch searched binary binaryTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Binary?contenttype=application/pdf', - headers: headers, + headers, json: true }, (err, res, body) => { // then diff --git a/test/composition.js b/test/composition.js index 8b175adc..3ae475ee 100644 --- a/test/composition.js +++ b/test/composition.js @@ -52,7 +52,7 @@ tap.test('Composition - should return all results when there are no parameters', CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -76,7 +76,7 @@ tap.test('Composition - should fail for invalid Composition resource ID', (t) => CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition/77ssssssssssssssssssssss', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -96,7 +96,7 @@ tap.test('Composition - should fetch Composition for valid resource ID', (t) => CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -107,7 +107,7 @@ tap.test('Composition - should fetch Composition for valid resource ID', (t) => request({ url: `http://localhost:3447/fhir/Composition/${body.entry[0].resource.id}`, - headers: headers, + headers, json: true }, (err, res, resource) => { // then @@ -125,7 +125,7 @@ tap.test('composition should be found with matching status', (t) => { CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?status=final', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -145,7 +145,7 @@ tap.test('composition should not find any result with an unknown status', (t) => CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?status=invalid', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -164,7 +164,7 @@ tap.test('composition should be found with matching section.entry reference', (t CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?entry=Condition/stroke', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -185,7 +185,7 @@ tap.test('composition should not find any result with an unknown section.entry r CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?entry=invalid', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -204,7 +204,7 @@ tap.test('composition should be found matching multiple section.entry reference' CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?entry=Condition/example-one&entry=Condition/example-two&entry=Condition/example-three', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -225,7 +225,7 @@ tap.test('multiple compositions should be found matching section.entry reference CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?entry=Condition/example-1', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -248,7 +248,7 @@ tap.test('composition should not be found when section.entry does not match both CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?entry=Condition/stroke&entry=undefined', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -267,7 +267,7 @@ tap.test('composition should be found with matching patient', (t) => { CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?patient=Patient/example-patient-id', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -287,7 +287,7 @@ tap.test('composition should be found with matching subject', (t) => { CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?subject=Patient/example-patient-id', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -307,7 +307,7 @@ tap.test('composition should not be found when subject.reference does not match CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?patient=123', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -326,7 +326,7 @@ tap.test('composition should not be found when subject.reference does not match CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?subject=123', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -345,7 +345,7 @@ tap.test('composition should find some results with a specific type', (t) => { CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?type=abc123def', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -363,7 +363,7 @@ tap.test('composition should find zero results when type does not exist', (t) => CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?type=noneexisting', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -379,7 +379,7 @@ tap.test('composition should find results with \'system\' and \'code\' being sup CompositionTestEnv(t, (db, refs, done) => { request({ url: 'http://localhost:3447/fhir/Composition?type=http://loinc.org|abc123def', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/content-negotiation.js b/test/content-negotiation.js index f9adc50f..c7224911 100644 --- a/test/content-negotiation.js +++ b/test/content-negotiation.js @@ -179,7 +179,7 @@ tap.test('_format parameter support', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=1007211154902&_format=text/turtle', - headers: headers + headers }, (err, res, body) => { t.error(err) @@ -196,7 +196,7 @@ tap.test('_format parameter support', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=1007211154902&_format=application/fhir%2Bxml', - headers: headers + headers }, (err, res, body) => { t.error(err) @@ -227,7 +227,7 @@ tap.test('_format parameter support', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=1007211154902&_format=application/fhir%2Bjson', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/core.js b/test/core.js index abe55705..e2433a0e 100644 --- a/test/core.js +++ b/test/core.js @@ -37,7 +37,7 @@ const requestAndAssertResponseOperationOutcome = (tp, t, done) => { // When request({ url: `http://localhost:3447/fhir/Patient/${tp.id}`, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -64,7 +64,7 @@ tap.test('Core', { autoend: true }, (t) => { const testParams = { id: 'non-existent-id', - expectedResponse: expectedResponse, + expectedResponse, statusCode: 404 } @@ -89,8 +89,8 @@ tap.test('Core', { autoend: true }, (t) => { } const testParams = { - id: id, - expectedResponse: expectedResponse, + id, + expectedResponse, statusCode: 410 } @@ -114,18 +114,18 @@ tap.test('Core', { autoend: true }, (t) => { request({ url: `http://localhost:3447/fhir/Patient/${id}`, method: 'DELETE', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) t.equal(res.statusCode, 204) - c.findOne({ id: id }, (err, doc) => { + c.findOne({ id }, (err, doc) => { t.error(err) t.notOk(doc) const cHistory = db.collection('Patient_history') - cHistory.findOne({ id: id }, (err, doc) => { + cHistory.findOne({ id }, (err, doc) => { t.error(err) t.ok(doc) t.equal(doc.id, id, 'Deleted doc should exist in history') @@ -151,18 +151,18 @@ tap.test('Core', { autoend: true }, (t) => { request({ url: `http://localhost:3447/fhir/Patient/${id}?_purge=true`, method: 'DELETE', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) t.equal(res.statusCode, 204) - c.findOne({ id: id }, (err, doc) => { + c.findOne({ id }, (err, doc) => { t.error(err) t.notOk(doc) const cHistory = db.collection('Patient_history') - cHistory.findOne({ id: id }, (err, doc) => { + cHistory.findOne({ id }, (err, doc) => { t.error(err) t.notOk(doc, 'Deleted doc should not exist in history') @@ -187,18 +187,18 @@ tap.test('Core', { autoend: true }, (t) => { request({ url: `http://localhost:3447/fhir/Patient/${id}?_purge=false`, method: 'DELETE', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) t.equal(res.statusCode, 204) - c.findOne({ id: id }, (err, doc) => { + c.findOne({ id }, (err, doc) => { t.error(err) t.notOk(doc) const cHistory = db.collection('Patient_history') - cHistory.findOne({ id: id }, (err, doc) => { + cHistory.findOne({ id }, (err, doc) => { t.error(err) t.ok(doc) t.equal(doc.id, id, 'Deleted doc should exist in history') @@ -216,7 +216,7 @@ tap.test('Core', { autoend: true }, (t) => { request({ url: 'http://localhost:3447/fhir/Patient/non-existent-id', method: 'DELETE', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -254,7 +254,7 @@ tap.test('Core', { autoend: true }, (t) => { url: 'http://localhost:3447/fhir/Patient/$match', method: 'POST', body: testBody, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -279,7 +279,7 @@ tap.test('Core', { autoend: true }, (t) => { url: 'http://localhost:3447/fhir/Patient/$match', method: 'POST', body: testBody, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -304,7 +304,7 @@ tap.test('Core', { autoend: true }, (t) => { url: 'http://localhost:3447/fhir/Patient/$match', method: 'POST', body: testBody, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -328,7 +328,7 @@ tap.test('Core', { autoend: true }, (t) => { url: 'http://localhost:3447/fhir/Patient/$match', method: 'POST', body: testBody, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -352,7 +352,7 @@ tap.test('Core', { autoend: true }, (t) => { url: 'http://localhost:3447/fhir/Binary/$match', method: 'POST', body: testBody, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -377,7 +377,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -395,7 +395,7 @@ tap.test('Core', { autoend: true }, (t) => { request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: updatedPerson, json: true }, (err, res) => { @@ -424,7 +424,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -443,7 +443,7 @@ tap.test('Core', { autoend: true }, (t) => { request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: updatedPerson, json: true }, (err, res) => { @@ -465,7 +465,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -484,7 +484,7 @@ tap.test('Core', { autoend: true }, (t) => { request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: updatedPerson, json: true }, (err, res) => { @@ -516,7 +516,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -533,7 +533,7 @@ tap.test('Core', { autoend: true }, (t) => { request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: updatedPerson, json: true }, (err, res) => { @@ -542,7 +542,7 @@ tap.test('Core', { autoend: true }, (t) => { request.get({ url: `http://localhost:3447/fhir/Patient/${id}/_history`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -569,7 +569,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -588,7 +588,7 @@ tap.test('Core', { autoend: true }, (t) => { request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: updatedPerson, json: true }, (err, res) => { @@ -597,7 +597,7 @@ tap.test('Core', { autoend: true }, (t) => { request.get({ url: `http://localhost:3447/fhir/Patient/${id}/_history?_since=${since}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -623,7 +623,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -640,7 +640,7 @@ tap.test('Core', { autoend: true }, (t) => { request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: updatedPerson, json: true }, (err, res) => { @@ -653,7 +653,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -665,7 +665,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -676,7 +676,7 @@ tap.test('Core', { autoend: true }, (t) => { request.delete({ url: `http://localhost:3447/fhir/Patient/${nikitaId}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -684,7 +684,7 @@ tap.test('Core', { autoend: true }, (t) => { request.get({ url: 'http://localhost:3447/fhir/Patient/_history', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -721,7 +721,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -738,7 +738,7 @@ tap.test('Core', { autoend: true }, (t) => { request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: updatedPerson, json: true }, (err, res) => { @@ -751,7 +751,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -765,7 +765,7 @@ tap.test('Core', { autoend: true }, (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -776,7 +776,7 @@ tap.test('Core', { autoend: true }, (t) => { request.delete({ url: `http://localhost:3447/fhir/Patient/${nikitaId}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -784,7 +784,7 @@ tap.test('Core', { autoend: true }, (t) => { request.get({ url: `http://localhost:3447/fhir/Patient/_history?_since=${since}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/doc-manifest.js b/test/doc-manifest.js index 4e0a8c1b..fdbced0d 100644 --- a/test/doc-manifest.js +++ b/test/doc-manifest.js @@ -48,7 +48,7 @@ tap.test('DocumentManifest - should return all results when there are no paramet // when request({ url: 'http://localhost:3447/fhir/DocumentManifest', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -80,7 +80,7 @@ tap.test('DocumentManifest - should search by author reference', (t) => { // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?author=Device/12345', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -111,7 +111,7 @@ tap.test('DocumentManifest - should search by content-ref reference', (t) => { // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?content-ref=DocumentReference/54321', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -205,7 +205,7 @@ tap.test('DocumentManifest - should search by identifier', (t) => { // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?identifier=sample-system|randomnumber-1234567', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -237,7 +237,7 @@ tap.test('DocumentManifest - should search by subject for the supplied patient p // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?patient=Patient/123', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -268,7 +268,7 @@ tap.test('DocumentManifest - should search by recipient reference', (t) => { // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?recipient=Patient/12345', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -301,7 +301,7 @@ tap.test('DocumentManifest - should search by related-id reference', (t) => { request({ // url: 'http://localhost:3447/fhir/DocumentManifest?related-id=sample-system|randomnumber-1234567', url: 'http://localhost:3447/fhir/DocumentManifest?related-id=sample-system|randomnumber-1234567', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -333,7 +333,7 @@ tap.test('DocumentManifest - should search by related-ref reference', (t) => { // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?related-ref=DocumentReference/54321', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -395,7 +395,7 @@ tap.test('DocumentManifest - should search by status', (t) => { // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?status=superseded', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -426,7 +426,7 @@ tap.test('DocumentManifest - should search by subject for the supplied subject p // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?subject=Patient/123', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -468,7 +468,7 @@ tap.test('DocumentManifest - should search by type', (t) => { // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?type=testSys|testCode', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -502,7 +502,7 @@ tap.test('DocumentManifest - should perform chained search by patient.identifier // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?patient.identifier=pshr:sanid|1007211154902', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -538,7 +538,7 @@ tap.test('DocumentManifest - should perform chained search by patient.identifier // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?patient.identifier=pshr:passport:za|1001113333933', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -568,7 +568,7 @@ tap.test('DocumentManifest - should perform chained search by patient.identifier // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?patient.identifier=pshr:sanid|no-exist', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -600,7 +600,7 @@ tap.test('DocumentManifest - should perform chained search by author.given', (t) // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?author.given=Alison', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -635,7 +635,7 @@ tap.test('DocumentManifest - should perform chained search by author.family', (t // when request({ url: 'http://localhost:3447/fhir/DocumentManifest?author.family=Tobi', - headers: headers, + headers, json: true }, (err, res, body) => { // then diff --git a/test/encounter.js b/test/encounter.js index ac2374c0..5dd0f4b5 100644 --- a/test/encounter.js +++ b/test/encounter.js @@ -57,7 +57,7 @@ tap.test('Encounter resource tests', { autoend: true }, (t) => { // search for all encounters under Greenwood (should match patient Charlton with encounter for Alison) request({ url: `http://localhost:3447/fhir/Encounter?practitioner.organization=${orgs.greenwood.organization.id}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -77,7 +77,7 @@ tap.test('Encounter resource tests', { autoend: true }, (t) => { // search for all encounters request({ url: 'http://localhost:3447/fhir/Encounter', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/ihe/mhd.js b/test/ihe/mhd.js index c1316daf..a20fc0e9 100644 --- a/test/ihe/mhd.js +++ b/test/ihe/mhd.js @@ -27,9 +27,9 @@ const loadResource = (filename, conf) => { const post = (host, resourceType, headers, body, onSuccess) => { const url = `${host}/${resourceType}` request.post({ - url: url, - body: body, - headers: headers + url, + body, + headers }, (err, res, body) => { if (err) { throw err @@ -162,7 +162,7 @@ const MHDScenario = (headers, t) => { request.post({ url: host, body: documentBundle, - headers: headers + headers }, (err, res, body) => { t.error(err, `POST ${host}`) t.equals(res.statusCode, 200, 'status code should be 200') @@ -202,8 +202,8 @@ const MHDScenario = (headers, t) => { const url = `${host}/${path}` return new Promise((resolve) => { request({ - url: url, - headers: headers + url, + headers }, (err, res, body) => { t.error(err, `GET ${url}`) t.equals(res.statusCode, 200, 'response status code should be 200') @@ -247,8 +247,8 @@ const MHDScenario = (headers, t) => { const url = `${host}/${path}` return new Promise((resolve) => { request({ - url: url, - headers: headers + url, + headers }, (err, res, body) => { t.error(err, `GET ${url}`) t.equals(res.statusCode, 200, 'response status code should be 200') @@ -303,8 +303,8 @@ const MHDScenario = (headers, t) => { const url = `${host}/${path}` return new Promise((resolve) => { request({ - url: url, - headers: headers + url, + headers }, (err, res, body) => { t.error(err, `GET ${url}`) t.equals(res.statusCode, 200, 'response status code should be 200') @@ -322,7 +322,7 @@ const MHDScenario = (headers, t) => { const url = `${host}/${path}` return new Promise((resolve) => { request({ - url: url, + url, headers: updatedHeaders }, (err, res, body) => { t.error(err, `GET ${url}`) diff --git a/test/ihe/pdqm.js b/test/ihe/pdqm.js index 4d6b5bd5..f104dcc5 100644 --- a/test/ihe/pdqm.js +++ b/test/ihe/pdqm.js @@ -55,7 +55,7 @@ tap.test('PDQm Query parameters: ', { autoend: true }, (t) => { request({ url: `http://localhost:3447/fhir/Patient?${querystring.stringify(queryParams)}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -77,7 +77,7 @@ tap.test('PDQm Query parameters: ', { autoend: true }, (t) => { request({ url: `http://localhost:3447/fhir/Patient?${querystring.stringify(queryParams)}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/ihe/pixm.js b/test/ihe/pixm.js index 672b7a8c..2d5fad0f 100644 --- a/test/ihe/pixm.js +++ b/test/ihe/pixm.js @@ -122,7 +122,7 @@ const requestAndAssertParameters = (tp, t, done) => { request({ url: `http://localhost:3447/fhir/Patient/$ihe-pix?${escapedQueryString}`, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -270,7 +270,7 @@ const requestAndAssertOperationOutcome = (tp, t, done) => { // When request({ url: `http://localhost:3447/fhir/Patient/$ihe-pix?${tp.sourceIdentifier}&${tp.targetSystem}`, - headers: headers, + headers, json: true }, (err, res, body) => { // Then diff --git a/test/immunization.js b/test/immunization.js index 76a33736..dddc0bcc 100644 --- a/test/immunization.js +++ b/test/immunization.js @@ -62,7 +62,7 @@ tap.test('immunization should support searches on encounter', (t) => { basicImmunizationTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Immunization?encounter=22222', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/location.js b/test/location.js index fc35891f..fefadaeb 100644 --- a/test/location.js +++ b/test/location.js @@ -51,7 +51,7 @@ tap.test('Location tests', { autoend: true }, (t) => { // when request({ url: 'http://localhost:3447/fhir/Location?name=Greenwood', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -83,7 +83,7 @@ tap.test('Location tests', { autoend: true }, (t) => { // when request({ url: 'http://localhost:3447/fhir/Location', - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -115,7 +115,7 @@ tap.test('Location tests', { autoend: true }, (t) => { // when request({ url: `http://localhost:3447/fhir/Location/${ref.split('/').pop()}?_summary=true`, - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -146,7 +146,7 @@ tap.test('Location tests', { autoend: true }, (t) => { // when request({ url: `http://localhost:3447/fhir/Location/${ref.split('/').pop()}`, - headers: headers, + headers, json: true }, (err, res, body) => { // then @@ -171,7 +171,7 @@ tap.test('Location tests', { autoend: true }, (t) => { // when request({ url: 'http://localhost:3447/fhir/Location?notsupported=meh', - headers: headers, + headers, json: true }, (err, res, body) => { // then diff --git a/test/matching-queue-plugin.js b/test/matching-queue-plugin.js index aaa04a7a..9033af34 100644 --- a/test/matching-queue-plugin.js +++ b/test/matching-queue-plugin.js @@ -113,7 +113,7 @@ tap.test('Matching Queue Plugin - should add the patient resource to the matchin // when request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -146,7 +146,7 @@ tap.test('Matching Queue Plugin - should add the patient resource to the matchin // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -156,7 +156,7 @@ tap.test('Matching Queue Plugin - should add the patient resource to the matchin const update = { resourceType: 'Patient', - id: id, + id, active: true, name: [ { @@ -168,7 +168,7 @@ tap.test('Matching Queue Plugin - should add the patient resource to the matchin // update request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: update, json: true }, (err, res) => { @@ -177,7 +177,7 @@ tap.test('Matching Queue Plugin - should add the patient resource to the matchin request({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -214,7 +214,7 @@ tap.test('Matching Queue Plugin - should return 400 if posted parameters resourc // when request.post({ url: 'http://localhost:3447/fhir/Procedure', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { @@ -242,7 +242,7 @@ tap.test('Matching Queue Plugin - should add the location resource to the matchi // when request.post({ url: 'http://localhost:3447/fhir/Location', - headers: headers, + headers, body: resource, json: true }, (err, res, body) => { diff --git a/test/matching.js b/test/matching.js index 7c076edd..0cd0e0ec 100644 --- a/test/matching.js +++ b/test/matching.js @@ -100,7 +100,7 @@ const requestAndAssertResponseBundle = (tp, t, done) => { // When request({ url: 'http://localhost:3447/fhir/Patient/$match', - headers: headers, + headers, method: 'POST', body: tp.body, json: true @@ -139,7 +139,7 @@ tap.test('should return 404 if no certain matches found and onlyCertainMatches p url: 'http://localhost:3447/fhir/Patient/$match', method: 'POST', body: testBody, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -173,7 +173,7 @@ tap.test('should return 409 if multiple certain matches found and onlyCertainMat url: 'http://localhost:3447/fhir/Patient/$match', method: 'POST', body: testBody, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -206,7 +206,7 @@ tap.test('should return 200 if no matches are found and onlyCertainMatches not t url: 'http://localhost:3447/fhir/Patient/$match', method: 'POST', body: testBody, - headers: headers, + headers, json: true }, (err, res, body) => { // Then @@ -255,7 +255,7 @@ tap.test('should return 200 and a bundle of patients with search scores exactly const testParams = { body: testBody, - expectedResponse: expectedResponse, + expectedResponse, statusCode: 200 } @@ -310,7 +310,7 @@ tap.test('should return 200 and a bundle of patients matching on name.given=leve const testParams = { body: testBody, - expectedResponse: expectedResponse, + expectedResponse, statusCode: 200 } @@ -337,7 +337,7 @@ tap.test('should return 200 and a bundle of patients exactly matching the phonet // When request({ url: 'http://localhost:3447/fhir/Patient/$match', - headers: headers, + headers, method: 'POST', body: testBody, json: true @@ -375,7 +375,7 @@ tap.test('should return 200 and a bundle of patients matching the phonetic repre // When request({ url: 'http://localhost:3447/fhir/Patient/$match', - headers: headers, + headers, method: 'POST', body: testBody, json: true @@ -447,7 +447,7 @@ tap.test('should discriminate using an exact match', (t) => { const testParams = { body: testBody, - expectedResponse: expectedResponse, + expectedResponse, statusCode: 200 } @@ -510,7 +510,7 @@ tap.test('should discriminate using a partial match', (t) => { const testParams = { body: testBody, - expectedResponse: expectedResponse, + expectedResponse, statusCode: 200 } @@ -551,7 +551,7 @@ tap.test('should discriminate using a exact match on representation', (t) => { // When request({ url: 'http://localhost:3447/fhir/Patient/$match', - headers: headers, + headers, method: 'POST', body: testBody, json: true @@ -598,7 +598,7 @@ tap.test('should return an error when an invalid algorithm is used for in the di // When request({ url: 'http://localhost:3447/fhir/Patient/$match', - headers: headers, + headers, method: 'POST', body: testBody, json: true diff --git a/test/observation.js b/test/observation.js index f1f92b62..c036fe64 100644 --- a/test/observation.js +++ b/test/observation.js @@ -48,7 +48,7 @@ tap.test('observation should support searches on encounter', (t) => { basicObservationTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Observation?encounter=22222', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/organization.js b/test/organization.js index 39e315d9..e1c04bac 100644 --- a/test/organization.js +++ b/test/organization.js @@ -45,7 +45,7 @@ tap.test('organization fetch all organizations', (t) => { basicOrganizationTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Organization', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -66,7 +66,7 @@ tap.test('organization should support searches on identifier', (t) => { basicOrganizationTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Organization?identifier=543219876', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -85,7 +85,7 @@ tap.test('organization should support searches on identifier with a system speci basicOrganizationTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Organization?identifier=pshr:practice:number|543219876', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -104,7 +104,7 @@ tap.test('organization should support searches with a _summary flag', (t) => { basicOrganizationTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Organization?_summary=true', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/patient.js b/test/patient.js index 52a248e1..3e317749 100644 --- a/test/patient.js +++ b/test/patient.js @@ -44,7 +44,7 @@ tap.test('Query Param - active: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?active=false', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -62,7 +62,7 @@ tap.test('Query Param - active: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?active=true', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -84,7 +84,7 @@ tap.test('Query Param - address: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address=2760%20Mlosi', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -103,7 +103,7 @@ tap.test('Query Param - address: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address:exact=2760%20Mlosi%20Street', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -122,7 +122,7 @@ tap.test('Query Param - address: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address=2760&address=Western%20Cape&address:exact=Kraaifontein', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -141,7 +141,7 @@ tap.test('Query Param - address: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address=1st&address=Eastern Cape&address:exact=Block 1', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -159,7 +159,7 @@ tap.test('Query Param - address: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address=Kraaifontein&address=Western Cape', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -181,7 +181,7 @@ tap.test('Query Param - address-city: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-city=Cape%20Town', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -200,7 +200,7 @@ tap.test('Query Param - address-city: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-city=Durban', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -220,7 +220,7 @@ tap.test('Query Param - address-country: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-country=South%20Africa', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -239,7 +239,7 @@ tap.test('Query Param - address-country: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-country=USA', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -259,7 +259,7 @@ tap.test('Query Param - address-postalcode: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-postalcode=7570', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -278,7 +278,7 @@ tap.test('Query Param - address-postalcode: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-postalcode=1122', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -298,7 +298,7 @@ tap.test('Query Param - address-state: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-state=Western%20Cape', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -317,7 +317,7 @@ tap.test('Query Param - address-state: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-state=KwaZulu-Natal', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -337,7 +337,7 @@ tap.test('Query Param - address - strings/startsWith/exact: ', { autoend: true } basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-state:contains=Cape', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -356,7 +356,7 @@ tap.test('Query Param - address - strings/startsWith/exact: ', { autoend: true } basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-state=western%20cape', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -375,7 +375,7 @@ tap.test('Query Param - address - strings/startsWith/exact: ', { autoend: true } basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-state=Western', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -394,7 +394,7 @@ tap.test('Query Param - address - strings/startsWith/exact: ', { autoend: true } basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-state:exact=Western%20Cape', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -413,7 +413,7 @@ tap.test('Query Param - address - strings/startsWith/exact: ', { autoend: true } basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?address-state:exact=Western%20Cap', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -434,7 +434,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=1970-07-21', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -454,7 +454,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=eq1970-07-21', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -474,7 +474,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=eq1970', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -495,7 +495,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=eq1970-07', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -516,7 +516,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=ne1970-07-21', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -536,7 +536,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=eq1970&birthdate=ne1970-07-30', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -556,7 +556,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=ge1970-01&birthdate=le1970-10-25', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -577,7 +577,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=le1970-07-25', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -597,7 +597,7 @@ tap.test('Query Param - birthdate: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?birthdate=ge1970-07-25', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -618,7 +618,7 @@ tap.test('Query Param - family: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?family=Matinyana', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -637,7 +637,7 @@ tap.test('Query Param - family: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?family=doesntexist', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -655,7 +655,7 @@ tap.test('Query Param - family: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?family:exact=Cook', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -674,7 +674,7 @@ tap.test('Query Param - family: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?family=Cook&family=Spray', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -695,7 +695,7 @@ tap.test('Query Param - Gender: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?gender=male', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -714,7 +714,7 @@ tap.test('Query Param - Gender: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?gender=unknown', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -734,7 +734,7 @@ tap.test('Query Param - given: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?given=Charlton', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -753,7 +753,7 @@ tap.test('Query Param - given: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?given=charlton', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -773,7 +773,7 @@ tap.test('Query Param - given: ', { autoend: true }, (t) => { // search for 'cha' should match 'Charlton' request({ url: 'http://localhost:3447/fhir/Patient?given=cha', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -792,7 +792,7 @@ tap.test('Query Param - given: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?given=Charlton&given=Joseph', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -813,7 +813,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=1007211154902', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -832,7 +832,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=pshr:sanid|1007211154902', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -851,7 +851,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=NOTTHERE', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -870,7 +870,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=pshr:sanid|1007211154902&identifier=pshr:passport:za|1001113333933', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -890,7 +890,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=|no-system-identifier', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -911,7 +911,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=1007211154902&identifier=1001113333933', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -931,7 +931,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=pshr:sanid|,pshr:passport:za|', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -952,7 +952,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=non:existent:domain|', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -974,7 +974,7 @@ tap.test('Query Param - identifier: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=pshr:sanid|,non:existent:domain|', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -997,7 +997,7 @@ tap.test('Query Param - telecom: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?telecom=email|charlton@email.com', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1015,7 +1015,7 @@ tap.test('Query Param - telecom: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?telecom=email|charlton@email.com&telecom=phone|27831234567', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1033,7 +1033,7 @@ tap.test('Query Param - telecom: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?telecom=email|not-mine@email.com', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1053,7 +1053,7 @@ tap.test('Query Param (conditional) - email: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?email=charlton@email.com', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1074,7 +1074,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?mothersMaidenName.given=Mary', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1093,7 +1093,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?mothersMaidenName.given=Mary&mothersMaidenName.given=Jane', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1112,7 +1112,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?mothersMaidenName.given=NoMatch', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1130,7 +1130,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?mothersMaidenName.family=Smith', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1149,7 +1149,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?mothersMaidenName.family=Smith&mothersMaidenName.family=Mc', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1168,7 +1168,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?mothersMaidenName.family=Smit', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1188,7 +1188,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?mothersMaidenName.family=Smit&mothersMaidenName.family:exact=Smith', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1207,7 +1207,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?mothersMaidenName.family=NoMatch', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1225,7 +1225,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?multipleBirthInteger=2', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1244,7 +1244,7 @@ tap.test('pediatrics query parameters', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?multipleBirthInteger=5', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1264,7 +1264,7 @@ tap.test('Query Param - combined parameters: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?given=charlton&family=matinyana', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1278,7 +1278,7 @@ tap.test('Query Param - combined parameters: ', { autoend: true }, (t) => { // shouldn't match charlton - family name 'doe' request({ url: 'http://localhost:3447/fhir/Patient?given=charlton&family=doe', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1297,7 +1297,7 @@ tap.test('Query Param - combined parameters: ', { autoend: true }, (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient?identifier=1007211154902&given=charlton', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1311,7 +1311,7 @@ tap.test('Query Param - combined parameters: ', { autoend: true }, (t) => { // shouldn't match charlton - search on different name request({ url: 'http://localhost:3447/fhir/Patient?identifier=1007211154902&given=jane', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1339,7 +1339,7 @@ tap.test('patient should be saved correctly', (t) => { request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1387,7 +1387,7 @@ tap.test('patient endpoint should return an error', (t) => { request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1418,7 +1418,7 @@ tap.test('patient should support read', (t) => { request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1428,7 +1428,7 @@ tap.test('patient should support read', (t) => { request({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1461,7 +1461,7 @@ tap.test('patient read should respond with 404 if not found', (t) => { basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient/573aff9fed5696d633aaaaaa', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1484,7 +1484,7 @@ tap.test('patient should support vread', (t) => { request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1492,7 +1492,7 @@ tap.test('patient should support vread', (t) => { request({ url: `http://localhost:3447${res.headers.location}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1527,7 +1527,7 @@ tap.test('vread should respond with 404 if version not found', (t) => { request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1537,7 +1537,7 @@ tap.test('vread should respond with 404 if version not found', (t) => { request({ url: `http://localhost:3447/fhir/Patient/${id}/_history/2222`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1569,7 +1569,7 @@ tap.test('patient should support update', (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1579,7 +1579,7 @@ tap.test('patient should support update', (t) => { const id = res.headers.location.replace('/fhir/Patient/', '').replace(/\/_history\/.*/, '') const update = { resourceType: 'Patient', - id: id, + id, active: true, name: [ { @@ -1591,7 +1591,7 @@ tap.test('patient should support update', (t) => { // update request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: update, json: true }, (err, res) => { @@ -1602,7 +1602,7 @@ tap.test('patient should support update', (t) => { // read request({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1615,7 +1615,7 @@ tap.test('patient should support update', (t) => { // vread - history should contain original request({ url: `http://localhost:3447${originalLocation}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1652,7 +1652,7 @@ tap.test('patient should support multiple updates', (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1662,7 +1662,7 @@ tap.test('patient should support multiple updates', (t) => { const id = res.headers.location.replace('/fhir/Patient/', '').replace(/\/_history\/.*/, '') const update = { resourceType: 'Patient', - id: id, + id, active: true, name: [ { @@ -1674,7 +1674,7 @@ tap.test('patient should support multiple updates', (t) => { // update request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: update, json: true }, (err, res) => { @@ -1687,7 +1687,7 @@ tap.test('patient should support multiple updates', (t) => { // read request({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1700,7 +1700,7 @@ tap.test('patient should support multiple updates', (t) => { // vread - history should contain original request({ url: `http://localhost:3447${originalLocation}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1712,7 +1712,7 @@ tap.test('patient should support multiple updates', (t) => { const update2 = { resourceType: 'Patient', - id: id, + id, active: true, name: [ { @@ -1724,7 +1724,7 @@ tap.test('patient should support multiple updates', (t) => { // update request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: update2, json: true }, (err, res) => { @@ -1735,7 +1735,7 @@ tap.test('patient should support multiple updates', (t) => { // read request({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1748,7 +1748,7 @@ tap.test('patient should support multiple updates', (t) => { // vread - history should contain original request({ url: `http://localhost:3447${originalLocation}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1761,7 +1761,7 @@ tap.test('patient should support multiple updates', (t) => { // vread - history should contain the first update request({ url: `http://localhost:3447${updateLocation}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1802,7 +1802,7 @@ tap.test('update should replace existing documents', (t) => { // save request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1811,7 +1811,7 @@ tap.test('update should replace existing documents', (t) => { const id = res.headers.location.replace('/fhir/Patient/', '').replace(/\/_history\/.*/, '') const update = { resourceType: 'Patient', - id: id, + id, active: true, name: [ { @@ -1823,7 +1823,7 @@ tap.test('update should replace existing documents', (t) => { // update request.put({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, body: update, json: true }, (err, res) => { @@ -1834,7 +1834,7 @@ tap.test('update should replace existing documents', (t) => { // read request({ url: `http://localhost:3447/fhir/Patient/${id}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1868,7 +1868,7 @@ tap.test('read should respond with 404 not found if invalid value for id is used basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient/th%21s%21sb%24d', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1883,7 +1883,7 @@ tap.test('vread should respond with 404 not found if invalid value for vid is us basicPatientTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/Patient/1234/_history/th%21s%21sb%24d', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1906,7 +1906,7 @@ tap.test('patient should support standard _id parameter', (t) => { request.post({ url: 'http://localhost:3447/fhir/Patient', - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1916,7 +1916,7 @@ tap.test('patient should support standard _id parameter', (t) => { request({ url: `http://localhost:3447/fhir/Patient?_id=${id}`, - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -1952,7 +1952,7 @@ tap.test('patient update should insert document when boolean updateCreate true a request.put({ url: `http://localhost:3447/fhir/Patient/${pat.id}`, - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -1985,7 +1985,7 @@ tap.test('patient update should insert document when string updateCreate true an request.put({ url: `http://localhost:3447/fhir/Patient/${pat.id}`, - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -2018,7 +2018,7 @@ tap.test('patient update should error when boolean updateCreate false and docume request.put({ url: `http://localhost:3447/fhir/Patient/${pat.id}`, - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -2050,7 +2050,7 @@ tap.test('patient update should error when string updateCreate false and documen request.put({ url: `http://localhost:3447/fhir/Patient/${pat.id}`, - headers: headers, + headers, body: pat, json: true }, (err, res, body) => { @@ -2102,7 +2102,7 @@ tap.test('patient should support complex chained parameters', (t) => { env.createResource(t, pat, 'Patient', () => { request({ url: 'http://localhost:3447/fhir/Patient?careprovider.location.name=Greenwood', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/resources/jwt-certs/privKey.pem b/test/resources/jwt-certs/privKey.pem index ac2bf238..42ea4725 100644 --- a/test/resources/jwt-certs/privKey.pem +++ b/test/resources/jwt-certs/privKey.pem @@ -1,15 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -MIICWwIBAAKBgQDdlatRjRjogo3WojgGHFHYLugdUWAY9iR3fy4arWNA1KoS8kVw -33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQsHUfQrSDv+MuSUMAe8jzKE4qW -+jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5Do2kQ+X5xK9cipRgEKwIDAQAB -AoGAD+onAtVye4ic7VR7V50DF9bOnwRwNXrARcDhq9LWNRrRGElESYYTQ6EbatXS -3MCyjjX2eMhu/aF5YhXBwkppwxg+EOmXeh+MzL7Zh284OuPbkglAaGhV9bb6/5Cp -uGb1esyPbYW+Ty2PC0GSZfIXkXs76jXAu9TOBvD0ybc2YlkCQQDywg2R/7t3Q2OE -2+yo382CLJdrlSLVROWKwb4tb2PjhY4XAwV8d1vy0RenxTB+K5Mu57uVSTHtrMK0 -GAtFr833AkEA6avx20OHo61Yela/4k5kQDtjEf1N0LfI+BcWZtxsS3jDM3i1Hp0K -Su5rsCPb8acJo5RO26gGVrfAsDcIXKC+bQJAZZ2XIpsitLyPpuiMOvBbzPavd4gY -6Z8KWrfYzJoI/Q9FuBo6rKwl4BFoToD7WIUS+hpkagwWiz+6zLoX1dbOZwJACmH5 -fSSjAkLRi54PKJ8TFUeOP15h9sQzydI8zJU+upvDEKZsZc/UhT/SySDOxQ4G/523 -Y0sz/OZtSWcol/UMgQJALesy++GdvoIDLfJX5GBQpuFgFenRiRDabxrE9MNUZ2aP -FaFp+DyAe+b4nDwuJaW2LURbr8AEZga7oQj0uYxcYw== +MIIEpAIBAAKCAQEA68HHrviTLFr1Y4rXd/nsWa5iEObfR16++EkgpZ+XxTdW9d0Q +Sr6AF8O6avmJQSZMvo1NvtLzYxkub3E8m+scmzX0lk9drPds9f5PTFzZSGS27oBM +wciQeR5LWE52G8rnKxHr6ZIGWHaapoqE68S2BVw31ueGAKp6az5faHnBIYwtr4mx +5VTLBL7bDNfqJ7T3kjVRURFl6TAKTX3GJiKnXcLuESNIIIF9NJbHnBLNA9n9n/n6 +KJS4dwS2JxQgEw+9N8knGHxtFGbp8tUR2zuNCeeENsquXn0RcHPc2O1ozSkCkvNm +sJ+RiEYL0UdcTjfWwu3WhcRJfK6FIuUI3GHmAQIDAQABAoIBABO1rKMFJxCzPgan +aeIe49KPkKVHF+2YjzCktHUERaT4Pm3poF4PVRgnheNBn2bx88KOf6xvaGeliEtK +1T1Xx5l2Rk92rSczvElIjIqezI+P0/dWhJRC10k47iWg0aD7Mp5YLjflvGAS8lTw +CbLITEtgbU6rJnnRxtBGc6WBYFMUgvYnlc79TDG4zZqWJByVpq4m+VnPbwoRjIoR +8YLNIU8o9tyTOl3BQVzGVLIEZyNIiOl0MsqiZ8bYT1x3N4cCuRImcE4IjryR7NBm +x4T4ZdczWGW2Y3gzRE+LL//dtVBKz3/9F86UPJ/+HO3v2+lCCppKcfwLTmgbPsy8 +LK0BEs0CgYEA/vxp6PFzBVhnjmfr/b30NDLs0D/rgTkM9WqibPzTyfO0sHohpouy +g9hGdGSMZvRID26gN1XDgiRHq10FTmucOQJZ6bdJc+MsS2mZv/71Xy+38GelAXUy +9s04KhI22LZIlMw+wrL3feM/IgYOYXL+ZBP6lgks71u5+AXGcDidTOsCgYEA7LHK +VCmz7W8t+vPllUkykfKSrZracPnu6MvwiKUMsuHLzFpO0lyeDHgg+Mo7ugnKpOIx +/NDMhUZaQh7tmT9up0Huxk4kaAPsMt55mzqFH/57Se+hWFBH+kRQUy09KncHUBG3 +aCclMZV67qaZ2HZNl6xU2FzyEZgSFcgtP5NhLcMCgYEA1hE7KSFrmxU4+0kryn7q +wdfvEHZZVMd8pZy8eBtaArXjADXIgnXNjPrJS3YOmXCD/tC1GT+bP2sN8EPL7KZT +JVlf+uKxe+VAjp89QP7fKOZ62g1pbeviuWhYuplICnAeRy2hkvuE498gZYQIFq/f ++kz7l3Jkkx7C5gKTMiuVg7kCgYB/+GwE7vspzyeT+9PPz+B4iicFl6is1mR2FvU4 +W8wu1ueh192v3IVTBowFFwoNvoeCeA1Au/8nu27HOwOJDIOeCIa5TrxeRGiq5B/p +bk1Vi/hKdDXOkrEnvVGUduwQDoS0pK99r1Rrp37sksSxBN1UuMayqCX0nzx/7FeS +fPNYkwKBgQDwMeG1Fx9j8uwnGvnwxPoKEyPRcjtu652SHVpFBblxvDVJ2IMiPqAK +c1lvFXDNnuwLla1Ggy4PU9t8jpNE/h/MpdVSeWwuBRf3WNuToYRhTdu8WQN9WrdN +6q+uzdJvnE7Dl0O5Sr/g0H2+zSRMuCbcrI7A9OwBu/YPdpKKoj8nUg== -----END RSA PRIVATE KEY----- diff --git a/test/resources/jwt-certs/pubKey.pem b/test/resources/jwt-certs/pubKey.pem index c6bbd08e..ae8a1515 100644 --- a/test/resources/jwt-certs/pubKey.pem +++ b/test/resources/jwt-certs/pubKey.pem @@ -1,6 +1,9 @@ -----BEGIN PUBLIC KEY----- -MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdlatRjRjogo3WojgGHFHYLugd -UWAY9iR3fy4arWNA1KoS8kVw33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQs -HUfQrSDv+MuSUMAe8jzKE4qW+jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5D -o2kQ+X5xK9cipRgEKwIDAQAB +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA68HHrviTLFr1Y4rXd/ns +Wa5iEObfR16++EkgpZ+XxTdW9d0QSr6AF8O6avmJQSZMvo1NvtLzYxkub3E8m+sc +mzX0lk9drPds9f5PTFzZSGS27oBMwciQeR5LWE52G8rnKxHr6ZIGWHaapoqE68S2 +BVw31ueGAKp6az5faHnBIYwtr4mx5VTLBL7bDNfqJ7T3kjVRURFl6TAKTX3GJiKn +XcLuESNIIIF9NJbHnBLNA9n9n/n6KJS4dwS2JxQgEw+9N8knGHxtFGbp8tUR2zuN +CeeENsquXn0RcHPc2O1ozSkCkvNmsJ+RiEYL0UdcTjfWwu3WhcRJfK6FIuUI3GHm +AQIDAQAB -----END PUBLIC KEY----- diff --git a/test/root.js b/test/root.js index 1e1eb3a4..e6d1cc91 100644 --- a/test/root.js +++ b/test/root.js @@ -59,7 +59,7 @@ tap.test('Transaction should process all entries correctly', (t) => { request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: transaction, json: true }, (err, res, body) => { @@ -121,7 +121,7 @@ tap.test('Transaction should revert when an operation (excluding reads) fails', request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: transaction, json: true }, (err, res, body) => { @@ -156,7 +156,7 @@ tap.test('Transaction should pass even when reads fail', (t) => { request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: transaction, json: true }, (err, res, body) => { @@ -196,7 +196,7 @@ tap.test('Transaction should resolve references correctly when processing a tran request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: _.cloneDeep(require('./resources/Transaction-reference.json')), json: true }, (err, res, body) => { @@ -225,8 +225,8 @@ tap.test('Transaction should resolve references correctly when processing a tran request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, - body: body, + headers, + body, json: true }, (err, res, body) => { t.error(err) @@ -251,7 +251,7 @@ tap.test('Transaction should return a 400 when the bundle type is incorrect', (t request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: _.cloneDeep(tx), json: true }, (err, res, body) => { @@ -277,7 +277,7 @@ tap.test('Batch should succeed even when an operation fails', (t) => { request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: batch, json: true }, (err, res, body) => { @@ -317,7 +317,7 @@ tap.test('Transaction should revert delete operation when operation (other than request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: transaction, json: true }, (err, res, body) => { @@ -346,7 +346,7 @@ tap.test('Document bundles should get processed successfully', (t) => { request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: doc, json: true }, (err, res, body) => { @@ -388,7 +388,7 @@ tap.test('Document bundles should get processed successfully even when a resourc request({ url: 'http://localhost:3447/fhir', method: 'POST', - headers: headers, + headers, body: doc, json: true }, (err, res, body) => { diff --git a/test/server.js b/test/server.js index d3424038..71479678 100644 --- a/test/server.js +++ b/test/server.js @@ -96,7 +96,7 @@ const runAcceptTest = (t, accept, expectAccept) => { headers: _.extend( env.getTestAuthHeaders(env.users.sysadminUser.email), { - accept: accept + accept } ) }, (err, res, body) => { diff --git a/test/terminology-service.js b/test/terminology-service.js index 21c7f6fa..f72d257d 100644 --- a/test/terminology-service.js +++ b/test/terminology-service.js @@ -44,7 +44,7 @@ tap.test('ValueSet should return an error when either system or code not supplie TerminologyServiceTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/ValueSet/$lookup?system=hearth:valueset:procedure-codes', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -65,7 +65,7 @@ tap.test('ValueSet should support searches on system and code and return no resu TerminologyServiceTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/ValueSet/$lookup?system=FakeSystem&code=0001', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -86,7 +86,7 @@ tap.test('ValueSet should support searches on system and code', (t) => { TerminologyServiceTest(t, (db, done) => { request({ url: 'http://localhost:3447/fhir/ValueSet/$lookup?system=hearth:valueset:procedure-codes&code=0001', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/test/test-env/init.js b/test/test-env/init.js index 6f462d1d..027fd93d 100644 --- a/test/test-env/init.js +++ b/test/test-env/init.js @@ -160,11 +160,11 @@ module.exports = () => { }, users: { - sysadminUser: sysadminUser + sysadminUser }, - getTestAuthHeaders: getTestAuthHeaders, - getAuthHeaders: getAuthHeaders, + getTestAuthHeaders, + getAuthHeaders, testOrganizations: () => { const testOrgs = { @@ -198,7 +198,7 @@ module.exports = () => { return testOrgs }, - updateTestOrganizationReferences: updateTestOrganizationReferences, + updateTestOrganizationReferences, testPractitioners: () => { const testPrac = { @@ -246,7 +246,7 @@ module.exports = () => { return testPrac }, - updateTestPractitionerReferences: updateTestPractitionerReferences, + updateTestPractitionerReferences, testPatients: () => { const testPatients = { @@ -454,7 +454,7 @@ module.exports = () => { } }, - updateTestPatientReferences: updateTestPatientReferences, + updateTestPatientReferences, createOrganization: (t, testOrg, callback) => { request.post({ diff --git a/test/transaction.js b/test/transaction.js index 226f9f98..bc5df404 100644 --- a/test/transaction.js +++ b/test/transaction.js @@ -233,7 +233,7 @@ tap.test('Transaction resource .revertDelete() should restore a newly deleted re const c = db.collection(resourceType) const cHistory = db.collection(`${resourceType}_history`) - c.findOne({ id: id }, { fields: { id: 1 } }, (err, doc) => { + c.findOne({ id }, { fields: { id: 1 } }, (err, doc) => { t.error(err) t.equals('' + doc.id, id, 'Patient has been created') @@ -247,11 +247,11 @@ tap.test('Transaction resource .revertDelete() should restore a newly deleted re t.equal(res.statusCode, 204) t.notOk(res.body, 'Does not return body') - c.findOne({ id: id }, {}, (err, doc) => { + c.findOne({ id }, {}, (err, doc) => { t.error(err) t.notOk(doc, 'Resource should be deleted') - cHistory.find({ id: id }).toArray((err, docs) => { + cHistory.find({ id }).toArray((err, docs) => { t.error(err) t.equals('' + docs[0].id, id, 'Delete entry should be in history collection') t.equals('' + docs[1].id, id, 'Deleted resource should be in history collection') @@ -261,11 +261,11 @@ tap.test('Transaction resource .revertDelete() should restore a newly deleted re t.error(err) t.true(success, 'should respond with success status as true') - c.findOne({ id: id }, {}, (err, doc) => { + c.findOne({ id }, {}, (err, doc) => { t.error(err) t.equals('' + doc.id, id, 'Deleted resource has been restored') - cHistory.findOne({ id: id }, (err, doc) => { + cHistory.findOne({ id }, (err, doc) => { t.error(err) t.notOk(doc, 'Deleted resource history reverted') diff --git a/test/user.js b/test/user.js index 3f0344da..8a169632 100644 --- a/test/user.js +++ b/test/user.js @@ -75,7 +75,7 @@ tap.test('user should be able to authenticate', (t) => { basicUserTest(t, (db, done) => { request({ url: 'http://localhost:3447/api/authenticate/jane@test.org', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -93,7 +93,7 @@ tap.test('user authenticate should return status 404 if user doesn\'t exist', (t basicUserTest(t, (db, done) => { request({ url: 'http://localhost:3447/api/authenticate/meh@test.org', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -108,7 +108,7 @@ tap.test('user authenticate should return status 423 if user is locked', (t) => basicUserTest(t, (db, done) => { request({ url: 'http://localhost:3447/api/authenticate/locked@test.org', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -123,7 +123,7 @@ tap.test('user should support reads on email', (t) => { basicUserTest(t, (db, done) => { request({ url: 'http://localhost:3447/api/user/jane@test.org', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -140,7 +140,7 @@ tap.test('user read should return not found if the user doesn\'t exist', (t) => basicUserTest(t, (db, done) => { request({ url: 'http://localhost:3447/api/user/meh@test.org', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -171,7 +171,7 @@ tap.test('user should be created on a POST', (t) => { request({ url: 'http://localhost:3447/api/user', method: 'POST', - headers: headers, + headers, body: { email: 'created@test.org', type: 'sysadmin', @@ -201,7 +201,7 @@ tap.test('user create should return conflict if user already exists', (t) => { request({ url: 'http://localhost:3447/api/user', method: 'POST', - headers: headers, + headers, body: { email: 'jane@test.org', type: 'sysadmin', @@ -222,7 +222,7 @@ tap.test('user should be updated', (t) => { request({ url: 'http://localhost:3447/api/user/jane@test.org', method: 'PUT', - headers: headers, + headers, body: { type: 'updated' }, @@ -248,7 +248,7 @@ tap.test('user update should return 404 if the user isn\'t found', (t) => { request({ url: 'http://localhost:3447/api/user/meh@test.org', method: 'PUT', - headers: headers, + headers, body: { type: 'updated' }, @@ -329,7 +329,7 @@ tap.test('user search should return user with matching resource parameter', (t) request({ url: 'http://localhost:3447/api/user?resource=Practitioner/1234', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -347,7 +347,7 @@ tap.test('user search should return 404 when no users found on supported query p basicUserTest(t, (db, done) => { request({ url: 'http://localhost:3447/api/user?resource=Practitioner/1234', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) @@ -362,7 +362,7 @@ tap.test('user search should return 400 when query parameter not supported', (t) basicUserTest(t, (db, done) => { request({ url: 'http://localhost:3447/api/user', - headers: headers, + headers, json: true }, (err, res, body) => { t.error(err) diff --git a/yarn.lock b/yarn.lock index c861d3bb..6e65a244 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,7 +9,7 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": +"@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== @@ -289,22 +289,57 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@eslint/eslintrc@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" - integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724" + integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ== + +"@eslint/eslintrc@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" + integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" + debug "^4.3.2" + espree "^9.5.1" + globals "^13.19.0" + ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^3.13.1" - lodash "^4.17.20" - minimatch "^3.0.4" + js-yaml "^4.1.0" + minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/js@8.39.0": + version "8.39.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.39.0.tgz#58b536bcc843f4cd1e02a7e6171da5c040f4d44b" + integrity sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng== + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@isaacs/import-jsx@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@isaacs/import-jsx/-/import-jsx-4.0.1.tgz#493cab5fc543a0703dba7c3f5947d6499028a169" @@ -354,6 +389,42 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@mapbox/node-pre-gyp@^1.0.9": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz#8e6735ccebbb1581e5a7e652244cadc8a844d03c" + integrity sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA== + dependencies: + detect-libc "^2.0.0" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.7" + nopt "^5.0.0" + npmlog "^5.0.1" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.11" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + "@sinonjs/commons@^1", "@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.4.0.tgz#7b3ec2d96af481d7a0321252e7b1c94724ec5a78" @@ -437,23 +508,23 @@ abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" -accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" + mime-types "~2.1.34" + negotiator "0.6.3" -acorn-jsx@^5.3.1: +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@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== agent-base@6: version "6.0.2" @@ -480,21 +551,6 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" - integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -545,20 +601,22 @@ append-transform@^2.0.0: dependencies: default-require-extensions "^3.0.0" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== archy@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== dependencies: delegates "^1.0.0" - readable-stream "^2.0.6" + readable-stream "^3.6.0" argparse@^1.0.7: version "1.0.10" @@ -566,11 +624,24 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + argv@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + array-find-index@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -597,23 +668,47 @@ array-includes@^3.1.3: get-intrinsic "^1.1.1" is-string "^1.0.7" -array.prototype.flat@^1.2.4: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" - integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== +array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" -array.prototype.flatmap@^1.2.4: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" - integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.19.0" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" asap@^2.0.0: version "2.0.6" @@ -646,9 +741,9 @@ async@^1.4.0: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" async@^2.6.1: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== dependencies: lodash "^4.17.14" @@ -673,6 +768,11 @@ auto-bind@4.0.0: resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -716,21 +816,23 @@ bl@^2.2.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" -body-parser@1.19.0, body-parser@^1.18.3: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== +body-parser@1.20.1, body-parser@^1.18.3: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== dependencies: - bytes "3.1.0" + bytes "3.1.2" content-type "~1.0.4" debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" brace-expansion@^1.1.7: version "1.1.11" @@ -775,10 +877,17 @@ builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== +builtins@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== caching-transform@^4.0.0: version "4.0.0" @@ -945,10 +1054,6 @@ code-excerpt@^3.0.0: dependencies: convert-to-spaces "^1.0.1" -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - codecov@^3.8.3: version "3.8.3" resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.3.tgz#9c3e364b8a700c597346ae98418d09880a3fdbe7" @@ -984,9 +1089,10 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-support@^1.1.0: +color-support@^1.1.0, color-support@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== colors@1.0.x: version "1.0.3" @@ -1018,16 +1124,16 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: +console-control-strings@^1.0.0, console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: - safe-buffer "5.1.2" + safe-buffer "5.2.1" content-type@~1.0.4: version "1.0.4" @@ -1051,10 +1157,10 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -1125,13 +1231,13 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -debug@2.6.9, debug@^2.6.9: +debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: ms "2.0.0" -debug@4, debug@^4.0.1: +debug@4, debug@^4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -1144,13 +1250,6 @@ debug@^3.1.0: dependencies: ms "2.0.0" -debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -1173,10 +1272,6 @@ decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -1196,6 +1291,14 @@ define-properties@^1.1.3: dependencies: object-keys "^1.0.12" +define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1210,19 +1313,20 @@ denque@^1.4.1: resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf" integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" +detect-libc@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" + integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== dezalgo@^1.0.0: version "1.0.3" @@ -1290,13 +1394,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1330,6 +1427,62 @@ es-abstract@^1.19.0, es-abstract@^1.19.1: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" +es-abstract@^1.20.4: + version "1.21.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" + integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== + dependencies: + array-buffer-byte-length "^1.0.0" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.0" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -1363,113 +1516,129 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -eslint-config-standard-jsx@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz#dc24992661325a2e480e2c3091d669f19034e18d" - integrity sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-standard-jsx@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz#70852d395731a96704a592be5b0bfaccfeded239" + integrity sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ== -eslint-config-standard@16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" - integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== +eslint-config-standard@17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz#fd5b6cf1dcf6ba8d29f200c461de2e19069888cf" + integrity sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg== -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== +eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== dependencies: debug "^3.2.7" - resolve "^1.20.0" + is-core-module "^2.11.0" + resolve "^1.22.1" -eslint-module-utils@^2.6.2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== +eslint-module-utils@^2.7.4: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== dependencies: debug "^3.2.7" - find-up "^2.1.0" -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== +eslint-plugin-es@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9" + integrity sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== dependencies: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@~2.24.2: - version "2.24.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" - integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== +eslint-plugin-import@^2.26.0: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" - debug "^2.6.9" + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.6.2" - find-up "^2.0.0" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" has "^1.0.3" - is-core-module "^2.6.0" - minimatch "^3.0.4" - object.values "^1.1.4" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.11.0" - -eslint-plugin-node@~11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-promise@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.1.1.tgz#9674d11c056d1bafac38e4a3a9060be740988d90" - integrity sha512-XgdcdyNzHfmlQyweOPTxmc7pIsS6dE4MvwhXWMQ2Dxs1XAL2GJDilUsjWen6TWik0aSI+zD/PqocZBblcm9rdA== + is-core-module "^2.11.0" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" + tsconfig-paths "^3.14.1" -eslint-plugin-react@~7.25.1: - version "7.25.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.25.3.tgz#3333a974772745ddb3aecea84621019b635766bc" - integrity sha512-ZMbFvZ1WAYSZKY662MBVEWR45VaBT6KSJCiupjrNlcdakB90juaZeDCbJq19e73JZQubqFtgETohwgAt8u5P6w== +eslint-plugin-n@^15.1.0: + version "15.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz#e29221d8f5174f84d18f2eb94765f2eeea033b90" + integrity sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + builtins "^5.0.1" + eslint-plugin-es "^4.1.0" + eslint-utils "^3.0.0" + ignore "^5.1.1" + is-core-module "^2.11.0" + minimatch "^3.1.2" + resolve "^1.22.1" + semver "^7.3.8" + +eslint-plugin-promise@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" + integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== + +eslint-plugin-react@^7.28.0: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" doctrine "^2.1.0" - estraverse "^5.2.0" + estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.hasown "^1.0.0" - object.values "^1.1.4" - prop-types "^15.7.2" - resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.5" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + +eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== dependencies: esrecurse "^4.3.0" - estraverse "^4.1.1" + estraverse "^5.2.0" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: +eslint-utils@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== @@ -1479,57 +1648,65 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@~7.18.0: - version "7.18.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.18.0.tgz#7fdcd2f3715a41fe6295a16234bd69aed2c75e67" - integrity sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.3.0" +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" + integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== + +eslint@^8.13.0: + version "8.39.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.39.0.tgz#7fd20a295ef92d43809e914b70c39fd5a23cf3f1" + integrity sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.2" + "@eslint/js" "8.39.0" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.2.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.0" + espree "^9.5.1" + esquery "^1.4.2" esutils "^2.0.2" - file-entry-cache "^6.0.0" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.20" - minimatch "^3.0.4" + lodash.merge "^4.6.2" + minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" strip-json-comments "^3.1.0" - table "^6.0.4" text-table "^0.2.0" - v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.5.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" + integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.0" esprima@^4.0.0: version "4.0.0" @@ -1540,10 +1717,10 @@ esprima@~4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== +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" @@ -1554,11 +1731,7 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -1582,38 +1755,39 @@ express-xml-bodyparser@^0.3.0: dependencies: xml2js "^0.4.11" -express@^4.16.3: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== +express@4.18.2: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: - accepts "~1.3.7" + accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" + body-parser "1.20.1" + content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.0" + cookie "0.5.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" + proxy-addr "~2.0.7" + qs "6.11.0" range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" @@ -1642,7 +1816,7 @@ faker@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/faker/-/faker-4.1.0.tgz#1e45bbbecc6774b3c195fad2835109c6d748cc3f" -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -1664,6 +1838,13 @@ fast-url-parser@^1.1.3: dependencies: punycode "^1.3.2" +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + fhir@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/fhir/-/fhir-3.3.1.tgz#dbc0f2edc8096225af6e659041a686a4419c13ad" @@ -1675,7 +1856,7 @@ fhir@^3.3.1: xml2js "^0.4.9" xmlbuilder "^2.6.4" -file-entry-cache@^6.0.0: +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" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== @@ -1689,17 +1870,17 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" - statuses "~1.5.0" + statuses "2.0.1" unpipe "~1.0.0" find-cache-dir@^3.2.0: @@ -1711,13 +1892,6 @@ find-cache-dir@^3.2.0: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -1733,6 +1907,14 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + findit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/findit/-/findit-2.0.0.tgz#6509f0126af4c178551cfa99394e032e13a4d56e" @@ -1751,6 +1933,13 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + foreground-child@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" @@ -1773,10 +1962,10 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fresh@0.5.2: version "0.5.2" @@ -1818,23 +2007,35 @@ function-loop@^2.0.1: resolved "https://registry.yarnpkg.com/function-loop/-/function-loop-2.0.1.tgz#799c56ced01698cf12a1b80e4802e9dafc2ebada" integrity sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ== -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" +functions-have-names@^1.2.2, functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== dependencies: - aproba "^1.0.3" + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" gensync@^1.0.0-beta.2: version "1.0.0-beta.2" @@ -1855,6 +2056,15 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -1880,7 +2090,14 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob-parent@^5.0.0, glob-parent@~5.1.2: +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -1915,17 +2132,31 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: - type-fest "^0.8.1" + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" glossy@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/glossy/-/glossy-0.1.7.tgz#769b5984a96f6066ab9ea758224825ee6c210f0b" +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.15: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" @@ -1935,6 +2166,11 @@ graceful-fs@^4.1.2: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -1953,6 +2189,11 @@ has-bigints@^1.0.1: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== +has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -1963,6 +2204,18 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -1975,9 +2228,10 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-unicode@^2.0.0: +has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== has@^1.0.3: version "1.0.3" @@ -2009,27 +2263,16 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: - depd "~1.1.2" + depd "2.0.0" inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" http-proxy-agent@^4.0.0: version "4.0.1" @@ -2057,7 +2300,7 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -iconv-lite@0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -2071,23 +2314,16 @@ ignore-walk@3.0.4: dependencies: minimatch "^3.0.4" -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - ignore@^5.1.1: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -2127,11 +2363,6 @@ ini@^2.0.0: resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - ink@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ink/-/ink-3.2.0.tgz#434793630dc57d611c8fe8fffa1db6b56f1a16bb" @@ -2170,10 +2401,28 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -ipaddr.js@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== +internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" is-arrayish@^0.2.1: version "0.2.1" @@ -2207,6 +2456,11 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" +is-callable@^1.1.3, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" @@ -2219,10 +2473,10 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.2.0, is-core-module@^2.6.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== +is-core-module@^2.11.0, is-core-module@^2.9.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" + integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== dependencies: has "^1.0.3" @@ -2238,25 +2492,19 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" -is-negative-zero@^2.0.1: +is-negative-zero@^2.0.1, is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== @@ -2273,6 +2521,11 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -2286,6 +2539,13 @@ is-shared-array-buffer@^1.0.1: resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -2305,12 +2565,23 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-weakref@^1.0.1: +is-weakref@^1.0.1, is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== @@ -2409,6 +2680,11 @@ jackspeak@^1.4.1: dependencies: cliui "^7.0.4" +js-sdsl@^4.1.4: + version "4.4.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -2430,6 +2706,13 @@ js-yaml@^3.13.1: 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" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + js2xmlparser@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-1.0.0.tgz#5a170f2e8d6476ce45405e04823242513782fe30" @@ -2453,11 +2736,6 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -2473,35 +2751,27 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonwebtoken@^8.2.2: - version "8.5.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== +jsonwebtoken@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" + integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== dependencies: jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" + lodash "^4.17.21" ms "^2.1.1" - semver "^5.6.0" + semver "^7.3.8" jsprim@^1.2.2: version "1.4.2" @@ -2575,14 +2845,14 @@ libtap@^1.3.0: tcompare "^5.0.6" trivial-deferred "^1.0.1" -libxmljs@0.18.0, libxmljs@0.19.7, libxmljs@^0.19.7: - version "0.19.7" - resolved "https://registry.yarnpkg.com/libxmljs/-/libxmljs-0.19.7.tgz#96c2151b0b73f33dd29917edec82902587004e5a" - integrity sha512-lFJyG9T1mVwTzNTw6ZkvIt0O+NsIR+FTE+RcC2QDFGU8YMnQrnyEOGrj6HWSe1AdwQK7s37BOp4NL+pcAqfK2g== +libxmljs@0.18.0, libxmljs@0.19.10, libxmljs@^0.19.10: + version "0.19.10" + resolved "https://registry.yarnpkg.com/libxmljs/-/libxmljs-0.19.10.tgz#aa169b937a3c93940c07f802a73844df30f5c4d4" + integrity sha512-RY5/MD8Po8sGVocbODbYcdrbP6pJyA171LjFyd7Bp9wwxhmA8C5bm/VmXfpdED07fdW0FeC3lopxhG7UbwGx+g== dependencies: + "@mapbox/node-pre-gyp" "^1.0.9" bindings "~1.3.0" nan "~2.14.0" - node-pre-gyp "~0.11.0" license-checker@^25.0.1: version "25.0.1" @@ -2600,16 +2870,6 @@ license-checker@^25.0.1: spdx-satisfies "^4.0.0" treeify "^1.1.0" -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - load-json-file@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3" @@ -2621,14 +2881,6 @@ load-json-file@^5.2.0: strip-bom "^3.0.0" type-fest "^0.3.0" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -2644,52 +2896,24 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@4.17.21, lodash@^3.10.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20: +lodash@4.17.21, lodash@^3.10.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -2723,7 +2947,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^3.0.0, make-dir@^3.0.2: +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -2755,6 +2979,11 @@ mime-db@1.40.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.24" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" @@ -2762,6 +2991,13 @@ mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: dependencies: mime-db "1.40.0" +mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -2772,16 +3008,17 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" +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== dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass@^2.6.0, minipass@^2.9.0: version "2.9.0" @@ -2831,10 +3068,10 @@ mnemonist@^0.39.0: dependencies: obliterator "^2.0.1" -moment@^2.22.2: - version "2.24.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" - integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== +moment@^2.29.4: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== mongodb-queue@^3.1.0: version "3.1.0" @@ -2858,17 +3095,12 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@2.1.2, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.2: +ms@2.1.3, ms@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -2888,28 +3120,19 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" nconf@^0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/nconf/-/nconf-0.11.3.tgz#4ee545019c53f1037ca57d696836feede3c49163" - integrity sha512-iYsAuDS9pzjVMGIzJrGE0Vk3Eh8r/suJanRAnWGBd29rVS2XtSgzcAo5l6asV3e4hH2idVONHirg1efoBOslBg== + version "0.11.4" + resolved "https://registry.yarnpkg.com/nconf/-/nconf-0.11.4.tgz#7f925d27569738a2a10c3ba4b56310c8821b308b" + integrity sha512-YaDR846q11JnG1vTrhJ0QIlhiGY6+W1bgWtReG9SS3vkTl3AoNwFvUItdhG6/ZjGCfWpUVuRTNEBTDAQ3nWhGw== dependencies: async "^1.4.0" ini "^2.0.0" secure-keys "^1.0.0" yargs "^16.1.1" -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== neo-async@^2.5.1: version "2.6.1" @@ -2939,21 +3162,12 @@ node-fetch@^2.6.1: dependencies: whatwg-url "^5.0.0" -node-pre-gyp@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054" - integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q== +node-fetch@^2.6.7: + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" + whatwg-url "^5.0.0" node-preload@^0.2.1: version "0.2.1" @@ -2974,7 +3188,14 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.0.0, normalize-package-data@^2.3.2: +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.0.0: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" dependencies: @@ -2988,31 +3209,15 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" nyc@^15.1.0: version "15.1.0" @@ -3052,7 +3257,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -3061,6 +3266,11 @@ object-inspect@^1.11.0, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== +object-inspect@^1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -3076,40 +3286,50 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" - integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== +object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" -object.fromentries@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" - integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" -object.hasown@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" - integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== dependencies: - define-properties "^1.1.3" - es-abstract "^1.19.1" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" -object.values@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" obliterator@^1.6.1: version "1.6.1" @@ -3121,10 +3341,10 @@ obliterator@^2.0.0, obliterator@^2.0.1: resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.2.tgz#25f50dc92e1181371b9d8209d11890f1a3c2fc21" integrity sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg== -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" @@ -3184,13 +3404,6 @@ own-or@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/own-or/-/own-or-1.0.0.tgz#4e877fbeda9a2ec8000fbc0bcae39645ee8bf8dc" -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -3198,12 +3411,12 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - p-limit "^1.1.0" + yocto-queue "^0.1.0" p-locate@^3.0.0: version "3.0.0" @@ -3219,6 +3432,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-map@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" @@ -3226,11 +3446,6 @@ p-map@^3.0.0: dependencies: aggregate-error "^3.0.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -3301,7 +3516,7 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6, path-parse@^1.0.7: +path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -3317,13 +3532,6 @@ path-to-regexp@^1.7.0: dependencies: isarray "0.0.1" -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - path@^0.12.7: version "0.12.7" resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" @@ -3346,11 +3554,6 @@ picomatch@^2.0.4, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" @@ -3371,13 +3574,6 @@ pkg-dir@^4.1.0: dependencies: find-up "^4.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -3398,12 +3594,7 @@ process@^0.11.1: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" -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== - -prop-types@^15.7.2: +prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -3412,13 +3603,13 @@ prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.13.1" -proxy-addr@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" - integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.0" + forwarded "0.2.0" + ipaddr.js "1.9.1" psl@^1.1.28: version "1.8.0" @@ -3439,41 +3630,33 @@ q@^1.4.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== +qs@6.11.0, qs@~6.5.2: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: - bytes "3.1.0" - http-errors "1.7.2" + bytes "3.1.2" + http-errors "2.0.0" iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-devtools-core@^4.19.1: version "4.24.1" resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.1.tgz#d274390db86898d779b6202a318fe6422eb046bb" @@ -3528,35 +3711,6 @@ read-package-json@^2.0.0: optionalDependencies: graceful-fs "^4.1.2" -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -readable-stream@^2.0.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - readable-stream@^2.3.5: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -3611,15 +3765,16 @@ redeyed@~2.1.0: dependencies: esprima "~4.0.0" -regexp.prototype.flags@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" - integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== +regexp.prototype.flags@^1.4.3: + version "1.5.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.2.0" + functions-have-names "^1.2.3" -regexpp@^3.0.0, regexpp@^3.1.0: +regexpp@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -3661,11 +3816,6 @@ require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -3699,22 +3849,23 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.10.1, resolve@^1.20.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== +resolve@^1.22.1: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== dependencies: - is-core-module "^2.8.1" + is-core-module "^2.11.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" restore-cursor@^3.1.0: version "3.1.0" @@ -3724,11 +3875,10 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -rimraf@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" @@ -3737,19 +3887,35 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@5.2.1, safe-buffer@^5.1.1, safe-buffer@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== -safe-buffer@^5.1.1, safe-buffer@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" @@ -3763,7 +3929,7 @@ saslprep@^1.0.0: dependencies: sparse-bitfield "^3.0.3" -sax@>=0.6.0, sax@^1.2.4: +sax@>=0.6.0: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -3779,64 +3945,64 @@ secure-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/secure-keys/-/secure-keys-1.0.0.tgz#f0c82d98a3b139a8776a8808050b824431087fca" -"semver@2 || 3 || 4 || 5", semver@^5.3.0: +"semver@2 || 3 || 4 || 5": version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" -semver@^5.1.0, semver@^5.5.0, semver@^5.6.0: +semver@^5.1.0, semver@^5.5.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== -semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== +semver@^7.0.0, semver@^7.3.5, semver@^7.3.8: + version "7.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== dependencies: lru-cache "^6.0.0" -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" + depd "2.0.0" + destroy "1.2.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.7.2" + http-errors "2.0.0" mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" + ms "2.1.3" + on-finished "2.4.1" range-parser "~1.2.1" - statuses "~1.5.0" + statuses "2.0.1" -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.17.1" + send "0.18.0" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shebang-command@^1.2.0: version "1.2.0" @@ -3911,15 +4077,6 @@ slice-ansi@^3.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - slide@~1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -4049,13 +4206,13 @@ stack-utils@^2.0.2, stack-utils@^2.0.4: dependencies: escape-string-regexp "^2.0.0" -standard-engine@^14.0.1: - version "14.0.1" - resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-14.0.1.tgz#fe568e138c3d9768fc59ff81001f7049908a8156" - integrity sha512-7FEzDwmHDOGva7r9ifOzD3BGdTbA7ujJ50afLVdW/tK14zQEptJjbFuUfn50irqdHDcTbNh0DTIoMPynMCXb0Q== +standard-engine@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-15.0.0.tgz#e37ca2e1a589ef85431043a3e87cb9ce95a4ca4e" + integrity sha512-4xwUhJNo1g/L2cleysUqUv7/btn7GEbYJvmgKrQ2vd/8pkTmN8cpqAZg+BT8Z1hNeEH787iWUdOpL8fmApLtxA== dependencies: get-stdin "^8.0.0" - minimist "^1.2.5" + minimist "^1.2.6" pkg-conf "^3.1.0" xdg-basedir "^4.0.0" @@ -4066,24 +4223,24 @@ standard-json@^1.1.0: dependencies: concat-stream "^2.0.0" -standard@^16.0.4: - version "16.0.4" - resolved "https://registry.yarnpkg.com/standard/-/standard-16.0.4.tgz#779113ba41dd218ab545e7b4eb2405561f6eb370" - integrity sha512-2AGI874RNClW4xUdM+bg1LRXVlYLzTNEkHmTG5mhyn45OhbgwA+6znowkOGYy+WMb5HRyELvtNy39kcdMQMcYQ== - dependencies: - eslint "~7.18.0" - eslint-config-standard "16.0.3" - eslint-config-standard-jsx "10.0.0" - eslint-plugin-import "~2.24.2" - eslint-plugin-node "~11.1.0" - eslint-plugin-promise "~5.1.0" - eslint-plugin-react "~7.25.1" - standard-engine "^14.0.1" - -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +standard@17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/standard/-/standard-17.0.0.tgz#85718ecd04dc4133908434660788708cca855aa1" + integrity sha512-GlCM9nzbLUkr+TYR5I2WQoIah4wHA2lMauqbyPLV/oI5gJxqhHzhjl9EG2N0lr/nRqI3KCbCvm/W3smxvLaChA== + dependencies: + eslint "^8.13.0" + eslint-config-standard "17.0.0" + eslint-config-standard-jsx "^11.0.0" + eslint-plugin-import "^2.26.0" + eslint-plugin-n "^15.1.0" + eslint-plugin-promise "^6.0.0" + eslint-plugin-react "^7.28.0" + standard-engine "^15.0.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== stdio@^0.2.7: version "0.2.7" @@ -4096,15 +4253,7 @@ stream-events@^1.0.5: dependencies: stubs "^3.0.0" -string-width@^1.0.1, "string-width@^1.0.2 || 2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: 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== @@ -4113,20 +4262,29 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.matchall@^4.0.5: - version "4.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" - integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" has-symbols "^1.0.3" internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.1" + regexp.prototype.flags "^1.4.3" side-channel "^1.0.4" +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" @@ -4135,6 +4293,15 @@ string.prototype.trimend@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimstart@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" @@ -4143,6 +4310,15 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -4156,7 +4332,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: +strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: @@ -4183,10 +4359,6 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - stubs@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" @@ -4211,17 +4383,6 @@ supports-preserve-symlinks-flag@^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== -table@^6.0.4: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - talisman@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/talisman/-/talisman-1.1.4.tgz#649fdc3bc6e631c17405742edee338133fb8ac69" @@ -4297,7 +4458,7 @@ tap@^15.2.3: treport "^3.0.3" which "^2.0.2" -tar@4.4.19, tar@^4: +tar@4.4.19, tar@^6.1.11: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== @@ -4353,10 +4514,10 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== tough-cookie@~2.5.0: version "2.5.0" @@ -4393,14 +4554,14 @@ trivial-deferred@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trivial-deferred/-/trivial-deferred-1.0.1.tgz#376d4d29d951d6368a6f7a0ae85c2f4d5e0658f3" -tsconfig-paths@^3.11.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz#4fcc48f9ccea8826c41b9ca093479de7f5018976" - integrity sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g== +tsconfig-paths@^3.14.1: + version "3.14.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" + json5 "^1.0.2" + minimist "^1.2.6" strip-bom "^3.0.0" tunnel-agent@^0.6.0: @@ -4432,6 +4593,11 @@ type-fest@^0.12.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.12.0.tgz#f57a27ab81c68d136a51fd71467eff94157fa1ee" integrity sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.21.3: version "0.21.3" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" @@ -4442,12 +4608,12 @@ type-fest@^0.3.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== -type-fest@^0.8.0, type-fest@^0.8.1: +type-fest@^0.8.0: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-is@~1.6.17, type-is@~1.6.18: +type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -4455,6 +4621,15 @@ type-is@~1.6.17, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -4476,6 +4651,16 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + unicode-length@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/unicode-length/-/unicode-length-2.0.2.tgz#e5eb4c0d523fdf7bebb59ca261c9ca1cf732da96" @@ -4497,9 +4682,9 @@ uri-js@^4.2.2: punycode "^2.1.0" urijs@^1.19.2: - version "1.19.10" - resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.10.tgz#8e2fe70a8192845c180f75074884278f1eea26cb" - integrity sha512-EzauQlgKuJgsXOqoMrCiePBf4At5jVqRhXykF3Wfb8ZsOBMxPcfiVBcsHXug4Aepb/ICm2PIgqAUGMelgdrWEg== + version "1.19.11" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.11.tgz#204b0d6b605ae80bea54bea39280cdb7c9f923cc" + integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== urlgrey@1.0.0: version "1.0.0" @@ -4543,11 +4728,6 @@ uuid@^8.0.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - validate-npm-package-license@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" @@ -4597,6 +4777,18 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -4611,11 +4803,12 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" +wide-align@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: - string-width "^1.0.2 || 2" + string-width "^1.0.2 || 2 || 3 || 4" widest-line@^3.1.0: version "3.1.0" @@ -4683,14 +4876,15 @@ xdg-basedir@^4.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xml2js@^0.4.11, xml2js@^0.4.9: - version "0.4.19" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" +xml2js@0.5.0, xml2js@^0.4.11, xml2js@^0.4.9: + version "0.5.0" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" + integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== dependencies: sax ">=0.6.0" - xmlbuilder "~9.0.1" + xmlbuilder "~11.0.0" -xmlbuilder@9.0.7, xmlbuilder@^2.6.4, xmlbuilder@~9.0.1: +xmlbuilder@9.0.7, xmlbuilder@^2.6.4, xmlbuilder@~11.0.0: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= @@ -4768,6 +4962,11 @@ yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + yoga-layout-prebuilt@^1.9.6: version "1.10.0" resolved "https://registry.yarnpkg.com/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.10.0.tgz#2936fbaf4b3628ee0b3e3b1df44936d6c146faa6"