diff --git a/package.json b/package.json index edc8bf18e..1e3073e7e 100644 --- a/package.json +++ b/package.json @@ -35,5 +35,8 @@ "ts-jest": "^27.1.0", "typescript": "^4.2.4" }, + "resolutions": { + "fs-extra": "^9.0.0" + }, "version": "0.0.0" } diff --git a/packages/integration-sdk-cli/package.json b/packages/integration-sdk-cli/package.json index 2c49001ec..973b5ca7b 100644 --- a/packages/integration-sdk-cli/package.json +++ b/packages/integration-sdk-cli/package.json @@ -38,16 +38,13 @@ }, "devDependencies": { "@jupiterone/integration-sdk-private-test-utils": "^8.11.0", - "@pollyjs/adapter-node-http": "^5.1.1", - "@pollyjs/core": "^5.1.1", - "@pollyjs/persister-fs": "^5.1.1", + "@pollyjs/adapter-node-http": "^6.0.5", + "@pollyjs/core": "^6.0.5", + "@pollyjs/persister-fs": "^6.0.5", "@types/fs-extra": "^9.0.13", "@types/js-yaml": "^4.0.3", "@types/json-diff": "^0.5.1", "@types/lodash": "^4.14.158", - "@types/pollyjs__adapter-node-http": "^2.0.1", - "@types/pollyjs__core": "^4.3.3", - "@types/pollyjs__persister": "^4.3.1", "@types/vis": "^4.21.20", "memfs": "^3.2.0", "neo-forgery": "^2.0.0", diff --git a/packages/integration-sdk-cli/src/__tests__/cli-run-failure.test.ts b/packages/integration-sdk-cli/src/__tests__/cli-run-failure.test.ts index 60ed83267..c3ca80dae 100644 --- a/packages/integration-sdk-cli/src/__tests__/cli-run-failure.test.ts +++ b/packages/integration-sdk-cli/src/__tests__/cli-run-failure.test.ts @@ -20,6 +20,7 @@ import { createCli } from '../index'; import { setupSynchronizerApi } from './util/synchronization'; import * as log from '../log'; +import { createTestPolly } from './util/recording'; jest.mock('../log'); @@ -37,14 +38,7 @@ beforeEach(() => { process.env.JUPITERONE_ACCOUNT = 'mochi'; loadProjectStructure('validationFailure'); - polly = new Polly('run-cli-failure', { - adapters: ['node-http'], - persister: 'fs', - logging: false, - matchRequestsBy: { - headers: false, - }, - }); + polly = createTestPolly('run-cli-failure'); mocked(mockCreateIntegrationLogger).mockReturnValue( createIntegrationLogger({ name: 'test' }), diff --git a/packages/integration-sdk-cli/src/__tests__/cli-run.test.ts b/packages/integration-sdk-cli/src/__tests__/cli-run.test.ts index e15f0c93f..0d7968e25 100644 --- a/packages/integration-sdk-cli/src/__tests__/cli-run.test.ts +++ b/packages/integration-sdk-cli/src/__tests__/cli-run.test.ts @@ -16,6 +16,7 @@ import { } from '@jupiterone/integration-sdk-core'; import * as log from '../log'; +import { createTestPolly } from './util/recording'; jest.mock('../log'); @@ -28,15 +29,7 @@ beforeEach(() => { process.env.JUPITERONE_API_KEY = 'testing-key'; process.env.JUPITERONE_ACCOUNT = 'mochi'; - polly = new Polly('run-cli', { - adapters: ['node-http'], - persister: 'fs', - logging: false, - matchRequestsBy: { - headers: false, - }, - }); - + polly = createTestPolly('run-cli'); loadProjectStructure('typeScriptIntegrationProject'); jest.spyOn(process, 'exit').mockImplementation((code: number | undefined) => { diff --git a/packages/integration-sdk-cli/src/__tests__/cli-sync.test.ts b/packages/integration-sdk-cli/src/__tests__/cli-sync.test.ts index aa31fc2b2..4fc1a712c 100644 --- a/packages/integration-sdk-cli/src/__tests__/cli-sync.test.ts +++ b/packages/integration-sdk-cli/src/__tests__/cli-sync.test.ts @@ -13,6 +13,7 @@ import { } from './util/synchronization'; import * as log from '../log'; +import { createTestPolly } from './util/recording'; jest.mock('../log'); @@ -25,15 +26,7 @@ beforeEach(() => { process.env.JUPITERONE_API_KEY = 'testing-key'; process.env.JUPITERONE_ACCOUNT = 'mochi'; - polly = new Polly('sync-cli', { - adapters: ['node-http'], - persister: 'fs', - logging: false, - matchRequestsBy: { - headers: false, - }, - }); - + polly = createTestPolly('sync-cli'); loadProjectStructure('synchronization'); jest.spyOn(process, 'exit').mockImplementation((code: number | undefined) => { diff --git a/packages/integration-sdk-cli/src/__tests__/util/recording.ts b/packages/integration-sdk-cli/src/__tests__/util/recording.ts new file mode 100644 index 000000000..17eeb7ff4 --- /dev/null +++ b/packages/integration-sdk-cli/src/__tests__/util/recording.ts @@ -0,0 +1,16 @@ +import { Polly, PollyConfig } from '@pollyjs/core'; + +export function createTestPolly( + recordingName: string, + pollyConfigOverrides?: PollyConfig, +) { + return new Polly(recordingName, { + adapters: ['node-http'], + persister: 'fs', + logLevel: 'silent', + matchRequestsBy: { + headers: false, + }, + ...pollyConfigOverrides, + }); +} diff --git a/packages/integration-sdk-cli/src/__tests__/util/synchronization.ts b/packages/integration-sdk-cli/src/__tests__/util/synchronization.ts index 98875e7a6..1ba576c78 100644 --- a/packages/integration-sdk-cli/src/__tests__/util/synchronization.ts +++ b/packages/integration-sdk-cli/src/__tests__/util/synchronization.ts @@ -22,7 +22,7 @@ export function setupSynchronizerApi({ polly, job, baseUrl }: SetupOptions) { .post(`${baseUrl}/persister/synchronization/jobs/${job.id}/entities`) .intercept((req, res) => { allowCrossOrigin(req, res); - job.numEntitiesUploaded += JSON.parse(req.body).entities.length; + job.numEntitiesUploaded += JSON.parse(req.body!).entities.length; res.status(200).json({ job }); }); @@ -37,7 +37,9 @@ export function setupSynchronizerApi({ polly, job, baseUrl }: SetupOptions) { .post(`${baseUrl}/persister/synchronization/jobs/${job.id}/relationships`) .intercept((req, res) => { allowCrossOrigin(req, res); - job.numRelationshipsUploaded += JSON.parse(req.body).relationships.length; + job.numRelationshipsUploaded += JSON.parse( + req.body!, + ).relationships.length; res.status(200).json({ job }); }); diff --git a/packages/integration-sdk-testing/package.json b/packages/integration-sdk-testing/package.json index d77336838..4387e7271 100644 --- a/packages/integration-sdk-testing/package.json +++ b/packages/integration-sdk-testing/package.json @@ -25,13 +25,9 @@ "dependencies": { "@jupiterone/integration-sdk-core": "^8.11.0", "@jupiterone/integration-sdk-runtime": "^8.11.0", - "@pollyjs/adapter-node-http": "^5.1.1", - "@pollyjs/core": "^5.1.1", - "@pollyjs/persister-fs": "^5.1.1", - "@types/har-format": "^1.2.4", - "@types/pollyjs__adapter-node-http": "^2.0.1", - "@types/pollyjs__core": "^4.3.3", - "@types/pollyjs__persister": "^4.3.1", + "@pollyjs/adapter-node-http": "^6.0.5", + "@pollyjs/core": "^6.0.5", + "@pollyjs/persister-fs": "^6.0.5", "deepmerge": "^4.2.2", "lodash": "^4.17.15" }, diff --git a/packages/integration-sdk-testing/src/recording.ts b/packages/integration-sdk-testing/src/recording.ts index dd0a9dc4b..4ef54ed4c 100644 --- a/packages/integration-sdk-testing/src/recording.ts +++ b/packages/integration-sdk-testing/src/recording.ts @@ -1,16 +1,16 @@ -import { Har, Entry } from 'har-format'; import defaultsDeep from 'lodash/defaultsDeep'; import { gunzipSync } from 'zlib'; import NodeHttpAdapter from '@pollyjs/adapter-node-http'; import { Polly, PollyConfig } from '@pollyjs/core'; import FSPersister from '@pollyjs/persister-fs'; +import { HarEntry, Har } from '@pollyjs/persister'; Polly.register(NodeHttpAdapter); Polly.register(FSPersister); export type Recording = Polly; -export type RecordingEntry = Entry; +export type RecordingEntry = HarEntry; export interface SetupRecordingInput { directory: string; @@ -78,7 +78,7 @@ export function setupRecording({ return 'JupiterOneIntegationFSPersister'; } - saveRecording(recordingId: number, data: Har): void { + async onSaveRecording(recordingId: string, data: Har): Promise { data.log.entries.forEach((entry) => { // Redact tokens, even though they expire entry.request.headers = entry.request.headers.map((header) => ({ @@ -104,7 +104,7 @@ export function setupRecording({ mutateEntry?.(entry); }); - super.saveRecording(recordingId, data); + return super.onSaveRecording(recordingId, data); } } diff --git a/yarn.lock b/yarn.lock index 7a6fb4d10..9443c59f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1532,83 +1532,85 @@ dependencies: "@octokit/openapi-types" "^11.2.0" -"@pollyjs/adapter-node-http@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@pollyjs/adapter-node-http/-/adapter-node-http-5.1.1.tgz#b717f28eda10e76e80c821f33d71b1cf064f41d0" - integrity sha512-hN4pemkI4Wb+jAloezZrKDCqQUAlIXcgRXtrG6CZseE14QVQ8zl2I1RakUnEHBgeRWtvl5ve6uJrFNGdE8mrLA== - dependencies: - "@pollyjs/adapter" "^5.1.1" - "@pollyjs/utils" "^5.1.1" - lodash-es "^4.17.11" - nock "^12.0.3" - -"@pollyjs/adapter@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@pollyjs/adapter/-/adapter-5.1.1.tgz#ef55788dd59ba77589b884856406323fff700606" - integrity sha512-4Ju6batDrkqyhYFhmKhjDTIbkfj0p0kZslCQ/saA1JMWIqlFnrXMiJVCSVlwNEsej3Zt/n9JfU5mEzbXxi+3vg== +"@pollyjs/adapter-node-http@^6.0.5": + version "6.0.5" + resolved "https://registry.yarnpkg.com/@pollyjs/adapter-node-http/-/adapter-node-http-6.0.5.tgz#f92616cefdad9ae144fe07f6b88798a20bf1c8fd" + integrity sha512-/8xa5OHwumQ06P1PzMcePYxalxyRR4jA3ZdsXpLSSVn8xaC0S95X7WGtFk/1F/HhHWq/3tZaOQo2rFLtprGiwg== dependencies: - "@pollyjs/utils" "^5.1.1" + "@pollyjs/adapter" "^6.0.4" + "@pollyjs/utils" "^6.0.1" + lodash-es "^4.17.21" + nock "^13.2.1" -"@pollyjs/core@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@pollyjs/core/-/core-5.1.1.tgz#f9595083a95f22e37f610bfacaa38299bffae6f3" - integrity sha512-MggjU1GT0SP8bPRoqvL2QZ0GhJABwGb1E21+Duv08v8HqGtesN0XEZBZxVsXhspqwAKI6oOrB7767a2TOptT1g== - dependencies: - "@pollyjs/utils" "^5.1.1" - "@sindresorhus/fnv1a" "^1.2.0" - blueimp-md5 "^2.10.0" - fast-json-stable-stringify "^2.0.0" - is-absolute-url "^3.0.0" - lodash-es "^4.17.11" +"@pollyjs/adapter@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@pollyjs/adapter/-/adapter-6.0.4.tgz#4c45403a215026770a6f0fd7adb6db62d4b49154" + integrity sha512-xiAdK+ZBABWpXvUVdcgvZpGI0drix8uy6KFWZr3pVvzKWfr6VyKObd6J6alxA8LG/kQ3BL350fIDia8UIcvwrw== + dependencies: + "@pollyjs/utils" "^6.0.1" + +"@pollyjs/core@^6.0.5": + version "6.0.5" + resolved "https://registry.yarnpkg.com/@pollyjs/core/-/core-6.0.5.tgz#e4e3eaf3e0c6a289ec7f558cb2d03a44317989c1" + integrity sha512-LwKj20QT+VtDTv3HslK1KseTnNP04J8giz71W8RmwjYDSC5PRQvqcY3t86xd9xgVgbfN29in9ZYjAotqsmbyOw== + dependencies: + "@pollyjs/utils" "^6.0.1" + "@sindresorhus/fnv1a" "^2.0.1" + blueimp-md5 "^2.19.0" + fast-json-stable-stringify "^2.1.0" + is-absolute-url "^3.0.3" + lodash-es "^4.17.21" + loglevel "^1.8.0" route-recognizer "^0.3.4" - slugify "^1.3.4" + slugify "^1.6.3" -"@pollyjs/node-server@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@pollyjs/node-server/-/node-server-5.1.1.tgz#f5bb873b49ce88822371a7ab7426d9e1892bfdb2" - integrity sha512-4QatoXWk2fuDTfxXcdIpswkL0/1J9r6WWQ0R0xfVg/N+VM5gBHIuUNMMDX0j7SbzUiQyZNTXgSAR1FKMO+MDWA== +"@pollyjs/node-server@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@pollyjs/node-server/-/node-server-6.0.1.tgz#98569d83ea062399ce8464ec937bce1c932e2c23" + integrity sha512-R4WyrcOMRf9t4h2MSAooLlijKchDFXHil5XnVe51OBFe3Ib/8/jo+iMmIENTZE1EP6it9HW00Df93jjZ0XT+Og== dependencies: - "@pollyjs/utils" "^5.1.1" + "@pollyjs/utils" "^6.0.1" body-parser "^1.19.0" cors "^2.8.5" express "^4.17.1" - fs-extra "^8.0.1" - http-graceful-shutdown "^2.3.1" - morgan "^1.9.1" - nocache "^2.1.0" - -"@pollyjs/persister-fs@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@pollyjs/persister-fs/-/persister-fs-5.1.1.tgz#c90713c637c6644aa765dc8db9387a88dfd6b7a6" - integrity sha512-VxAsBC4fAqfQlyTf2Qb8baquUEm/9KGvCEMG1IgGhkF9xeVOEk8WZHAdmX+ejz0gocVB+1uqsA6MZQACWNxYAA== - dependencies: - "@pollyjs/node-server" "^5.1.1" - "@pollyjs/persister" "^5.1.1" - -"@pollyjs/persister@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@pollyjs/persister/-/persister-5.1.1.tgz#6a880a8f0da7ef0695ce16670db17c04b9eeba15" - integrity sha512-AfRxvGQaEIiXxl2LjS81LJSx2x756gp4bqjEAggHsFXpYwAK+SNqSOxD/pknNV+SuxRGjNIB+GCVlh7L5Mikow== - dependencies: - "@pollyjs/utils" "^5.1.1" + fs-extra "^10.0.0" + http-graceful-shutdown "^3.1.5" + morgan "^1.10.0" + nocache "^3.0.1" + +"@pollyjs/persister-fs@^6.0.5": + version "6.0.5" + resolved "https://registry.yarnpkg.com/@pollyjs/persister-fs/-/persister-fs-6.0.5.tgz#7def71d69a96eac7b665dc2db5c6e9999e01da48" + integrity sha512-+zEuPNDoVwA89X/LnmW6l/4LkJXHnZrk/Wyj3ShXLb6sS05LXEThgpriJWLIHh68hPZnqlB4lXsYGjczORiJHw== + dependencies: + "@pollyjs/node-server" "^6.0.1" + "@pollyjs/persister" "^6.0.5" + +"@pollyjs/persister@^6.0.5": + version "6.0.5" + resolved "https://registry.yarnpkg.com/@pollyjs/persister/-/persister-6.0.5.tgz#572b2575af4226a54cb88b1bbe942b38a232ca7f" + integrity sha512-J2zvzJb3XPDran9HzWh/Ng6GRrIPRt3DnqRygbfqP9do6B2unqGlIxqMdqXzuqylJ49k2soEC+haWpdW2cQ9mg== + dependencies: + "@pollyjs/utils" "^6.0.1" + "@types/set-cookie-parser" "^2.4.1" bowser "^2.4.0" - fast-json-stable-stringify "^2.0.0" - lodash-es "^4.17.11" - set-cookie-parser "^2.3.5" + fast-json-stable-stringify "^2.1.0" + lodash-es "^4.17.21" + set-cookie-parser "^2.4.8" utf8-byte-length "^1.0.4" -"@pollyjs/utils@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@pollyjs/utils/-/utils-5.1.1.tgz#3dd3c7df82ef5df3fdb6db7be14f097c44b2001c" - integrity sha512-Kzx4NkFJI2p2N82mCtpGZk82ArDCJUnRHPZ1mTEIkRSOwtz30N729+dbI39aS6H5oGcD8x/KAx3ZTAj3EQLxaQ== +"@pollyjs/utils@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@pollyjs/utils/-/utils-6.0.1.tgz#215f53d6af71c44911c9e760c0669922bbcf04a6" + integrity sha512-vTdtYhZs/HcBQM3Po85BDmuOpjMwvuQPkSdd9Cd4lUSc8HEO4d52dljtmwlwW83zVuQvlEu5xFIZJUYhX8HxLA== dependencies: - qs "^6.7.0" - url-parse "^1.4.7" + qs "^6.10.1" + url-parse "^1.5.3" -"@sindresorhus/fnv1a@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/fnv1a/-/fnv1a-1.2.0.tgz#d554da64c406f3b62ad06dfce9efd537a4a55de4" - integrity sha512-5ezb/dBSTWtKQ4sLQwMgOJyREXJcZZkTMbendMwKrXTghUhWjZhstzkkmt4/WkFy/GSTSGzfJOKU7dEXv3C/XQ== +"@sindresorhus/fnv1a@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@sindresorhus/fnv1a/-/fnv1a-2.0.1.tgz#2aefdfa7eb5b7f29a7936978218e986c70c603fc" + integrity sha512-suq9tRQ6bkpMukTG5K5z0sPWB7t0zExMzZCdmYm6xTSSIm/yCKNm7VCL36wVeyTsFr597/UhU1OAYdHGMDiHrw== "@sinonjs/commons@^1.7.0": version "1.8.3" @@ -1676,11 +1678,6 @@ dependencies: "@types/node" "*" -"@types/har-format@^1.2.4": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.8.tgz#e6908b76d4c88be3db642846bb8b455f0bfb1c4e" - integrity sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ== - "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.4" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" @@ -1773,38 +1770,18 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/pollyjs__adapter-node-http@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/pollyjs__adapter-node-http/-/pollyjs__adapter-node-http-2.0.1.tgz#8b05378c11390590bf6a44bfe970746b309ab055" - integrity sha512-bUEZZbzCwvUZfBUrVJXYbQfdGVKL7TM/xrPFJYLNPC94I0PWngYtbFdzCkJSKfiOHP9xptgGTQpViDlNoKXYoQ== - dependencies: - "@types/pollyjs__adapter" "*" - -"@types/pollyjs__adapter@*": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@types/pollyjs__adapter/-/pollyjs__adapter-4.3.1.tgz#5be1c522f0351ae6f1001a38fb1f355737b0d371" - integrity sha512-aQXE2CDxaNV/doHMBaYMsGTj1Xn6GihD7owLRN2kd+rCw6YBRSWXEirtkwuutJYquWU2lbBl2m4usTQearpr6Q== - dependencies: - "@types/pollyjs__core" "*" - -"@types/pollyjs__core@*", "@types/pollyjs__core@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@types/pollyjs__core/-/pollyjs__core-4.3.3.tgz#a666d71ac9e977c91380db33c6621270b8b444a5" - integrity sha512-qPLLq+be0L45z/EawTWXdsQZINCHgRxqQJUDQsvLTDGvnnV6y5rjK3c8mYtCxkVFmKxNIBsicI1+ldHPgPBAjA== - dependencies: - "@types/pollyjs__adapter" "*" - "@types/pollyjs__persister" "*" - -"@types/pollyjs__persister@*", "@types/pollyjs__persister@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@types/pollyjs__persister/-/pollyjs__persister-4.3.1.tgz#4d2491bea42846ad60b2fde796396de13d8c4c18" - integrity sha512-h8MNPbBGM5fRCXGA/xAw6bFZT1oJhnPaoTpDp07PHN63YZvRR0NdeJYphFod+PX1GOhDHrIXxtB912JlwJwGHw== - "@types/prettier@^2.1.5": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== +"@types/set-cookie-parser@^2.4.1": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/set-cookie-parser/-/set-cookie-parser-2.4.2.tgz#b6a955219b54151bfebd4521170723df5e13caad" + integrity sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w== + dependencies: + "@types/node" "*" + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -2408,7 +2385,7 @@ bluebird@^3.5.1: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -blueimp-md5@^2.10.0: +blueimp-md5@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== @@ -3127,6 +3104,13 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: dependencies: ms "2.1.2" +debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -3883,7 +3867,7 @@ fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -4054,25 +4038,7 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^8.0.1: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.1.0: +fs-extra@^10.0.0, fs-extra@^9.0.0, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -4482,12 +4448,12 @@ http-errors@1.8.1: statuses ">= 1.5.0 < 2" toidentifier "1.0.1" -http-graceful-shutdown@^2.3.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/http-graceful-shutdown/-/http-graceful-shutdown-2.4.0.tgz#363300296fe8097b2404bf70f2ac29ecc0ed6ba7" - integrity sha512-Wj42gVFxJ/MJPQP5aC45FdsZpBiw3yw78MVfDmbPbPEZCJa5HqtRmc5cKTCBZ4emWZLptNg5p05zuYJlCa4lSA== +http-graceful-shutdown@^3.1.5: + version "3.1.7" + resolved "https://registry.yarnpkg.com/http-graceful-shutdown/-/http-graceful-shutdown-3.1.7.tgz#1dc51a72717db95b877f7881bc4646dc2a5a7667" + integrity sha512-00tmCsvemcZLfhii3sB7sfoUjvTzhg/WdOzVI7WEt2Vai9h1ybzSoEhJeQIck8gCz8pt/4YMXWPjGZxe+KukTA== dependencies: - debug "^4.1.1" + debug "^4.3.4" http-proxy-agent@^4.0.1: version "4.0.1" @@ -4694,7 +4660,7 @@ ipaddr.js@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-absolute-url@^3.0.0: +is-absolute-url@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== @@ -5703,13 +5669,6 @@ jsonexport@^3.0.1: resolved "https://registry.yarnpkg.com/jsonexport/-/jsonexport-3.2.0.tgz#e5b4905ea1f6c8f8e0f62e4ceb26e4a31f1c93a8" integrity sha512-GbO9ugb0YTZatPd/hqCGR0FSwbr82H6OzG04yzdrG7XOe4QZ0jhQ+kOsB29zqkzoYJLmLxbbrFiuwbQu891XnQ== -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -5916,7 +5875,7 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash-es@^4.17.11: +lodash-es@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== @@ -5941,6 +5900,11 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + lodash.template@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" @@ -5961,7 +5925,7 @@ lodash.truncate@^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.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.7.0: +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5991,6 +5955,11 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" +loglevel@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" + integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -6342,7 +6311,7 @@ moo@^0.5.0: resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w== -morgan@^1.9.1: +morgan@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== @@ -6484,19 +6453,19 @@ neo4j-driver@^4.3.3: neo4j-driver-core "^4.4.2" rxjs "^6.6.3" -nocache@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f" - integrity sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q== +nocache@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.3.tgz#07a3f4094746d5211c298d1938dcb5c1e1e352ca" + integrity sha512-bd+lPsDTjbfAuKez+xp8xvp15SrQuOjzajRGqRpCAE06FPB1pJzV/QkyBgFD5KOktv/M/A8M0vY7yatnOUaM5Q== -nock@^12.0.3: - version "12.0.3" - resolved "https://registry.yarnpkg.com/nock/-/nock-12.0.3.tgz#83f25076dbc4c9aa82b5cdf54c9604c7a778d1c9" - integrity sha512-QNb/j8kbFnKCiyqi9C5DD0jH/FubFGj5rt9NQFONXwQm3IPB0CULECg/eS3AU1KgZb/6SwUa4/DTRKhVxkGABw== +nock@^13.2.1: + version "13.2.4" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.4.tgz#43a309d93143ee5cdcca91358614e7bde56d20e1" + integrity sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug== dependencies: debug "^4.1.0" json-stringify-safe "^5.0.1" - lodash "^4.17.13" + lodash.set "^4.3.2" propagate "^2.0.0" node-fetch@^2.6.1, node-fetch@^2.6.7: @@ -7333,7 +7302,7 @@ qs@6.9.6: resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== -qs@^6.7.0, qs@^6.9.4: +qs@^6.10.1, qs@^6.9.4: version "6.10.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== @@ -7856,7 +7825,7 @@ set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-cookie-parser@^2.3.5: +set-cookie-parser@^2.4.8: version "2.4.8" resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz#d0da0ed388bc8f24e706a391f9c9e252a13c58b2" integrity sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg== @@ -7947,7 +7916,7 @@ slide@^1.1.6: resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= -slugify@^1.3.4: +slugify@^1.6.3: version "1.6.5" resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.5.tgz#c8f5c072bf2135b80703589b39a3d41451fbe8c8" integrity sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ== @@ -8728,7 +8697,7 @@ universal-user-agent@^6.0.0: resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.0, universalify@^0.1.2: +universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -8773,7 +8742,7 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse@^1.4.7, url-parse@^1.5.0: +url-parse@^1.5.0, url-parse@^1.5.3: version "1.5.10" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==