diff --git a/.eslintrc.js b/.eslintrc.js index f362cf4e517f77c33af4f7f2c49902d514fecc00..678b1528ffd0557f91145a3d2c8eaea67ebac25c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -8,6 +8,8 @@ module.exports = { 'plugin:import/errors', 'plugin:import/warnings', 'plugin:import/typescript', + 'plugin:jest/recommended', + 'plugin:jest/style', // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin/src/configs 'plugin:@typescript-eslint/eslint-recommended', 'plugin:@typescript-eslint/recommended', diff --git a/lib/config/__snapshots__/index.spec.ts.snap b/lib/config/__snapshots__/index.spec.ts.snap index 39e520ef106e4be1a10078c74eaadf486f4f06ec..35ba75877a04c67a6926bdaa38641624517b7940 100644 --- a/lib/config/__snapshots__/index.spec.ts.snap +++ b/lib/config/__snapshots__/index.spec.ts.snap @@ -1,595 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`config/index mergeChildConfig(parentConfig, childConfig) filterConfig() 1`] = ` -Object { - "additionalReviewers": Array [], - "aliases": Object {}, - "allowedPostUpgradeCommands": Array [], - "assignAutomerge": false, - "assignees": Array [], - "assigneesSampleSize": null, - "automerge": false, - "automergeComment": "automergeComment", - "automergeType": "pr", - "azureAutoComplete": false, - "azureWorkItemId": 0, - "baseDir": null, - "bbUseDefaultReviewers": true, - "binarySource": "auto", - "branchName": "{{{branchPrefix}}}{{{managerBranchPrefix}}}{{{branchTopic}}}", - "branchTopic": "{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}", - "bumpVersion": null, - "cacheDir": null, - "commitBody": null, - "commitBodyTable": false, - "commitMessage": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}", - "commitMessageAction": "Update", - "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}", - "commitMessagePrefix": null, - "commitMessageSuffix": null, - "commitMessageTopic": "dependency {{depName}}", - "compatibility": Object {}, - "composerIgnorePlatformReqs": true, - "configWarningReuseIssue": true, - "dockerMapDotfiles": false, - "dockerUser": null, - "dryRun": false, - "endpoint": null, - "excludeCommitPaths": Array [], - "gitAuthor": null, - "gitLabAutomerge": false, - "gitPrivateKey": null, - "group": Object { - "branchTopic": "{{{groupSlug}}}", - "commitMessageTopic": "{{{groupName}}}", - }, - "groupName": null, - "groupSlug": null, - "ignoreNpmrcFile": false, - "ignoreScripts": false, - "labels": Array [], - "lazyGrouping": true, - "managerBranchPrefix": "", - "masterIssue": false, - "masterIssueApproval": false, - "masterIssueAutoclose": false, - "masterIssueTitle": "Update Dependencies (Renovate Bot)", - "onboardingBranch": "renovate/configure", - "onboardingPrTitle": "Configure Renovate", - "persistRepoData": false, - "pinDigests": false, - "platform": "github", - "postUpdateOptions": Array [], - "postUpgradeTasks": Object { - "commands": Array [], - "fileFilters": Array [], - }, - "prBodyColumns": Array [ - "Package", - "Type", - "Update", - "Change", - ], - "prBodyDefinitions": Object { - "Change": "\`{{{displayFrom}}}\` -> \`{{{displayTo}}}\`", - "Current value": "{{{currentValue}}}", - "New value": "{{{newValue}}}", - "Package": "{{{depNameLinked}}}", - "Package file": "{{{packageFile}}}", - "References": "{{{references}}}", - "Type": "{{{depType}}}", - "Update": "{{{updateType}}}", - }, - "prBodyNotes": Array [], - "prConcurrentLimit": 0, - "prCreation": "immediate", - "prHourlyLimit": 0, - "prNotPendingHours": 25, - "prPriority": 0, - "prTitle": null, - "printConfig": false, - "productLinks": Object { - "documentation": "https://docs.renovatebot.com/", - "help": "https://github.com/renovatebot/config-help/issues", - "homepage": "https://github.com/renovatebot/renovate", - }, - "pruneStaleBranches": true, - "rangeStrategy": "replace", - "rebaseLabel": "rebase", - "rebaseWhen": "auto", - "recreateClosed": false, - "requiredStatusChecks": Array [], - "reviewers": Array [], - "reviewersSampleSize": null, - "rollbackPrs": false, - "schedule": Array [ - "at any time", - ], - "semanticCommitScope": "deps", - "semanticCommitType": "chore", - "semanticCommits": null, - "separateMajorMinor": true, - "separateMinorPatch": false, - "skipInstalls": null, - "stabilityDays": 0, - "statusCheckVerify": false, - "suppressNotifications": Array [ - "deprecationWarningIssues", - ], - "timezone": null, - "unicodeEmoji": false, - "unpublishSafe": false, - "updateLockFiles": true, - "versioning": "semver", - "vulnerabilityAlerts": Object { - "commitMessageSuffix": "[SECURITY]", - "groupName": null, - "masterIssueApproval": false, - "rangeStrategy": "update-lockfile", - "schedule": Array [], - }, -} -`; - -exports[`config/index mergeChildConfig(parentConfig, childConfig) getManagerConfig() 1`] = ` -Object { - "additionalReviewers": Array [], - "aliases": Object {}, - "allowedPostUpgradeCommands": Array [], - "assignAutomerge": false, - "assignees": Array [], - "assigneesSampleSize": null, - "autodiscover": false, - "autodiscoverFilter": null, - "automerge": false, - "automergeComment": "automergeComment", - "automergeType": "pr", - "azureAutoComplete": false, - "azureWorkItemId": 0, - "baseBranches": Array [], - "baseDir": null, - "bbUseDefaultReviewers": true, - "binarySource": "auto", - "branchName": "{{{branchPrefix}}}{{{managerBranchPrefix}}}{{{branchTopic}}}", - "branchPrefix": "renovate/", - "branchTopic": "{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}", - "bumpVersion": null, - "cacheDir": null, - "commitBody": null, - "commitBodyTable": false, - "commitMessage": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}", - "commitMessageAction": "Update", - "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}", - "commitMessagePrefix": null, - "commitMessageSuffix": null, - "commitMessageTopic": "dependency {{depName}}", - "compatibility": Object {}, - "composerIgnorePlatformReqs": true, - "configWarningReuseIssue": true, - "description": Array [], - "digest": Object { - "branchTopic": "{{{depNameSanitized}}}-digest", - "commitMessageExtra": "to {{newDigestShort}}", - "commitMessageTopic": "{{{depName}}} commit hash", - }, - "dockerMapDotfiles": false, - "dockerUser": null, - "dryRun": false, - "enabled": true, - "enabledManagers": Array [], - "encrypted": null, - "endpoint": null, - "excludeCommitPaths": Array [], - "extends": Array [], - "fileMatch": Array [ - "(^|/)package.json$", - ], - "followTag": null, - "force": null, - "forceCli": true, - "forkMode": false, - "gitAuthor": null, - "gitLabAutomerge": false, - "gitPrivateKey": null, - "group": Object { - "branchTopic": "{{{groupSlug}}}", - "commitMessageTopic": "{{{groupName}}}", - }, - "groupName": null, - "groupSlug": null, - "hostRules": Array [ - Object { - "timeout": 60000, - }, - ], - "ignoreDeprecated": true, - "ignoreDeps": Array [], - "ignoreNpmrcFile": false, - "ignorePaths": Array [ - "**/node_modules/**", - "**/bower_components/**", - ], - "ignorePresets": Array [], - "ignoreScripts": false, - "ignoreUnstable": true, - "includeForks": false, - "includePaths": Array [], - "java": Object {}, - "labels": Array [], - "language": "js", - "lazyGrouping": true, - "lockFileMaintenance": Object { - "branchTopic": "lock-file-maintenance", - "commitMessageAction": "Lock file maintenance", - "commitMessageExtra": null, - "commitMessageTopic": null, - "enabled": false, - "groupName": null, - "prBodyDefinitions": Object { - "Change": "All locks refreshed", - }, - "rebaseStalePrs": true, - "recreateClosed": true, - "schedule": Array [ - "before 5am on monday", - ], - }, - "logContext": null, - "logFile": null, - "logFileLevel": "debug", - "logLevel": "info", - "major": Object {}, - "manager": "npm", - "managerBranchPrefix": "", - "masterIssue": false, - "masterIssueApproval": false, - "masterIssueAutoclose": false, - "masterIssueTitle": "Update Dependencies (Renovate Bot)", - "minor": Object {}, - "npmToken": null, - "npmrc": null, - "onboarding": true, - "onboardingBranch": "renovate/configure", - "onboardingConfig": Object { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - }, - "onboardingPrTitle": "Configure Renovate", - "optimizeForDisabled": false, - "packageRules": Array [], - "password": null, - "patch": Object {}, - "persistRepoData": false, - "pin": Object { - "commitMessageAction": "Pin", - "group": Object { - "commitMessageExtra": "", - "commitMessageTopic": "dependencies", - }, - "groupName": "Pin Dependencies", - "groupSlug": "pin-dependencies", - "rebaseWhen": "behind-base-branch", - "recreateClosed": true, - "unpublishSafe": false, - }, - "pinDigests": false, - "platform": "github", - "postUpdateOptions": Array [], - "postUpgradeTasks": Object { - "commands": Array [], - "fileFilters": Array [], - }, - "prBodyColumns": Array [ - "Package", - "Type", - "Update", - "Change", - ], - "prBodyDefinitions": Object { - "Change": "[{{#if displayFrom}}\`{{{displayFrom}}}\` -> {{else}}{{#if currentValue}}\`{{{currentValue}}}\` -> {{/if}}{{/if}}{{#if displayTo}}\`{{{displayTo}}}\`{{else}}\`{{{newValue}}}\`{{/if}}](https://renovatebot.com/diffs/npm/{{replace '/' '%2f' depName}}/{{{fromVersion}}}/{{{toVersion}}})", - "Current value": "{{{currentValue}}}", - "New value": "{{{newValue}}}", - "Package": "{{{depNameLinked}}}", - "Package file": "{{{packageFile}}}", - "References": "{{{references}}}", - "Type": "{{{depType}}}", - "Update": "{{{updateType}}}", - }, - "prBodyNotes": Array [], - "prCommitsPerRunLimit": 0, - "prConcurrentLimit": 0, - "prCreation": "immediate", - "prFooter": "This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).", - "prHourlyLimit": 0, - "prNotPendingHours": 25, - "prPriority": 0, - "prTitle": null, - "printConfig": false, - "privateKey": null, - "productLinks": Object { - "documentation": "https://docs.renovatebot.com/", - "help": "https://github.com/renovatebot/config-help/issues", - "homepage": "https://github.com/renovatebot/renovate", - }, - "pruneStaleBranches": true, - "rangeStrategy": "replace", - "rebaseLabel": "rebase", - "rebaseWhen": "auto", - "recreateClosed": false, - "regexManagers": Array [], - "registryUrls": null, - "repositories": Array [], - "requireConfig": true, - "requiredStatusChecks": Array [], - "respectLatest": true, - "reviewers": Array [], - "reviewersSampleSize": null, - "rollbackPrs": true, - "schedule": Array [ - "at any time", - ], - "semanticCommitScope": "deps", - "semanticCommitType": "chore", - "semanticCommits": null, - "separateMajorMinor": true, - "separateMinorPatch": false, - "separateMultipleMajor": false, - "skipInstalls": null, - "stabilityDays": 0, - "statusCheckVerify": false, - "supportPolicy": Array [], - "suppressNotifications": Array [ - "deprecationWarningIssues", - ], - "timezone": null, - "token": null, - "trustLevel": "low", - "unicodeEmoji": false, - "unpublishSafe": false, - "updateLockFiles": true, - "updateNotScheduled": true, - "username": null, - "versioning": "npm", - "vulnerabilityAlerts": Object { - "commitMessageSuffix": "[SECURITY]", - "groupName": null, - "masterIssueApproval": false, - "rangeStrategy": "update-lockfile", - "schedule": Array [], - }, - "yarnrc": null, -} -`; - -exports[`config/index mergeChildConfig(parentConfig, childConfig) getManagerConfig() 2`] = ` -Object { - "additionalReviewers": Array [], - "aliases": Object {}, - "allowedPostUpgradeCommands": Array [], - "assignAutomerge": false, - "assignees": Array [], - "assigneesSampleSize": null, - "autodiscover": false, - "autodiscoverFilter": null, - "automerge": false, - "automergeComment": "automergeComment", - "automergeType": "pr", - "azureAutoComplete": false, - "azureWorkItemId": 0, - "baseBranches": Array [], - "baseDir": null, - "bbUseDefaultReviewers": true, - "binarySource": "auto", - "branchName": "{{{branchPrefix}}}{{{managerBranchPrefix}}}{{{branchTopic}}}", - "branchPrefix": "renovate/", - "branchTopic": "{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}", - "bumpVersion": null, - "cacheDir": null, - "commitBody": null, - "commitBodyTable": false, - "commitMessage": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}", - "commitMessageAction": "Update", - "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}", - "commitMessagePrefix": null, - "commitMessageSuffix": null, - "commitMessageTopic": "dependency {{depName}}", - "compatibility": Object {}, - "composerIgnorePlatformReqs": true, - "configWarningReuseIssue": true, - "description": Array [], - "digest": Object { - "branchTopic": "{{{depNameSanitized}}}-digest", - "commitMessageExtra": "to {{newDigestShort}}", - "commitMessageTopic": "{{{depName}}} commit hash", - "enabled": false, - }, - "dockerMapDotfiles": false, - "dockerUser": null, - "dryRun": false, - "enabled": true, - "enabledManagers": Array [], - "encrypted": null, - "endpoint": null, - "excludeCommitPaths": Array [], - "extends": Array [], - "fileMatch": Array [ - "\\\\.html?$", - ], - "followTag": null, - "force": null, - "forceCli": true, - "forkMode": false, - "gitAuthor": null, - "gitLabAutomerge": false, - "gitPrivateKey": null, - "group": Object { - "branchTopic": "{{{groupSlug}}}", - "commitMessageTopic": "{{{groupName}}}", - }, - "groupName": null, - "groupSlug": null, - "hostRules": Array [ - Object { - "timeout": 60000, - }, - ], - "ignoreDeprecated": true, - "ignoreDeps": Array [], - "ignoreNpmrcFile": false, - "ignorePaths": Array [ - "**/node_modules/**", - "**/bower_components/**", - ], - "ignorePresets": Array [], - "ignoreScripts": false, - "ignoreUnstable": true, - "includeForks": false, - "includePaths": Array [], - "java": Object {}, - "labels": Array [], - "language": undefined, - "lazyGrouping": true, - "lockFileMaintenance": Object { - "branchTopic": "lock-file-maintenance", - "commitMessageAction": "Lock file maintenance", - "commitMessageExtra": null, - "commitMessageTopic": null, - "enabled": false, - "groupName": null, - "prBodyDefinitions": Object { - "Change": "All locks refreshed", - }, - "rebaseStalePrs": true, - "recreateClosed": true, - "schedule": Array [ - "before 5am on monday", - ], - }, - "logContext": null, - "logFile": null, - "logFileLevel": "debug", - "logLevel": "info", - "major": Object {}, - "manager": "html", - "managerBranchPrefix": "", - "masterIssue": false, - "masterIssueApproval": false, - "masterIssueAutoclose": false, - "masterIssueTitle": "Update Dependencies (Renovate Bot)", - "minor": Object {}, - "npmToken": null, - "npmrc": null, - "onboarding": true, - "onboardingBranch": "renovate/configure", - "onboardingConfig": Object { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - }, - "onboardingPrTitle": "Configure Renovate", - "optimizeForDisabled": false, - "packageRules": Array [], - "password": null, - "patch": Object {}, - "persistRepoData": false, - "pin": Object { - "commitMessageAction": "Pin", - "group": Object { - "commitMessageExtra": "", - "commitMessageTopic": "dependencies", - }, - "groupName": "Pin Dependencies", - "groupSlug": "pin-dependencies", - "rebaseWhen": "behind-base-branch", - "recreateClosed": true, - "unpublishSafe": false, - }, - "pinDigests": false, - "platform": "github", - "postUpdateOptions": Array [], - "postUpgradeTasks": Object { - "commands": Array [], - "fileFilters": Array [], - }, - "prBodyColumns": Array [ - "Package", - "Type", - "Update", - "Change", - ], - "prBodyDefinitions": Object { - "Change": "\`{{{displayFrom}}}\` -> \`{{{displayTo}}}\`", - "Current value": "{{{currentValue}}}", - "New value": "{{{newValue}}}", - "Package": "{{{depNameLinked}}}", - "Package file": "{{{packageFile}}}", - "References": "{{{references}}}", - "Type": "{{{depType}}}", - "Update": "{{{updateType}}}", - }, - "prBodyNotes": Array [], - "prCommitsPerRunLimit": 0, - "prConcurrentLimit": 0, - "prCreation": "immediate", - "prFooter": "This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).", - "prHourlyLimit": 0, - "prNotPendingHours": 25, - "prPriority": 0, - "prTitle": null, - "printConfig": false, - "privateKey": null, - "productLinks": Object { - "documentation": "https://docs.renovatebot.com/", - "help": "https://github.com/renovatebot/config-help/issues", - "homepage": "https://github.com/renovatebot/renovate", - }, - "pruneStaleBranches": true, - "rangeStrategy": "replace", - "rebaseLabel": "rebase", - "rebaseWhen": "auto", - "recreateClosed": false, - "regexManagers": Array [], - "registryUrls": null, - "repositories": Array [], - "requireConfig": true, - "requiredStatusChecks": Array [], - "respectLatest": true, - "reviewers": Array [], - "reviewersSampleSize": null, - "rollbackPrs": false, - "schedule": Array [ - "at any time", - ], - "semanticCommitScope": "deps", - "semanticCommitType": "chore", - "semanticCommits": null, - "separateMajorMinor": true, - "separateMinorPatch": false, - "separateMultipleMajor": false, - "skipInstalls": null, - "stabilityDays": 0, - "statusCheckVerify": false, - "supportPolicy": Array [], - "suppressNotifications": Array [ - "deprecationWarningIssues", - ], - "timezone": null, - "token": null, - "trustLevel": "low", - "unicodeEmoji": false, - "unpublishSafe": false, - "updateLockFiles": true, - "updateNotScheduled": true, - "username": null, - "versioning": "semver", - "vulnerabilityAlerts": Object { - "commitMessageSuffix": "[SECURITY]", - "groupName": null, - "masterIssueApproval": false, - "rangeStrategy": "update-lockfile", - "schedule": Array [], - }, - "yarnrc": null, -} -`; - exports[`config/index mergeChildConfig(parentConfig, childConfig) merges 1`] = ` Object { "branchTopic": "lock-file-maintenance", diff --git a/lib/config/index.spec.ts b/lib/config/index.spec.ts index fac0d6cc1aa978b847ac34a2e51381ed629ebbb7..7a3534c957cfa26fdad3bc51045105789e61fc9e 100644 --- a/lib/config/index.spec.ts +++ b/lib/config/index.spec.ts @@ -14,29 +14,50 @@ describe('config/index', () => { describe('.parseConfigs(env, defaultArgv)', () => { let configParser: typeof import('.'); let defaultArgv: string[]; + let defaultEnv: NodeJS.ProcessEnv; beforeEach(async () => { jest.resetModules(); configParser = await import('./index'); defaultArgv = getArgv(); + defaultEnv = { RENOVATE_CONFIG_FILE: 'abc' }; jest.mock('delay', () => Promise.resolve()); }); it('supports token in env', async () => { - const env: NodeJS.ProcessEnv = { RENOVATE_TOKEN: 'abc' }; - await configParser.parseConfigs(env, defaultArgv); + const env: NodeJS.ProcessEnv = { ...defaultEnv, RENOVATE_TOKEN: 'abc' }; + const parsedConfig = await configParser.parseConfigs(env, defaultArgv); + expect(parsedConfig).toContainEntries([['token', 'abc']]); }); + it('supports token in CLI options', async () => { defaultArgv = defaultArgv.concat([ '--token=abc', '--pr-footer=custom', '--log-context=abc123', ]); - const env: NodeJS.ProcessEnv = {}; - await configParser.parseConfigs(env, defaultArgv); + const parsedConfig = await configParser.parseConfigs( + defaultEnv, + defaultArgv + ); + expect(parsedConfig).toContainEntries([ + ['token', 'abc'], + ['global', { prFooter: 'custom' }], + ['logContext', 'abc123'], + ['customPrFooter', true], + ]); }); + it('supports forceCli', async () => { defaultArgv = defaultArgv.concat(['--force-cli=false']); - const env: NodeJS.ProcessEnv = { RENOVATE_TOKEN: 'abc' }; - await configParser.parseConfigs(env, defaultArgv); + const env: NodeJS.ProcessEnv = { + ...defaultEnv, + RENOVATE_TOKEN: 'abc', + }; + const parsedConfig = await configParser.parseConfigs(env, defaultArgv); + expect(parsedConfig).toContainEntries([ + ['token', 'abc'], + ['force', null], + ]); + expect(parsedConfig).not.toContainKey('configFile'); }); it('supports Bitbucket username/passwod', async () => { defaultArgv = defaultArgv.concat([ @@ -44,15 +65,21 @@ describe('config/index', () => { '--username=user', '--password=pass', ]); - const env: NodeJS.ProcessEnv = {}; - await configParser.parseConfigs(env, defaultArgv); + const parsedConfig = await configParser.parseConfigs( + defaultEnv, + defaultArgv + ); + expect(parsedConfig).toContainEntries([ + ['platform', 'bitbucket'], + ['username', 'user'], + ['password', 'pass'], + ]); }); it('massages trailing slash into endpoint', async () => { defaultArgv = defaultArgv.concat([ '--endpoint=https://github.renovatebot.com/api/v3', ]); - const env: NodeJS.ProcessEnv = {}; - const parsed = await configParser.parseConfigs(env, defaultArgv); + const parsed = await configParser.parseConfigs(defaultEnv, defaultArgv); expect(parsed.endpoint).toEqual('https://github.renovatebot.com/api/v3/'); }); }); @@ -120,17 +147,20 @@ describe('config/index', () => { const parentConfig = { ...defaultConfig }; const configParser = await import('./index'); const config = configParser.getManagerConfig(parentConfig, 'npm'); - expect(config).toMatchSnapshot(); + expect(config).toContainEntries([ + ['fileMatch', ['(^|/)package.json$']], + ['rollbackPrs', true], + ]); expect( configParser.getManagerConfig(parentConfig, 'html') - ).toMatchSnapshot(); + ).toContainEntries([['fileMatch', ['\\.html?$']]]); }); it('filterConfig()', async () => { const parentConfig = { ...defaultConfig }; const configParser = await import('./index'); const config = configParser.filterConfig(parentConfig, 'pr'); - expect(config).toMatchSnapshot(); + expect(config).toBeObject(); }); }); }); diff --git a/lib/config/migration.spec.ts b/lib/config/migration.spec.ts index 450e89a812d52e66c3f84ce540e2274d2532a9ea..a34b97b5269dd5633a76e737a494090cd1b94692 100644 --- a/lib/config/migration.spec.ts +++ b/lib/config/migration.spec.ts @@ -152,11 +152,11 @@ describe('config/migration', () => { ); expect(migratedConfig).toMatchSnapshot(); expect(isMigrated).toBe(true); - expect(migratedConfig.major.schedule.length).toBe(2); + expect(migratedConfig.major.schedule).toHaveLength(2); expect(migratedConfig.major.schedule[0]).toEqual('after 10pm'); expect(migratedConfig.major.schedule[1]).toEqual('before 7am'); expect(migratedConfig.minor.schedule).toMatchSnapshot(); - expect(migratedConfig.minor.schedule.length).toBe(2); + expect(migratedConfig.minor.schedule).toHaveLength(2); expect(migratedConfig.minor.schedule[0]).toEqual( 'after 10pm every weekday' ); diff --git a/lib/config/validation.spec.ts b/lib/config/validation.spec.ts index f74105a77e2df8715075750e0ea2833e76918718..5c0c219b9e51bef7c0be06f6b5a129cd70721ef7 100644 --- a/lib/config/validation.spec.ts +++ b/lib/config/validation.spec.ts @@ -80,7 +80,7 @@ describe('config/validation', () => { ); expect(warnings).toHaveLength(0); expect(errors).toHaveLength(1); - expect(errors[0].message.includes('ansible')).toBe(true); + expect(errors[0].message).toContain('ansible'); }); it('included managers of the wrong type', async () => { const config = { diff --git a/lib/datasource/cdnjs/index.spec.ts b/lib/datasource/cdnjs/index.spec.ts index 1a7a67d83c8eefe4058457100bcbaa320c3436f6..f2d78afb093623333c31e31e0c0abf2a3ceb9f7c 100644 --- a/lib/datasource/cdnjs/index.spec.ts +++ b/lib/datasource/cdnjs/index.spec.ts @@ -27,13 +27,13 @@ describe('datasource/cdnjs', () => { }); it('throws for empty result', async () => { got.mockResolvedValueOnce(null); - await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrowError( + await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrow( DATASOURCE_FAILURE ); }); it('throws for missing fields', async () => { got.mockResolvedValueOnce({}); - await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrowError( + await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrow( DATASOURCE_FAILURE ); }); @@ -49,19 +49,19 @@ describe('datasource/cdnjs', () => { }); it('throws for 401', async () => { got.mockRejectedValueOnce({ statusCode: 401 }); - await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrowError( + await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrow( DATASOURCE_FAILURE ); }); it('throws for 429', async () => { got.mockRejectedValueOnce({ statusCode: 429 }); - await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrowError( + await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrow( DATASOURCE_FAILURE ); }); it('throws for 5xx', async () => { got.mockRejectedValueOnce({ statusCode: 502 }); - await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrowError( + await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrow( DATASOURCE_FAILURE ); }); @@ -69,7 +69,7 @@ describe('datasource/cdnjs', () => { got.mockImplementationOnce(() => { throw new Error(); }); - await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrowError( + await expect(getReleases({ lookupName: 'foo/bar' })).rejects.toThrow( DATASOURCE_FAILURE ); }); diff --git a/lib/datasource/crate/__snapshots__/index.spec.ts.snap b/lib/datasource/crate/__snapshots__/index.spec.ts.snap index 2080dcc171aa48acbbfe241e85c4e1dfd7b97203..8cab958d1b4e401393f9a7ea9d3833ac030860d9 100644 --- a/lib/datasource/crate/__snapshots__/index.spec.ts.snap +++ b/lib/datasource/crate/__snapshots__/index.spec.ts.snap @@ -1,6 +1,71 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`datasource/crate getReleases processes real data 1`] = ` +exports[`datasource/crate getReleases processes real data: amethyst 1`] = ` +Object { + "releases": Array [ + Object { + "version": "0.1.0", + }, + Object { + "version": "0.1.1", + }, + Object { + "version": "0.1.3", + }, + Object { + "version": "0.1.4", + }, + Object { + "version": "0.2.1", + }, + Object { + "version": "0.3.0", + }, + Object { + "version": "0.3.1", + }, + Object { + "version": "0.4.0", + }, + Object { + "version": "0.4.1", + }, + Object { + "version": "0.4.2", + }, + Object { + "version": "0.4.3", + }, + Object { + "version": "0.5.0", + }, + Object { + "version": "0.5.1", + }, + Object { + "version": "0.6.0", + }, + Object { + "version": "0.7.0", + }, + Object { + "version": "0.8.0", + }, + Object { + "version": "0.9.0", + }, + Object { + "version": "0.10.0", + }, + Object { + "isDeprecated": true, + "version": "0.10.1", + }, + ], +} +`; + +exports[`datasource/crate getReleases processes real data: libc 1`] = ` Object { "releases": Array [ Object { @@ -204,69 +269,4 @@ Object { } `; -exports[`datasource/crate getReleases processes real data 2`] = ` -Object { - "releases": Array [ - Object { - "version": "0.1.0", - }, - Object { - "version": "0.1.1", - }, - Object { - "version": "0.1.3", - }, - Object { - "version": "0.1.4", - }, - Object { - "version": "0.2.1", - }, - Object { - "version": "0.3.0", - }, - Object { - "version": "0.3.1", - }, - Object { - "version": "0.4.0", - }, - Object { - "version": "0.4.1", - }, - Object { - "version": "0.4.2", - }, - Object { - "version": "0.4.3", - }, - Object { - "version": "0.5.0", - }, - Object { - "version": "0.5.1", - }, - Object { - "version": "0.6.0", - }, - Object { - "version": "0.7.0", - }, - Object { - "version": "0.8.0", - }, - Object { - "version": "0.9.0", - }, - Object { - "version": "0.10.0", - }, - Object { - "isDeprecated": true, - "version": "0.10.1", - }, - ], -} -`; - exports[`datasource/crate getReleases throws for 5xx 1`] = `[Error: registry-failure]`; diff --git a/lib/datasource/crate/index.spec.ts b/lib/datasource/crate/index.spec.ts index ecf31c4e764765196b8d565d5e56815ebce27a22..d30952f093532c3ffd566e6a87e615d065aed73d 100644 --- a/lib/datasource/crate/index.spec.ts +++ b/lib/datasource/crate/index.spec.ts @@ -70,7 +70,7 @@ describe('datasource/crate', () => { }); expect(await getReleases({ lookupName: 'some_crate' })).toBeNull(); }); - it('processes real data', async () => { + it('processes real data: libc', async () => { got.mockReturnValueOnce({ body: res1, }); @@ -79,7 +79,7 @@ describe('datasource/crate', () => { expect(res).not.toBeNull(); expect(res).toBeDefined(); }); - it('processes real data', async () => { + it('processes real data: amethyst', async () => { got.mockReturnValueOnce({ body: res2, }); diff --git a/lib/datasource/docker/index.spec.ts b/lib/datasource/docker/index.spec.ts index 299b6e93b1352e47c16592e561a1460e69c9df44..913f3fd803e00711bde4bb6e0d5eea7ac9ca65c5 100644 --- a/lib/datasource/docker/index.spec.ts +++ b/lib/datasource/docker/index.spec.ts @@ -206,7 +206,7 @@ describe('api/docker', () => { { lookupName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node' }, 'some-tag' ); - expect(res).toBe(null); + expect(res).toBeNull(); AWSMock.restore('ECR'); }); it('continues without token if ECR authentication fails', async () => { @@ -230,7 +230,7 @@ describe('api/docker', () => { { lookupName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node' }, 'some-tag' ); - expect(res).toBe(null); + expect(res).toBeNull(); AWSMock.restore('ECR'); }); it('continues without token, when no header is present', async () => { diff --git a/lib/datasource/git-refs/index.spec.ts b/lib/datasource/git-refs/index.spec.ts index fdfc939fdac044a555a737236330c4a5920e0e73..107ee992ca5bb15e6c116a3072ee0a7f68b7b75a 100644 --- a/lib/datasource/git-refs/index.spec.ts +++ b/lib/datasource/git-refs/index.spec.ts @@ -23,7 +23,7 @@ describe('datasource/git-refs', () => { }, }); const versions = await getReleases({ lookupName }); - expect(versions).toEqual(null); + expect(versions).toBeNull(); }); it('returns nil if remote call throws exception', async () => { simpleGit.mockReturnValue({ @@ -32,7 +32,7 @@ describe('datasource/git-refs', () => { }, }); const versions = await getReleases({ lookupName }); - expect(versions).toEqual(null); + expect(versions).toBeNull(); }); it('returns versions filtered from tags', async () => { simpleGit.mockReturnValue({ diff --git a/lib/datasource/git-submodules/index.spec.ts b/lib/datasource/git-submodules/index.spec.ts index 7cb30c60f54ddddb92b4a58f9121a44d67b9674b..e88541e41ee51187cd2c377dc10df488e1d2d162 100644 --- a/lib/datasource/git-submodules/index.spec.ts +++ b/lib/datasource/git-submodules/index.spec.ts @@ -18,7 +18,7 @@ describe('datasource/git-submoduless', () => { }, }); const versions = await getReleases({ lookupName, registryUrls }); - expect(versions).toEqual(null); + expect(versions).toBeNull(); }); it('returns null if remote call throws exception', async () => { simpleGit.mockReturnValue({ @@ -27,7 +27,7 @@ describe('datasource/git-submoduless', () => { }, }); const versions = await getReleases({ lookupName, registryUrls }); - expect(versions).toEqual(null); + expect(versions).toBeNull(); }); it('returns versions filtered from tags', async () => { simpleGit.mockReturnValue({ diff --git a/lib/datasource/git-tags/index.spec.ts b/lib/datasource/git-tags/index.spec.ts index 7efcb53400f8a913ef141b76be04650dd717d377..d46a7a335fb621e93eb1b26206e2c268cb3678e7 100644 --- a/lib/datasource/git-tags/index.spec.ts +++ b/lib/datasource/git-tags/index.spec.ts @@ -23,7 +23,7 @@ describe('datasource/git-tags', () => { }, }); const versions = await getReleases({ lookupName }); - expect(versions).toEqual(null); + expect(versions).toBeNull(); }); it('returns nil if remote call throws exception', async () => { simpleGit.mockReturnValue({ @@ -32,7 +32,7 @@ describe('datasource/git-tags', () => { }, }); const versions = await getReleases({ lookupName }); - expect(versions).toEqual(null); + expect(versions).toBeNull(); }); it('returns versions filtered from tags', async () => { simpleGit.mockReturnValue({ diff --git a/lib/datasource/go/index.spec.ts b/lib/datasource/go/index.spec.ts index 0968c089a01bbcd2663ea42ff7e41c518c4b48aa..3ebb1a522e8f105142a0e9701ff948e81046127e 100644 --- a/lib/datasource/go/index.spec.ts +++ b/lib/datasource/go/index.spec.ts @@ -141,7 +141,7 @@ describe('datasource/go', () => { const prefix = pkg.lookupName.split('/')[3]; const result = await go.getReleases(pkg); expect(result.releases).toHaveLength(1); - expect(result.releases[0].version.startsWith(prefix)); + expect(result.releases[0].version.startsWith(prefix)).toBeFalse(); } expect(got).toHaveBeenCalledTimes(0); expect(github.getReleases.mock.calls).toMatchSnapshot(); diff --git a/lib/datasource/hex/index.spec.ts b/lib/datasource/hex/index.spec.ts index fb6e78f490b6ab6907d36e38f6198bac3c08df14..b0d8e3e51a919506fe5dadf9251bfe566ae3e297 100644 --- a/lib/datasource/hex/index.spec.ts +++ b/lib/datasource/hex/index.spec.ts @@ -57,9 +57,9 @@ describe('datasource/hex', () => { statusCode: 429, }) ); - await expect( - getReleases({ lookupName: 'some_crate' }) - ).rejects.toThrowError(DATASOURCE_FAILURE); + await expect(getReleases({ lookupName: 'some_crate' })).rejects.toThrow( + DATASOURCE_FAILURE + ); }); it('throws for 5xx', async () => { got.mockImplementationOnce(() => @@ -67,9 +67,9 @@ describe('datasource/hex', () => { statusCode: 502, }) ); - await expect( - getReleases({ lookupName: 'some_crate' }) - ).rejects.toThrowError(DATASOURCE_FAILURE); + await expect(getReleases({ lookupName: 'some_crate' })).rejects.toThrow( + DATASOURCE_FAILURE + ); }); it('returns null for unknown error', async () => { got.mockImplementationOnce(() => { diff --git a/lib/datasource/npm/index.spec.ts b/lib/datasource/npm/index.spec.ts index 4e05002ee04c1b1ae27f457acbb58dc6eb03d495..16ffd6edce35aae7d9bd34f335262bd1e47a262f 100644 --- a/lib/datasource/npm/index.spec.ts +++ b/lib/datasource/npm/index.spec.ts @@ -263,9 +263,11 @@ describe(getName(__filename), () => { expect(res).toMatchSnapshot(); }); it('resets npmrc', () => { - npm.setNpmrc('something=something'); - npm.setNpmrc('something=something'); + const npmrcContent = 'something=something'; + npm.setNpmrc(npmrcContent); + npm.setNpmrc(npmrcContent); npm.setNpmrc(); + expect(npm.getNpmrc()).toBeNull(); }); it('should use default registry if missing from npmrc', async () => { nock('https://registry.npmjs.org').get('/foobar').reply(200, npmResponse); diff --git a/lib/datasource/npm/index.ts b/lib/datasource/npm/index.ts index 606041136da752b5d59388d771e4e9d6c4e089ee..d0c7d10a70fed9698f6e18f90a5c3897b244d956 100644 --- a/lib/datasource/npm/index.ts +++ b/lib/datasource/npm/index.ts @@ -1,4 +1,4 @@ export { resetMemCache, resetCache } from './get'; export { getReleases } from './releases'; -export { setNpmrc } from './npmrc'; +export { getNpmrc, setNpmrc } from './npmrc'; export { id } from './common'; diff --git a/lib/datasource/npm/npmrc.spec.ts b/lib/datasource/npm/npmrc.spec.ts index ee4f5e63ec9aa0fc1c6455d1865633fdf4a4acf5..0c8260a261399a2e9507105610503cd0dd7ec038 100644 --- a/lib/datasource/npm/npmrc.spec.ts +++ b/lib/datasource/npm/npmrc.spec.ts @@ -16,15 +16,15 @@ describe(getName(__filename), () => { it('sanitize _auth', () => { setNpmrc('_auth=test'); - expect(sanitize.add).toBeCalledWith('test'); - expect(sanitize.add).toBeCalledTimes(1); + expect(sanitize.add).toHaveBeenCalledWith('test'); + expect(sanitize.add).toHaveBeenCalledTimes(1); }); it('sanitize _authtoken', () => { // eslint-disable-next-line no-template-curly-in-string setNpmrc('//registry.test.com:_authToken=test\n_authToken=${NPM_TOKEN}'); - expect(sanitize.add).toBeCalledWith('test'); - expect(sanitize.add).toBeCalledTimes(1); + expect(sanitize.add).toHaveBeenCalledWith('test'); + expect(sanitize.add).toHaveBeenCalledTimes(1); }); it('sanitize _password', () => { @@ -34,7 +34,7 @@ describe(getName(__filename), () => { expect(sanitize.add).toHaveBeenNthCalledWith(1, 'dGVzdA=='); expect(sanitize.add).toHaveBeenNthCalledWith(2, 'test'); expect(sanitize.add).toHaveBeenNthCalledWith(3, 'dGVzdDp0ZXN0'); - expect(sanitize.add).toBeCalledTimes(3); + expect(sanitize.add).toHaveBeenCalledTimes(3); }); it('sanitize _authtoken with high trust', () => { @@ -44,8 +44,8 @@ describe(getName(__filename), () => { // eslint-disable-next-line no-template-curly-in-string '//registry.test.com:_authToken=${TEST_TOKEN}\n_authToken=\nregistry=http://localhost' ); - expect(sanitize.add).toBeCalledWith('test'); - expect(sanitize.add).toBeCalledTimes(1); + expect(sanitize.add).toHaveBeenCalledWith('test'); + expect(sanitize.add).toHaveBeenCalledTimes(1); }); it('ignores localhost', () => { diff --git a/lib/datasource/nuget/index.spec.ts b/lib/datasource/nuget/index.spec.ts index 99846bb60e24c0db11d5d1bb76a74c31c475a469..82455298b2b720dbfbfe5c7cf9ddb564b79f7780 100644 --- a/lib/datasource/nuget/index.spec.ts +++ b/lib/datasource/nuget/index.spec.ts @@ -209,7 +209,7 @@ describe('datasource/nuget', () => { }) ).toBeNull(); }); - it('returns null for non 200 (v3)', async () => { + it('returns null for non 200 (v2)', async () => { got.mockImplementationOnce(() => Promise.reject({ statusCode: 500, diff --git a/lib/datasource/pod/index.spec.ts b/lib/datasource/pod/index.spec.ts index 5161bbcdeb45e4b81ba3003876c9e556666dc289..2f850fcd2999bf8fa47a5a4fa05793b4d53acaa2 100644 --- a/lib/datasource/pod/index.spec.ts +++ b/lib/datasource/pod/index.spec.ts @@ -67,9 +67,7 @@ describe('datasource/cocoapods', () => { .scope(cocoapodsHost) .get('/all_pods_versions_a_c_b.txt') .reply(429); - await expect(getPkgReleases(config)).rejects.toThrowError( - 'registry-failure' - ); + await expect(getPkgReleases(config)).rejects.toThrow('registry-failure'); expect(httpMock.getTrace()).toMatchSnapshot(); }); it('returns null for unknown error', async () => { diff --git a/lib/datasource/sbt-package/index.spec.ts b/lib/datasource/sbt-package/index.spec.ts index 6aeffc153c5e236ec769d4a672266d94eabc3ff9..1efe92dd0d0762806de5a759ea23e1e272a6d5a5 100644 --- a/lib/datasource/sbt-package/index.spec.ts +++ b/lib/datasource/sbt-package/index.spec.ts @@ -104,7 +104,7 @@ describe('datasource/sbt', () => { depName: 'org.scalatest:scalatest', registryUrls: ['https://failed_repo/maven'], }) - ).toEqual(null); + ).toBeNull(); }); it('fetches releases from Maven', async () => { expect( diff --git a/lib/datasource/sbt-plugin/index.spec.ts b/lib/datasource/sbt-plugin/index.spec.ts index 4fa1f7c514c0ea34ca0c842282731f81f17cbd11..ee59fe64ea42408a3d5bdb2084f531cc3e7f226a 100644 --- a/lib/datasource/sbt-plugin/index.spec.ts +++ b/lib/datasource/sbt-plugin/index.spec.ts @@ -103,7 +103,7 @@ describe('datasource/sbt', () => { depName: 'org.scalatest:scalatest', registryUrls: ['https://failed_repo/maven'], }) - ).toEqual(null); + ).toBeNull(); expect( await getPkgReleases({ versioning: mavenVersioning.id, @@ -111,7 +111,7 @@ describe('datasource/sbt', () => { depName: 'org.scalatest:scalaz', registryUrls: [], }) - ).toEqual(null); + ).toBeNull(); }); it('fetches sbt plugins', async () => { expect( diff --git a/lib/logger/index.spec.ts b/lib/logger/index.spec.ts index 892cbafb4a1dd71cce513b25dbcac813d7da8c65..7a514ec48c03e13792e667df19684f50c50f319f 100644 --- a/lib/logger/index.spec.ts +++ b/lib/logger/index.spec.ts @@ -26,29 +26,29 @@ describe('logger', () => { expect(getContext()).toEqual('abc123'); }); it('supports logging with metadata', () => { - logger.debug({ some: 'meta' }, 'some meta'); + expect(() => logger.debug({ some: 'meta' }, 'some meta')).not.toThrow(); }); it('supports logging with only metadata', () => { - logger.debug({ some: 'meta' }); + expect(() => logger.debug({ some: 'meta' })).not.toThrow(); }); it('supports logging without metadata', () => { - logger.debug('some meta'); + expect(() => logger.debug('some meta')).not.toThrow(); }); it('sets meta', () => { - setMeta({ any: 'test' }); + expect(() => setMeta({ any: 'test' })).not.toThrow(); }); it('adds meta', () => { - addMeta({ new: 'test' }); + expect(() => addMeta({ new: 'test' })).not.toThrow(); }); it('removes meta', () => { - removeMeta(['new']); + expect(() => removeMeta(['new'])).not.toThrow(); }); it('sets level', () => { - levels('stdout', 'debug'); + expect(() => levels('stdout', 'debug')).not.toThrow(); }); it('saves errors', () => { diff --git a/lib/manager/bazel/update.spec.ts b/lib/manager/bazel/update.spec.ts index 0710daaf984a9df016637e9c90ae7598c0bdeffd..8ababd1faa9965e57d0705a958b528ca67e9c125 100644 --- a/lib/manager/bazel/update.spec.ts +++ b/lib/manager/bazel/update.spec.ts @@ -81,7 +81,7 @@ describe('manager/bazel/update', () => { }); expect(res).toMatchSnapshot(); expect(res).not.toEqual(contentContainerPull); - expect(res.includes('# v1.0.0-alpha31.cli-migrations 11/28')).toBe(true); + expect(res).toContain('# v1.0.0-alpha31.cli-migrations 11/28'); }); it('updates commit to tag', async () => { @@ -108,9 +108,9 @@ describe('manager/bazel/update', () => { }); expect(res).toMatchSnapshot(); expect(res).not.toEqual(content); - expect( - res.includes('"aaa09d789f3dba190787f8b4454c7d3c936fe123", # v1.0.3') - ).toBe(true); + expect(res).toContain( + '"aaa09d789f3dba190787f8b4454c7d3c936fe123", # v1.0.3' + ); }); it('updates commit-based http archive', async () => { const upgrade = { diff --git a/lib/manager/cargo/__snapshots__/extract.spec.ts.snap b/lib/manager/cargo/__snapshots__/extract.spec.ts.snap index eb720e33f12c07990a73cdbec01cb3a6ec54b5f1..680911d6b39a1755a6b6fc6314202e3c5076f0a2 100644 --- a/lib/manager/cargo/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/cargo/__snapshots__/extract.spec.ts.snap @@ -1,29 +1,31 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`lib/manager/cargo/extract extractPackageFile() extracts multiple dependencies 1`] = ` +exports[`lib/manager/cargo/extract extractPackageFile() extracts multiple dependencies advanced 1`] = ` Array [ Object { - "currentValue": "=0.2.43", + "currentValue": "0.2.0", "datasource": "crate", - "depName": "libc", + "depName": "amethyst_animation", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, + "skipReason": "path-dependency", }, Object { - "currentValue": "1.0.4", + "currentValue": "0.3.0", "datasource": "crate", - "depName": "bitflags", + "depName": "amethyst_assets", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, + "skipReason": "path-dependency", }, Object { - "currentValue": "=0.1", + "currentValue": "0.2.0", "datasource": "crate", - "depName": "pcap-sys", + "depName": "amethyst_audio", "depType": "dependencies", "managerData": Object { "nestedVersion": true, @@ -31,362 +33,360 @@ Array [ "skipReason": "path-dependency", }, Object { - "currentValue": "0.21.0", + "currentValue": "0.6.0", "datasource": "crate", - "depName": "pnet", + "depName": "amethyst_config", "depType": "dependencies", "managerData": Object { "nestedVersion": true, }, + "skipReason": "path-dependency", }, Object { - "currentValue": "0.1.0", + "currentValue": "0.2.0", "datasource": "crate", - "depName": "git_dep_with_version", + "depName": "amethyst_core", "depType": "dependencies", "managerData": Object { "nestedVersion": true, }, - "skipReason": "git-dependency", + "skipReason": "path-dependency", }, Object { - "currentValue": "", + "currentValue": "0.1.0", "datasource": "crate", - "depName": "git_dep", + "depName": "amethyst_controls", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, - "skipReason": "git-dependency", + "skipReason": "path-dependency", }, Object { - "currentValue": "0.0.0", + "currentValue": "0.1.0", "datasource": "crate", - "depName": "same_version_1__", + "depName": "amethyst_locale", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, + "skipReason": "path-dependency", }, Object { - "currentValue": "0.0.0", + "currentValue": "0.7", "datasource": "crate", - "depName": "same_version_1_", + "depName": "amethyst_renderer", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, + "skipReason": "path-dependency", }, Object { - "currentValue": "0.0.0", + "currentValue": "0.3", "datasource": "crate", - "depName": "same_version_1", + "depName": "amethyst_input", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, + "skipReason": "path-dependency", }, Object { - "currentValue": "0.4.2", + "currentValue": "0.2", "datasource": "crate", - "depName": "dep1", + "depName": "amethyst_ui", "depType": "dependencies", "managerData": Object { "nestedVersion": true, }, + "skipReason": "path-dependency", }, Object { - "currentValue": "=0.3.6", + "currentValue": "0.2", "datasource": "crate", - "depName": "winapi", + "depName": "amethyst_utils", "depType": "dependencies", "managerData": Object { "nestedVersion": true, }, - "target": "cfg(windows)", + "skipReason": "path-dependency", }, Object { - "currentValue": "0.2.37", + "currentValue": "1.0", "datasource": "crate", - "depName": "wasm-bindgen", + "depName": "derivative", "depType": "dependencies", "managerData": Object { "nestedVersion": false, }, - "target": "cfg(target_arch = \\"wasm32\\")", }, Object { - "currentValue": "0.3.14", + "currentValue": "0.5", "datasource": "crate", - "depName": "js-sys", + "depName": "fern", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, - "target": "cfg(target_arch = \\"wasm32\\")", }, Object { - "currentValue": "", + "currentValue": "0.4", "datasource": "crate", - "depName": "js_relative_import", + "depName": "log", "depType": "dependencies", "managerData": Object { "nestedVersion": false, }, - "skipReason": "path-dependency", - "target": "cfg(target_arch = \\"wasm32\\")", }, Object { - "currentValue": "0.3.14", + "currentValue": "1.0.1", "datasource": "crate", - "depName": "web-sys", + "depName": "rayon", "depType": "dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "target": "cfg(target_arch = \\"wasm32\\")", }, -] -`; - -exports[`lib/manager/cargo/extract extractPackageFile() extracts multiple dependencies 2`] = ` -Array [ Object { - "currentValue": "0.2.0", + "currentValue": "0.1", "datasource": "crate", - "depName": "amethyst_animation", + "depName": "rustc_version_runtime", "depType": "dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.3.0", + "currentValue": "0.15", "datasource": "crate", - "depName": "amethyst_assets", + "depName": "winit", "depType": "dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.2.0", + "currentValue": "0.1", "datasource": "crate", - "depName": "amethyst_audio", + "depName": "thread_profiler", "depType": "dependencies", "managerData": Object { "nestedVersion": true, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.6.0", + "currentValue": "0.2", "datasource": "crate", - "depName": "amethyst_config", - "depType": "dependencies", + "depName": "amethyst_gltf", + "depType": "dev-dependencies", "managerData": Object { "nestedVersion": true, }, "skipReason": "path-dependency", }, Object { - "currentValue": "0.2.0", + "currentValue": "0.5.10", "datasource": "crate", - "depName": "amethyst_core", - "depType": "dependencies", + "depName": "env_logger", + "depType": "dev-dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.1.0", + "currentValue": "0.6", "datasource": "crate", - "depName": "amethyst_controls", - "depType": "dependencies", + "depName": "genmesh", + "depType": "dev-dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.1.0", + "currentValue": "0.2", "datasource": "crate", - "depName": "amethyst_locale", - "depType": "dependencies", + "depName": "ron", + "depType": "dev-dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.7", + "currentValue": "1.0", "datasource": "crate", - "depName": "amethyst_renderer", - "depType": "dependencies", + "depName": "serde", + "depType": "dev-dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.3", + "currentValue": "1.0", "datasource": "crate", - "depName": "amethyst_input", - "depType": "dependencies", + "depName": "serde_derive", + "depType": "dev-dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.2", + "currentValue": "0.1", "datasource": "crate", - "depName": "amethyst_ui", - "depType": "dependencies", + "depName": "vergen", + "depType": "build-dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, +] +`; + +exports[`lib/manager/cargo/extract extractPackageFile() extracts multiple dependencies simple 1`] = ` +Array [ Object { - "currentValue": "0.2", + "currentValue": "=0.2.43", "datasource": "crate", - "depName": "amethyst_utils", + "depName": "libc", "depType": "dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "1.0", + "currentValue": "1.0.4", "datasource": "crate", - "depName": "derivative", + "depName": "bitflags", "depType": "dependencies", "managerData": Object { "nestedVersion": false, }, }, Object { - "currentValue": "0.5", + "currentValue": "=0.1", "datasource": "crate", - "depName": "fern", + "depName": "pcap-sys", "depType": "dependencies", "managerData": Object { "nestedVersion": true, }, + "skipReason": "path-dependency", }, Object { - "currentValue": "0.4", + "currentValue": "0.21.0", "datasource": "crate", - "depName": "log", + "depName": "pnet", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, }, Object { - "currentValue": "1.0.1", + "currentValue": "0.1.0", "datasource": "crate", - "depName": "rayon", + "depName": "git_dep_with_version", "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, + "skipReason": "git-dependency", }, Object { - "currentValue": "0.1", + "currentValue": "", "datasource": "crate", - "depName": "rustc_version_runtime", + "depName": "git_dep", "depType": "dependencies", "managerData": Object { "nestedVersion": false, }, + "skipReason": "git-dependency", }, Object { - "currentValue": "0.15", + "currentValue": "0.0.0", "datasource": "crate", - "depName": "winit", + "depName": "same_version_1__", "depType": "dependencies", "managerData": Object { "nestedVersion": false, }, }, Object { - "currentValue": "0.1", + "currentValue": "0.0.0", "datasource": "crate", - "depName": "thread_profiler", + "depName": "same_version_1_", "depType": "dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, }, Object { - "currentValue": "0.2", + "currentValue": "0.0.0", "datasource": "crate", - "depName": "amethyst_gltf", - "depType": "dev-dependencies", + "depName": "same_version_1", + "depType": "dependencies", "managerData": Object { - "nestedVersion": true, + "nestedVersion": false, }, - "skipReason": "path-dependency", }, Object { - "currentValue": "0.5.10", + "currentValue": "0.4.2", "datasource": "crate", - "depName": "env_logger", - "depType": "dev-dependencies", + "depName": "dep1", + "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, }, Object { - "currentValue": "0.6", + "currentValue": "=0.3.6", "datasource": "crate", - "depName": "genmesh", - "depType": "dev-dependencies", + "depName": "winapi", + "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, + "target": "cfg(windows)", }, Object { - "currentValue": "0.2", + "currentValue": "0.2.37", "datasource": "crate", - "depName": "ron", - "depType": "dev-dependencies", + "depName": "wasm-bindgen", + "depType": "dependencies", "managerData": Object { "nestedVersion": false, }, + "target": "cfg(target_arch = \\"wasm32\\")", }, Object { - "currentValue": "1.0", + "currentValue": "0.3.14", "datasource": "crate", - "depName": "serde", - "depType": "dev-dependencies", + "depName": "js-sys", + "depType": "dependencies", "managerData": Object { "nestedVersion": false, }, + "target": "cfg(target_arch = \\"wasm32\\")", }, Object { - "currentValue": "1.0", + "currentValue": "", "datasource": "crate", - "depName": "serde_derive", - "depType": "dev-dependencies", + "depName": "js_relative_import", + "depType": "dependencies", "managerData": Object { "nestedVersion": false, }, + "skipReason": "path-dependency", + "target": "cfg(target_arch = \\"wasm32\\")", }, Object { - "currentValue": "0.1", + "currentValue": "0.3.14", "datasource": "crate", - "depName": "vergen", - "depType": "build-dependencies", + "depName": "web-sys", + "depType": "dependencies", "managerData": Object { - "nestedVersion": false, + "nestedVersion": true, }, + "target": "cfg(target_arch = \\"wasm32\\")", }, ] `; diff --git a/lib/manager/cargo/extract.spec.ts b/lib/manager/cargo/extract.spec.ts index 363d74700d707102df7b5aa42b929050258f3582..54419a9cd32a7a3a3bc7a016422270dee515b3f5 100644 --- a/lib/manager/cargo/extract.spec.ts +++ b/lib/manager/cargo/extract.spec.ts @@ -31,24 +31,24 @@ describe('lib/manager/cargo/extract', () => { it('returns null for invalid toml', () => { expect(extractPackageFile('invalid toml', config)).toBeNull(); }); - it('returns null for empty', () => { + it('returns null for empty dependencies', () => { const cargotoml = '[dependencies]\n'; expect(extractPackageFile(cargotoml, config)).toBeNull(); }); - it('returns null for empty', () => { + it('returns null for empty dev-dependencies', () => { const cargotoml = '[dev-dependencies]\n'; expect(extractPackageFile(cargotoml, config)).toBeNull(); }); - it('returns null for empty', () => { + it('returns null for empty custom target', () => { const cargotoml = '[target."foo".dependencies]\n'; expect(extractPackageFile(cargotoml, config)).toBeNull(); }); - it('extracts multiple dependencies', () => { + it('extracts multiple dependencies simple', () => { const res = extractPackageFile(cargo1toml, config); expect(res.deps).toMatchSnapshot(); expect(res.deps).toHaveLength(15); }); - it('extracts multiple dependencies', () => { + it('extracts multiple dependencies advanced', () => { const res = extractPackageFile(cargo2toml, config); expect(res.deps).toMatchSnapshot(); expect(res.deps).toHaveLength(18 + 6 + 1); diff --git a/lib/manager/gomod/update.spec.ts b/lib/manager/gomod/update.spec.ts index 6fb3eceb0452350656036828bf727c86f85461a6..66e2e0d225e72d745f3bce728b30d1595a50c8fe 100644 --- a/lib/manager/gomod/update.spec.ts +++ b/lib/manager/gomod/update.spec.ts @@ -16,7 +16,7 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod1, upgrade }); expect(res).not.toEqual(gomod1); - expect(res.includes(upgrade.newValue)).toBe(true); + expect(res).toContain(upgrade.newValue); }); it('replaces two values in one file', () => { const upgrade1 = { @@ -30,7 +30,7 @@ describe('manager/gomod/update', () => { upgrade: upgrade1, }); expect(res1).not.toEqual(gomod1); - expect(res1.includes(upgrade1.newValue)).toBe(true); + expect(res1).toContain(upgrade1.newValue); const upgrade2 = { depName: 'github.com/aws/aws-sdk-go', managerData: { lineNumber: 3 }, @@ -65,8 +65,8 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod1, upgrade }); expect(res).not.toEqual(gomod2); - expect(res.includes(upgrade.newValue)).toBe(true); - expect(res.includes('github.com/pkg/errors/v2')).toBe(true); + expect(res).toContain(upgrade.newValue); + expect(res).toContain('github.com/pkg/errors/v2'); }); it('replaces major gopkg.in updates', () => { const upgrade = { @@ -81,9 +81,7 @@ describe('manager/gomod/update', () => { const res = updateDependency({ fileContent: gomod1, upgrade }); expect(res).toMatchSnapshot(); expect(res).not.toEqual(gomod2); - expect(res.includes('gopkg.in/russross/blackfriday.v2 v2.0.0')).toBe( - true - ); + expect(res).toContain('gopkg.in/russross/blackfriday.v2 v2.0.0'); }); it('returns null if mismatch', () => { const upgrade = { @@ -107,7 +105,7 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod2, upgrade }); expect(res).not.toEqual(gomod2); - expect(res.includes(upgrade.newValue)).toBe(true); + expect(res).toContain(upgrade.newValue); }); it('replaces quoted multiline', () => { const upgrade = { @@ -119,7 +117,7 @@ describe('manager/gomod/update', () => { const res = updateDependency({ fileContent: gomod2, upgrade }); expect(res).toMatchSnapshot(); expect(res).not.toEqual(gomod2); - expect(res.includes(upgrade.newValue)).toBe(true); + expect(res).toContain(upgrade.newValue); }); it('replaces major multiline', () => { const upgrade = { @@ -133,8 +131,8 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod2, upgrade }); expect(res).not.toEqual(gomod2); - expect(res.includes(upgrade.newValue)).toBe(true); - expect(res.includes('github.com/emirpasic/gods/v2')).toBe(true); + expect(res).toContain(upgrade.newValue); + expect(res).toContain('github.com/emirpasic/gods/v2'); }); it('bumps major multiline', () => { const upgrade = { @@ -148,8 +146,8 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod2, upgrade }); expect(res).not.toEqual(gomod2); - expect(res.includes(upgrade.newValue)).toBe(true); - expect(res.includes('github.com/src-d/gcfg/v3')).toBe(true); + expect(res).toContain(upgrade.newValue); + expect(res).toContain('github.com/src-d/gcfg/v3'); }); it('update multiline digest', () => { const upgrade = { @@ -163,8 +161,8 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod2, upgrade }); expect(res).not.toEqual(gomod2); - expect(res.includes(upgrade.newDigest)).toBe(false); - expect(res.includes(upgrade.newDigest.substring(0, 12))).toBe(true); + expect(res).not.toContain(upgrade.newDigest); + expect(res).toContain(upgrade.newDigest.substring(0, 12)); }); it('skips already-updated multiline digest', () => { const upgrade = { @@ -199,7 +197,7 @@ describe('manager/gomod/update', () => { const res = updateDependency({ fileContent: gomod1, upgrade }); expect(res).not.toEqual(gomod1); // Assert that the version still contains +incompatible tag. - expect(res.includes(upgrade.newValue + '+incompatible')).toBe(true); + expect(res).toContain(upgrade.newValue + '+incompatible'); }); it('handles replace line with minor version update', () => { const upgrade = { @@ -210,7 +208,7 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod1, upgrade }); expect(res).not.toEqual(gomod1); - expect(res.includes(upgrade.newValue)).toBe(true); + expect(res).toContain(upgrade.newValue); }); it('handles replace line with major version update', () => { const upgrade = { @@ -224,7 +222,7 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod1, upgrade }); expect(res).not.toEqual(gomod1); - expect(res.includes(upgrade.newValue)).toBe(true); + expect(res).toContain(upgrade.newValue); }); it('handles replace line with digest', () => { const upgrade = { @@ -240,7 +238,7 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod1, upgrade }); expect(res).not.toEqual(gomod1); - expect(res.includes(upgrade.newDigest.substring(0, 12))).toBe(true); + expect(res).toContain(upgrade.newDigest.substring(0, 12)); }); it('handles no pinned version to latest available version', () => { const upgrade = { @@ -254,7 +252,7 @@ describe('manager/gomod/update', () => { }; const res = updateDependency({ fileContent: gomod1, upgrade }); expect(res).not.toEqual(gomod1); - expect(res.includes(upgrade.newValue)).toBe(true); + expect(res).toContain(upgrade.newValue); expect(res).toContain(upgrade.depName + '/v6'); }); }); diff --git a/lib/manager/gradle-wrapper/artifacts.spec.ts b/lib/manager/gradle-wrapper/artifacts.spec.ts index 93fc74bad5a9d2522da9f158e8613adbe7f357d9..6a62ca92018a81e4f8494d745f319fef0e53880f 100644 --- a/lib/manager/gradle-wrapper/artifacts.spec.ts +++ b/lib/manager/gradle-wrapper/artifacts.spec.ts @@ -1,3 +1,4 @@ +/* eslint jest/no-standalone-expect: 0 */ import { exec as _exec } from 'child_process'; import { resolve } from 'path'; import { readFile } from 'fs-extra'; diff --git a/lib/manager/gradle/__snapshots__/gradle-updates-report.spec.ts.snap b/lib/manager/gradle/__snapshots__/gradle-updates-report.spec.ts.snap index b8ace091fd0c8e667017eae821e0e6f21ebde2c4..0b5fdd570394879d83bb8c33509235d7736e61ac 100644 --- a/lib/manager/gradle/__snapshots__/gradle-updates-report.spec.ts.snap +++ b/lib/manager/gradle/__snapshots__/gradle-updates-report.spec.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`lib/manager/gradle/gradle-updates-report createRenovateGradlePlugin generates a report for Gradle version 5 1`] = ` +exports[`manager/gradle/gradle-updates-report createRenovateGradlePlugin generates a report for Gradle version 5 1`] = ` Array [ Object { "dependencies": Array [ @@ -19,7 +19,7 @@ Array [ ] `; -exports[`lib/manager/gradle/gradle-updates-report createRenovateGradlePlugin generates a report for Gradle version 6 1`] = ` +exports[`manager/gradle/gradle-updates-report createRenovateGradlePlugin generates a report for Gradle version 6 1`] = ` Array [ Object { "dependencies": Array [ diff --git a/lib/manager/gradle/__snapshots__/index.spec.ts.snap b/lib/manager/gradle/__snapshots__/index.spec.ts.snap index 4250c501d976f7ed833ea8c2a65fda9332f38c1d..b9e1beaac77bf2bf852e899d6f1ad0781c4ddac8 100644 --- a/lib/manager/gradle/__snapshots__/index.spec.ts.snap +++ b/lib/manager/gradle/__snapshots__/index.spec.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`manager/gradle extractPackageFile should configure the renovate report plugin 1`] = ` +exports[`manager/gradle/index extractPackageFile should configure the renovate report plugin 1`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -22,7 +22,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should execute gradle if gradlew is not available 1`] = ` +exports[`manager/gradle/index extractPackageFile should execute gradle if gradlew is not available 1`] = ` Array [ Object { "cmd": "gradle --init-script renovate-plugin.gradle renovate", @@ -44,7 +44,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should execute gradlew when available 1`] = ` +exports[`manager/gradle/index extractPackageFile should execute gradlew when available 1`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -66,7 +66,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should execute gradlew.bat when available on Windows 1`] = ` +exports[`manager/gradle/index extractPackageFile should execute gradlew.bat when available on Windows 1`] = ` Array [ Object { "cmd": "gradlew.bat --init-script renovate-plugin.gradle renovate", @@ -88,7 +88,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return empty if renovate report is invalid 1`] = ` +exports[`manager/gradle/index extractPackageFile should return empty if renovate report is invalid 1`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -110,7 +110,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return empty if there are no dependencies 1`] = ` +exports[`manager/gradle/index extractPackageFile should return empty if there are no dependencies 1`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -132,7 +132,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return empty if there is no dependency report 1`] = ` +exports[`manager/gradle/index extractPackageFile should return empty if there is no dependency report 1`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -154,7 +154,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return gradle dependencies 1`] = ` +exports[`manager/gradle/index extractPackageFile should return gradle dependencies 1`] = ` Array [ Object { "datasource": "maven", @@ -275,7 +275,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return gradle dependencies 2`] = ` +exports[`manager/gradle/index extractPackageFile should return gradle dependencies 2`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -297,7 +297,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return gradle dependencies for build.gradle in subdirectories if there is gradlew in the same directory 1`] = ` +exports[`manager/gradle/index extractPackageFile should return gradle dependencies for build.gradle in subdirectories if there is gradlew in the same directory 1`] = ` Array [ Object { "datasource": "maven", @@ -360,7 +360,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return gradle dependencies for build.gradle in subdirectories if there is gradlew in the same directory 2`] = ` +exports[`manager/gradle/index extractPackageFile should return gradle dependencies for build.gradle in subdirectories if there is gradlew in the same directory 2`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -382,7 +382,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return gradle.kts dependencies 1`] = ` +exports[`manager/gradle/index extractPackageFile should return gradle.kts dependencies 1`] = ` Array [ Object { "datasource": "maven", @@ -503,7 +503,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return gradle.kts dependencies 2`] = ` +exports[`manager/gradle/index extractPackageFile should return gradle.kts dependencies 2`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -525,9 +525,9 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should return null and gradle should not be executed if no root build.gradle 1`] = `Array []`; +exports[`manager/gradle/index extractPackageFile should return null and gradle should not be executed if no root build.gradle 1`] = `Array []`; -exports[`manager/gradle extractPackageFile should use docker even if gradlew is available 1`] = ` +exports[`manager/gradle/index extractPackageFile should use docker even if gradlew is available 1`] = ` Array [ Object { "cmd": "docker pull renovate/gradle", @@ -567,7 +567,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should use docker even if gradlew.bat is available on Windows 1`] = ` +exports[`manager/gradle/index extractPackageFile should use docker even if gradlew.bat is available on Windows 1`] = ` Array [ Object { "cmd": "docker pull renovate/gradle", @@ -607,7 +607,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should use docker if required 1`] = ` +exports[`manager/gradle/index extractPackageFile should use docker if required 1`] = ` Array [ Object { "cmd": "docker pull renovate/gradle", @@ -647,7 +647,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should use repositories only for current project 1`] = ` +exports[`manager/gradle/index extractPackageFile should use repositories only for current project 1`] = ` Array [ Object { "datasource": "maven", @@ -687,7 +687,7 @@ Array [ ] `; -exports[`manager/gradle extractPackageFile should use repositories only for current project 2`] = ` +exports[`manager/gradle/index extractPackageFile should use repositories only for current project 2`] = ` Array [ Object { "cmd": "./gradlew --init-script renovate-plugin.gradle renovate", @@ -709,8 +709,8 @@ Array [ ] `; -exports[`manager/gradle updateDependency should update an existing module dependency 1`] = `Array []`; +exports[`manager/gradle/index updateDependency should update an existing module dependency 1`] = `Array []`; -exports[`manager/gradle updateDependency should update an existing plugin dependency 1`] = `Array []`; +exports[`manager/gradle/index updateDependency should update an existing plugin dependency 1`] = `Array []`; -exports[`manager/gradle updateDependency should update an existing plugin dependency with Kotlin DSL 1`] = `Array []`; +exports[`manager/gradle/index updateDependency should update an existing plugin dependency with Kotlin DSL 1`] = `Array []`; diff --git a/lib/manager/gradle/gradle-updates-report.spec.ts b/lib/manager/gradle/gradle-updates-report.spec.ts index bbf503b89f34210a78869a1a9c28a746e106146c..b8577f3bc78867caf8ccb563660fc8eccc3358a5 100644 --- a/lib/manager/gradle/gradle-updates-report.spec.ts +++ b/lib/manager/gradle/gradle-updates-report.spec.ts @@ -1,6 +1,7 @@ import * as path from 'path'; import * as fs from 'fs-extra'; import tmp, { DirectoryResult } from 'tmp-promise'; +import { getName } from '../../../test/util'; import { exec } from '../../util/exec'; import { ifSystemSupportsGradle } from './__testutil__/gradle'; import { @@ -11,20 +12,18 @@ import { GRADLE_DEPENDENCY_REPORT_OPTIONS } from './index'; const fixtures = 'lib/manager/gradle/__fixtures__'; -describe('lib/manager/gradle/gradle-updates-report', () => { - let workingDir: DirectoryResult; +describe(getName(__filename), () => { + for (const gradleVersion of [5, 6]) { + ifSystemSupportsGradle(gradleVersion).describe( + 'createRenovateGradlePlugin', + () => { + let workingDir: DirectoryResult; - beforeEach(async () => { - workingDir = await tmp.dir({ unsafeCleanup: true }); - }); + beforeEach(async () => { + workingDir = await tmp.dir({ unsafeCleanup: true }); + }); - describe('createRenovateGradlePlugin', () => { - for (const gradleVersion of [5, 6]) { - ifSystemSupportsGradle(gradleVersion).it( - `generates a report for Gradle version ${gradleVersion}`, - // the function creation is correct and intended - // eslint-disable-next-line no-loop-func - async () => { + it(`generates a report for Gradle version ${gradleVersion}`, async () => { await fs.copy(`${fixtures}/minimal-project`, workingDir.path); await fs.copy( `${fixtures}/gradle-wrappers/${gradleVersion}`, @@ -41,9 +40,8 @@ describe('lib/manager/gradle/gradle-updates-report', () => { `${workingDir.path}/${GRADLE_DEPENDENCY_REPORT_FILENAME}` ) ).toMatchSnapshot(); - }, - 120000 - ); - } - }); + }, 120000); + } + ); + } }); diff --git a/lib/manager/gradle/index.spec.ts b/lib/manager/gradle/index.spec.ts index 8c6fef123ef09c017edede209bd6bed78c261464..53f13643de1d189b9e2cc078e194f68c36a5d192 100644 --- a/lib/manager/gradle/index.spec.ts +++ b/lib/manager/gradle/index.spec.ts @@ -1,11 +1,10 @@ -/* eslint-disable @typescript-eslint/no-floating-promises */ import { exec as _exec } from 'child_process'; import * as _os from 'os'; import fs from 'fs-extra'; import tmp, { DirectoryResult } from 'tmp-promise'; import * as upath from 'upath'; import { envMock, mockExecAll } from '../../../test/execUtil'; -import { replacingSerializer } from '../../../test/util'; +import { getName, replacingSerializer } from '../../../test/util'; import * as _util from '../../util'; import { BinarySource } from '../../util/exec/common'; import * as _docker from '../../util/exec/docker'; @@ -61,7 +60,7 @@ async function setupMocks() { return [require('.'), exec, util, os]; } -describe('manager/gradle', () => { +describe(getName(__filename), () => { describe('extractPackageFile', () => { let manager: typeof _manager; let exec: jest.Mock<typeof _exec>; @@ -247,13 +246,14 @@ describe('manager/gradle', () => { `${config.localDir}/renovate-plugin.gradle`, fs.constants.F_OK ) - ).resolves.toBe(undefined); + ).resolves.toBeUndefined(); expect(execSnapshots).toMatchSnapshot(); }); it('should use docker if required', async () => { const configWithDocker = { binarySource: BinarySource.Docker, ...config }; - util.setUtilConfig(configWithDocker); + jest.spyOn(docker, 'removeDanglingContainers').mockResolvedValueOnce(); + await util.setUtilConfig(configWithDocker); await initializeWorkingDir(false, standardUpdatesReport()); const execSnapshots = mockExecAll(exec, gradleOutput); @@ -264,7 +264,8 @@ describe('manager/gradle', () => { it('should use docker even if gradlew is available', async () => { const configWithDocker = { binarySource: BinarySource.Docker, ...config }; - util.setUtilConfig(configWithDocker); + jest.spyOn(docker, 'removeDanglingContainers').mockResolvedValueOnce(); + await util.setUtilConfig(configWithDocker); await initializeWorkingDir(true, standardUpdatesReport()); const execSnapshots = mockExecAll(exec, gradleOutput); @@ -275,7 +276,8 @@ describe('manager/gradle', () => { it('should use docker even if gradlew.bat is available on Windows', async () => { const configWithDocker = { binarySource: BinarySource.Docker, ...config }; - util.setUtilConfig(configWithDocker); + jest.spyOn(docker, 'removeDanglingContainers').mockResolvedValueOnce(); + await util.setUtilConfig(configWithDocker); os.platform.mockReturnValue('win32'); await initializeWorkingDir(true, standardUpdatesReport()); const execSnapshots = mockExecAll(exec, gradleOutput); @@ -386,7 +388,7 @@ describe('manager/gradle', () => { }); }); - describe('executeGradle integration', () => { + ifSystemSupportsGradle(6).describe('executeGradle integration', () => { const SUCCESS_FILE_NAME = 'success.indicator'; let workingDir: DirectoryResult; let testRunConfig: ExtractConfig; @@ -416,25 +418,17 @@ allprojects { successFile = `${workingDir.path}/${SUCCESS_FILE_NAME}`; }); - ifSystemSupportsGradle(6).it( - 'executes an executable gradle wrapper', - async () => { - const gradlew = await fs.stat(`${workingDir.path}/gradlew`); - await manager.executeGradle(testRunConfig, workingDir.path, gradlew); - await expect(fs.readFile(successFile, 'utf8')).resolves.toBe('success'); - }, - 120000 - ); - - ifSystemSupportsGradle(6).it( - 'executes a not-executable gradle wrapper', - async () => { - await fs.chmod(`${workingDir.path}/gradlew`, '444'); - const gradlew = await fs.stat(`${workingDir.path}/gradlew`); - await manager.executeGradle(testRunConfig, workingDir.path, gradlew); - await expect(fs.readFile(successFile, 'utf8')).resolves.toBe('success'); - }, - 120000 - ); + it('executes an executable gradle wrapper', async () => { + const gradlew = await fs.stat(`${workingDir.path}/gradlew`); + await manager.executeGradle(testRunConfig, workingDir.path, gradlew); + await expect(fs.readFile(successFile, 'utf8')).resolves.toBe('success'); + }, 120000); + + it('executes a not-executable gradle wrapper', async () => { + await fs.chmod(`${workingDir.path}/gradlew`, '444'); + const gradlew = await fs.stat(`${workingDir.path}/gradlew`); + await manager.executeGradle(testRunConfig, workingDir.path, gradlew); + await expect(fs.readFile(successFile, 'utf8')).resolves.toBe('success'); + }, 120000); }); }); diff --git a/lib/manager/helm-requirements/extract.spec.ts b/lib/manager/helm-requirements/extract.spec.ts index b3a19601dc85ce77ed07dc5c31fe257113d287f5..893c4583f229134893879011fa279862db98e507 100644 --- a/lib/manager/helm-requirements/extract.spec.ts +++ b/lib/manager/helm-requirements/extract.spec.ts @@ -36,7 +36,7 @@ describe('lib/manager/helm-requirements/extract', () => { }); expect(result).not.toBeNull(); expect(result).toMatchSnapshot(); - expect(result.deps.every((dep) => dep.skipReason)); + expect(result.deps.every((dep) => dep.skipReason)).toEqual(true); }); it('parses simple requirements.yaml correctly', async () => { fs.readLocalFile.mockResolvedValueOnce(` @@ -101,7 +101,7 @@ describe('lib/manager/helm-requirements/extract', () => { }); expect(result).not.toBeNull(); expect(result).toMatchSnapshot(); - expect(result.deps.every((dep) => dep.skipReason)); + expect(result.deps.every((dep) => dep.skipReason)).toEqual(false); }); it("doesn't fail if Chart.yaml is invalid", async () => { fs.readLocalFile.mockResolvedValueOnce(` diff --git a/lib/manager/helmfile/extract.spec.ts b/lib/manager/helmfile/extract.spec.ts index bd734902b09dda584073667a0b8e26578cb19767..e57d7bb80b162a76ab5370ad121614a805ecdb42 100644 --- a/lib/manager/helmfile/extract.spec.ts +++ b/lib/manager/helmfile/extract.spec.ts @@ -56,7 +56,7 @@ describe('lib/manager/helmfile/extract', () => { }); expect(result).not.toBeNull(); expect(result).toMatchSnapshot(); - expect(result.deps.every((dep) => dep.skipReason)); + expect(result.deps.every((dep) => dep.skipReason)).toBeTruthy(); }); it('skip templetized release with invalid characters', () => { @@ -100,7 +100,7 @@ describe('lib/manager/helmfile/extract', () => { }); expect(result).not.toBeNull(); expect(result).toMatchSnapshot(); - expect(result.deps.every((dep) => dep.skipReason)); + expect(result.deps.every((dep) => dep.skipReason)).toBeTruthy(); }); it('skip chart with unknown repository', () => { @@ -121,7 +121,7 @@ describe('lib/manager/helmfile/extract', () => { }); expect(result).not.toBeNull(); expect(result).toMatchSnapshot(); - expect(result.deps.every((dep) => dep.skipReason)); + expect(result.deps.every((dep) => dep.skipReason)).toBeTruthy(); }); it('skip chart with special character in the name', () => { @@ -145,7 +145,7 @@ describe('lib/manager/helmfile/extract', () => { }); expect(result).not.toBeNull(); expect(result).toMatchSnapshot(); - expect(result.deps.every((dep) => dep.skipReason)); + expect(result.deps.every((dep) => dep.skipReason)).toBeTruthy(); }); it('skip chart that does not have specified version', () => { @@ -165,7 +165,7 @@ describe('lib/manager/helmfile/extract', () => { }); expect(result).not.toBeNull(); expect(result).toMatchSnapshot(); - expect(result.deps.every((dep) => dep.skipReason)); + expect(result.deps.every((dep) => dep.skipReason)).toBeTruthy(); }); }); }); diff --git a/lib/manager/homebrew/__snapshots__/extract.spec.ts.snap b/lib/manager/homebrew/__snapshots__/extract.spec.ts.snap index a03810a202d5c509a2e985007ae18dc5e1ac1f26..6f4f252dc4d0b1d44c7cf68106ea481f7409f58b 100644 --- a/lib/manager/homebrew/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/homebrew/__snapshots__/extract.spec.ts.snap @@ -73,43 +73,44 @@ Object { } `; -exports[`lib/manager/homebrew/extract extractPackageFile() skips if invalid url field 1`] = ` +exports[`lib/manager/homebrew/extract extractPackageFile() skips if invalid url 1`] = ` Object { "deps": Array [ Object { - "currentValue": "v0.8.2.not_tar.not_gz", - "datasource": "github-tags", - "depName": "bazelbuild/bazel-watcher", + "currentValue": null, + "datasource": null, + "depName": "Ibazel", "managerData": Object { - "ownerName": "bazelbuild", - "repoName": "bazel-watcher", + "ownerName": null, + "repoName": null, "sha256": "26f5125218fad2741d3caf937b02296d803900e5f153f5b1f733f15391b9f9b4", - "url": "https://github.com/bazelbuild/bazel-watcher/archive/v0.8.2.not_tar.not_gz", + "url": "invalid_url", }, + "skipReason": "unsupported-url", }, ], } `; -exports[`lib/manager/homebrew/extract extractPackageFile() skips if invalid url field 2`] = ` +exports[`lib/manager/homebrew/extract extractPackageFile() skips if invalid url extension 1`] = ` Object { "deps": Array [ Object { - "currentValue": "vInvalid.version.2", + "currentValue": "v0.8.2.not_tar.not_gz", "datasource": "github-tags", "depName": "bazelbuild/bazel-watcher", "managerData": Object { "ownerName": "bazelbuild", "repoName": "bazel-watcher", "sha256": "26f5125218fad2741d3caf937b02296d803900e5f153f5b1f733f15391b9f9b4", - "url": "https://github.com/bazelbuild/bazel-watcher/archive/vInvalid.version.2.tar.gz", + "url": "https://github.com/bazelbuild/bazel-watcher/archive/v0.8.2.not_tar.not_gz", }, }, ], } `; -exports[`lib/manager/homebrew/extract extractPackageFile() skips if invalid url field 3`] = ` +exports[`lib/manager/homebrew/extract extractPackageFile() skips if invalid url protocol 1`] = ` Object { "deps": Array [ Object { @@ -128,20 +129,19 @@ Object { } `; -exports[`lib/manager/homebrew/extract extractPackageFile() skips if invalid url field 4`] = ` +exports[`lib/manager/homebrew/extract extractPackageFile() skips if invalid url version 1`] = ` Object { "deps": Array [ Object { - "currentValue": null, - "datasource": null, - "depName": "Ibazel", + "currentValue": "vInvalid.version.2", + "datasource": "github-tags", + "depName": "bazelbuild/bazel-watcher", "managerData": Object { - "ownerName": null, - "repoName": null, + "ownerName": "bazelbuild", + "repoName": "bazel-watcher", "sha256": "26f5125218fad2741d3caf937b02296d803900e5f153f5b1f733f15391b9f9b4", - "url": "invalid_url", + "url": "https://github.com/bazelbuild/bazel-watcher/archive/vInvalid.version.2.tar.gz", }, - "skipReason": "unsupported-url", }, ], } @@ -204,7 +204,7 @@ Object { } `; -exports[`lib/manager/homebrew/extract extractPackageFile() skips sourceforge dependency 1`] = ` +exports[`lib/manager/homebrew/extract extractPackageFile() skips sourceforge dependency 1 1`] = ` Object { "deps": Array [ Object { @@ -223,7 +223,7 @@ Object { } `; -exports[`lib/manager/homebrew/extract extractPackageFile() skips sourceforge dependency 2`] = ` +exports[`lib/manager/homebrew/extract extractPackageFile() skips sourceforge dependency 2 1`] = ` Object { "deps": Array [ Object { diff --git a/lib/manager/homebrew/extract.spec.ts b/lib/manager/homebrew/extract.spec.ts index 3f5032143400a12ffbb7ddd5a4b8186ac7a7ae3c..0bcbd3f5bfc07d32f32226c7352f59541547ab4c 100644 --- a/lib/manager/homebrew/extract.spec.ts +++ b/lib/manager/homebrew/extract.spec.ts @@ -21,13 +21,13 @@ const ibazel = fs.readFileSync( describe('lib/manager/homebrew/extract', () => { describe('extractPackageFile()', () => { - it('skips sourceforge dependency', () => { + it('skips sourceforge dependency 1', () => { const res = extractPackageFile(aalib); expect(res).not.toBeNull(); expect(res.deps[0].skipReason).toBe('unsupported-url'); expect(res).toMatchSnapshot(); }); - it('skips sourceforge dependency', () => { + it('skips sourceforge dependency 2', () => { const res = extractPackageFile(aap); expect(res).not.toBeNull(); expect(res.deps[0].skipReason).toBe('unsupported-url'); @@ -64,7 +64,7 @@ describe('lib/manager/homebrew/extract', () => { expect(res.deps[0].skipReason).toBeUndefined(); expect(res).toMatchSnapshot(); }); - it('returns null for invalid class header', () => { + it('returns null for invalid class header 1', () => { const content = ` class Ibazel !?# Formula desc 'IBazel is a tool for building Bazel targets when source files change.' @@ -75,7 +75,7 @@ describe('lib/manager/homebrew/extract', () => { `; expect(extractPackageFile(content)).toBeNull(); }); - it('returns null for invalid class header', () => { + it('returns null for invalid class header 2', () => { const content = ` class Ibazel < NotFormula desc 'IBazel is a tool for building Bazel targets when source files change.' @@ -100,7 +100,7 @@ describe('lib/manager/homebrew/extract', () => { expect(res.deps[0].skipReason).toBe('unsupported-url'); expect(res).toMatchSnapshot(); }); - it('skips if invalid url field', () => { + it('skips if invalid url extension', () => { const content = ` class Ibazel < Formula desc 'IBazel is a tool for building Bazel targets when source files change.' @@ -112,7 +112,7 @@ describe('lib/manager/homebrew/extract', () => { const res = extractPackageFile(content); expect(res).toMatchSnapshot(); }); - it('skips if invalid url field', () => { + it('skips if invalid url version', () => { const content = ` class Ibazel < Formula desc 'IBazel is a tool for building Bazel targets when source files change.' @@ -124,7 +124,7 @@ describe('lib/manager/homebrew/extract', () => { const res = extractPackageFile(content); expect(res).toMatchSnapshot(); }); - it('skips if invalid url field', () => { + it('skips if invalid url protocol', () => { const content = ` class Ibazel < Formula desc 'IBazel is a tool for building Bazel targets when source files change.' @@ -136,7 +136,7 @@ describe('lib/manager/homebrew/extract', () => { const res = extractPackageFile(content); expect(res).toMatchSnapshot(); }); - it('skips if invalid url field', () => { + it('skips if invalid url', () => { const content = ` class Ibazel < Formula desc 'IBazel is a tool for building Bazel targets when source files change.' diff --git a/lib/manager/kustomize/extract.spec.ts b/lib/manager/kustomize/extract.spec.ts index 3f83e2bea58b33445c54fc48aa650ea75f03fbcb..6323ea86ff8fbb0a3382622ff8fef0c528c4ff30 100644 --- a/lib/manager/kustomize/extract.spec.ts +++ b/lib/manager/kustomize/extract.spec.ts @@ -118,7 +118,7 @@ describe('manager/kustomize/extract', () => { name: null, newTag: null, }); - expect(pkg).toEqual(null); + expect(pkg).toBeNull(); }); it('should correctly extract a default image', () => { const sample = { diff --git a/lib/manager/maven/index.spec.ts b/lib/manager/maven/index.spec.ts index 6d8f4d08ece4644abeced08a833eaf6f9e2e03c0..6fcaf469b88d844eee1ed6fb180ef74f0d2ef28a 100644 --- a/lib/manager/maven/index.spec.ts +++ b/lib/manager/maven/index.spec.ts @@ -224,7 +224,7 @@ describe('manager/maven', () => { : null; const oldContent = extractPackage(pomContent); const dep = select(oldContent); - expect(dep).not.toEqual(null); + expect(dep).not.toBeNull(); const upgrade = { ...dep, newValue }; expect(updateDependency({ fileContent: pomContent, upgrade })).toEqual( pomContent diff --git a/lib/manager/npm/extract/__snapshots__/monorepo.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/monorepo.spec.ts.snap index 0da8b05c551d31764f284f5c0263e207964a6a8e..cb89f93e00a29cbea0f88b8b0c31d55c8c2a62a4 100644 --- a/lib/manager/npm/extract/__snapshots__/monorepo.spec.ts.snap +++ b/lib/manager/npm/extract/__snapshots__/monorepo.spec.ts.snap @@ -38,7 +38,7 @@ Array [ ] `; -exports[`manager/npm/extract .extractPackageFile() uses yarn workspaces package settings 1`] = ` +exports[`manager/npm/extract .extractPackageFile() uses yarn workspaces package settings with lerna 1`] = ` Array [ Object { "internalPackages": Array [ @@ -80,7 +80,7 @@ Array [ ] `; -exports[`manager/npm/extract .extractPackageFile() uses yarn workspaces package settings 2`] = ` +exports[`manager/npm/extract .extractPackageFile() uses yarn workspaces package settings without lerna 1`] = ` Array [ Object { "internalPackages": Array [ diff --git a/lib/manager/npm/extract/index.spec.ts b/lib/manager/npm/extract/index.spec.ts index 7e52566c8de224eca4a4d7eb134a2181d6ee8b1c..23259b094f09be049cd6799dec14bfba2d79a9b7 100644 --- a/lib/manager/npm/extract/index.spec.ts +++ b/lib/manager/npm/extract/index.spec.ts @@ -311,7 +311,7 @@ describe('manager/npm/extract', () => { }); describe('.postExtract()', () => { it('runs', async () => { - await npmExtract.postExtract([]); + await expect(npmExtract.postExtract([])).resolves.not.toThrow(); }); }); }); diff --git a/lib/manager/npm/extract/monorepo.spec.ts b/lib/manager/npm/extract/monorepo.spec.ts index d070a224874a96c17344e41442240c3ddf09e506..b99ca7f3c171adf1423dd86a549b89c933eb0de5 100644 --- a/lib/manager/npm/extract/monorepo.spec.ts +++ b/lib/manager/npm/extract/monorepo.spec.ts @@ -23,7 +23,7 @@ describe('manager/npm/extract', () => { expect(packageFiles[1].lernaDir).toEqual('.'); expect((packageFiles[1] as any).internalPackages).toEqual(['@org/b']); }); - it('uses yarn workspaces package settings', () => { + it('uses yarn workspaces package settings with lerna', () => { const packageFiles = [ { packageFile: 'package.json', @@ -46,7 +46,7 @@ describe('manager/npm/extract', () => { expect(packageFiles[1].lernaDir).toEqual('.'); expect((packageFiles[1] as any).internalPackages).toEqual(['@org/b']); }); - it('uses yarn workspaces package settings', () => { + it('uses yarn workspaces package settings without lerna', () => { const packageFiles = [ { packageFile: 'package.json', diff --git a/lib/manager/npm/update.spec.ts b/lib/manager/npm/update.spec.ts index e1e58a80534a1a6a5c109a72529592c9a4b78a19..ab14bcb38a75663f80cb1084511f6a619a638ff2 100644 --- a/lib/manager/npm/update.spec.ts +++ b/lib/manager/npm/update.spec.ts @@ -103,7 +103,7 @@ describe('workers/branch/package-json', () => { upgrade, }); expect(res).toMatchSnapshot(); - expect(res.includes('v1.1.0')).toBe(true); + expect(res).toContain('v1.1.0'); }); it('updates resolutions too', () => { const upgrade = { diff --git a/lib/manager/pip_setup/extract.spec.ts b/lib/manager/pip_setup/extract.spec.ts index 115277fc3f982f207176ef083a4344173c7d5be2..97ababb696ecb27c530756dfb25801938a7aeaf4 100644 --- a/lib/manager/pip_setup/extract.spec.ts +++ b/lib/manager/pip_setup/extract.spec.ts @@ -37,31 +37,9 @@ describe('lib/manager/pip_setup/extract', () => { { stdout: 'Python 3.8.0\\n', stderr: '' }, ]); const result = await getPythonAlias(); - expect(pythonVersions.includes(result)).toBe(true); + expect(pythonVersions).toContain(result); expect(result).toMatchSnapshot(); expect(execSnapshots).toMatchSnapshot(); }); }); - // describe('Test for presence of mock lib', () => { - // it('should test if python mock lib is installed', async () => { - // const cp = jest.requireActual('../../util/exec'); - // let isMockInstalled = true; - // // when binarysource === docker - // try { - // await cp.exec(`python -c "import mock"`); - // } catch (err) { - // isMockInstalled = false; - // } - // if (!isMockInstalled) { - // try { - // const pythonAlias = await getPythonAlias(); - // await exec(`${pythonAlias} -c "from unittest import mock"`); - // isMockInstalled = true; - // } catch (err) { - // isMockInstalled = false; - // } - // } - // expect(isMockInstalled).toBe(true); - // }); - // }); }); diff --git a/lib/manager/pip_setup/index.spec.ts b/lib/manager/pip_setup/index.spec.ts index d118df30e116d3cce027f708f015db05ef6a5b27..f3fdc84bc36786f3e15c607e3bab556cdc02c17c 100644 --- a/lib/manager/pip_setup/index.spec.ts +++ b/lib/manager/pip_setup/index.spec.ts @@ -102,31 +102,4 @@ describe('lib/manager/pip_setup/index', () => { expect(fixSnapshots(execSnapshots)).toMatchSnapshot(); }); }); - /* - describe('extractSetupFile()', () => { - it('should return parsed setup() call', async () => { - expect( - await extractSetupFile(content, packageFile, config) - ).toMatchSnapshot(); - }); - it('should support setuptools', async () => { - expect( - await extractSetupFile( - 'from setuptools import setup\nsetup(name="talisker")\n', - await tmpFile(), - config - ) - ).toEqual({ name: 'talisker' }); - }); - it('should support distutils.core', async () => { - expect( - await extractSetupFile( - 'from distutils.core import setup\nsetup(name="talisker")\n', - await tmpFile(), - config - ) - ).toEqual({ name: 'talisker' }); - }); - }); - */ }); diff --git a/lib/manager/poetry/extract.spec.ts b/lib/manager/poetry/extract.spec.ts index f4af91e1f54f0fc336e3523697b5d4cf8935ebaa..862c79c08b773aa416b5b8aac4a376f22ae174ea 100644 --- a/lib/manager/poetry/extract.spec.ts +++ b/lib/manager/poetry/extract.spec.ts @@ -111,7 +111,7 @@ describe('lib/manager/poetry/extract', () => { expect(res[0].skipReason).toBe('git-dependency'); expect(res).toHaveLength(2); }); - it('skips git dependencies', () => { + it('skips git dependencies with version', () => { const content = '[tool.poetry.dependencies]\r\nflask = {git = "https://github.com/pallets/flask.git", version="1.2.3"}\r\nwerkzeug = ">=0.14"'; const res = extractPackageFile(content, filename).deps; @@ -129,7 +129,7 @@ describe('lib/manager/poetry/extract', () => { expect(res[0].skipReason).toBe('path-dependency'); expect(res).toHaveLength(2); }); - it('skips path dependencies', () => { + it('skips path dependencies with version', () => { const content = '[tool.poetry.dependencies]\r\nflask = {path = "/some/path/", version = "1.2.3"}\r\nwerkzeug = ">=0.14"'; const res = extractPackageFile(content, filename).deps; diff --git a/lib/manager/pub/extract.spec.ts b/lib/manager/pub/extract.spec.ts index 6cf25d2ab732b61937e4b54f5f6f8472fdaaf2da..160f0651a6ca50333bb0358a351fbdd80c7bd388 100644 --- a/lib/manager/pub/extract.spec.ts +++ b/lib/manager/pub/extract.spec.ts @@ -15,11 +15,11 @@ describe('manager/pub', () => { describe('extractPackageFile', () => { it('should return null if package does not contain any deps', () => { const res = extractPackageFile('foo: bar', 'pubspec.yaml'); - expect(res).toEqual(null); + expect(res).toBeNull(); }); it('should return null if package is invalid', () => { const res = extractPackageFile(brokenYaml, 'pubspec.yaml'); - expect(res).toEqual(null); + expect(res).toBeNull(); }); it('should return valid dependencies', () => { const res = extractPackageFile(packageFile, 'pubspec.yaml'); diff --git a/lib/platform/azure/__snapshots__/azure-helper.spec.ts.snap b/lib/platform/azure/__snapshots__/azure-helper.spec.ts.snap index 26d0c17e4fd316433c66aa565a94d364dc4fac30..58edede50503a0a5a478ca32e2c8c20e52c26350 100644 --- a/lib/platform/azure/__snapshots__/azure-helper.spec.ts.snap +++ b/lib/platform/azure/__snapshots__/azure-helper.spec.ts.snap @@ -1,31 +1,13 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`platform/azure/helpers getStorageExtraCloneOpts should configure basic auth 1`] = ` -Object { - "--config": "http.extraheader=AUTHORIZATION: basic dXNlcjpwYXNz", -} -`; - -exports[`platform/azure/helpers getStorageExtraCloneOpts should configure personal access token 1`] = ` -Object { - "--config": "http.extraheader=AUTHORIZATION: basic OjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=", -} -`; - -exports[`platform/azure/helpers getStorageExtraCloneOpts should configure bearer token 1`] = ` -Object { - "--config": "http.extraheader=AUTHORIZATION: bearer token", -} -`; - -exports[`platform/azure/helpers getAzureBranchObj should be the branch object formated 1`] = ` +exports[`platform/azure/helpers getAzureBranchObj should get the branch object 1`] = ` Object { "name": "refs/heads/branchName", "oldObjectId": "132", } `; -exports[`platform/azure/helpers getAzureBranchObj should be the branch object formated 2`] = ` +exports[`platform/azure/helpers getAzureBranchObj should get the branch object when ref missing 1`] = ` Object { "name": "refs/heads/branchName", "oldObjectId": "0000000000000000000000000000000000000000", @@ -56,18 +38,18 @@ Object { } `; -exports[`platform/azure/helpers getRef should get the ref 1`] = ` +exports[`platform/azure/helpers getRef should get the ref with full ref name 1`] = ` Array [ Object { - "objectId": 132, + "objectId": "132", }, ] `; -exports[`platform/azure/helpers getRef should get the ref 2`] = ` +exports[`platform/azure/helpers getRef should get the ref with short ref name 1`] = ` Array [ Object { - "objectId": "132", + "objectId": 132, }, ] `; @@ -129,4 +111,22 @@ Object { } `; +exports[`platform/azure/helpers getStorageExtraCloneOpts should configure basic auth 1`] = ` +Object { + "--config": "http.extraheader=AUTHORIZATION: basic dXNlcjpwYXNz", +} +`; + +exports[`platform/azure/helpers getStorageExtraCloneOpts should configure bearer token 1`] = ` +Object { + "--config": "http.extraheader=AUTHORIZATION: bearer token", +} +`; + +exports[`platform/azure/helpers getStorageExtraCloneOpts should configure personal access token 1`] = ` +Object { + "--config": "http.extraheader=AUTHORIZATION: basic OjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=", +} +`; + exports[`platform/azure/helpers max4000Chars should be the same 1`] = `"Hello"`; diff --git a/lib/platform/azure/azure-helper.spec.ts b/lib/platform/azure/azure-helper.spec.ts index eed3319f3fb19c0bd34ad6d45c0ef27b647f838a..0888fbb4ed4bff0c9c41d74bd87d1e74bed25907 100644 --- a/lib/platform/azure/azure-helper.spec.ts +++ b/lib/platform/azure/azure-helper.spec.ts @@ -64,7 +64,7 @@ describe('platform/azure/helpers', () => { }); describe('getRef', () => { - it('should get the ref', async () => { + it('should get the ref with short ref name', async () => { azureApi.gitApi.mockImplementationOnce( () => ({ @@ -74,7 +74,7 @@ describe('platform/azure/helpers', () => { const res = await azureHelper.getRefs('123', 'branch'); expect(res).toMatchSnapshot(); }); - it('should get 0 ref', async () => { + it('should not get ref', async () => { azureApi.gitApi.mockImplementationOnce( () => ({ @@ -82,9 +82,9 @@ describe('platform/azure/helpers', () => { } as any) ); const res = await azureHelper.getRefs('123'); - expect(res.length).toBe(0); + expect(res).toHaveLength(0); }); - it('should get the ref', async () => { + it('should get the ref with full ref name', async () => { azureApi.gitApi.mockImplementationOnce( () => ({ @@ -97,7 +97,7 @@ describe('platform/azure/helpers', () => { }); describe('getAzureBranchObj', () => { - it('should be the branch object formated', async () => { + it('should get the branch object', async () => { azureApi.gitApi.mockImplementationOnce( () => ({ @@ -111,7 +111,7 @@ describe('platform/azure/helpers', () => { ); expect(res).toMatchSnapshot(); }); - it('should be the branch object formated', async () => { + it('should get the branch object when ref missing', async () => { azureApi.gitApi.mockImplementationOnce( () => ({ @@ -244,7 +244,7 @@ describe('platform/azure/helpers', () => { str += 'a'; } const res = azureHelper.max4000Chars(str); - expect(res.length).toBe(3999); + expect(res).toHaveLength(3999); }); }); diff --git a/lib/platform/azure/index.spec.ts b/lib/platform/azure/index.spec.ts index 6054ba78dbbed72ab7689e2020289467444163a5..075e162cb2dda328fe89d1f5098222c462eec98e 100644 --- a/lib/platform/azure/index.spec.ts +++ b/lib/platform/azure/index.spec.ts @@ -185,7 +185,7 @@ describe('platform/azure', () => { describe('cleanRepo()', () => { it('exists', async () => { - await azure.cleanRepo(); + await expect(azure.cleanRepo()).resolves.not.toThrow(); }); }); diff --git a/lib/platform/bitbucket-server/index.spec.ts b/lib/platform/bitbucket-server/index.spec.ts index 84063f96c22340362a77aeea7b91301621ed366d..acd4677d4d52ee3ac3b09ee10e81e122d73bbe8e 100644 --- a/lib/platform/bitbucket-server/index.spec.ts +++ b/lib/platform/bitbucket-server/index.spec.ts @@ -1,3 +1,5 @@ +// TODO fix mocks +/* eslint jest/expect-expect: 1 */ import { REPOSITORY_CHANGED, REPOSITORY_DISABLED, diff --git a/lib/platform/bitbucket/index.spec.ts b/lib/platform/bitbucket/index.spec.ts index 60af57c35d2d17f6b9d109d758118e7f63d55dc1..b4a85248ca2ef1742cf0a0bdb99eb88fb7dd1f13 100644 --- a/lib/platform/bitbucket/index.spec.ts +++ b/lib/platform/bitbucket/index.spec.ts @@ -1,3 +1,5 @@ +// TODO fix mocks +/* eslint jest/expect-expect: 1 */ import URL from 'url'; import { REPOSITORY_DISABLED } from '../../constants/error-messages'; import { logger as _logger } from '../../logger'; @@ -156,7 +158,8 @@ describe('platform/bitbucket', () => { it('sends to gitFs', async () => { await initRepo(); await mocked(async () => { - await bitbucket.getFileList(); + const fileList = await bitbucket.getFileList(); + expect(fileList).not.toBeNull(); }); }); }); @@ -166,7 +169,8 @@ describe('platform/bitbucket', () => { it('sends to gitFs', async () => { await initRepo(); await mocked(async () => { - await bitbucket.branchExists('test'); + const branchExists = await bitbucket.branchExists('test'); + expect(branchExists).toEqual(true); }); }); }); @@ -526,15 +530,6 @@ describe('platform/bitbucket', () => { }); }); - describe('getBranchLastCommitTime()', () => { - it('sends to gitFs', async () => { - await initRepo(); - await mocked(async () => { - await bitbucket.getBranchLastCommitTime('test'); - }); - }); - }); - describe('getVulnerabilityAlerts()', () => { it('returns empty array', async () => { expect(await bitbucket.getVulnerabilityAlerts()).toEqual([]); diff --git a/lib/platform/git/storage.spec.ts b/lib/platform/git/storage.spec.ts index 432f5b15089f7b5064de73f993cadd7f4c3f5262..a9710ef49cf11a04ae5e2c2dc967352e1fb16e62 100644 --- a/lib/platform/git/storage.spec.ts +++ b/lib/platform/git/storage.spec.ts @@ -72,10 +72,10 @@ describe('platform/git/storage', () => { describe('setBaseBranch(branchName)', () => { it('sets the base branch as master', async () => { - await git.setBaseBranch('master'); + await expect(git.setBaseBranch('master')).resolves.not.toThrow(); }); it('sets non-master base branch', async () => { - await git.setBaseBranch('develop'); + await expect(git.setBaseBranch('develop')).resolves.not.toThrow(); }); it('should throw if branch does not exist', async () => { await expect(git.setBaseBranch('not_found')).rejects.toMatchSnapshot(); @@ -201,22 +201,24 @@ describe('platform/git/storage', () => { name: 'some-new-file', contents: 'some new-contents', }; - await git.commitFiles({ + const commit = await git.commitFiles({ branchName: 'renovate/past_branch', files: [file], message: 'Create something', }); + expect(commit).not.toBeNull(); }); it('deletes file', async () => { const file = { name: '|delete|', contents: 'file_to_delete', }; - await git.commitFiles({ + const commit = await git.commitFiles({ branchName: 'renovate/something', files: [file], message: 'Delete something', }); + expect(commit).not.toBeNull(); }); it('updates multiple files', async () => { const files = [ @@ -229,11 +231,12 @@ describe('platform/git/storage', () => { contents: 'other updated content', }, ]; - await git.commitFiles({ + const commit = await git.commitFiles({ branchName: 'renovate/something', files, message: 'Update something', }); + expect(commit).not.toBeNull(); }); it('updates git submodules', async () => { const files = [ @@ -242,11 +245,12 @@ describe('platform/git/storage', () => { contents: 'some content', }, ]; - await git.commitFiles({ + const commit = await git.commitFiles({ branchName: 'renovate/something', files, message: 'Update something', }); + expect(commit).not.toBeNull(); }); it('does not push when no diff', async () => { const branchName = 'renovate/something'; @@ -257,11 +261,12 @@ describe('platform/git/storage', () => { `refs/heads/${branchName}:refs/remotes/origin/${branchName}`, ]); const files = []; - await git.commitFiles({ + const commit = await git.commitFiles({ branchName, files, message: 'Update something', }); + expect(commit).toBeNull(); }); }); diff --git a/lib/platform/gitea/index.spec.ts b/lib/platform/gitea/index.spec.ts index b5e08d546983e6932dda89a895efec4e3e27c034..b69db5552e0e2d7fc29ab87d79aa0324350721f1 100644 --- a/lib/platform/gitea/index.spec.ts +++ b/lib/platform/gitea/index.spec.ts @@ -441,6 +441,22 @@ describe('platform/gitea', () => { expect(logger.warn).toHaveBeenCalledTimes(1); }); + + it('should set default base branch', async () => { + await initFakeRepo(); + await gitea.setBaseBranch(); + + expect(gsmSetBaseBranch).toHaveBeenCalledTimes(1); + expect(gsmSetBaseBranch).toHaveBeenCalledWith(mockRepo.default_branch); + }); + + it('should set custom base branch', async () => { + await initFakeRepo(); + await gitea.setBaseBranch('devel'); + + expect(gsmSetBaseBranch).toHaveBeenCalledTimes(1); + expect(gsmSetBaseBranch).toHaveBeenCalledWith('devel'); + }); }); describe('getBranchStatus', () => { @@ -560,24 +576,6 @@ describe('platform/gitea', () => { }); }); - describe('setBranchStatus', () => { - it('should set default base branch', async () => { - await initFakeRepo(); - await gitea.setBaseBranch(); - - expect(gsmSetBaseBranch).toHaveBeenCalledTimes(1); - expect(gsmSetBaseBranch).toHaveBeenCalledWith(mockRepo.default_branch); - }); - - it('should set custom base branch', async () => { - await initFakeRepo(); - await gitea.setBaseBranch('devel'); - - expect(gsmSetBaseBranch).toHaveBeenCalledTimes(1); - expect(gsmSetBaseBranch).toHaveBeenCalledWith('devel'); - }); - }); - describe('getPrList', () => { it('should return list of pull requests', async () => { helper.searchPRs.mockResolvedValueOnce(mockPRs); @@ -1435,7 +1433,9 @@ index 0000000..2173594 describe('addReviewers', () => { it('should do nothing - unsupported by platform', async () => { const mockPR = mockPRs[0]; - await gitea.addReviewers(mockPR.number, ['me', 'you']); + await expect( + gitea.addReviewers(mockPR.number, ['me', 'you']) + ).resolves.not.toThrow(); }); }); diff --git a/lib/platform/github/__snapshots__/index.spec.ts.snap b/lib/platform/github/__snapshots__/index.spec.ts.snap index 9fc7c8a76b8b90aa62fae721f5e5c955ad18744b..ed2b5c883451c0e502225ad58fe33f3faf77680c 100644 --- a/lib/platform/github/__snapshots__/index.spec.ts.snap +++ b/lib/platform/github/__snapshots__/index.spec.ts.snap @@ -2067,7 +2067,7 @@ Array [ ] `; -exports[`platform/github getBranchStatus() should fail if a check run has failed 2`] = ` +exports[`platform/github getBranchStatus() should fail if a check run is pending 1`] = ` Array [ Object { "headers": Object { diff --git a/lib/platform/github/index.spec.ts b/lib/platform/github/index.spec.ts index 9234301c2f811ed8f218089b973f4d852cc4e7db..759b0940c83979ce025182a4e00636af669e9ce1 100644 --- a/lib/platform/github/index.spec.ts +++ b/lib/platform/github/index.spec.ts @@ -659,7 +659,7 @@ describe('platform/github', () => { expect(res).toEqual(BranchStatus.green); expect(httpMock.getTrace()).toMatchSnapshot(); }); - it('should fail if a check run has failed', async () => { + it('should fail if a check run is pending', async () => { const scope = httpMock.scope(githubApiHost); initRepoMock(scope, 'some/repo'); scope @@ -1243,7 +1243,7 @@ describe('platform/github', () => { once: false, shouldReOpen: false, }); - expect(res).toEqual(null); + expect(res).toBeNull(); expect(httpMock.getTrace()).toMatchSnapshot(); }); }); diff --git a/lib/platform/gitlab/gl-got-wrapper.spec.ts b/lib/platform/gitlab/gl-got-wrapper.spec.ts index 366277f3dbe5f2052f4514b5407c7f2e4ff0c85f..c55c422d5d7b9c0ab74a3f3955029f858067f927 100644 --- a/lib/platform/gitlab/gl-got-wrapper.spec.ts +++ b/lib/platform/gitlab/gl-got-wrapper.spec.ts @@ -62,6 +62,8 @@ describe('platform/gitlab/gl-got-wrapper', () => { expect(httpMock.getTrace()).toMatchSnapshot(); }); it('sets baseUrl', () => { - api.setBaseUrl('https://gitlab.renovatebot.com/api/v4/'); + expect(() => + api.setBaseUrl('https://gitlab.renovatebot.com/api/v4/') + ).not.toThrow(); }); }); diff --git a/lib/platform/gitlab/index.spec.ts b/lib/platform/gitlab/index.spec.ts index b683dd964a0714716fd2206d875fb09548fd6298..b54eb619a1ecf22d758eefbd51e7a3125a2da635 100644 --- a/lib/platform/gitlab/index.spec.ts +++ b/lib/platform/gitlab/index.spec.ts @@ -1,3 +1,5 @@ +// TODO fix mocks +/* eslint jest/expect-expect: 1 */ import nock from 'nock'; import { Platform, RepoParams } from '..'; import * as httpMock from '../../../test/httpMock'; diff --git a/lib/platform/index.spec.ts b/lib/platform/index.spec.ts index 73b1d54b8b5f671810f7c688fa337a000c4e52ef..5a1cd17fc14566098759369098c48c261b812b42 100644 --- a/lib/platform/index.spec.ts +++ b/lib/platform/index.spec.ts @@ -22,7 +22,7 @@ describe('platform', () => { function validate(module: Platform, name: string): boolean { // TODO: test required api if (!module.initPlatform) { - fail(`Missing api on ${name}`); + throw Error(`Missing api on ${name}`); } return true; } diff --git a/lib/platform/utils/pr-body.spec.ts b/lib/platform/utils/pr-body.spec.ts index eee4862d079ad483cbde9110bd66a5fa5f3b4a44..67558e516987e8903a49dd8ad321880d4a8d1d4d 100644 --- a/lib/platform/utils/pr-body.spec.ts +++ b/lib/platform/utils/pr-body.spec.ts @@ -19,7 +19,7 @@ describe('platform/utils/pr-body', () => { it('truncates to 300 not smart', () => { const body = smartTruncate(prBody, 300); expect(body).toMatchSnapshot(); - expect(body.length).toEqual(300); + expect(body).toHaveLength(300); }); it('truncates to 10', () => { diff --git a/lib/util/cache/run.spec.ts b/lib/util/cache/run.spec.ts index 68611a5612b0f5c169220acb546cf12d5c9192a4..d2602aaa719184afee0a06e58ebe09da6c8435b7 100644 --- a/lib/util/cache/run.spec.ts +++ b/lib/util/cache/run.spec.ts @@ -6,6 +6,6 @@ describe('getRepoCache', () => { expect(runCache.get('key')).toEqual('value'); }); it('clears repo cache', () => { - runCache.clear(); + expect(() => runCache.clear()).not.toThrow(); }); }); diff --git a/lib/util/exec/exec.spec.ts b/lib/util/exec/exec.spec.ts index b9cb45dd8c3b74df803c6b53812a6188cd63d252..84b43fd4ce7f60cf5ed496edc3bd19fc96f247aa 100644 --- a/lib/util/exec/exec.spec.ts +++ b/lib/util/exec/exec.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-floating-promises */ import { ExecOptions as ChildProcessExecOptions, exec as _cpExec, @@ -405,8 +404,12 @@ describe(`Child process execution wrapper`, () => { if (trustLevel) { global.trustLevel = trustLevel; } + if (config) { - setExecConfig(config); + jest + .spyOn(dockerModule, 'removeDanglingContainers') + .mockResolvedValueOnce(); + await setExecConfig(config); } const actualCmd: string[] = []; @@ -434,19 +437,19 @@ describe(`Child process execution wrapper`, () => { return undefined; }); - setExecConfig({ binarySource: BinarySource.Global }); + await setExecConfig({ binarySource: BinarySource.Global }); await exec(inCmd, { docker }); await exec(inCmd, { docker }); - setExecConfig({ binarySource: BinarySource.Docker }); + await setExecConfig({ binarySource: BinarySource.Docker }); await exec(inCmd, { docker }); await exec(inCmd, { docker }); - setExecConfig({ binarySource: BinarySource.Global }); + await setExecConfig({ binarySource: BinarySource.Global }); await exec(inCmd, { docker }); await exec(inCmd, { docker }); - setExecConfig({ binarySource: BinarySource.Docker }); + await setExecConfig({ binarySource: BinarySource.Docker }); await exec(inCmd, { docker }); await exec(inCmd, { docker }); @@ -469,7 +472,10 @@ describe(`Child process execution wrapper`, () => { }); it('wraps error if removeDockerContainer throws an error', async () => { - setExecConfig({ binarySource: BinarySource.Docker }); + cpExec.mockImplementationOnce((_execCmd, _execOpts, callback) => + callback(null, { stdout: '', stderr: '' }) + ); + await setExecConfig({ binarySource: BinarySource.Docker }); cpExec.mockImplementation(() => { throw new Error('some error occurred'); }); diff --git a/lib/util/got/index.spec.ts b/lib/util/got/index.spec.ts index a5f76e9a2f75716f101cf065207d4f71b899be7c..245976a2390aa7d067e57043dd8be8873d64c6f5 100644 --- a/lib/util/got/index.spec.ts +++ b/lib/util/got/index.spec.ts @@ -99,7 +99,7 @@ describe(getName(__filename), () => { runCache.clear(); - await expect(got({ hostType: PLATFORM_TYPE_GITHUB })).rejects.toThrowError( + await expect(got({ hostType: PLATFORM_TYPE_GITHUB })).rejects.toThrow( 'not-found' ); diff --git a/lib/util/http/github.spec.ts b/lib/util/http/github.spec.ts index 3e9847d2520ff516f50ad036ca6df3ac79c0cd1b..3f519ce8546d96674738a135e795534185986f93 100644 --- a/lib/util/http/github.spec.ts +++ b/lib/util/http/github.spec.ts @@ -67,7 +67,7 @@ describe(getName(__filename), () => { }); const [req] = httpMock.getTrace(); expect(req).toBeDefined(); - expect(req.url.includes('/v3')).toBe(false); + expect(req.url).not.toContain('/v3'); }); it('paginates', async () => { const url = '/some-url'; @@ -165,7 +165,7 @@ describe(getName(__filename), () => { expect(e).toBeDefined(); expect(e.message).toEqual(PLATFORM_INTEGRATION_UNAUTHORIZED); }); - it('should throw for unauthorized integration', () => { + it('should throw for unauthorized integration2', () => { const gotErr = { statusCode: 403, body: { message: 'Upgrade to GitHub Pro' }, @@ -363,7 +363,7 @@ describe(getName(__filename), () => { const items = await githubApi.getGraphqlNodes(query, 'testItem'); expect(httpMock.getTrace()).toHaveLength(3); - expect(items.length).toEqual(3); + expect(items).toHaveLength(3); }); }); }); diff --git a/lib/util/package-rules.spec.ts b/lib/util/package-rules.spec.ts index 88838d07ba5b95ab588e2e7a47f2164a0e1e05fc..1e002452f9cfe0a0770766dbf912db3a4ed47115 100644 --- a/lib/util/package-rules.spec.ts +++ b/lib/util/package-rules.spec.ts @@ -147,7 +147,7 @@ describe('applyPackageRules()', () => { }); expect(res2.x).toBeDefined(); }); - it('filters depType', () => { + it('filters requested depType', () => { const config: TestConfig = { packageRules: [ { @@ -164,7 +164,7 @@ describe('applyPackageRules()', () => { const res = applyPackageRules({ ...config, ...dep }); expect(res.x).toBe(1); }); - it('filters depTypes', () => { + it('filters from list of requested depTypes', () => { const config: TestConfig = { packageRules: [ { @@ -418,7 +418,7 @@ describe('applyPackageRules()', () => { const res = applyPackageRules({ ...config, ...dep }); expect(res.x).toBe(1); }); - it('filters depType', () => { + it('filters out unrequested depType', () => { const config: TestConfig = { packageRules: [ { diff --git a/lib/util/sanitize.spec.ts b/lib/util/sanitize.spec.ts index f774608b43b0161ac1d54b122a064711d04eb04f..341f2e285bc96a5ba5f304c589b4b4c21456e7b9 100644 --- a/lib/util/sanitize.spec.ts +++ b/lib/util/sanitize.spec.ts @@ -6,7 +6,7 @@ describe('util/sanitize', () => { }); it('sanitizes empty string', () => { - expect(sanitize(null)).toEqual(null); + expect(sanitize(null)).toBeNull(); }); it('sanitizes secrets from strings', () => { const token = 'abc123token'; diff --git a/lib/versioning/cargo/index.spec.ts b/lib/versioning/cargo/index.spec.ts index cc3f97701e9d69b37883808ba613be4aca58b4cd..494ae2ac54d669825143c75dd2ad2402becaeced 100644 --- a/lib/versioning/cargo/index.spec.ts +++ b/lib/versioning/cargo/index.spec.ts @@ -111,7 +111,7 @@ describe('semver.getNewValue()', () => { fromVersion: '1.0.0', toVersion: '1.1.0', }) - ).toEqual(null); + ).toBeNull(); expect( semver.getNewValue({ currentValue: '*', diff --git a/lib/versioning/docker/index.spec.ts b/lib/versioning/docker/index.spec.ts index 06a9f96f43a5d1ed18f5d7cd4f0ff35cd779f743..a05882608734d14644fecda487a5fb6e57ddafef 100644 --- a/lib/versioning/docker/index.spec.ts +++ b/lib/versioning/docker/index.spec.ts @@ -67,15 +67,6 @@ describe('docker.', () => { expect(docker.equals('1.2', '1.2.3')).toBe(false); }); }); - describe('equals(version, other)', () => { - it('should support all versions length', () => { - expect(docker.equals('1.2.3', '1.2.3')).toBe(true); - expect(docker.equals('18.04', '18.4')).toBe(true); - expect(docker.equals('10.0', '10.0.4')).toBe(false); - expect(docker.equals('3', '4.0')).toBe(false); - expect(docker.equals('1.2', '1.2.3')).toBe(false); - }); - }); describe('maxSatisfyingVersion(versions, range)', () => { it('should support all versions length', () => { [docker.minSatisfyingVersion, docker.maxSatisfyingVersion].forEach( diff --git a/lib/versioning/gradle/index.spec.ts b/lib/versioning/gradle/index.spec.ts index 7c6aa5fd74a9892fa5430bc75a75890dc5939717..3a9b60b276ead03b87eac4ed5734ba8abe7756ce 100644 --- a/lib/versioning/gradle/index.spec.ts +++ b/lib/versioning/gradle/index.spec.ts @@ -214,7 +214,7 @@ describe('versioning/gradle', () => { expect(api.matches('1', '(,1)')).toBe(false); expect(api.matches('1', '[1,)')).toBe(true); expect(api.matches('1', '(1,)')).toBe(false); - expect(api.matches('1', '[[]]')).toBe(null); + expect(api.matches('1', '[[]]')).toBeNull(); expect(api.matches('0', '')).toBe(false); expect(api.matches('1', '1')).toBe(true); expect(api.matches('1.2.3', '1.2.+')).toBe(true); @@ -243,7 +243,7 @@ describe('versioning/gradle', () => { fromVersion: null, toVersion: '1.2.4', }) - ).toBe(null); + ).toBeNull(); }); it('pins maven ranges', () => { const sample = [ diff --git a/lib/versioning/index.spec.ts b/lib/versioning/index.spec.ts index de413fde62b12bd4ffc8399b2c197663b18da44e..a6f8e972a32b3216ddd558afac3afadca063456c 100644 --- a/lib/versioning/index.spec.ts +++ b/lib/versioning/index.spec.ts @@ -27,7 +27,7 @@ describe('allVersioning.get(versioning)', () => { // TODO: test required api if (!mod.isValid || !mod.isVersion) { - fail(`Missing api on ${name}`); + throw Error(`Missing api on ${name}`); } return true; diff --git a/lib/versioning/versioning-metadata.spec.ts b/lib/versioning/versioning-metadata.spec.ts index 49ea6b969bc55b683d910c150cfde8aef7c762d4..0d2aea55c49d8d6d59cbeda5ae69b659a6cf9738 100644 --- a/lib/versioning/versioning-metadata.spec.ts +++ b/lib/versioning/versioning-metadata.spec.ts @@ -16,7 +16,7 @@ describe('versioning metadata', () => { // ignore missing file } if (readme) { - expect(RegExp(/(^|\n)#+ /).exec(readme)).toBe(null); + expect(RegExp(/(^|\n)#+ /).exec(readme)).toBeNull(); } } }); diff --git a/lib/workers/branch/index.spec.ts b/lib/workers/branch/index.spec.ts index 8c73310cefbaadb8bcec67b5c4a778103eb330b7..5d967b747c76fc64161c68c9c99b1638242bd99a 100644 --- a/lib/workers/branch/index.spec.ts +++ b/lib/workers/branch/index.spec.ts @@ -117,6 +117,7 @@ describe('workers/branch', () => { isModified: false, } as never); await branchWorker.processBranch(config); + expect(reuse.shouldReuseExistingBranch).toHaveBeenCalled(); }); it('skips branch if closed major PR found', async () => { schedule.isScheduledNow.mockReturnValueOnce(false); @@ -472,7 +473,8 @@ describe('workers/branch', () => { getUpdated.getUpdatedPackageFiles.mockImplementationOnce(() => { throw new Error('some error'); }); - await branchWorker.processBranch(config); + const processBranchResult = await branchWorker.processBranch(config); + expect(processBranchResult).not.toBeNull(); }); it('throws and swallows branch errors', async () => { getUpdated.getUpdatedPackageFiles.mockResolvedValueOnce({ @@ -482,7 +484,8 @@ describe('workers/branch', () => { artifactErrors: [{}], updatedArtifacts: [{}], } as never); - await branchWorker.processBranch(config); + const processBranchResult = await branchWorker.processBranch(config); + expect(processBranchResult).not.toBeNull(); }); it('swallows pr errors', async () => { getUpdated.getUpdatedPackageFiles.mockResolvedValueOnce({ @@ -497,7 +500,8 @@ describe('workers/branch', () => { prWorker.ensurePr.mockImplementationOnce(() => { throw new Error('some error'); }); - await branchWorker.processBranch(config); + const processBranchResult = await branchWorker.processBranch(config); + expect(processBranchResult).not.toBeNull(); }); it('closed pr (dry run)', async () => { diff --git a/lib/workers/branch/lock-files/index.spec.ts b/lib/workers/branch/lock-files/index.spec.ts index 79be0de9d306f11498ce3ee4ffb62cbea0105cda..992a6dbf75aa51b0bd1dd711c67391e3c1bc6f55 100644 --- a/lib/workers/branch/lock-files/index.spec.ts +++ b/lib/workers/branch/lock-files/index.spec.ts @@ -25,237 +25,9 @@ hostRules.find = jest.fn((_) => ({ token: 'abc', })); -const { - // determineLockFileDirs, - // writeExistingFiles, - writeUpdatedPackageFiles, - getAdditionalFiles, -} = lockFiles; +const { writeUpdatedPackageFiles, getAdditionalFiles } = lockFiles; describe('manager/npm/post-update', () => { - /* - describe('determineLockFileDirs', () => { - let config; - let packageFiles; - beforeEach(() => { - config = { - ...defaultConfig, - }; - packageFiles = [ - { - packageFile: 'package.json', - yarnLock: '# some yarn lock', - }, - { - packageFile: 'backend/package.json', - packageLock: 'some package lock', - }, - { - packageFile: 'frontend/package.json', - pnpmShrinkwrap: 'some package lock', - }, - { - packageFile: 'leftend/package.json', - npmShrinkwrap: 'some package lock', - }, - ]; - }); - it('returns all directories if lock file maintenance', () => { - config.upgrades = [{ updateType: 'lockFileMaintenance' }]; - const res = determineLockFileDirs(config, packageFiles); - expect(res).toMatchSnapshot(); - }); - it('returns directories from updated package files', () => { - config.upgrades = [{}]; - config.updatedPackageFiles = [ - { - name: 'package.json', - contents: 'some contents', - }, - { - name: 'backend/package.json', - contents: 'some contents', - }, - { - name: 'frontend/package.json', - contents: 'some contents', - }, - { - name: 'leftend/package.json', - contents: 'some contents', - }, - ]; - const res = determineLockFileDirs(config, packageFiles); - expect(res).toMatchSnapshot(); - }); - it('returns root directory if using yarn workspaces', () => { - config.workspaceDir = '.'; - config.upgrades = [{}]; - config.packageFiles = [ - { - packageFile: 'package.json', - yarnLock: '# some yarn lock', - }, - { - packageFile: 'backend/package.json', - workspaceDir: '.', - }, - ]; - config.updatedPackageFiles = [ - { - name: 'backend/package.json', - contents: 'some contents', - }, - ]; - const res = determineLockFileDirs(config); - expect(res).toMatchSnapshot(); - expect(res.npmLockDirs).toHaveLength(0); - expect(res.yarnLockDirs).toHaveLength(1); - expect(res.yarnLockDirs[0]).toEqual('.'); - }); - it('returns root directory if using lerna package lock', () => { - config.lernaClient = 'yarn'; - config.upgrades = [{}]; - config.packageFiles = [ - { - packageFile: 'package.json', - yarnLock: '# some yarn lock', - }, - { - packageFile: 'backend/package.json', - workspaceDir: '.', - }, - ]; - config.updatedPackageFiles = [ - { - name: 'backend/package.json', - contents: 'some contents', - }, - ]; - const res = determineLockFileDirs(config); - expect(res).toMatchSnapshot(); - expect(res.npmLockDirs).toHaveLength(0); - expect(res.yarnLockDirs).toHaveLength(0); - expect(res.lernaDirs).toHaveLength(1); - expect(res.lernaDirs[0]).toEqual('.'); - }); - }); - describe('writeExistingFiles', () => { - let config; - beforeEach(() => { - config = { - ...defaultConfig, - localDir: 'some-tmp-dir', - }; - fs.outputFile = jest.fn(); - fs.remove = jest.fn(); - }); - it('returns if no packageFiles', async () => { - config.npmrc = 'some-npmrc'; - config.yarnrc = 'some-yarnrc'; - await writeExistingFiles(config, {}); - expect(fs.outputFile.mock.calls).toHaveLength(2); - }); - it('writes files and removes files', async () => { - config.npmrc = 'some-npmrc'; - const packageFiles = { - npm: [ - { - packageFile: 'package.json', - content: { name: 'package 1' }, - npmrc: 'some npmrc', - }, - { - packageFile: 'backend/package.json', - hasPackageLock: true, - content: { name: 'package-2', engines: { yarn: '^0.27.5' } }, - yarnrc: 'some yarnrc', - }, - { - packageFile: 'leftend/package.json', - hasNpmShrinkwrap: true, - content: { name: 'package-3' }, - }, - ], - }; - await writeExistingFiles(config, packageFiles); - expect(fs.outputFile.mock.calls).toHaveLength(7); - expect(fs.remove.mock.calls).toHaveLength(9); - }); - it('writes package.json of local lib', async () => { - const renoPath = upath.join(__dirname, '../../../'); - config.localDir = renoPath; - const packageFiles = { - npm: [ - { - packageFile: 'client/package.json', - content: { - name: 'package 1', - dependencies: { - test: 'file:../test.tgz', - testFolder: 'file:../test', - }, - }, - yarnLock: 'some yarn lock', - packageLock: 'some package lock', - }, - ], - }; - platform.getFile.mockReturnValue('some lock file contents'); - await writeExistingFiles(config, packageFiles); - expect(fs.outputFile.mock.calls).toHaveLength(5); - expect(fs.remove.mock.calls).toHaveLength(1); - }); - it('Try to write package.json of local lib, but file not found', async () => { - const renoPath = upath.join(__dirname, '../../../'); - config.localDir = renoPath; - const packageFiles = { - npm: [ - { - packageFile: 'client/package.json', - content: { - name: 'package 1', - dependencies: { - test: 'file:../test.tgz', - testFolder: 'file:../test', - }, - }, - yarnLock: 'some yarn lock', - packageLock: 'some package lock', - }, - ], - }; - platform.getFile.mockReturnValue(null); - await writeExistingFiles(config, packageFiles); - expect(fs.outputFile.mock.calls).toHaveLength(3); - expect(fs.remove.mock.calls).toHaveLength(1); - }); - it('detect malicious intent (error config in package.json) local lib is not in the repo', async () => { - const renoPath = upath.join(__dirname, '../../../'); - config.localDir = renoPath; - const packageFiles = { - npm: [ - { - packageFile: 'client/package.json', - content: { - name: 'package 1', - dependencies: { - test: 'file:../test.tgz', - testFolder: 'file:../../../../test', - }, - }, - yarnLock: 'some yarn lock', - packageLock: 'some package lock', - }, - ], - }; - platform.getFile.mockReturnValue(null); - await writeExistingFiles(config, packageFiles); - expect(fs.outputFile.mock.calls).toHaveLength(3); - expect(fs.remove.mock.calls).toHaveLength(1); - }); - }); - */ describe('writeUpdatedPackageFiles', () => { let config: PostUpdateConfig; beforeEach(() => { @@ -295,7 +67,7 @@ describe('manager/npm/post-update', () => { config.upgrades = []; await writeUpdatedPackageFiles(config); expect(fs.outputFile).toHaveBeenCalledTimes(2); - expect(fs.outputFile.mock.calls[1][1].includes('"engines"')).toBe(false); + expect(fs.outputFile.mock.calls[1][1]).not.toContain('"engines"'); }); }); describe('getAdditionalFiles', () => { @@ -340,99 +112,5 @@ describe('manager/npm/post-update', () => { expect(res.artifactErrors).toHaveLength(0); expect(res.updatedArtifacts).toHaveLength(0); }); - /* - it('returns no error and empty lockfiles if none updated', async () => { - lockFiles.determineLockFileDirs.mockReturnValueOnce({ - npmLockDirs: [], - npmShrinkwrapDirs: [], - yarnLockDirs: [], - pnpmShrinkwrapDirs: [], - lernaDirs: [], - }); - const res = await getAdditionalFiles(config); - expect(res).toMatchSnapshot(); - expect(res.artifactErrors).toHaveLength(0); - expect(res.updatedArtifacts).toHaveLength(0); - }); - it('tries multiple lock files', async () => { - lockFiles.determineLockFileDirs.mockReturnValueOnce({ - npmLockDirs: ['a', 'b'], - npmShrinkwrapDirs: ['f'], - yarnLockDirs: ['c', 'd'], - pnpmShrinkwrapDirs: ['e'], - lernaDirs: [], - }); - const res = await getAdditionalFiles(config); - expect(res).toMatchSnapshot(); - expect(res.artifactErrors).toHaveLength(0); - expect(res.updatedArtifacts).toHaveLength(0); - expect(npm.generateLockFile.mock.calls).toHaveLength(3); - expect(yarn.generateLockFile.mock.calls).toHaveLength(2); - expect(platform.getFile.mock.calls).toHaveLength(7); - }); - it('tries lerna npm', async () => { - lockFiles.determineLockFileDirs.mockReturnValueOnce({ - npmLockDirs: ['a', 'b'], - npmShrinkwrapDirs: [], - yarnLockDirs: [], - pnpmShrinkwrapDirs: [], - lernaDirs: ['.'], - }); - config.packageFiles = []; - config.lernaClient = 'npm'; - lerna.generateLockFiles.mockReturnValueOnce({ error: false }); - const res = await getAdditionalFiles(config); - expect(res).toMatchSnapshot(); - }); - it('tries lerna yarn', async () => { - lockFiles.determineLockFileDirs.mockReturnValueOnce({ - npmLockDirs: [], - npmShrinkwrapDirs: [], - yarnLockDirs: ['c', 'd'], - pnpmShrinkwrapDirs: [], - lernaDirs: ['.'], - }); - config.lernaClient = 'yarn'; - lerna.generateLockFiles.mockReturnValueOnce({ error: true }); - const res = await getAdditionalFiles(config); - expect(res).toMatchSnapshot(); - }); - it('sets error if receiving null', async () => { - lockFiles.determineLockFileDirs.mockReturnValueOnce({ - npmLockDirs: ['a', 'b'], - npmShrinkwrapDirs: ['f'], - yarnLockDirs: ['c', 'd'], - pnpmShrinkwrapDirs: ['e'], - lernaDirs: [], - }); - npm.generateLockFile.mockReturnValueOnce({ error: true }); - yarn.generateLockFile.mockReturnValueOnce({ error: true }); - pnpm.generateLockFile.mockReturnValueOnce({ error: true }); - const res = await getAdditionalFiles(config); - expect(res.artifactErrors).toHaveLength(3); - expect(res.updatedArtifacts).toHaveLength(0); - expect(npm.generateLockFile.mock.calls).toHaveLength(3); - expect(yarn.generateLockFile.mock.calls).toHaveLength(2); - expect(platform.getFile.mock.calls).toHaveLength(4); - }); - it('adds multiple lock files', async () => { - lockFiles.determineLockFileDirs.mockReturnValueOnce({ - npmLockDirs: ['a', 'b'], - npmShrinkwrapDirs: ['f'], - yarnLockDirs: ['c', 'd'], - pnpmShrinkwrapDirs: ['e'], - lernaDirs: [], - }); - npm.generateLockFile.mockReturnValueOnce('some new lock file contents'); - yarn.generateLockFile.mockReturnValueOnce('some new lock file contents'); - pnpm.generateLockFile.mockReturnValueOnce('some new lock file contents'); - const res = await getAdditionalFiles(config); - expect(res.artifactErrors).toHaveLength(0); - expect(res.updatedArtifacts).toHaveLength(3); - expect(npm.generateLockFile.mock.calls).toHaveLength(3); - expect(yarn.generateLockFile.mock.calls).toHaveLength(2); - expect(platform.getFile.mock.calls).toHaveLength(7); - }); - */ }); }); diff --git a/lib/workers/branch/lock-files/lerna.spec.ts b/lib/workers/branch/lock-files/lerna.spec.ts index 09272c4fdc7c4cec443a3c392088ad5ad65c0025..4bd78fb95756f8f1ad35719461b1167dfa8bad42 100644 --- a/lib/workers/branch/lock-files/lerna.spec.ts +++ b/lib/workers/branch/lock-files/lerna.spec.ts @@ -71,21 +71,4 @@ describe('generateLockFiles()', () => { expect(res.error).toBe(false); expect(execSnapshots).toMatchSnapshot(); }); - // it('uses docker', async () => { - // platform.getFile.mockResolvedValueOnce( - // JSON.stringify({ dependencies: { lerna: '2.0.0' } }) - // ); - // const execSnapshots = mockExecAll(exec); - // const skipInstalls = false; - - // const res = await lernaHelper.generateLockFiles( - // 'npm', - // 'some-dir', - // { binarySource: BinarySource.Docker, cacheDir: 'some-cache-dir' }, - // {}, - // skipInstalls - // ); - // expect(res.error).toBe(false); - // expect(execSnapshots).toMatchSnapshot(); - // }); }); diff --git a/lib/workers/branch/schedule.spec.ts b/lib/workers/branch/schedule.spec.ts index 1a7655a71edff7d8c0ceddc5af706bbd356841da..53679c566673389e2d8f43e679c13ace469c5a6e 100644 --- a/lib/workers/branch/schedule.spec.ts +++ b/lib/workers/branch/schedule.spec.ts @@ -177,12 +177,12 @@ describe('workers/branch/schedule', () => { const res = schedule.isScheduledNow(config); expect(res).toBe(true); }); - it('supports every weekday', () => { + it('supports every weekend', () => { config.schedule = ['every weekend']; const res = schedule.isScheduledNow(config); expect(res).toBe(false); }); - it('supports every weekday', () => { + it('supports every weekday with time', () => { config.schedule = ['before 11:00am every weekday']; const res = schedule.isScheduledNow(config); expect(res).toBe(true); diff --git a/lib/workers/global/index.spec.ts b/lib/workers/global/index.spec.ts index 2d791f9db9efe5e8642f8b0bc392cc88f4532128..f58c0a58fdcbfe5d37de0b792fadd67c01ecd393 100644 --- a/lib/workers/global/index.spec.ts +++ b/lib/workers/global/index.spec.ts @@ -29,7 +29,7 @@ describe('lib/workers/global', () => { maintainYarnLock: true, foo: 1, }); - await globalWorker.start(); + await expect(globalWorker.start()).resolves.toEqual(0); }); it('handles zero repos', async () => { configParser.parseConfigs.mockResolvedValueOnce({ @@ -37,7 +37,7 @@ describe('lib/workers/global', () => { cacheDir: '/tmp/cache', repositories: [], }); - await globalWorker.start(); + await expect(globalWorker.start()).resolves.toEqual(0); }); it('processes repositories', async () => { configParser.parseConfigs.mockResolvedValueOnce({ diff --git a/lib/workers/pr/index.spec.ts b/lib/workers/pr/index.spec.ts index 84e267fbc5e2d1cf2f0526968ed93c7c9fdf9422..e831fd49c84d862df0d07bd136cf92758ef113db 100644 --- a/lib/workers/pr/index.spec.ts +++ b/lib/workers/pr/index.spec.ts @@ -249,9 +249,9 @@ describe('workers/pr', () => { expect(prResult).toEqual(PrResult.Created); expect(pr).toMatchObject({ displayNumber: 'New Pull Request' }); expect(platform.createPr.mock.calls[0]).toMatchSnapshot(); - expect( - platform.createPr.mock.calls[0][0].prBody.includes('this Pin PR') - ).toBe(true); + expect(platform.createPr.mock.calls[0][0].prBody).toContain( + 'this Pin PR' + ); }); it('should return null if creating PR fails', async () => { platform.getBranchStatus.mockResolvedValueOnce(BranchStatus.green); @@ -362,12 +362,12 @@ describe('workers/pr', () => { expect(pr).toMatchObject({ displayNumber: 'New Pull Request' }); expect(platform.addAssignees).toHaveBeenCalledTimes(1); const assignees = platform.addAssignees.mock.calls[0][1]; - expect(assignees.length).toEqual(2); + expect(assignees).toHaveLength(2); expect(config.assignees).toEqual(expect.arrayContaining(assignees)); expect(platform.addReviewers).toHaveBeenCalledTimes(1); const reviewers = platform.addReviewers.mock.calls[0][1]; - expect(reviewers.length).toEqual(2); + expect(reviewers).toHaveLength(2); expect(config.reviewers).toEqual(expect.arrayContaining(reviewers)); }); it('should add and deduplicate additionalReviewers on new PR', async () => { diff --git a/lib/workers/repository/configured.spec.ts b/lib/workers/repository/configured.spec.ts index 647a75d246473a914d37ec4e49ea6718c27360fe..521af441239e1f6b613d1fc9fd705baa83d66ba1 100644 --- a/lib/workers/repository/configured.spec.ts +++ b/lib/workers/repository/configured.spec.ts @@ -10,7 +10,7 @@ beforeEach(() => { describe('workers/repository/configured', () => { describe('checkIfConfigured()', () => { it('returns', () => { - checkIfConfigured(config); + expect(() => checkIfConfigured(config)).not.toThrow(); }); it('throws if disabled', () => { config.enabled = false; diff --git a/lib/workers/repository/extract/index.spec.ts b/lib/workers/repository/extract/index.spec.ts index 37087657b69f1f667927a10789d0145e46fd3c8e..90e5952d9a748a03a83b40577c314ef2df699dde 100644 --- a/lib/workers/repository/extract/index.spec.ts +++ b/lib/workers/repository/extract/index.spec.ts @@ -19,7 +19,7 @@ describe('workers/repository/extract/index', () => { it('runs', async () => { managerFiles.getManagerPackageFiles.mockResolvedValue([{} as never]); const res = await extractAllDependencies(config); - expect(Object.keys(res).includes('ansible')).toBe(true); + expect(Object.keys(res)).toContain('ansible'); }); it('skips non-enabled managers', async () => { config.enabledManagers = ['npm']; @@ -31,7 +31,7 @@ describe('workers/repository/extract/index', () => { managerFiles.getManagerPackageFiles.mockResolvedValue([{} as never]); config.regexManagers = [{ fileMatch: ['README'], matchStrings: [''] }]; const res = await extractAllDependencies(config); - expect(Object.keys(res).includes('regex')).toBe(true); + expect(Object.keys(res)).toContain('regex'); }); }); }); diff --git a/lib/workers/repository/finalise/prune.spec.ts b/lib/workers/repository/finalise/prune.spec.ts index e073d9094b13496ea6fa6da425c91b7676f77fe8..c67a4288ef4652228a677ed9b5173e81c009609b 100644 --- a/lib/workers/repository/finalise/prune.spec.ts +++ b/lib/workers/repository/finalise/prune.spec.ts @@ -21,7 +21,9 @@ describe('workers/repository/finalise/prune', () => { it('returns if no renovate branches', async () => { config.branchList = []; platform.getAllRenovateBranches.mockResolvedValueOnce([]); - await cleanup.pruneStaleBranches(config, config.branchList); + await expect( + cleanup.pruneStaleBranches(config, config.branchList) + ).resolves.not.toThrow(); }); it('returns if no remaining branches', async () => { config.branchList = ['renovate/a', 'renovate/b']; diff --git a/lib/workers/repository/finalise/validate.spec.ts b/lib/workers/repository/finalise/validate.spec.ts index 3de16a18dab5f521911a7acb93e25bdc7ca503fd..406f36648cd89b9fc5e0ecc5022794d74b8387a6 100644 --- a/lib/workers/repository/finalise/validate.spec.ts +++ b/lib/workers/repository/finalise/validate.spec.ts @@ -10,7 +10,9 @@ beforeEach(() => { describe('workers/repository/validate', () => { describe('validatePrs()', () => { it('returns if disabled', async () => { - await validate.validatePrs({ suppressNotifications: ['prValidation'] }); + await expect( + validate.validatePrs({ suppressNotifications: ['prValidation'] }) + ).resolves.not.toThrow(); }); it('catches error', async () => { platform.getPrList.mockResolvedValueOnce([ diff --git a/lib/workers/repository/init/__snapshots__/index.spec.ts.snap b/lib/workers/repository/init/__snapshots__/index.spec.ts.snap new file mode 100644 index 0000000000000000000000000000000000000000..639a7839bf67401330462667ca8bcc001a41dba5 --- /dev/null +++ b/lib/workers/repository/init/__snapshots__/index.spec.ts.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`workers/repository/init initRepo runs 1`] = `Object {}`; diff --git a/lib/workers/repository/init/apis.spec.ts b/lib/workers/repository/init/apis.spec.ts index e3a510890b8c796506ac59c542ae8dc60bc81b01..e20917a7bde961e03cbed6deb35b3315961c7e2e 100644 --- a/lib/workers/repository/init/apis.spec.ts +++ b/lib/workers/repository/init/apis.spec.ts @@ -13,7 +13,8 @@ describe('workers/repository/init/apis', () => { config.token = 'some-token'; }); it('runs', async () => { - await initApis(config); + const workerPlatformConfig = await initApis(config); + expect(workerPlatformConfig).toBeTruthy(); }); }); }); diff --git a/lib/workers/repository/init/config.spec.ts b/lib/workers/repository/init/config.spec.ts index 524380e758114f6d248ad2a5f68f08faab8aa533..38a3c5e8809cb0240704e383c0861e2ef5a7b4ab 100644 --- a/lib/workers/repository/init/config.spec.ts +++ b/lib/workers/repository/init/config.spec.ts @@ -45,7 +45,8 @@ describe('workers/repository/init/config', () => { }, }); fs.readLocalFile.mockResolvedValue(pJson); - await mergeRenovateConfig(config); + const renovateConfig = await mergeRenovateConfig(config); + expect(renovateConfig).toBeTruthy(); }); it('returns error if cannot parse', async () => { platform.getFileList.mockResolvedValue(['package.json', 'renovate.json']); @@ -85,7 +86,8 @@ describe('workers/repository/init/config', () => { fs.readLocalFile.mockResolvedValue(`{ // this is json5 format }`); - await mergeRenovateConfig(config); + const renovateConfig = await mergeRenovateConfig(config); + expect(renovateConfig).toBeTruthy(); }); it('finds .github/renovate.json', async () => { platform.getFileList.mockResolvedValue([ @@ -93,7 +95,8 @@ describe('workers/repository/init/config', () => { '.github/renovate.json', ]); fs.readLocalFile.mockResolvedValue('{}'); - await mergeRenovateConfig(config); + const renovateConfig = await mergeRenovateConfig(config); + expect(renovateConfig).toBeTruthy(); }); it('finds .gitlab/renovate.json', async () => { platform.getFileList.mockResolvedValue([ @@ -101,7 +104,8 @@ describe('workers/repository/init/config', () => { '.gitlab/renovate.json', ]); fs.readLocalFile.mockResolvedValue('{}'); - await mergeRenovateConfig(config); + const renovateConfig = await mergeRenovateConfig(config); + expect(renovateConfig).toBeTruthy(); }); it('finds .renovaterc.json', async () => { platform.getFileList.mockResolvedValue([ @@ -109,7 +113,8 @@ describe('workers/repository/init/config', () => { '.renovaterc.json', ]); fs.readLocalFile.mockResolvedValue('{}'); - await mergeRenovateConfig(config); + const renovateConfig = await mergeRenovateConfig(config); + expect(renovateConfig).toBeTruthy(); }); it('throws error if misconfigured', async () => { platform.getFileList.mockResolvedValue([ diff --git a/lib/workers/repository/init/index.spec.ts b/lib/workers/repository/init/index.spec.ts index 204803170bed8123684ec3bde876c0edfb61cced..ced701204e20847212ffbe4b8aa2908cc9509523 100644 --- a/lib/workers/repository/init/index.spec.ts +++ b/lib/workers/repository/init/index.spec.ts @@ -21,7 +21,8 @@ describe('workers/repository/init', () => { base.checkBaseBranch.mockResolvedValue({}); apis.initApis.mockResolvedValue({} as never); config.mergeRenovateConfig.mockResolvedValueOnce({}); - await initRepo({}); + const renovateConfig = await initRepo({}); + expect(renovateConfig).toMatchSnapshot(); }); }); }); diff --git a/lib/workers/repository/onboarding/pr/index.spec.ts b/lib/workers/repository/onboarding/pr/index.spec.ts index d0e87c264cc875a914c8cc37306dd4b795283e56..fe6ced66dec7cbee5b0ee7958709c2814497b8d7 100644 --- a/lib/workers/repository/onboarding/pr/index.spec.ts +++ b/lib/workers/repository/onboarding/pr/index.spec.ts @@ -30,7 +30,9 @@ describe('workers/repository/onboarding/pr', () => { let createPrBody: string; it('returns if onboarded', async () => { config.repoIsOnboarded = true; - await ensureOnboardingPr(config, packageFiles, branches); + await expect( + ensureOnboardingPr(config, packageFiles, branches) + ).resolves.not.toThrow(); }); it('creates PR', async () => { await ensureOnboardingPr(config, packageFiles, branches); @@ -49,7 +51,7 @@ describe('workers/repository/onboarding/pr', () => { expect(platform.createPr).toHaveBeenCalledTimes(0); expect(platform.updatePr).toHaveBeenCalledTimes(0); }); - it('updates PR', async () => { + it('updates PR when conflicted', async () => { config.baseBranch = 'some-branch'; platform.getBranchPr.mockResolvedValueOnce( partial<Pr>({ @@ -63,7 +65,7 @@ describe('workers/repository/onboarding/pr', () => { expect(platform.createPr).toHaveBeenCalledTimes(0); expect(platform.updatePr).toHaveBeenCalledTimes(1); }); - it('updates PR', async () => { + it('updates PR when modified', async () => { config.baseBranch = 'some-branch'; platform.getBranchPr.mockResolvedValueOnce( partial<Pr>({ diff --git a/lib/workers/repository/process/__snapshots__/extract-update.spec.ts.snap b/lib/workers/repository/process/__snapshots__/extract-update.spec.ts.snap new file mode 100644 index 0000000000000000000000000000000000000000..20f00a8ca662d9c9ae99cfc8a35b6e6a547c6c9d --- /dev/null +++ b/lib/workers/repository/process/__snapshots__/extract-update.spec.ts.snap @@ -0,0 +1,16 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`workers/repository/process/extract-update extract() runs 1`] = ` +Object { + "branchList": Array [ + "branchName", + ], + "branches": Array [ + Object { + "branchName": "some-branch", + "upgrades": Array [], + }, + ], + "packageFiles": undefined, +} +`; diff --git a/lib/workers/repository/process/deprecated.spec.ts b/lib/workers/repository/process/deprecated.spec.ts index 7d9c79a28f3e21284a065387cce9208c0f0425aa..367163040d9e2f86615a23d686c72d442b24190d 100644 --- a/lib/workers/repository/process/deprecated.spec.ts +++ b/lib/workers/repository/process/deprecated.spec.ts @@ -5,14 +5,14 @@ describe('workers/repository/process/deprecated', () => { describe('raiseDeprecationWarnings()', () => { it('returns if onboarding', async () => { const config = {}; - await raiseDeprecationWarnings(config, {}); + await expect(raiseDeprecationWarnings(config, {})).resolves.not.toThrow(); }); it('returns if disabled', async () => { const config: RenovateConfig = { repoIsOnboarded: true, suppressNotifications: ['deprecationWarningIssues'], }; - await raiseDeprecationWarnings(config, {}); + await expect(raiseDeprecationWarnings(config, {})).resolves.not.toThrow(); }); it('raises deprecation warnings', async () => { const config: RenovateConfig = { diff --git a/lib/workers/repository/process/extract-update.spec.ts b/lib/workers/repository/process/extract-update.spec.ts index a090e48360a153b35b4cd6f2ea59dd066d909ac4..d599e9ef24cc7393f58b3d703d551dfe55c7ae65 100644 --- a/lib/workers/repository/process/extract-update.spec.ts +++ b/lib/workers/repository/process/extract-update.spec.ts @@ -23,7 +23,8 @@ describe('workers/repository/process/extract-update', () => { suppressNotifications: ['deprecationWarningIssues'], }; const res = await extract(config); - await update(config, res.branches); + expect(res).toMatchSnapshot(); + await expect(update(config, res.branches)).resolves.not.toThrow(); }); }); }); diff --git a/lib/workers/repository/process/index.ts b/lib/workers/repository/process/index.ts index 5bdfcc85cd9d1b4e766c37425bdc2cdda09c15f7..a9175e69e7920baeae763316cf170f522c5780cd 100644 --- a/lib/workers/repository/process/index.ts +++ b/lib/workers/repository/process/index.ts @@ -70,7 +70,7 @@ export async function extractDependencies( return res; } -export async function updateRepo( +export function updateRepo( config: RenovateConfig, branches: BranchConfig[], branchList: string[] diff --git a/lib/workers/repository/result.spec.ts b/lib/workers/repository/result.spec.ts index 2b237806e6207313da1e10d29a0b795135ed8e92..1966de1cef4d49d13b72de317551aca70476c437 100644 --- a/lib/workers/repository/result.spec.ts +++ b/lib/workers/repository/result.spec.ts @@ -10,7 +10,8 @@ beforeEach(() => { describe('workers/repository/result', () => { describe('processResult()', () => { it('runs', () => { - processResult(config, 'done'); + const result = processResult(config, 'done'); + expect(result).not.toBeNil(); }); }); }); diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts index fad0842c56f41cc29b522632f11654db7ddb19be..da2a1e94281aaba623f58ab2d4b0ffa5dd082b85 100644 --- a/lib/workers/repository/updates/generate.spec.ts +++ b/lib/workers/repository/updates/generate.spec.ts @@ -291,7 +291,7 @@ describe('workers/repository/updates/generate', () => { 'chore(): update dependency some-dep to v1.2.0' ); }); - it('scopes monorepo commits with nested package files', () => { + it('scopes monorepo commits with nested package files using parent directory', () => { const branch = [ partial<BranchUpgradeConfig>({ ...defaultConfig, @@ -317,7 +317,7 @@ describe('workers/repository/updates/generate', () => { 'chore(bar): update dependency some-dep to v1.2.0' ); }); - it('scopes monorepo commits with nested package files', () => { + it('scopes monorepo commits with nested package files using base directory', () => { const branch = [ partial<BranchUpgradeConfig>({ ...defaultConfig, @@ -355,7 +355,7 @@ describe('workers/repository/updates/generate', () => { ]; const res = generateBranchConfig(branch); expect(res.commitMessage).toMatchSnapshot(); - expect(res.commitMessage.includes('\n')).toBe(true); + expect(res.commitMessage).toContain('\n'); }); it('supports manual prTitle', () => { const branch = [ diff --git a/package.json b/package.json index 88344e7071dc6da838656d8903e89f94940ab9f0..a7bfbb800962fa34a2009553d3b25fc66f5b6674 100644 --- a/package.json +++ b/package.json @@ -233,12 +233,14 @@ "eslint-config-airbnb-typescript": "6.3.2", "eslint-config-prettier": "6.11.0", "eslint-plugin-import": "2.20.2", + "eslint-plugin-jest": "23.8.2", "eslint-plugin-promise": "4.2.1", "glob": "7.1.6", "graphql": "15.0.0", "husky": "4.2.5", "jest": "26.0.1", "jest-circus": "26.0.1", + "jest-extended": "0.11.5", "jest-junit": "10.0.0", "jest-mock-extended": "1.0.8", "jest-silent-reporter": "0.2.1", diff --git a/test/globals.ts b/test/globals.ts index 5cd8209937ded38a6ae92b733b937ff780201eaf..2d4663996b01ceba2e73f1c72e232b416263ef98 100644 --- a/test/globals.ts +++ b/test/globals.ts @@ -2,6 +2,7 @@ import { tmpdir } from 'os'; import nock from 'nock'; import { join } from 'upath'; import { init } from '../lib/util/cache/global/file'; +import 'jest-extended'; jest.mock('../lib/platform', () => ({ platform: jest.genMockFromModule('../lib/platform/github'), diff --git a/yarn.lock b/yarn.lock index a20f00924a3a60bafc92d042b367a7fbfedc280f..5440fbf65b942f0c41dfbfbc45f151f006b5c046 100644 --- a/yarn.lock +++ b/yarn.lock @@ -97,16 +97,16 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.3.tgz#5b94be88c255f140fd2c10dd151e7f98f4bff397" - integrity sha512-qmp4pD7zeTxsv0JNecSBsEmG1ei2MqwJq4YQcK3ZWm/0t07QstWfvuV/vm3Qt5xNMFETn2SZqpMx2MQzbtq+KA== +"@babel/helper-create-class-features-plugin@^7.8.3", "@babel/helper-create-class-features-plugin@^7.9.6": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz#965c8b0a9f051801fd9d3b372ca0ccf200a90897" + integrity sha512-6N9IeuyHvMBRyjNYOMJHrhwtu4WJMrYf8hVbEHD3pbbbmNOk1kmXSQs7bA4dYDUaIx4ZEzdnvo6NwC3WHd/Qow== dependencies: - "@babel/helper-function-name" "^7.8.3" + "@babel/helper-function-name" "^7.9.5" "@babel/helper-member-expression-to-functions" "^7.8.3" "@babel/helper-optimise-call-expression" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-replace-supers" "^7.9.6" "@babel/helper-split-export-declaration" "^7.8.3" "@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": @@ -215,15 +215,15 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" -"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8" - integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA== +"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6", "@babel/helper-replace-supers@^7.9.6": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444" + integrity sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA== dependencies: "@babel/helper-member-expression-to-functions" "^7.8.3" "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/traverse" "^7.8.6" - "@babel/types" "^7.8.6" + "@babel/traverse" "^7.9.6" + "@babel/types" "^7.9.6" "@babel/helper-simple-access@^7.8.3": version "7.8.3" @@ -240,7 +240,7 @@ dependencies: "@babel/types" "^7.8.3" -"@babel/helper-validator-identifier@^7.9.5": +"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== @@ -265,12 +265,12 @@ "@babel/types" "^7.9.6" "@babel/highlight@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" - integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" + integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== dependencies: + "@babel/helper-validator-identifier" "^7.9.0" chalk "^2.0.0" - esutils "^2.0.2" js-tokens "^4.0.0" "@babel/node@7.8.7": @@ -287,7 +287,7 @@ resolve "^1.13.1" v8flags "^3.1.1" -"@babel/parser@^7.1.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== @@ -702,11 +702,11 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-typescript@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.0.tgz#8b52649c81cb7dee117f760952ab46675a258836" - integrity sha512-GRffJyCu16H3tEhbt9Q4buVFFBqrgS8FzTuhqSxlXNgmqD8aw2xmwtRwrvWXXlw7gHs664uqacsJymHJ9SUE/Q== + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.6.tgz#2248971416a506fc78278fc0c0ea3179224af1e9" + integrity sha512-8OvsRdvpt3Iesf2qsAn+YdlwAJD7zJ+vhFZmDCa4b8dTp7MmHtKk5FF2mCsGxjZwuwsy/yIIay/nLmxST1ctVQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.9.6" "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-typescript" "^7.8.3" @@ -804,9 +804,9 @@ "@babel/plugin-transform-typescript" "^7.9.0" "@babel/register@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.8.3.tgz#5d5d30cfcc918437535d724b8ac1e4a60c5db1f8" - integrity sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg== + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.9.0.tgz#02464ede57548bddbb5e9f705d263b7c3f43d48b" + integrity sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q== dependencies: find-cache-dir "^2.0.0" lodash "^4.17.13" @@ -814,14 +814,14 @@ pirates "^4.0.0" source-map-support "^0.5.16" -"@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.7.tgz#8fefce9802db54881ba59f90bb28719b4996324d" - integrity sha512-+AATMUFppJDw6aiR5NVPHqIQBlV/Pj8wY/EZH+lmvRdUo9xBaz/rF3alAwFJQavvKfeOlPE7oaaDHVbcySbCsg== +"@babel/runtime@^7.8.4": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f" + integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.3.3", "@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6": +"@babel/template@^7.3.3", "@babel/template@^7.8.3", "@babel/template@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== @@ -830,7 +830,7 @@ "@babel/parser" "^7.8.6" "@babel/types" "^7.8.6" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.6": +"@babel/traverse@^7.1.0", "@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442" integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg== @@ -860,13 +860,22 @@ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== dependencies: exec-sh "^0.3.2" minimist "^1.2.0" +"@iarna/cli@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@iarna/cli/-/cli-1.2.0.tgz#0f7af5e851afe895104583c4ca07377a8094d641" + integrity sha512-ukITQAqVs2n9HGmn3car/Ir7d3ta650iXhrG7pjr3EWdFmJuuOVWgYsu7ftsSe5VifEFFhjxVuX9+8F7L8hwcA== + dependencies: + signal-exit "^3.0.2" + update-notifier "^2.2.0" + yargs "^8.0.2" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" @@ -882,6 +891,15 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== +"@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + "@jest/console@^26.0.1": version "26.0.1" resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.0.1.tgz#62b3b2fa8990f3cbffbef695c42ae9ddbc8f4b39" @@ -987,6 +1005,15 @@ optionalDependencies: node-notifier "^7.0.0" +"@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + "@jest/source-map@^26.0.0": version "26.0.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.0.0.tgz#fd7706484a7d3faf7792ae29783933bbf48a4749" @@ -1006,6 +1033,15 @@ "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@jest/test-sequencer@^26.0.1": version "26.0.1" resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.0.1.tgz#b0563424728f3fe9e75d1442b9ae4c11da73f090" @@ -1038,6 +1074,15 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + "@jest/types@^25.5.0": version "25.5.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" @@ -1086,54 +1131,54 @@ dependencies: "@octokit/types" "^2.0.0" -"@octokit/core@^2.4.0": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-2.4.2.tgz#c22e583afc97e74015ea5bfd3ffb3ffc56c186ed" - integrity sha512-fUx/Qt774cgiPhb3HRKfdl6iufVL/ltECkwkCg373I4lIPYvAPY4cbidVZqyVqHI+ThAIlFlTW8FT4QHChv3Sg== +"@octokit/core@^2.4.3": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-2.5.0.tgz#4706258893a7ac6ab35d58d2fb9f2d2ba19a41a5" + integrity sha512-uvzmkemQrBgD8xuGbjhxzJN1darJk9L2cS+M99cHrDG2jlSVpxNJVhoV86cXdYBqdHCc9Z995uLCczaaHIYA6Q== dependencies: "@octokit/auth-token" "^2.4.0" "@octokit/graphql" "^4.3.1" - "@octokit/request" "^5.3.1" + "@octokit/request" "^5.4.0" "@octokit/types" "^2.0.0" before-after-hook "^2.1.0" universal-user-agent "^5.0.0" -"@octokit/endpoint@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.0.tgz#4c7acd79ab72df78732a7d63b09be53ec5a2230b" - integrity sha512-3nx+MEYoZeD0uJ+7F/gvELLvQJzLXhep2Az0bBSXagbApDvDW0LWwpnAIY/hb0Jwe17A0fJdz0O12dPh05cj7A== +"@octokit/endpoint@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.1.tgz#16d5c0e7a83e3a644d1ddbe8cded6c3d038d31d7" + integrity sha512-pOPHaSz57SFT/m3R5P8MUu4wLPszokn5pXcB/pzavLTQf2jbU+6iayTvzaY6/BiotuRS0qyEUkx3QglT4U958A== dependencies: - "@octokit/types" "^2.0.0" + "@octokit/types" "^2.11.1" is-plain-object "^3.0.0" universal-user-agent "^5.0.0" "@octokit/graphql@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.3.1.tgz#9ee840e04ed2906c7d6763807632de84cdecf418" - integrity sha512-hCdTjfvrK+ilU2keAdqNBWOk+gm1kai1ZcdjRfB30oA3/T6n53UVJb7w0L5cR3/rhU91xT3HSqCd+qbvH06yxA== + version "4.4.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.4.0.tgz#4540b48bbf796b837b311ba6ea5104760db530ca" + integrity sha512-Du3hAaSROQ8EatmYoSAJjzAz3t79t9Opj/WY1zUgxVUGfIKn0AEjg+hlOLscF6fv6i/4y/CeUvsWgIfwMkTccw== dependencies: "@octokit/request" "^5.3.0" "@octokit/types" "^2.0.0" - universal-user-agent "^4.0.0" + universal-user-agent "^5.0.0" -"@octokit/plugin-paginate-rest@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.0.2.tgz#fee7a81a4cc7d03784aaf9225499dd6e27f6d01e" - integrity sha512-HzODcSUt9mjErly26TlTOGZrhf9bmF/FEDQ2zln1izhgmIV6ulsjsHmgmR4VZ0wzVr/m52Eb6U2XuyS8fkcR1A== +"@octokit/plugin-paginate-rest@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.2.0.tgz#9ae0c14c1b90ec0d96d2ef1b44706b4505a91cee" + integrity sha512-KoNxC3PLNar8UJwR+1VMQOw2IoOrrFdo5YOiDKnBhpVbKpw+zkBKNMNKwM44UWL25Vkn0Sl3nYIEGKY+gW5ebw== dependencies: - "@octokit/types" "^2.0.1" + "@octokit/types" "^2.12.1" "@octokit/plugin-request-log@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== -"@octokit/plugin-rest-endpoint-methods@^3.0.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.2.0.tgz#ecc4bc594a57ebfb418b8c4a8c0f200455759004" - integrity sha512-k+RLsegQn4s0wvAFYuk3R18FVKRg3ktvzIGW6MkmrSiSXBwYfaEsv4CuPysyef0DL+74DRj/X9MLJYlbleUO+Q== +"@octokit/plugin-rest-endpoint-methods@^3.11.1": + version "3.12.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.12.0.tgz#313938ece4267e98687179cdbc32bc09e06f2379" + integrity sha512-cpUTZR0V2B8lz351oKLXx01BxBF3sMOhvm0glEMIS9XWSpkHCeQDPLPh8TQmepY8e+AhhgWxuWdn1PLDPQlTpw== dependencies: - "@octokit/types" "^2.0.1" + "@octokit/types" "^4.0.0" deprecation "^2.3.1" "@octokit/request-error@^2.0.0": @@ -1145,14 +1190,14 @@ deprecation "^2.0.0" once "^1.4.0" -"@octokit/request@^5.3.0", "@octokit/request@^5.3.1": - version "5.3.4" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.3.4.tgz#fbc950bf785d59da3b0399fc6d042c8cf52e2905" - integrity sha512-qyj8G8BxQyXjt9Xu6NvfvOr1E0l35lsXtwm3SopsYg/JWXjlsnwqLc8rsD2OLguEL/JjLfBvrXr4az7z8Lch2A== +"@octokit/request@^5.3.0", "@octokit/request@^5.4.0": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.2.tgz#74f8e5bbd39dc738a1b127629791f8ad1b3193ee" + integrity sha512-zKdnGuQ2TQ2vFk9VU8awFT4+EYf92Z/v3OlzRaSh4RIP0H6cvW1BFPXq4XYvNez+TPQjqN+0uSkCYnMFFhcFrw== dependencies: - "@octokit/endpoint" "^6.0.0" + "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.0.0" - "@octokit/types" "^2.0.0" + "@octokit/types" "^2.11.1" deprecation "^2.0.0" is-plain-object "^3.0.0" node-fetch "^2.3.0" @@ -1160,19 +1205,26 @@ universal-user-agent "^5.0.0" "@octokit/rest@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-17.0.0.tgz#1f44d96005f5946665fd42a85cd3e428172f01dc" - integrity sha512-nSlmyy1DBEOsC4voRbk/SN56V/iuZfxZzjFFz+ocb2MAYwHC+z1TyVOMV9W630dVn9ukioJO34VD5NSYwcgFWg== + version "17.9.1" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-17.9.1.tgz#ffa31614b2a2330fac82dcff8bb5e88c63fa7cbb" + integrity sha512-TCTqCMNs21ToN5rIx15sIETuR19WsAy9wI4GnSVY8yZxeOKzeQs8uvIeijy8Gb6DbcYGXDf+xJ1MNDePPss0DA== dependencies: - "@octokit/core" "^2.4.0" - "@octokit/plugin-paginate-rest" "^2.0.0" + "@octokit/core" "^2.4.3" + "@octokit/plugin-paginate-rest" "^2.2.0" "@octokit/plugin-request-log" "^1.0.0" - "@octokit/plugin-rest-endpoint-methods" "^3.0.0" + "@octokit/plugin-rest-endpoint-methods" "^3.11.1" -"@octokit/types@^2.0.0", "@octokit/types@^2.0.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.3.1.tgz#40cd61c125a6161cfb3bfabc75805ac7a54213b4" - integrity sha512-rvJP1Y9A/+Cky2C3var1vsw3Lf5Rjn/0sojNl2AjCX+WbpIHYccaJ46abrZoIxMYnOToul6S9tPytUVkFI7CXQ== +"@octokit/types@^2.0.0", "@octokit/types@^2.11.1", "@octokit/types@^2.12.1": + version "2.16.2" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2" + integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== + dependencies: + "@types/node" ">= 8" + +"@octokit/types@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-4.0.0.tgz#57425d275d33b02922e8822eabf57466ef243969" + integrity sha512-wbjL8HhCLdBOAmvPJPkMqF4bf6AWzsas78I7+slJt5LAjuAL+kTlWtXHr2V9VnOuEFItZdzfgFTpMjSBkFeVZg== dependencies: "@types/node" ">= 8" @@ -1214,9 +1266,9 @@ parse-json "^5.0.0" "@semantic-release/github@^7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-7.0.4.tgz#6a62c020d086b84e723e143c78b4d72078e87d28" - integrity sha512-qQi41eGIa/tne7T8rvQK+xJNoyadOmd5mVsNZUUqZCVueiUkCItspJ7Mgy5ZWuhwlo28+hKeT/4zJ6MIG6er2Q== + version "7.0.6" + resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-7.0.6.tgz#4e2b30ba94afb6dad8e6fe9bd960d9be108f6992" + integrity sha512-70fUj+t98AWRgeOG0j2kdguvaVyysOZRUmXykZBwkktSDm1UZ6YfelYFPuM9OJbKPuNjKsCsRXl5/wukDUg8PA== dependencies: "@octokit/rest" "^17.0.0" "@semantic-release/error" "^2.2.0" @@ -1224,7 +1276,7 @@ bottleneck "^2.18.1" debug "^4.0.0" dir-glob "^3.0.0" - fs-extra "^8.0.0" + fs-extra "^9.0.0" globby "^11.0.0" http-proxy-agent "^4.0.0" https-proxy-agent "^5.0.0" @@ -1236,14 +1288,14 @@ url-join "^4.0.0" "@semantic-release/npm@^7.0.0": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@semantic-release/npm/-/npm-7.0.3.tgz#0831f837c8e63cafd3c8a9e052b5aaf99a5a4921" - integrity sha512-3wOXMtAdJkaAnW5183iSmWSimtUmOx7m6g/DWPYRs2Gq6iyB+ztMmhgwbn6luNcM9t6pGbgHvRPEXpWkygMxCA== + version "7.0.5" + resolved "https://registry.yarnpkg.com/@semantic-release/npm/-/npm-7.0.5.tgz#61c45691abb863f6939cca6aac958d3c22508632" + integrity sha512-D+oEmsx9aHE1q806NFQwSC9KdBO8ri/VO99eEz0wWbX2jyLqVyWr7t0IjKC8aSnkkQswg/4KN/ZjfF6iz1XOpw== dependencies: "@semantic-release/error" "^2.2.0" aggregate-error "^3.0.0" execa "^4.0.0" - fs-extra "^8.0.0" + fs-extra "^9.0.0" lodash "^4.17.15" nerf-dart "^1.0.0" normalize-url "^5.0.0" @@ -1252,7 +1304,7 @@ read-pkg "^5.0.0" registry-auth-token "^4.0.0" semver "^7.1.2" - tempy "^0.4.0" + tempy "^0.5.0" "@semantic-release/release-notes-generator@^9.0.0": version "9.0.1" @@ -1280,10 +1332,10 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@sinonjs/commons@^1", "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1" - integrity sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ== +"@sinonjs/commons@^1", "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.2.tgz#505f55c74e0272b43f6c52d81946bed7058fc0e2" + integrity sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw== dependencies: type-detect "4.0.8" @@ -1336,9 +1388,9 @@ defer-to-connect "^1.0.1" "@tootallnate/once@1": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.0.0.tgz#9c13c2574c92d4503b005feca8f2e16cc1611506" - integrity sha512-KYyTT/T6ALPkIRd2Ge080X/BsXvy9O0hcWTtMWkPvwAwF99+vn6Dv4GzrFT/Nn1LePr+FFDbRXXlqmsy9lw2zA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== "@types/babel__core@^7.1.7": version "7.1.7" @@ -1352,9 +1404,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz#f1ec1c104d1bb463556ecb724018ab788d0c172a" - integrity sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw== + version "7.6.1" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" + integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== dependencies: "@babel/types" "^7.0.0" @@ -1367,9 +1419,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.8" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.8.tgz#479a4ee3e291a403a1096106013ec22cf9b64012" - integrity sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw== + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.11.tgz#1ae3010e8bf8851d324878b42acec71986486d18" + integrity sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q== dependencies: "@babel/types" "^7.3.0" @@ -1478,21 +1530,21 @@ integrity sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz#79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5" + integrity sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w== "@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" @@ -1563,6 +1615,11 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== +"@types/minimist@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" + integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + "@types/moment-timezone@0.5.13": version "0.5.13" resolved "https://registry.yarnpkg.com/@types/moment-timezone/-/moment-timezone-0.5.13.tgz#0317ccc91eb4c7f4901704166166395c39276528" @@ -1583,9 +1640,9 @@ integrity sha512-0fRfA90FWm6KJfw6P9QGyo0HDTCmthZ7cWaBQndITlaWLTZ6njRyKwrwpzpg+n6kBXBIGKeUHEQuBx7bphGJkA== "@types/node@*", "@types/node@>= 8": - version "12.12.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.11.tgz#bec2961975888d964196bf0016a2f984d793d3ce" - integrity sha512-O+x6uIpa6oMNTkPuHDa9MhMMehlxLAd5QcOvKRjAFsBVpeFWTOPnXbDvILvFgFFZfQ1xh1EZi1FbXxUix+zpsQ== + version "14.0.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c" + integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA== "@types/node@11.15.12": version "11.15.12" @@ -1663,9 +1720,9 @@ integrity sha512-flgpHJjntpBAdJD43ShRosQvNC0ME97DCfGvZEDlAThQmnerRXrLbX6YgzRBQCZTthET9eAWFAMaYP0m0Y4HzQ== "@types/tough-cookie@*": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.5.tgz#9da44ed75571999b65c37b60c9b2b88db54c585d" - integrity sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg== + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.0.tgz#fef1904e4668b6e5ecee60c52cc6a078ffa6697d" + integrity sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A== "@types/traverse@0.6.32": version "0.6.32" @@ -1678,14 +1735,21 @@ integrity sha512-a/ONNCf9itbmzEz1ohx0Fv5TLJzXIPQTapxFu+DlYlDtn9UcAa1OhnrOOMwbU8125hFjrkJKL3qllD7vO5Bivw== "@types/yargs-parser@*": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" - integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== + version "15.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" + integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + +"@types/yargs@^13.0.0": + version "13.0.9" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.9.tgz#44028e974343c7afcf3960f1a2b1099c39a7b5e1" + integrity sha512-xrvhZ4DZewMDhoH1utLtOAwYQy60eYFoXeje30TzM3VOvQlBwQaEpKFq5m34k1wOw2AKIi2pwtiAjdmhvlBUzg== + dependencies: + "@types/yargs-parser" "*" "@types/yargs@^15.0.0": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.3.tgz#41453a0bc7ab393e995d1f5451455638edbd2baf" - integrity sha512-XCMQRK6kfpNBixHLyHUsGmXrpEmFFxzMrcnSXFMziHd8CoNJo8l16FkHyQq4x+xbM7E2XL83/O78OD8u+iZTdQ== + version "15.0.5" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" + integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== dependencies: "@types/yargs-parser" "*" @@ -1699,7 +1763,7 @@ regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.33.0": +"@typescript-eslint/experimental-utils@2.33.0", "@typescript-eslint/experimental-utils@^2.5.0": version "2.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.33.0.tgz#000f1e5f344fbea1323dc91cc174805d75f99a03" integrity sha512-qzPM2AuxtMrRq78LwyZa8Qn6gcY8obkIrBs1ehqmQADwkYzTE1Pb4y2W+U3rE/iFkSWcWHG2LS6MJfj6SmHApg== @@ -1763,20 +1827,20 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-jsx@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" - integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== acorn-walk@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== -"acorn@>=6.4.1 <7.0.0 || >=7.1.1", acorn@^7.1.0, acorn@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" - integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== +"acorn@>=6.4.1 <7.0.0 || >=7.1.1", acorn@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" + integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== agent-base@4, agent-base@^4.3.0: version "4.3.0" @@ -1815,11 +1879,11 @@ aggregate-error@^3.0.0: indent-string "^4.0.0" ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + version "6.12.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" + integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== dependencies: - fast-deep-equal "^2.0.1" + fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" @@ -1831,7 +1895,7 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== @@ -1848,7 +1912,7 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-regex@^4.1.0: +ansi-regex@^4.0.0, ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== @@ -1965,12 +2029,13 @@ array-ify@^1.0.0: integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= + version "3.1.1" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" array-union@^2.1.0: version "2.1.0" @@ -1983,13 +2048,12 @@ array-unique@^0.3.2: integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= array.prototype.flat@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.2.tgz#8f3c71d245ba349b6b64b4078f76f5576f1fd723" - integrity sha512-VXjh7lAL4KXKF2hY4FnEW9eRW6IhdvFW1sN/JwLbmECbCgACCnBHNyP3lFiYuttr0jxRN9Bsc5+G27dMseSWqQ== + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" + integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== dependencies: define-properties "^1.1.3" - es-abstract "^1.15.0" - function-bind "^1.1.1" + es-abstract "^1.17.0-next.1" arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" @@ -2043,7 +2107,7 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -atob@^2.1.1: +atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== @@ -2057,7 +2121,7 @@ aws-sdk-mock@5.1.0: sinon "^9.0.1" traverse "^0.6.6" -aws-sdk@2.662.0, aws-sdk@^2.637.0: +aws-sdk@2.662.0: version "2.662.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.662.0.tgz#c41c809648104b8aba6276e12eb7ad43a6fca40d" integrity sha512-emZOIKHCV2EHByRNAm7d++1ugzRpLx4WhMm+T9ydy/OyKcOGVAAMPVW0Mib5GXuWpC6A6aE7ACi3pZTjK9LMQA== @@ -2072,15 +2136,30 @@ aws-sdk@2.662.0, aws-sdk@^2.637.0: uuid "3.3.2" xml2js "0.4.19" +aws-sdk@^2.637.0: + version "2.678.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.678.0.tgz#b16230f4894d40ead50f9e23805c874f4ca62549" + integrity sha512-i8t7+1/C6maQzUYUFRQXPAsUPT0YdpNsf/oHZKmmZrsOX+epnn2jmAGIBTZgUakY8jRrZxCJka+QokUIadUVQg== + dependencies: + buffer "4.9.1" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + version "1.9.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" + integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== azure-devops-node-api@10.1.1: version "10.1.1" @@ -2162,9 +2241,9 @@ backslash@^0.2.0: integrity sha1-bDwfzn5+cUzPwQ/XTw9zQQZ3N18= bail@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b" - integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww== + version "1.0.5" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== balanced-match@^1.0.0: version "1.0.0" @@ -2202,9 +2281,9 @@ before-after-hook@^2.1.0: integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== bin-links@^1.1.2, bin-links@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.7.tgz#34b79ea9d0e575d7308afeff0c6b2fc24c793359" - integrity sha512-/eaLaTu7G7/o7PV04QPy1HRT65zf+1tFkPGv0sPTV0tRwufooYBQO3zrcyGgm+ja+ZtBf2GEuKjDRJ2pPG+yqA== + version "1.1.8" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.8.tgz#bd39aadab5dc4bdac222a07df5baf1af745b2228" + integrity sha512-KgmVfx+QqggqP9dA3iIc5pA4T1qEEEL+hOhOhNPaUm77OTrJoOXE/C05SJLNJe6m/2wUK7F1tDSou7n5TfCDzQ== dependencies: bluebird "^3.5.3" cmd-shim "^3.0.0" @@ -2218,15 +2297,22 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: - version "3.7.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" - integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== boolean@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.0.tgz#fab78d5907dbae6216ab46d32733bb7b76b99e76" - integrity sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.1.tgz#35ecf2b4a2ee191b0b44986f14eb5f052a5cbb4f" + integrity sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA== bottleneck@^2.18.1: version "2.19.5" @@ -2282,7 +2368,7 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.11.1, browserslist@^4.8.3: +browserslist@^4.11.1, browserslist@^4.8.5: version "4.12.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== @@ -2292,7 +2378,7 @@ browserslist@^4.11.1, browserslist@^4.8.3: node-releases "^1.1.53" pkg-up "^2.0.0" -bser@^2.0.0: +bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== @@ -2362,9 +2448,9 @@ cacache@15.0.3: unique-filename "^1.1.1" cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: - version "12.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" - integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== dependencies: bluebird "^3.5.5" chownr "^1.1.1" @@ -2429,6 +2515,15 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -2445,9 +2540,9 @@ camelcase@^6.0.0: integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== caniuse-lite@^1.0.30001043: - version "1.0.30001048" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz#4bb4f1bc2eb304e5e1154da80b93dee3f1cf447e" - integrity sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg== + version "1.0.30001061" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001061.tgz#80ca87ef14eb543a7458e7fd2b5e2face3458c9f" + integrity sha512-SMICCeiNvMZnyXpuoO+ot7FHpMVPlrsR+HmfByj6nY4xYDHXLqMTbgH7ecEkDNXWkH1vaip+ZS0D7VTXwM1KYQ== capture-exit@^2.0.0: version "2.0.0" @@ -2475,9 +2570,9 @@ caseless@~0.12.0: integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= ccount@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" - integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w== + version "1.0.5" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17" + integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw== chalk@4.0.0, chalk@^4.0.0: version "4.0.0" @@ -2515,24 +2610,24 @@ char-regex@^1.0.2: integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== character-entities-html4@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef" - integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg== + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" + integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== character-entities-legacy@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4" - integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww== + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== character-entities@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6" - integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w== + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== character-reference-invalid@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85" - integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg== + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== chardet@^0.7.0: version "0.7.0" @@ -2643,9 +2738,18 @@ cli-table@^0.3.1: colors "1.0.3" cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" cliui@^4.0.0: version "4.1.0" @@ -2696,14 +2800,14 @@ code-point-at@^1.0.0: integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= collapse-white-space@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" - integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ== + version "1.0.6" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" + integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== collect-v8-coverage@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1" - integrity sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== collection-visit@^1.0.0: version "1.0.0" @@ -2783,9 +2887,9 @@ commondir@^1.0.1: integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= compare-func@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" - integrity sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg= + version "1.3.4" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.4.tgz#6b07c4c5e8341119baf44578085bda0f4a823516" + integrity sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q== dependencies: array-ify "^1.0.0" dot-prop "^3.0.0" @@ -2835,7 +2939,7 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -confusing-browser-globals@^1.0.7: +confusing-browser-globals@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== @@ -2851,9 +2955,9 @@ contains-path@^0.1.0: integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= conventional-changelog-angular@^5.0.0: - version "5.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz#269540c624553aded809c29a3508fdc2b544c059" - integrity sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA== + version "5.0.10" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.10.tgz#5cf7b00dd315b6a6a558223c80d5ef24ddb34205" + integrity sha512-k7RPPRs0vp8+BtPsM9uDxRl6KcgqtCJmzRD1wRtgqmhQ96g8ifBGo9O/TZBG23jqlXS/rg8BKRDELxfnQQGiaA== dependencies: compare-func "^1.3.1" q "^1.5.1" @@ -2868,17 +2972,17 @@ conventional-changelog-conventionalcommits@4.3.0: q "^1.5.1" conventional-changelog-writer@^4.0.0: - version "4.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz#9f56d2122d20c96eb48baae0bf1deffaed1edba4" - integrity sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw== + version "4.0.16" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.16.tgz#ca10f2691a8ea6d3c2eb74bd35bcf40aa052dda5" + integrity sha512-jmU1sDJDZpm/dkuFxBeRXvyNcJQeKhGtVcFFkwTphUAzyYWcwz2j36Wcv+Mv2hU3tpvLMkysOPXJTLO55AUrYQ== dependencies: compare-func "^1.3.1" - conventional-commits-filter "^2.0.2" + conventional-commits-filter "^2.0.6" dateformat "^3.0.0" - handlebars "^4.4.0" + handlebars "^4.7.6" json-stringify-safe "^5.0.1" lodash "^4.17.15" - meow "^5.0.0" + meow "^7.0.0" semver "^6.0.0" split "^1.0.0" through2 "^3.0.0" @@ -2893,23 +2997,23 @@ conventional-commits-detector@1.0.2: meow "^5.0.0" through2-concurrent "^2.0.0" -conventional-commits-filter@^2.0.0, conventional-commits-filter@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz#f122f89fbcd5bb81e2af2fcac0254d062d1039c1" - integrity sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ== +conventional-commits-filter@^2.0.0, conventional-commits-filter@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.6.tgz#0935e1240c5ca7698329affee1b6a46d33324c4c" + integrity sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw== dependencies: lodash.ismatch "^4.4.0" modify-values "^1.0.0" conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.0.7: - version "3.0.8" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz#23310a9bda6c93c874224375e72b09fb275fe710" - integrity sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ== + version "3.1.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz#10140673d5e7ef5572633791456c5d03b69e8be4" + integrity sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA== dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" lodash "^4.17.15" - meow "^5.0.0" + meow "^7.0.0" split2 "^2.0.0" through2 "^3.0.0" trim-off-newlines "^1.0.0" @@ -2939,17 +3043,17 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js-compat@^3.6.2: - version "3.6.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" - integrity sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== dependencies: - browserslist "^4.8.3" + browserslist "^4.8.5" semver "7.0.0" core-js@^3.2.1, core-js@^3.6.4: - version "3.6.4" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" - integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw== + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" + integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -3002,9 +3106,9 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: which "^1.2.9" cross-spawn@^7.0.0, cross-spawn@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" - integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== + version "7.0.2" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6" + integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -3049,12 +3153,10 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - integrity sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc= - dependencies: - number-is-nan "^1.0.0" +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== dashdash@^1.12.0: version "1.14.1" @@ -3098,19 +3200,19 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@^3.1.0, debug@^3.2.6: +debug@^3.1.0: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: ms "^2.1.1" -debuglog@^1.0.1: +debuglog@*, debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= -decamelize-keys@^1.0.0: +decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= @@ -3168,9 +3270,9 @@ defaults@^1.0.3: clone "^1.0.2" defer-to-connect@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.0.tgz#b41bd7efa8508cef13f8456975f7a278c72833fd" - integrity sha512-WE2sZoctWm/v4smfCAdjYbrfS55JiMRdlY9ZubFhsYbteCK9+BvAx4YV7nPjYM6ZnX5BcoVKwfmyx9sIFTgQMQ== + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" @@ -3231,11 +3333,6 @@ detect-indent@~5.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -3259,6 +3356,11 @@ dezalgo@^1.0.0, dezalgo@~1.0.3: asap "^2.0.0" wrappy "1" +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== + diff-sequences@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" @@ -3365,9 +3467,9 @@ editor@~1.0.0: integrity sha1-YMf4e9YrzGqJT6jM1q+3gjok90I= electron-to-chromium@^1.3.413: - version "1.3.427" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.427.tgz#ea43d02908a8c71f47ebb46e09de5a3cf8236f04" - integrity sha512-/rG5G7Opcw68/Yrb4qYkz07h3bESVRJjUl4X/FrKLXzoUJleKm6D7K7rTTz8V5LUWnd+BbTOyxJX2XprRqHD8A== + version "1.3.441" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.441.tgz#094f71b992dca5bc96b798cfbaf37dc76302015a" + integrity sha512-leBfJwLuyGs1jEei2QioI+PjVMavmUIvPYidE8dCCYWLAq0uefhN3NYgDNb8WxD3uiUNnJ3ScMXg0upSlwySzQ== email-addresses@3.1.0: version "3.1.0" @@ -3399,14 +3501,14 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: once "^1.4.0" entities@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + version "2.0.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.2.tgz#ac74db0bba8d33808bbf36809c3a5c3683531436" + integrity sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw== env-ci@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/env-ci/-/env-ci-5.0.1.tgz#f5904477d1e1ae7593110c133292171d8b1a5d6c" - integrity sha512-xXgohoOAFFF1Y3EdsSKP7olyH/DLS6ZD3aglV6mDFAXBqBXLJSsZLrOZdYfDs5mOmgNaP3YYynObzwF3QkC24g== + version "5.0.2" + resolved "https://registry.yarnpkg.com/env-ci/-/env-ci-5.0.2.tgz#48b6687f8af8cdf5e31b8fcf2987553d085249d9" + integrity sha512-Xc41mKvjouTXD3Oy9AqySz1IeyvJvHZ20Twf5ZLYbNpPPIuCnL/qHCmNlD01LoNy0JTunw9HPYVptD19Ac7Mbw== dependencies: execa "^4.0.0" java-properties "^1.0.0" @@ -3435,21 +3537,22 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.12.0, es-abstract@^1.15.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.16.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz#52490d978f96ff9f89ec15b5cf244304a5bca161" - integrity sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw== +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: + version "1.17.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" + integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== dependencies: es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" - is-callable "^1.1.4" - is-regex "^1.0.4" + is-callable "^1.1.5" + is-regex "^1.0.5" object-inspect "^1.7.0" object-keys "^1.1.1" - string.prototype.trimleft "^2.1.0" - string.prototype.trimright "^2.1.0" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" es-to-primitive@^1.2.1: version "1.2.1" @@ -3499,14 +3602,14 @@ escodegen@^1.14.1: optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz#8a7bcb9643d13c55df4dd7444f138bf4efa61e17" - integrity sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA== +eslint-config-airbnb-base@^14.0.0, eslint-config-airbnb-base@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.1.0.tgz#2ba4592dd6843258221d9bff2b6831bd77c874e4" + integrity sha512-+XCcfGyCnbzOnktDVhwsCAx+9DmrzEmuwxyHUJpw+kqBVT744OUBrB09khgFKlK1lshVww6qXGsYPZpavoNjJw== dependencies: - confusing-browser-globals "^1.0.7" + confusing-browser-globals "^1.0.9" object.assign "^4.1.0" - object.entries "^1.1.0" + object.entries "^1.1.1" eslint-config-airbnb-typescript@6.3.2: version "6.3.2" @@ -3518,13 +3621,13 @@ eslint-config-airbnb-typescript@6.3.2: eslint-config-airbnb-base "^14.0.0" eslint-config-airbnb@^18.0.1: - version "18.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.0.1.tgz#a3a74cc29b46413b6096965025381df8fb908559" - integrity sha512-hLb/ccvW4grVhvd6CT83bECacc+s4Z3/AEyWQdIT2KeTsG9dR7nx1gs7Iw4tDmGKozCNHFn4yZmRm3Tgy+XxyQ== + version "18.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.1.0.tgz#724d7e93dadd2169492ff5363c5aaa779e01257d" + integrity sha512-kZFuQC/MPnH7KJp6v95xsLBf63G/w7YqdPfQ0MUanxQ7zcKUNG8j+sSY860g3NwCBOa62apw16J6pRN+AOgXzw== dependencies: - eslint-config-airbnb-base "^14.0.0" + eslint-config-airbnb-base "^14.1.0" object.assign "^4.1.0" - object.entries "^1.1.0" + object.entries "^1.1.1" eslint-config-prettier@6.11.0: version "6.11.0" @@ -3534,17 +3637,17 @@ eslint-config-prettier@6.11.0: get-stdin "^6.0.0" eslint-import-resolver-node@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" - integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== + version "0.3.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404" + integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg== dependencies: debug "^2.6.9" - resolve "^1.5.0" + resolve "^1.13.1" eslint-module-utils@^2.4.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.0.tgz#cdf0b40d623032274ccd2abd7e64c4e524d6e19c" - integrity sha512-kCo8pZaNz2dsAW7nCUjuVoI11EBXXpIzfNxmaoLhXoRDOnqXLC4iSGVRdZPhOitfbdEfMEfKOiENaK6wDPZEGw== + version "2.6.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" + integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== dependencies: debug "^2.6.9" pkg-dir "^2.0.0" @@ -3567,6 +3670,13 @@ eslint-plugin-import@2.20.2: read-pkg-up "^2.0.0" resolve "^1.12.0" +eslint-plugin-jest@23.8.2: + version "23.8.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.8.2.tgz#6f28b41c67ef635f803ebd9e168f6b73858eb8d4" + integrity sha512-xwbnvOsotSV27MtAe7s8uGWOori0nUsrXh2f1EnpmXua8sDfY6VZhHAhHg2sqK7HBNycRQExF074XSZ7DvfoFg== + dependencies: + "@typescript-eslint/experimental-utils" "^2.5.0" + eslint-plugin-promise@4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" @@ -3643,12 +3753,12 @@ eslint@6.8.0: v8-compile-cache "^2.0.3" espree@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" - integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== + version "6.2.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== dependencies: - acorn "^7.1.0" - acorn-jsx "^5.1.0" + acorn "^7.1.1" + acorn-jsx "^5.2.0" eslint-visitor-keys "^1.1.0" esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: @@ -3657,11 +3767,11 @@ esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== + version "1.3.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== dependencies: - estraverse "^4.0.0" + estraverse "^5.1.0" esrecurse@^4.1.0: version "4.2.1" @@ -3670,11 +3780,16 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== +estraverse@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -3732,9 +3847,9 @@ execa@^2.1.0: strip-final-newline "^2.0.0" execa@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.0.tgz#7f37d6ec17f09e6b8fc53288611695b6d12b9daf" - integrity sha512-JbDUxwV3BoT5ZVXQrSVbAiaXhXUkIwvbhPIwZ0N13kX+5yCzOhUNdocxB/UQRuYOHRYYwAxKYwJYc0T4D12pDA== + version "4.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.1.tgz#988488781f1f0238cd156f7aaede11c3e853b4c1" + integrity sha512-SCjM/zlBdOK8Q5TIjOn6iEHZaPHFsMoTxXQ2nvUvtPnuohz3H2dIozSg+etNR98dGoYUp2ENSKLL/XaMmbxVgw== dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" @@ -3771,6 +3886,18 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" +expect@^24.1.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" + expect@^26.0.1: version "26.0.1" resolved "https://registry.yarnpkg.com/expect/-/expect-26.0.1.tgz#18697b9611a7e2725e20ba3ceadda49bc9865421" @@ -3836,10 +3963,10 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== fast-glob@^3.1.1: version "3.2.2" @@ -3854,9 +3981,9 @@ fast-glob@^3.1.1: picomatch "^2.2.1" fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + 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== fast-levenshtein@~2.0.6: version "2.0.6" @@ -3869,23 +3996,23 @@ fast-safe-stringify@2.0.7: integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== fastq@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2" - integrity sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA== + version "1.8.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" + integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== dependencies: - reusify "^1.0.0" + reusify "^1.0.4" fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== dependencies: - bser "^2.0.0" + bser "2.1.1" figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== figures@^2.0.0: version "2.0.0" @@ -3895,9 +4022,9 @@ figures@^2.0.0: escape-string-regexp "^1.0.5" figures@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" - integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" @@ -3913,6 +4040,11 @@ file-type@^7.6.0: resolved "https://registry.yarnpkg.com/file-type/-/file-type-7.7.1.tgz#91c2f5edb8ce70688b9b68a90d931bbb6cb21f65" integrity sha512-bTrKkzzZI6wH+NXhyD3SOXtb2zXTw2SbwI2RxUlRcXVsnN7jNL5hJzVQLYv7FOQhxFkK4XWdAflEaWFpaLLWpQ== +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -3946,7 +4078,7 @@ find-npm-prefix@^1.0.2: find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -3983,9 +4115,9 @@ flat-cache@^2.0.1: write "1.0.3" flatted@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" - integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== flush-write-stream@^1.0.0: version "1.1.1" @@ -4046,7 +4178,7 @@ from2@^2.1.0, from2@^2.3.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-extra@9.0.0: +fs-extra@9.0.0, fs-extra@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3" integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g== @@ -4056,15 +4188,6 @@ fs-extra@9.0.0: jsonfile "^6.0.1" universalify "^1.0.0" -fs-extra@^8.0.0: - 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-minipass@^1.2.5: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" @@ -4073,9 +4196,9 @@ fs-minipass@^1.2.5: minipass "^2.6.0" fs-minipass@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.0.0.tgz#a6415edab02fae4b9e9230bc87ee2e4472003cd1" - integrity sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A== + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" @@ -4109,19 +4232,19 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== dependencies: + bindings "^1.5.0" nan "^2.12.1" - node-pre-gyp "^0.12.0" fsevents@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -function-bind@^1.0.2, function-bind@^1.1.1: +function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== @@ -4156,9 +4279,9 @@ gensync@^1.0.0-beta.1: integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== gentle-fs@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.0.tgz#13538db5029400f98684be4894e8a7d8f0d1ea7f" - integrity sha512-3k2CgAmPxuz7S6nKK+AqFE2AdM1QuwqKLPKzIET3VRwK++3q96MsNFobScDjlCrq97ZJ8y5R725MOlm6ffUCjg== + version "2.3.1" + resolved "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.1.tgz#11201bf66c18f930ddca72cf69460bdfa05727b1" + integrity sha512-OlwBBwqCFPcjm33rF2BjW+Pr6/ll2741l+xooiwTCeaX2CA1ZuclavyMBe0/KlR21/XGsgY6hzEQZ15BdNa13Q== dependencies: aproba "^1.1.2" chownr "^1.1.2" @@ -4238,13 +4361,13 @@ git-log-parser@^1.2.0: traverse "~0.6.6" git-raw-commits@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.3.tgz#f040e67b8445962d4d168903a9e84c4240c17655" - integrity sha512-SoSsFL5lnixVzctGEi2uykjA7B5I0AhO9x6kdzvGRHbxsa6JSEgrgy1esRKsfOKE1cgyOJ/KDR2Trxu157sb8w== + version "2.0.7" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.7.tgz#02e9357727a9755efa8e14dd5e59b381c29068fb" + integrity sha512-SkwrTqrDxw8y0G1uGJ9Zw13F7qu3LF8V4BifyDeiJCxSnjRGZD9SaoMiMqUvvXMXh6S3sOQ1DsBN7L2fMUZW/g== dependencies: - dargs "^4.0.1" + dargs "^7.0.0" lodash.template "^4.0.2" - meow "^5.0.0" + meow "^7.0.0" split2 "^2.0.0" through2 "^3.0.0" @@ -4262,9 +4385,9 @@ glob-parent@^3.1.0: path-dirname "^1.0.0" glob-parent@^5.0.0, glob-parent@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" - integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== dependencies: is-glob "^4.0.1" @@ -4337,9 +4460,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^12.1.0: - version "12.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13" - integrity sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw== + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== dependencies: type-fest "^0.8.1" @@ -4411,7 +4534,7 @@ growly@^1.3.0: resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= -handlebars@4.7.6, handlebars@^4.4.0: +handlebars@4.7.6, handlebars@^4.7.6: version "4.7.6" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== @@ -4436,6 +4559,11 @@ har-validator@~5.1.3: ajv "^6.5.5" har-schema "^2.0.0" +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -4487,7 +4615,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.1, has@^1.0.3: +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -4525,9 +4653,9 @@ hosted-git-info@^2.1.4, hosted-git-info@^2.7.1, hosted-git-info@^2.8.8: integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== hosted-git-info@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.2.tgz#8b7e3bd114b59b51786f8bade0f39ddc80275a97" - integrity sha512-ezZMWtHXm7Eb7Rq4Mwnx2vs79WUx2QmRg3+ZqeGroKzfDO+EprOcgRPYghsOP9JuYBfK18VojmRTGCg8Ma+ktw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.4.tgz#be4973eb1fd2737b11c9c7c19380739bb249f60d" + integrity sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ== dependencies: lru-cache "^5.1.1" @@ -4539,9 +4667,9 @@ html-encoding-sniffer@^2.0.1: whatwg-encoding "^1.0.5" html-escaper@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" - integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== http-cache-semantics@^3.8.1: version "3.8.1" @@ -4549,9 +4677,9 @@ http-cache-semantics@^3.8.1: integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== http-cache-semantics@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" - integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== http-proxy-agent@^2.1.0: version "2.1.0" @@ -4623,7 +4751,7 @@ husky@4.2.5: slash "^3.0.0" which-pm-runs "^1.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -4690,7 +4818,7 @@ import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" -imurmurhash@^0.1.4: +imurmurhash@*, imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= @@ -4718,7 +4846,7 @@ inflight@^1.0.4, inflight@~1.0.6: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4743,22 +4871,22 @@ init-package-json@^1.10.3: validate-npm-package-name "^3.0.0" inquirer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" - integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" + integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== dependencies: ansi-escapes "^4.2.1" - chalk "^2.4.2" + chalk "^3.0.0" cli-cursor "^3.1.0" cli-width "^2.0.0" external-editor "^3.0.3" figures "^3.0.0" lodash "^4.17.15" mute-stream "0.0.8" - run-async "^2.2.0" - rxjs "^6.4.0" + run-async "^2.4.0" + rxjs "^6.5.3" string-width "^4.1.0" - strip-ansi "^5.1.0" + strip-ansi "^6.0.0" through "^2.3.6" interpret@^1.0.0: @@ -4781,6 +4909,11 @@ invariant@^2.2.2, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" @@ -4811,9 +4944,9 @@ is-accessor-descriptor@^1.0.0: kind-of "^6.0.0" is-alphabetical@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8" - integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== is-alphanumeric@^1.0.0: version "1.0.0" @@ -4821,9 +4954,9 @@ is-alphanumeric@^1.0.0: integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= is-alphanumerical@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c" - integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== dependencies: is-alphabetical "^1.0.0" is-decimal "^1.0.0" @@ -4845,10 +4978,10 @@ is-buffer@^1.1.4: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.4, is-callable@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== is-ci@^1.0.10: version "1.2.1" @@ -4865,9 +4998,9 @@ is-ci@^2.0.0: ci-info "^2.0.0" is-cidr@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.0.tgz#72e233d8e1c4cd1d3f11713fcce3eba7b0e3476f" - integrity sha512-3kxTForpuj8O4iHn0ocsn1jxRm5VYm60GDghK6HXmpn4IyZOoRy9/GmdjFA2yEMqw91TB1/K3bFTuI7FlFNR1g== + version "3.1.1" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.1.tgz#e92ef121bdec2782271a77ce487a8b8df3718ab7" + integrity sha512-Gx+oErgq1j2jAKCR2Kbq0b3wbH0vQKqZ0wOlHxm0o56nq51Cs/DZA8oz9dMDhbHyHEGgJ86eTeVudtgMMOx3Mw== dependencies: cidr-regex "^2.0.10" @@ -4886,14 +5019,14 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== is-decimal@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7" - integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== is-descriptor@^0.1.0: version "0.1.6" @@ -4913,6 +5046,11 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" +is-docker@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" + integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -4967,9 +5105,9 @@ is-glob@^4.0.0, is-glob@^4.0.1: is-extglob "^2.1.1" is-hexadecimal@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee" - integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== is-installed-globally@^0.1.0: version "0.1.0" @@ -5032,22 +5170,17 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= +is-regex@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" + integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== dependencies: - has "^1.0.1" + has "^1.0.3" is-retry-allowed@^1.0.0: version "1.2.0" @@ -5064,6 +5197,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -5084,9 +5222,9 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-whitespace-character@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac" - integrity sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" + integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" @@ -5094,14 +5232,16 @@ is-windows@^1.0.1, is-windows@^1.0.2: integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-word-character@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa" - integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" + integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== is-wsl@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" - integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" isarray@0.0.1: version "0.0.1" @@ -5157,14 +5297,11 @@ istanbul-lib-coverage@^3.0.0: integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== istanbul-lib-instrument@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6" - integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg== + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== dependencies: "@babel/core" "^7.7.5" - "@babel/parser" "^7.7.5" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" "@istanbuljs/schema" "^0.1.2" istanbul-lib-coverage "^3.0.0" semver "^6.3.0" @@ -5276,6 +5413,16 @@ jest-config@^26.0.1: micromatch "^4.0.2" pretty-format "^26.0.1" +jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + jest-diff@^25.2.1: version "25.5.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" @@ -5337,6 +5484,25 @@ jest-environment-node@^26.0.1: jest-mock "^26.0.1" jest-util "^26.0.1" +jest-extended@0.11.5: + version "0.11.5" + resolved "https://registry.yarnpkg.com/jest-extended/-/jest-extended-0.11.5.tgz#f063b3f1eaadad8d7c13a01f0dfe0f538d498ccf" + integrity sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q== + dependencies: + expect "^24.1.0" + jest-get-type "^22.4.3" + jest-matcher-utils "^22.0.0" + +jest-get-type@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" + integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== + jest-get-type@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" @@ -5409,6 +5575,25 @@ jest-leak-detector@^26.0.1: jest-get-type "^26.0.0" pretty-format "^26.0.1" +jest-matcher-utils@^22.0.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" + integrity sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA== + dependencies: + chalk "^2.0.1" + jest-get-type "^22.4.3" + pretty-format "^22.4.3" + +jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + jest-matcher-utils@^26.0.1: version "26.0.1" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.0.1.tgz#12e1fc386fe4f14678f4cc8dbd5ba75a58092911" @@ -5419,6 +5604,20 @@ jest-matcher-utils@^26.0.1: jest-get-type "^26.0.0" pretty-format "^26.0.1" +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + jest-message-util@^26.0.1: version "26.0.1" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.0.1.tgz#07af1b42fc450b4cc8e90e4c9cef11b33ce9b0ac" @@ -5452,6 +5651,11 @@ jest-pnp-resolver@^1.2.1: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== +jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== + jest-regex-util@^26.0.0: version "26.0.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" @@ -5739,13 +5943,6 @@ json5@2.1.3, json5@^2.1.2: dependencies: minimist "^1.2.5" -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.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" @@ -5771,9 +5968,9 @@ jsprim@^1.2.2: verror "1.10.0" just-extend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc" - integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw== + version "4.1.0" + resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.1.0.tgz#7278a4027d889601640ee0ce0e5a00b992467da4" + integrity sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA== keyv@^3.0.0: version "3.1.0" @@ -5782,7 +5979,7 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" -kind-of@>=6.0.3, kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^4.0.0, kind-of@^5.0.0, kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@>=6.0.3, kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^4.0.0, kind-of@^5.0.0, kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -5809,6 +6006,13 @@ lazy-property@~1.0.0: resolved "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz#84ddc4b370679ba8bd4cdcfa4c06b43d57111147" integrity sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc= +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" @@ -5837,9 +6041,9 @@ levn@^0.3.0, levn@~0.3.0: type-check "~0.3.2" libcipm@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.7.tgz#76cd675c98bdaae64db88b782b01b804b6d02c8a" - integrity sha512-fTq33otU3PNXxxCTCYCYe7V96o59v/o7bvtspmbORXpgFk+wcWrGf5x6tBgui5gCed/45/wtPomBsZBYm5KbIw== + version "4.0.8" + resolved "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.8.tgz#dcea4919e10dfbce420327e63901613b9141bc89" + integrity sha512-IN3hh2yDJQtZZ5paSV4fbvJg4aHxCCg5tcZID/dSVlTuUiWktsgaldVljJv6Z5OUlYspx6xQkbR0efNodnIrOA== dependencies: bin-links "^1.1.2" bluebird "^3.5.1" @@ -5847,7 +6051,7 @@ libcipm@^4.0.7: find-npm-prefix "^1.0.2" graceful-fs "^4.1.11" ini "^1.3.5" - lock-verify "^2.0.2" + lock-verify "^2.1.0" mkdirp "^0.5.1" npm-lifecycle "^3.0.0" npm-logical-tree "^1.2.1" @@ -5957,9 +6161,9 @@ libnpmteam@^1.0.2: npm-registry-fetch "^4.0.0" libnpx@^10.2.2: - version "10.2.2" - resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.2.tgz#5a4171b9b92dd031463ef66a4af9f5cbd6b09572" - integrity sha512-ujaYToga1SAX5r7FU5ShMFi88CWpY75meNZtr6RtEyv4l2ZK3+Wgvxq2IqlwWBiDZOqhumdeiocPS1aKrCMe3A== + version "10.2.3" + resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.3.tgz#d5e01f12d383ffca9a947807ca6a8f587d38fe2c" + integrity sha512-bCvdARu55fLQBhMfcYGF0GznF1kB2sqxq/9zKZ3652M8DDFWpVpCnpgzjzn0yWMDMez5ZGMBiX24yR11uEYZVQ== dependencies: dotenv "^5.0.1" npm-package-arg "^6.0.0" @@ -6040,10 +6244,11 @@ locate-path@^5.0.0: p-locate "^4.1.0" lock-verify@^2.0.2, lock-verify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.1.0.tgz#fff4c918b8db9497af0c5fa7f6d71555de3ceb47" - integrity sha512-vcLpxnGvrqisKvLQ2C2v0/u7LVly17ak2YSgoK4PrdsYBXQIax19vhKiLfvKNFx7FRrpTnitrpzF/uuCMuorIg== + version "2.2.0" + resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.2.0.tgz#12432feb68bb647071c78c44bde16029a0f7d935" + integrity sha512-BhM1Vqsu7x0s+EalTifNjdDPks+ZjdAhComvnA6VcCIlDOI5ouELXqAe1BYuEIP4zGN0W08xVm6byJV1LnCiJg== dependencies: + "@iarna/cli" "^1.2.0" npm-package-arg "^6.1.0" semver "^5.4.1" @@ -6054,6 +6259,11 @@ lockfile@^1.0.4: dependencies: signal-exit "^3.0.2" +lodash._baseindexof@*: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" + integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw= + lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -6062,11 +6272,33 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" +lodash._bindcallback@*: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= + +lodash._cacheindexof@*: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" + integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI= + +lodash._createcache@*: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" + integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM= + dependencies: + lodash._getnative "^3.0.0" + lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= +lodash._getnative@*, lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -6112,6 +6344,11 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= +lodash.restparam@*: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -6163,9 +6400,9 @@ lodash@4.17.15, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17. integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== longest-streak@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" - integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" + integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== loose-envify@^1.0.0: version "1.4.0" @@ -6233,9 +6470,9 @@ make-dir@^2.0.0, make-dir@^2.1.0: semver "^5.6.0" make-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" - integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== + 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== dependencies: semver "^6.0.0" @@ -6285,6 +6522,11 @@ map-obj@^2.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= +map-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" + integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -6293,9 +6535,9 @@ map-visit@^1.0.0: object-visit "^1.0.0" markdown-escapes@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5" - integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" + integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== markdown-it@10.0.0: version "10.0.0" @@ -6314,21 +6556,21 @@ markdown-table@1.1.3, markdown-table@^1.1.0: integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== marked-terminal@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-4.0.0.tgz#2c7aa2c0eec496f05cd61f768d80d35db0bf6a86" - integrity sha512-mzU3VD7aVz12FfGoKFAceijehA6Ocjfg3rVimvJbFAB/NOYCsuzRVtq3PSFdPmWI5mhdGeEh3/aMJ5DSxAz94Q== + version "4.1.0" + resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-4.1.0.tgz#01087372d3636dc7cb286475a1d6147187f500e0" + integrity sha512-5KllfAOW02WS6hLRQ7cNvGOxvKW1BKuXELH4EtbWfyWgxQhROoMxEvuQ/3fTgkNjledR0J48F4HbapvYp1zWkQ== dependencies: - ansi-escapes "^4.3.0" + ansi-escapes "^4.3.1" cardinal "^2.1.1" - chalk "^3.0.0" + chalk "^4.0.0" cli-table "^0.3.1" node-emoji "^1.10.0" - supports-hyperlinks "^2.0.0" + supports-hyperlinks "^2.1.0" marked@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.0.0.tgz#d35784245a04871e5988a491e28867362e941693" - integrity sha512-Wo+L1pWTVibfrSr+TTtMuiMfNzmZWiOPeO7rZsQUY5bgsxpHesBEcIWJloWVTFnrMXnf/TL30eTFSGJddmQAng== + version "1.1.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-1.1.0.tgz#62504ad4d11550c942935ccc5e39d64e5a4c4e50" + integrity sha512-EkE7RW6KcXfMHy2PA7Jg0YJE1l8UPEZE8k45tylzmZM30/r1M1MUXWQfJlrSbsTeh7m/XTwHbWUENvAJZpp1YA== matcher@^2.1.0: version "2.1.0" @@ -6345,9 +6587,9 @@ mdast-util-compact@^1.0.0: unist-util-visit "^1.1.0" mdast-util-to-string@^1.0.1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.7.tgz#62d8e9c6b2113070d8b497c7dc35bf12796f06ee" - integrity sha512-P+gdtssCoHOX+eJUrrC30Sixqao86ZPlVjR5NEAoy0U79Pfxb1Y0Gntei0+GrnQD4T04X9xA8tcugp90cSmNow== + version "1.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" + integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== mdurl@^1.0.1: version "1.0.1" @@ -6359,6 +6601,13 @@ meant@~1.0.1: resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.1.tgz#66044fea2f23230ec806fb515efea29c44d2115d" integrity sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg== +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= + dependencies: + mimic-fn "^1.0.0" + mem@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" @@ -6403,6 +6652,25 @@ meow@^5.0.0: trim-newlines "^2.0.0" yargs-parser "^10.0.0" +meow@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/meow/-/meow-7.0.1.tgz#1ed4a0a50b3844b451369c48362eb0515f04c1dc" + integrity sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw== + dependencies: + "@types/minimist" "^1.2.0" + arrify "^2.0.1" + camelcase "^6.0.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "^4.0.2" + normalize-package-data "^2.5.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.13.1" + yargs-parser "^18.1.3" + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -6440,22 +6708,27 @@ micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" -mime-db@1.42.0: - version "1.42.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" - integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== +mime-db@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== mime-types@^2.1.12, mime-types@^2.1.18, mime-types@~2.1.19: - version "2.1.25" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437" - integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg== + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== dependencies: - mime-db "1.42.0" + mime-db "1.44.0" mime@^2.4.3: - version "2.4.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" - integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== + version "2.4.5" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.5.tgz#d8de2ecb92982dedbb6541c9b6841d7f218ea009" + integrity sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" @@ -6467,6 +6740,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +min-indent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256" + integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY= + "minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -6482,6 +6760,15 @@ minimist-options@^3.0.1: arrify "^1.0.1" is-plain-obj "^1.1.0" +minimist-options@^4.0.2: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -6502,9 +6789,9 @@ minipass-flush@^1.0.5: minipass "^3.0.0" minipass-pipeline@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a" - integrity sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA== + version "1.2.3" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34" + integrity sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ== dependencies: minipass "^3.0.0" @@ -6517,9 +6804,9 @@ minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: yallist "^3.0.0" minipass@^3.0.0, minipass@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" - integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w== + version "3.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== dependencies: yallist "^4.0.0" @@ -6616,9 +6903,9 @@ move-file@^2.0.0: path-exists "^4.0.0" mri@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" - integrity sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w== + version "1.1.5" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.5.tgz#ce21dba2c69f74a9b7cf8a1ec62307e089e223e0" + integrity sha512-d2RKzMD4JNyHMbnbWnznPaa8vbdlq/4pNZ3IgdaGrVbBhebBsGUUE/6qorTMYNS6TwuH3ilfOlD2bf4Igh8CKg== ms@2.0.0: version "2.0.0" @@ -6692,15 +6979,6 @@ ncp@~2.0.0: resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= -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" - neo-async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" @@ -6753,9 +7031,9 @@ node-environment-flags@^1.0.5: semver "^5.7.0" node-fetch-npm@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" - integrity sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" + integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg== dependencies: encoding "^0.1.11" json-parse-better-errors "^1.0.0" @@ -6812,26 +7090,10 @@ node-notifier@^7.0.0: uuid "^7.0.3" which "^2.0.2" -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - 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" - node-releases@^1.1.53: - version "1.1.53" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" - integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== + version "1.1.55" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.55.tgz#8af23b7c561d8e2e6e36a46637bab84633b07cee" + integrity sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w== nopt@^4.0.1, nopt@^4.0.3: version "4.0.3" @@ -6874,17 +7136,19 @@ normalize-url@^5.0.0: integrity sha512-bAEm2fx8Dq/a35Z6PIRkkBBJvR56BbEJvhpNtvCZ4W9FyORSna77fn+xtYFjqk5JpBS+fMnAOG/wFgkQBmB7hw== npm-audit-report@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.2.tgz#303bc78cd9e4c226415076a4f7e528c89fc77018" - integrity sha512-abeqS5ONyXNaZJPGAf6TOUMNdSe1Y6cpc9MLBRn+CuUoYbfdca6AxOyXVlfIv9OgKX+cacblbG5w7A6ccwoTPw== + version "1.3.3" + resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.3.tgz#8226deeb253b55176ed147592a3995442f2179ed" + integrity sha512-8nH/JjsFfAWMvn474HB9mpmMjrnKb1Hx/oTAdjv4PT9iZBvBxiZ+wtDUapHCJwLqYGQVPaAfs+vL5+5k9QndXw== dependencies: cli-table3 "^0.5.0" console-control-strings "^1.1.0" 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== + version "1.1.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" + integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + dependencies: + npm-normalize-package-bin "^1.0.1" npm-cache-filename@~1.0.2: version "1.0.2" @@ -6899,9 +7163,9 @@ npm-install-checks@^3.0.2: semver "^2.3.0 || 3.x || 4 || 5" npm-lifecycle@^3.0.0, npm-lifecycle@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.4.tgz#de6975c7d8df65f5150db110b57cce498b0b604c" - integrity sha512-tgs1PaucZwkxECGKhC/stbEgFyc3TGh2TJcg2CDr6jbvQRdteHNhmMeljRzpe4wgFAXQADoy1cSqqi7mtiAa5A== + version "3.1.5" + resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" + integrity sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g== dependencies: byline "^5.0.0" graceful-fs "^4.1.15" @@ -6932,7 +7196,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12, npm-packlist@^1.1.6, npm-packlist@^1.4.8: +npm-packlist@^1.1.12, npm-packlist@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== @@ -7002,9 +7266,9 @@ npm-run-path@^3.0.0: path-key "^3.0.0" npm-run-path@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.0.tgz#d644ec1bd0569187d2a52909971023a0a58e8438" - integrity sha512-8eyAOAH+bYXFPSnNnKr3J+yoybe8O87Is5rtAQ8qRczJz1ajcsjg8l2oZqP+Ppx15Ii3S1vUTjQN2h4YO2tWWQ== + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" @@ -7134,7 +7398,7 @@ npm@6.14.5, npm@^6.10.3: worker-farm "^1.7.0" write-file-atomic "^2.4.3" -npmlog@^4.0.2, npmlog@^4.1.2, npmlog@~4.1.2: +npmlog@^4.1.2, npmlog@~4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -7200,23 +7464,23 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== +object.entries@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz#ee1cf04153de02bb093fec33683900f57ce5399b" + integrity sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ== dependencies: define-properties "^1.1.3" - es-abstract "^1.12.0" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" has "^1.0.3" object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" object.pick@^1.3.0: version "1.3.0" @@ -7226,12 +7490,12 @@ object.pick@^1.3.0: isobject "^3.0.1" object.values@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== dependencies: define-properties "^1.1.3" - es-abstract "^1.12.0" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" has "^1.0.3" @@ -7276,6 +7540,15 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + os-locale@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -7363,9 +7636,9 @@ p-limit@^1.1.0: p-try "^1.0.0" p-limit@^2.0.0, p-limit@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" @@ -7582,9 +7855,9 @@ path-key@^2.0.0, path-key@^2.0.1: integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-key@^3.0.0, path-key@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.0.tgz#99a10d870a803bdd5ee6f0470e58dfcd2f9a54d3" - integrity sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg== + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: version "1.0.6" @@ -7623,14 +7896,14 @@ performance-now@^2.1.0: integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" - integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== pidtree@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.0.tgz#f6fada10fccc9f99bf50e90d0b23d72c9ebc2e6b" - integrity sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg== + version "0.3.1" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== pify@^2.0.0: version "2.3.0" @@ -7727,6 +8000,24 @@ prettier@2.0.5: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== +pretty-format@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" + integrity sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ== + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" @@ -7788,12 +8079,12 @@ promise-retry@^1.1.1: retry "^0.10.0" prompts@^2.0.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4" - integrity sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg== + version "2.3.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" + integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== dependencies: kleur "^3.0.3" - sisteransi "^1.0.3" + sisteransi "^1.0.4" promzard@^0.3.0: version "0.3.0" @@ -7830,9 +8121,9 @@ pseudomap@^1.0.2: integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.28: - version "1.4.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" - integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== pump@^2.0.0: version "2.0.1" @@ -7880,9 +8171,9 @@ qrcode-terminal@^0.12.0: integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== qs@^6.9.1: - version "6.9.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.3.tgz#bfadcd296c2d549f1dffa560619132c977f5008e" - integrity sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw== + version "6.9.4" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" + integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== qs@~6.5.2: version "6.5.2" @@ -7890,9 +8181,9 @@ qs@~6.5.2: integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== query-string@^6.8.2: - version "6.9.0" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.9.0.tgz#1c3b727c370cf00f177c99f328fda2108f8fa3dd" - integrity sha512-KG4bhCFYapExLsUHrFt+kQVEegF2agm4cpF/VNc6pZVthIfCc/GK8t8VyNIE3nyXG9DK3Tf2EGkxjR6/uRdYsA== + version "6.12.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.12.1.tgz#2ae4d272db4fba267141665374e49a1de09e8a7c" + integrity sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -7908,12 +8199,17 @@ quick-lru@^1.0.0: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + qw@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/qw/-/qw-1.0.1.tgz#efbfdc740f9ad054304426acb183412cc8b996d4" integrity sha1-77/cdA+a0FQwRCassYNBLMi5ltQ= -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7, rc@^1.2.8: +rc@^1.0.1, rc@^1.1.6, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -7930,10 +8226,10 @@ re2@1.11.0: dependencies: nan "^2.14.1" -react-is@^16.12.0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" - integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== +react-is@^16.12.0, react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== read-chunk@^2.1.0: version "2.1.0" @@ -8046,9 +8342,9 @@ read@1, read@~1.0.1, read@~1.0.7: mute-stream "~0.0.4" "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -8111,6 +8407,14 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + redeyed@~2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" @@ -8131,14 +8435,14 @@ regenerate@^1.4.0: integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== regenerator-runtime@^0.13.4: - version "0.13.4" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91" - integrity sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g== + version "0.13.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== regenerator-transform@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.2.tgz#949d9d87468ff88d5a7e4734ebb994a892de1ff2" - integrity sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ== + version "0.14.4" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" + integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== dependencies: "@babel/runtime" "^7.8.4" private "^0.1.8" @@ -8157,9 +8461,9 @@ regexpp@^2.0.1: integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== regexpp@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" - integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== regexpu-core@^4.7.0: version "4.7.0" @@ -8375,7 +8679,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.5.0: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -8412,7 +8716,7 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= -reusify@^1.0.0: +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== @@ -8431,7 +8735,7 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: +rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -8446,9 +8750,9 @@ rimraf@~2.4.0: glob "^6.0.1" roarr@^2.15.2: - version "2.15.2" - resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.2.tgz#34f6229ae3c8c12167c4ae60f58fe75e79a1e394" - integrity sha512-jmaDhK9CO4YbQAV8zzCnq9vjAqeO489MS5ehZ+rXmFiPFFE6B+S9KYO6prjmLJ5A0zY3QxVlQdrIya7E/azz/Q== + version "2.15.3" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.3.tgz#65248a291a15af3ebfd767cbf7e44cb402d1d836" + integrity sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA== dependencies: boolean "^3.0.0" detect-node "^2.0.4" @@ -8462,12 +8766,10 @@ rsvp@^4.8.4: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-parallel@^1.1.9: version "1.1.9" @@ -8481,17 +8783,17 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.4.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" - integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== +rxjs@^6.5.3: + version "6.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== dependencies: tslib "^1.9.0" safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, 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== + 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" @@ -8535,7 +8837,7 @@ sax@1.2.1: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= -sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4: +sax@>=0.6.0, sax@^1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -8617,7 +8919,7 @@ semver-utils@1.1.4: resolved "https://registry.yarnpkg.com/semver-utils/-/semver-utils-1.1.4.tgz#cf0405e669a57488913909fc1c3f29bf2a4871e2" integrity sha512-EjnoLE5OGmDAVV/8YDoN5KiajNadjzIp9BAHOhYeQHt7j0UWxjmgsx4YD48wp4Ue1Qogq38F1GNUJNqF1kKKxA== -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -8722,9 +9024,9 @@ shortid@2.2.15: nanoid "^2.1.0" signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== signale@^1.2.1: version "1.4.0" @@ -8743,22 +9045,22 @@ simple-git@1.132.0: debug "^4.0.1" sinon@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.0.1.tgz#dbb18f7d8f5835bcf91578089c0a97b2fffdd73b" - integrity sha512-iTTyiQo5T94jrOx7X7QLBZyucUJ2WvL9J13+96HMfm2CGoJYbIPqRfl6wgNcqmzk0DI28jeGx5bUTXizkrqBmg== + version "9.0.2" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.0.2.tgz#b9017e24633f4b1c98dfb6e784a5f0509f5fd85d" + integrity sha512-0uF8Q/QHkizNUmbK3LRFqx5cpTttEVXudywY9Uwzy8bTfZUhljZ7ARzSxnRHWYWtVTeh4Cw+tTb3iU21FQVO9A== dependencies: - "@sinonjs/commons" "^1.7.0" - "@sinonjs/fake-timers" "^6.0.0" + "@sinonjs/commons" "^1.7.2" + "@sinonjs/fake-timers" "^6.0.1" "@sinonjs/formatio" "^5.0.1" "@sinonjs/samsam" "^5.0.3" diff "^4.0.2" nise "^4.0.1" supports-color "^7.1.0" -sisteransi@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" - integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig== +sisteransi@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@^2.0.0: version "2.0.0" @@ -8854,20 +9156,20 @@ sorted-union-stream@~2.1.3: stream-iterate "^1.1.0" source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== dependencies: - atob "^2.1.1" + atob "^2.1.2" decode-uri-component "^0.2.0" resolve-url "^0.2.1" source-map-url "^0.4.0" urix "^0.1.0" source-map-support@^0.5.16, source-map-support@^0.5.6: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -8906,14 +9208,14 @@ spdx-correct@^3.0.0: spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" @@ -8995,6 +9297,11 @@ ssri@^8.0.0: dependencies: minipass "^3.1.1" +stack-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + stack-utils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" @@ -9003,9 +9310,9 @@ stack-utils@^2.0.2: escape-string-regexp "^2.0.0" state-toggle@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc" - integrity sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" + integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== static-extend@^0.1.1: version "0.1.2" @@ -9045,9 +9352,9 @@ stream-iterate@^1.1.0: stream-shift "^1.0.0" stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== strict-uri-encode@^2.0.0: version "2.0.0" @@ -9098,29 +9405,46 @@ string-width@^4.1.0, string-width@^4.2.0: strip-ansi "^6.0.0" string.prototype.padend@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" - integrity sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA= + version "3.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz#dc08f57a8010dc5c153550318f67e13adbb72ac3" + integrity sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA== dependencies: - define-properties "^1.1.2" - es-abstract "^1.4.3" - function-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" -string.prototype.trimleft@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" - integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== +string.prototype.trimend@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== dependencies: define-properties "^1.1.3" - function-bind "^1.1.1" + es-abstract "^1.17.5" -string.prototype.trimright@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" - integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== +string.prototype.trimleft@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" + integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== dependencies: define-properties "^1.1.3" - function-bind "^1.1.1" + es-abstract "^1.17.5" + string.prototype.trimstart "^1.0.0" + +string.prototype.trimright@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" + integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimend "^1.0.0" + +string.prototype.trimstart@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" string_decoder@^1.1.1: version "1.3.0" @@ -9209,10 +9533,17 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" + integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== strip-json-comments@~2.0.1: version "2.0.1" @@ -9233,10 +9564,10 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.0.0.tgz#b1b94a159e9df00b0a554b2d5f0e0a89690334b0" - integrity sha512-bFhn0MQ8qefLyJ3K7PpHiPUTuTVPWw6RXfaMeV6xgJLXtBbszyboz1bvGTVv4R0YpQm2DqlXXn0fFHhxUHVE5w== +supports-hyperlinks@^2.0.0, supports-hyperlinks@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" @@ -9256,7 +9587,7 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tar@^4, tar@^4.4.10, tar@^4.4.12, tar@^4.4.13: +tar@^4.4.10, tar@^4.4.12, tar@^4.4.13: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== @@ -9286,13 +9617,14 @@ temp-dir@^2.0.0: resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== -tempy@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.4.0.tgz#2240e944cbb6b843415b7ef10b6dff9cda7297d0" - integrity sha512-mKnScm8aXv+cG6l1Nzp6mERGgC4UblbPnSDeQp83JgZ7xqDcnl+7u3+6zXnf1UE7YluDUTEIna1iKYwCSaOk9g== +tempy@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.5.0.tgz#2785c89df39fcc4d1714fc554813225e1581d70b" + integrity sha512-VEY96x7gbIRfsxqsafy2l5yVxxp3PhwAGoWMyC2D2Zt5DmEv+2tGiPOrquNRpf21hhGnKLVEsuqleqiZmKG/qw== dependencies: + is-stream "^2.0.0" temp-dir "^2.0.0" - type-fest "^0.10.0" + type-fest "^0.12.0" unique-string "^2.0.0" term-size@^1.2.0: @@ -9470,7 +9802,7 @@ tough-cookie@^3.0.1: psl "^1.1.28" punycode "^2.1.1" -tr46@^2.0.0: +tr46@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== @@ -9487,15 +9819,20 @@ trim-newlines@^2.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= +trim-newlines@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" + integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== + trim-off-newlines@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= trim-trailing-lines@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a" - integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q== + version "1.1.3" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94" + integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA== trim@0.0.1: version "0.0.1" @@ -9503,9 +9840,9 @@ trim@0.0.1: integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= trough@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" - integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== + version "1.0.5" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== ts-essentials@^4.0.0: version "4.0.0" @@ -9513,9 +9850,9 @@ ts-essentials@^4.0.0: integrity sha512-uQJX+SRY9mtbKU+g9kl5Fi7AEMofPCvHfJkQlaygpPmHPZrtgaBqbWFOYyiA47RhnSwwnXdepUJrgqUYxoUyhQ== tslib@^1.8.1, tslib@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + version "1.13.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== tsutils@^3.17.1: version "3.17.1" @@ -9553,21 +9890,21 @@ type-detect@4.0.8, type-detect@^4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@0.13.1: +type-fest@0.13.1, type-fest@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== -type-fest@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.10.0.tgz#7f06b2b9fbfc581068d1341ffabd0349ceafc642" - integrity sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw== - type-fest@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== +type-fest@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.12.0.tgz#f57a27ab81c68d136a51fd71467eff94157fa1ee" + integrity sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" @@ -9610,12 +9947,11 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== uglify-js@^3.1.4: - version "3.6.9" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.9.tgz#85d353edb6ddfb62a9d798f36e91792249320611" - integrity sha512-pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw== + version "3.9.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.9.3.tgz#4a285d1658b8a2ebaef9e51366b3a0f7acd79ec2" + integrity sha512-r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA== dependencies: commander "~2.20.3" - source-map "~0.6.1" uid-number@0.0.6: version "0.0.6" @@ -9633,12 +9969,12 @@ underscore@1.8.3: integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI= unherit@^1.0.4: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449" - integrity sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w== + version "1.1.3" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" + integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== dependencies: - inherits "^2.0.1" - xtend "^4.0.1" + inherits "^2.0.0" + xtend "^4.0.0" unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" @@ -9659,9 +9995,9 @@ unicode-match-property-value-ecmascript@^1.2.0: integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== unified@^6.0.0: version "6.2.0" @@ -9744,13 +10080,6 @@ unist-util-visit@^1.0.0, unist-util-visit@^1.1.0: dependencies: unist-util-visit-parents "^2.0.0" -universal-user-agent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.0.tgz#27da2ec87e32769619f68a14996465ea1cb9df16" - integrity sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA== - dependencies: - os-name "^3.1.0" - universal-user-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9" @@ -9758,11 +10087,6 @@ universal-user-agent@^5.0.0: dependencies: os-name "^3.1.0" -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - universalify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" @@ -9791,7 +10115,7 @@ upath@1.2.0, upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-notifier@^2.3.0, update-notifier@^2.5.0: +update-notifier@^2.2.0, update-notifier@^2.3.0, update-notifier@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== @@ -9874,9 +10198,9 @@ uuid@3.3.2: integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== uuid@^3.3.2, uuid@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== uuid@^7.0.3: version "7.0.3" @@ -9889,9 +10213,9 @@ v8-compile-cache@^2.0.3: integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== v8-to-istanbul@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz#22fe35709a64955f49a08a7c7c959f6520ad6f20" - integrity sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng== + version "4.1.4" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" + integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" @@ -10001,12 +10325,12 @@ whatwg-mimetype@^2.3.0: integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== whatwg-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.0.0.tgz#37f256cb746398e19b107bd6ef820b4ae2d15871" - integrity sha512-41ou2Dugpij8/LPO5Pq64K5q++MnRCBpEHvQr26/mArEKTkCV5aoXIqyhuYtE0pkqScXwhf2JP57rkRTYM29lQ== + version "8.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz#c628acdcf45b82274ce7281ee31dd3c839791771" + integrity sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw== dependencies: lodash.sortby "^4.7.0" - tr46 "^2.0.0" + tr46 "^2.0.2" webidl-conversions "^5.0.0" which-module@^2.0.0: @@ -10048,9 +10372,9 @@ widest-line@^2.0.0: string-width "^2.1.1" windows-release@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" - integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA== + version "3.3.0" + resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.0.tgz#dce167e9f8be733f21c849ebd4d03fe66b29b9f0" + integrity sha512-2HetyTg1Y+R+rUgrKeUEhAG/ZuOmTrI1NBb3ZyAGQMYmOJjBBPe4MTodghRkmLJZHwkuPi02anbeGP+Zf401LQ== dependencies: execa "^1.0.0" @@ -10103,9 +10427,9 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.3: signal-exit "^3.0.2" write-file-atomic@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b" - integrity sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" is-typedarray "^1.0.0" @@ -10120,9 +10444,9 @@ write@1.0.3: mkdirp "^0.5.1" ws@^7.2.3: - version "7.2.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz#abb1370d4626a5a9cd79d8de404aa18b3465d10d" - integrity sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA== + version "7.3.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd" + integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w== www-authenticate@0.6.2: version "0.6.2" @@ -10184,7 +10508,7 @@ xregexp@4.2.0: resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.2.0.tgz#33f09542b0d7cabed46728eeacac4d5bd764ccf5" integrity sha512-IyMa7SVe9FyT4WbQVW3b95mTLVceHhLEezQ02+QMvmIqDnKTxk0MLWIQPSW2MXAr1zQb+9yvwYhcyQULneh3wA== -xtend@^4.0.1, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -10215,11 +10539,9 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2" - integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw== - dependencies: - "@babel/runtime" "^7.6.3" + version "1.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== yargs-parser@^10.0.0: version "10.1.0" @@ -10228,14 +10550,21 @@ yargs-parser@^10.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^18.1.1: - version "18.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.2.tgz#2f482bea2136dbde0861683abea7756d30b504f1" - integrity sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ== +yargs-parser@^18.1.1, yargs-parser@^18.1.3: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= + dependencies: + camelcase "^4.1.0" + yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" @@ -10278,6 +10607,25 @@ yargs@^15.0.1, yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.1" +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yarn@1.22.4: version "1.22.4" resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.4.tgz#01c1197ca5b27f21edc8bc472cd4c8ce0e5a470e"