diff --git a/__tests__/bin/vip-cache-purge-url.js b/__tests__/bin/vip-cache-purge-url.js index b3a1bab0a..a66849890 100644 --- a/__tests__/bin/vip-cache-purge-url.js +++ b/__tests__/bin/vip-cache-purge-url.js @@ -1,11 +1,8 @@ -/** - * Internal dependencies - */ -import * as tracker from '../../src/lib/tracker'; -import * as exit from '../../src/lib/cli/exit'; -import * as purgeCacheLib from '../../src/lib/api/cache-purge'; import { cachePurgeCommand } from '../../src/bin/vip-cache-purge-url'; +import * as purgeCacheLib from '../../src/lib/api/cache-purge'; +import * as exit from '../../src/lib/cli/exit'; import { readFromFile } from '../../src/lib/read-file'; +import * as tracker from '../../src/lib/tracker'; jest.spyOn( console, 'log' ).mockImplementation( () => {} ); jest.spyOn( exit, 'withError' ).mockImplementation( () => { diff --git a/__tests__/bin/vip-config-envvar-delete.js b/__tests__/bin/vip-config-envvar-delete.js index ffe748547..b6a508e3a 100644 --- a/__tests__/bin/vip-config-envvar-delete.js +++ b/__tests__/bin/vip-config-envvar-delete.js @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import { describe, expect, it, jest, beforeEach } from '@jest/globals'; -/** - * Internal dependencies - */ import { deleteEnvVarCommand } from '../../src/bin/vip-config-envvar-delete'; import command from '../../src/lib/cli/command'; import { deleteEnvVar, validateNameWithMessage } from '../../src/lib/envvar/api'; diff --git a/__tests__/bin/vip-config-envvar-get-all.js b/__tests__/bin/vip-config-envvar-get-all.js index 840f70346..713b95b71 100644 --- a/__tests__/bin/vip-config-envvar-get-all.js +++ b/__tests__/bin/vip-config-envvar-get-all.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { getAllEnvVarsCommand } from '../../src/bin/vip-config-envvar-get-all'; import command from '../../src/lib/cli/command'; import { formatData } from '../../src/lib/cli/format'; diff --git a/__tests__/bin/vip-config-envvar-get.js b/__tests__/bin/vip-config-envvar-get.js index 17fc70814..a976cd6a4 100644 --- a/__tests__/bin/vip-config-envvar-get.js +++ b/__tests__/bin/vip-config-envvar-get.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { getEnvVarCommand } from '../../src/bin/vip-config-envvar-get'; import command from '../../src/lib/cli/command'; import { getEnvVar } from '../../src/lib/envvar/api'; diff --git a/__tests__/bin/vip-config-envvar-list.js b/__tests__/bin/vip-config-envvar-list.js index 01897bfd6..e6b846be1 100644 --- a/__tests__/bin/vip-config-envvar-list.js +++ b/__tests__/bin/vip-config-envvar-list.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { listEnvVarsCommand } from '../../src/bin/vip-config-envvar-list'; import command from '../../src/lib/cli/command'; import { formatData } from '../../src/lib/cli/format'; diff --git a/__tests__/bin/vip-config-envvar-set.js b/__tests__/bin/vip-config-envvar-set.js index d4e8fddbe..19a0021f6 100644 --- a/__tests__/bin/vip-config-envvar-set.js +++ b/__tests__/bin/vip-config-envvar-set.js @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import { describe, expect, it, jest } from '@jest/globals'; -/** - * Internal dependencies - */ import { setEnvVarCommand } from '../../src/bin/vip-config-envvar-set'; import command from '../../src/lib/cli/command'; import { setEnvVar, validateNameWithMessage } from '../../src/lib/envvar/api'; diff --git a/__tests__/bin/vip-import-sql.js b/__tests__/bin/vip-import-sql.js index ef958b001..9f6e67a50 100644 --- a/__tests__/bin/vip-import-sql.js +++ b/__tests__/bin/vip-import-sql.js @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import path from 'path'; -/** - * Internal dependencies - */ import { validateAndGetTableNames, gates } from '../../src/bin/vip-import-sql'; import * as exit from '../../src/lib/cli/exit'; diff --git a/__tests__/bin/vip-logs.js b/__tests__/bin/vip-logs.js index fd34be927..8c7fd58fb 100644 --- a/__tests__/bin/vip-logs.js +++ b/__tests__/bin/vip-logs.js @@ -1,11 +1,9 @@ -/** - * Internal dependencies - */ import os from 'os'; -import * as tracker from '../../src/lib/tracker'; + +import { getLogs } from '../../src/bin/vip-logs'; import * as logsLib from '../../src/lib/app-logs/app-logs'; import * as exit from '../../src/lib/cli/exit'; -import { getLogs } from '../../src/bin/vip-logs'; +import * as tracker from '../../src/lib/tracker'; jest.spyOn( console, 'log' ).mockImplementation( () => {} ); jest.spyOn( console, 'error' ).mockImplementation( () => {} ); diff --git a/__tests__/bin/vip-slowlogs.js b/__tests__/bin/vip-slowlogs.js index 9dd4ab79e..007ece62e 100644 --- a/__tests__/bin/vip-slowlogs.js +++ b/__tests__/bin/vip-slowlogs.js @@ -1,11 +1,9 @@ -/** - * Internal dependencies - */ import os from 'os'; -import * as tracker from '../../src/lib/tracker'; + +import { getSlowlogs } from '../../src/bin/vip-slowlogs'; import * as slowlogsLib from '../../src/lib/app-slowlogs/app-slowlogs'; import * as exit from '../../src/lib/cli/exit'; -import { getSlowlogs } from '../../src/bin/vip-slowlogs'; +import * as tracker from '../../src/lib/tracker'; jest.spyOn( console, 'log' ).mockImplementation( () => {} ); jest.spyOn( console, 'error' ).mockImplementation( () => {} ); diff --git a/__tests__/bin/vip-whoami.js b/__tests__/bin/vip-whoami.js index e2f0cc6d1..a2cc71601 100644 --- a/__tests__/bin/vip-whoami.js +++ b/__tests__/bin/vip-whoami.js @@ -1,10 +1,7 @@ -/** - * Internal dependencies - */ -import * as tracker from '../../src/lib/tracker'; -import * as exit from '../../src/lib/cli/exit'; -import * as apiUserLib from '../../src/lib/api/user'; import { whoamiCommand } from '../../src/bin/vip-whoami'; +import * as apiUserLib from '../../src/lib/api/user'; +import * as exit from '../../src/lib/cli/exit'; +import * as tracker from '../../src/lib/tracker'; jest.spyOn( console, 'log' ).mockImplementation( () => {} ); jest.spyOn( exit, 'withError' ).mockImplementation( () => { diff --git a/__tests__/commands/backup-db.ts b/__tests__/commands/backup-db.ts index aea1b4386..e1ae5bb3c 100644 --- a/__tests__/commands/backup-db.ts +++ b/__tests__/commands/backup-db.ts @@ -1,14 +1,9 @@ /* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-return */ -/** - * External dependencies - */ -/** - * Internal dependencies - */ +import { beforeEach, describe, expect, it, jest } from '@jest/globals'; + import { BackupDBCommand } from '../../src/commands/backup-db'; import API from '../../src/lib/api'; -import { beforeEach, describe, expect, it, jest } from '@jest/globals'; const mockApp = { id: 123, diff --git a/__tests__/commands/dev-env-sync-sql.js b/__tests__/commands/dev-env-sync-sql.js index 30085a616..a1d6ce556 100644 --- a/__tests__/commands/dev-env-sync-sql.js +++ b/__tests__/commands/dev-env-sync-sql.js @@ -1,17 +1,10 @@ -/** - * External dependencies - */ -import { describe, expect, jest } from '@jest/globals'; -import fs from 'fs'; import { replace } from '@automattic/vip-search-replace'; +import fs from 'fs'; import { PassThrough } from 'stream'; -/** - * Internal dependencies - */ +import { DevEnvImportSQLCommand } from '../../src/commands/dev-env-import-sql'; import { DevEnvSyncSQLCommand } from '../../src/commands/dev-env-sync-sql'; import { ExportSQLCommand } from '../../src/commands/export-sql'; -import { DevEnvImportSQLCommand } from '../../src/commands/dev-env-import-sql'; import { unzipFile } from '../../src/lib/client-file-uploader'; import { getReadInterface } from '../../src/lib/validations/line-by-line'; diff --git a/__tests__/commands/export-sql.js b/__tests__/commands/export-sql.js index 247db210b..ad46695d3 100644 --- a/__tests__/commands/export-sql.js +++ b/__tests__/commands/export-sql.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { ExportSQLCommand, CREATE_EXPORT_JOB_MUTATION, diff --git a/__tests__/devenv-e2e/001-create.spec.js b/__tests__/devenv-e2e/001-create.spec.js index 50bf37c67..f347d826f 100644 --- a/__tests__/devenv-e2e/001-create.spec.js +++ b/__tests__/devenv-e2e/001-create.spec.js @@ -1,19 +1,13 @@ -/** - * External dependencies - */ +import { describe, expect, it, jest } from '@jest/globals'; import { mkdtemp, rm } from 'node:fs/promises'; -import path from 'node:path'; import os from 'node:os'; -import { describe, expect, it, jest } from '@jest/globals'; +import path from 'node:path'; import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; -import { readEnvironmentData } from '../../src/lib/dev-environment/dev-environment-core'; -import { checkEnvExists, getProjectSlug, prepareEnvironment } from './helpers/utils'; import { vipDevEnvCreate } from './helpers/commands'; +import { checkEnvExists, getProjectSlug, prepareEnvironment } from './helpers/utils'; +import { readEnvironmentData } from '../../src/lib/dev-environment/dev-environment-core'; jest.setTimeout( 30 * 1000 ); diff --git a/__tests__/devenv-e2e/002-destroy.spec.js b/__tests__/devenv-e2e/002-destroy.spec.js index f70df8367..181aa602e 100644 --- a/__tests__/devenv-e2e/002-destroy.spec.js +++ b/__tests__/devenv-e2e/002-destroy.spec.js @@ -1,19 +1,14 @@ -/** - * External dependencies - */ -import { access, mkdtemp, rm, unlink } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { describe, expect, it, jest } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { access, mkdtemp, rm, unlink } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; -import { getEnvironmentPath } from '../../src/lib/dev-environment/dev-environment-core'; +import { vipDevEnvCreate, vipDevEnvDestroy } from './helpers/commands'; +import { getContainersForProject, killProjectContainers } from './helpers/docker-utils'; import { checkEnvExists, createAndStartEnvironment, @@ -21,8 +16,7 @@ import { getProjectSlug, prepareEnvironment, } from './helpers/utils'; -import { vipDevEnvCreate, vipDevEnvDestroy } from './helpers/commands'; -import { getContainersForProject, killProjectContainers } from './helpers/docker-utils'; +import { getEnvironmentPath } from '../../src/lib/dev-environment/dev-environment-core'; jest.setTimeout( 600 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/003-start.spec.js b/__tests__/devenv-e2e/003-start.spec.js index 75608ab97..5f9ae7544 100644 --- a/__tests__/devenv-e2e/003-start.spec.js +++ b/__tests__/devenv-e2e/003-start.spec.js @@ -1,18 +1,14 @@ -/** - * External dependencies - */ -import { mkdtemp, rm } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { describe, expect, it, jest } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; +import { vipDevEnvStart } from './helpers/commands'; +import { getContainersForProject, killProjectContainers } from './helpers/docker-utils'; import { checkEnvExists, createAndStartEnvironment, @@ -20,8 +16,6 @@ import { getProjectSlug, prepareEnvironment, } from './helpers/utils'; -import { vipDevEnvStart } from './helpers/commands'; -import { getContainersForProject, killProjectContainers } from './helpers/docker-utils'; jest.setTimeout( 600 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/004-stop.spec.js b/__tests__/devenv-e2e/004-stop.spec.js index 3e4b7522f..104362d36 100644 --- a/__tests__/devenv-e2e/004-stop.spec.js +++ b/__tests__/devenv-e2e/004-stop.spec.js @@ -1,18 +1,14 @@ -/** - * External dependencies - */ -import { mkdtemp, rm } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { afterAll, describe, expect, it, jest } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; +import { vipDevEnvStop } from './helpers/commands'; +import { getContainersForProject, killProjectContainers } from './helpers/docker-utils'; import { checkEnvExists, createAndStartEnvironment, @@ -20,8 +16,6 @@ import { getProjectSlug, prepareEnvironment, } from './helpers/utils'; -import { vipDevEnvStop } from './helpers/commands'; -import { getContainersForProject, killProjectContainers } from './helpers/docker-utils'; jest.setTimeout( 600 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/005-update.spec.js b/__tests__/devenv-e2e/005-update.spec.js index 009c056a0..befa39f67 100644 --- a/__tests__/devenv-e2e/005-update.spec.js +++ b/__tests__/devenv-e2e/005-update.spec.js @@ -1,19 +1,13 @@ -/** - * External dependencies - */ +import { describe, expect, it, jest } from '@jest/globals'; import { copyFile, mkdir, mkdtemp, readFile, rm } from 'node:fs/promises'; -import path from 'node:path'; import os from 'node:os'; -import { describe, expect, it, jest } from '@jest/globals'; +import path from 'node:path'; import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; -import { readEnvironmentData } from '../../src/lib/dev-environment/dev-environment-core'; -import { checkEnvExists, getProjectSlug, prepareEnvironment } from './helpers/utils'; import { vipDevEnvCreate, vipDevEnvUpdate } from './helpers/commands'; +import { checkEnvExists, getProjectSlug, prepareEnvironment } from './helpers/utils'; +import { readEnvironmentData } from '../../src/lib/dev-environment/dev-environment-core'; jest.setTimeout( 30 * 1000 ); diff --git a/__tests__/devenv-e2e/006-list.spec.js b/__tests__/devenv-e2e/006-list.spec.js index eae66a8d0..79652299c 100644 --- a/__tests__/devenv-e2e/006-list.spec.js +++ b/__tests__/devenv-e2e/006-list.spec.js @@ -1,26 +1,20 @@ -/** - * External dependencies - */ -import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { describe, expect, it, jest } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; +import { vipDevEnvCreate, vipDevEnvList } from './helpers/commands'; +import { killProjectContainers } from './helpers/docker-utils'; import { checkEnvExists, createAndStartEnvironment, getProjectSlug, prepareEnvironment, } from './helpers/utils'; -import { vipDevEnvCreate, vipDevEnvList } from './helpers/commands'; -import { killProjectContainers } from './helpers/docker-utils'; import { getEnvironmentPath } from '../../src/lib/dev-environment/dev-environment-core'; jest.setTimeout( 60 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/007-info.spec.js b/__tests__/devenv-e2e/007-info.spec.js index ff19a7e36..1b9149259 100644 --- a/__tests__/devenv-e2e/007-info.spec.js +++ b/__tests__/devenv-e2e/007-info.spec.js @@ -1,21 +1,15 @@ -/** - * External dependencies - */ -import { mkdtemp, rm } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { describe, expect, it, jest } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; -import { createAndStartEnvironment, getProjectSlug, prepareEnvironment } from './helpers/utils'; import { vipDevEnvCreate, vipDevEnvInfo } from './helpers/commands'; import { killProjectContainers } from './helpers/docker-utils'; +import { createAndStartEnvironment, getProjectSlug, prepareEnvironment } from './helpers/utils'; jest.setTimeout( 30 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/008-exec.spec.js b/__tests__/devenv-e2e/008-exec.spec.js index fb50b39cf..001e08f78 100644 --- a/__tests__/devenv-e2e/008-exec.spec.js +++ b/__tests__/devenv-e2e/008-exec.spec.js @@ -1,18 +1,14 @@ -/** - * External dependencies - */ -import { mkdtemp, rm } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { describe, expect, it, jest } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; +import { vipDevEnvExec } from './helpers/commands'; +import { killProjectContainers } from './helpers/docker-utils'; import { checkEnvExists, createAndStartEnvironment, @@ -20,8 +16,6 @@ import { getProjectSlug, prepareEnvironment, } from './helpers/utils'; -import { vipDevEnvExec } from './helpers/commands'; -import { killProjectContainers } from './helpers/docker-utils'; jest.setTimeout( 600 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/009-import-media.spec.js b/__tests__/devenv-e2e/009-import-media.spec.js index 52ed8c592..1b3d7197e 100644 --- a/__tests__/devenv-e2e/009-import-media.spec.js +++ b/__tests__/devenv-e2e/009-import-media.spec.js @@ -1,18 +1,12 @@ -/** - * External dependencies - */ +import { describe, expect, it, jest } from '@jest/globals'; import { mkdtemp, rm, stat } from 'node:fs/promises'; -import path from 'node:path'; import os from 'node:os'; -import { describe, expect, it, jest } from '@jest/globals'; +import path from 'node:path'; import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; -import { checkEnvExists, getProjectSlug, prepareEnvironment } from './helpers/utils'; import { vipDevEnvCreate, vipDevEnvImportMedia } from './helpers/commands'; +import { checkEnvExists, getProjectSlug, prepareEnvironment } from './helpers/utils'; import { getEnvironmentPath } from '../../src/lib/dev-environment/dev-environment-core'; jest.setTimeout( 30 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/010-import-sql.spec.js b/__tests__/devenv-e2e/010-import-sql.spec.js index acba9d43b..340fc9e17 100644 --- a/__tests__/devenv-e2e/010-import-sql.spec.js +++ b/__tests__/devenv-e2e/010-import-sql.spec.js @@ -1,18 +1,14 @@ -/** - * External dependencies - */ -import { mkdtemp, rm, writeFile } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { describe, expect, it, jest } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { mkdtemp, rm, writeFile } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; +import { vipDevEnvExec, vipDevEnvImportSQL } from './helpers/commands'; +import { killProjectContainers } from './helpers/docker-utils'; import { checkEnvExists, createAndStartEnvironment, @@ -20,8 +16,6 @@ import { getProjectSlug, prepareEnvironment, } from './helpers/utils'; -import { vipDevEnvExec, vipDevEnvImportSQL } from './helpers/commands'; -import { killProjectContainers } from './helpers/docker-utils'; jest.setTimeout( 600 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/011-configuration-file.spec.js b/__tests__/devenv-e2e/011-configuration-file.spec.js index 5eb6f466a..3a5fbc612 100644 --- a/__tests__/devenv-e2e/011-configuration-file.spec.js +++ b/__tests__/devenv-e2e/011-configuration-file.spec.js @@ -1,24 +1,18 @@ -/** - * External dependencies - */ +import { describe, expect, it, jest } from '@jest/globals'; import { mkdtemp, rm } from 'node:fs/promises'; -import path from 'node:path'; import os from 'node:os'; -import { describe, expect, it, jest } from '@jest/globals'; +import path from 'node:path'; import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; -import { readEnvironmentData } from '../../src/lib/dev-environment/dev-environment-core'; +import { vipDevEnvCreate, vipDevEnvUpdate } from './helpers/commands'; import { checkEnvExists, getProjectSlug, prepareEnvironment, writeConfigurationFile, } from './helpers/utils'; -import { vipDevEnvCreate, vipDevEnvUpdate } from './helpers/commands'; +import { readEnvironmentData } from '../../src/lib/dev-environment/dev-environment-core'; jest.setTimeout( 30 * 1000 ); diff --git a/__tests__/devenv-e2e/011-logs.spec.js b/__tests__/devenv-e2e/011-logs.spec.js index b72de541e..692e8919b 100644 --- a/__tests__/devenv-e2e/011-logs.spec.js +++ b/__tests__/devenv-e2e/011-logs.spec.js @@ -1,18 +1,14 @@ -/** - * External dependencies - */ -import { mkdtemp, rm } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { describe, expect, it } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; +import { vipDevEnvLogs } from './helpers/commands'; +import { killProjectContainers } from './helpers/docker-utils'; import { checkEnvExists, createAndStartEnvironment, @@ -20,8 +16,6 @@ import { getProjectSlug, prepareEnvironment, } from './helpers/utils'; -import { vipDevEnvLogs } from './helpers/commands'; -import { killProjectContainers } from './helpers/docker-utils'; describe( 'vip dev-env logs', () => { /** @type {CliTest} */ diff --git a/__tests__/devenv-e2e/012-shell.spec.js b/__tests__/devenv-e2e/012-shell.spec.js index aa5ff50c7..a5724d3e0 100644 --- a/__tests__/devenv-e2e/012-shell.spec.js +++ b/__tests__/devenv-e2e/012-shell.spec.js @@ -1,18 +1,14 @@ -/** - * External dependencies - */ -import { mkdtemp, rm } from 'node:fs/promises'; -import path from 'node:path'; -import os from 'node:os'; import { describe, expect, it, jest } from '@jest/globals'; -import xdgBaseDir from 'xdg-basedir'; import Docker from 'dockerode'; import nock from 'nock'; +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import xdgBaseDir from 'xdg-basedir'; -/** - * Internal dependencies - */ import { CliTest } from './helpers/cli-test'; +import { vipDevEnvShell } from './helpers/commands'; +import { killProjectContainers } from './helpers/docker-utils'; import { checkEnvExists, createAndStartEnvironment, @@ -20,8 +16,6 @@ import { getProjectSlug, prepareEnvironment, } from './helpers/utils'; -import { vipDevEnvShell } from './helpers/commands'; -import { killProjectContainers } from './helpers/docker-utils'; jest.setTimeout( 600 * 1000 ).retryTimes( 1, { logErrorsBeforeRetry: true } ); diff --git a/__tests__/devenv-e2e/helpers/cli-test.js b/__tests__/devenv-e2e/helpers/cli-test.js index 160868e79..4102db50d 100644 --- a/__tests__/devenv-e2e/helpers/cli-test.js +++ b/__tests__/devenv-e2e/helpers/cli-test.js @@ -1,6 +1,3 @@ -/** - * External dependencies - */ import { spawn } from 'child_process'; /** @@ -29,11 +26,11 @@ export class CliTest { child.stderr.setEncoding( 'utf8' ); child.stdout.on( 'data', data => { - stdout += '' + data; + stdout += String( data ); } ); child.stderr.on( 'data', data => { - stderr += '' + data; + stderr += String( data ); } ); child.on( 'exit', code => { diff --git a/__tests__/devenv-e2e/helpers/commands.js b/__tests__/devenv-e2e/helpers/commands.js index 49e54cd31..5e8c268e6 100644 --- a/__tests__/devenv-e2e/helpers/commands.js +++ b/__tests__/devenv-e2e/helpers/commands.js @@ -1,6 +1,3 @@ -/** - * External dependencies - */ import { join, resolve } from 'node:path'; const vipPath = resolve( __dirname, '../../../dist/bin' ); diff --git a/__tests__/devenv-e2e/helpers/docker-utils.js b/__tests__/devenv-e2e/helpers/docker-utils.js index e0b3ad3cf..8a992677a 100644 --- a/__tests__/devenv-e2e/helpers/docker-utils.js +++ b/__tests__/devenv-e2e/helpers/docker-utils.js @@ -1,8 +1,5 @@ /* eslint-disable id-length */ -/** - * External dependencies - */ import { dockerComposify } from 'lando/lib/utils'; /** diff --git a/__tests__/devenv-e2e/helpers/utils.js b/__tests__/devenv-e2e/helpers/utils.js index 6f5b7ba61..a55d82a7f 100644 --- a/__tests__/devenv-e2e/helpers/utils.js +++ b/__tests__/devenv-e2e/helpers/utils.js @@ -1,19 +1,13 @@ -/** - * External dependencies - */ -import { writeFile } from 'node:fs/promises'; -import path from 'node:path'; import { expect } from '@jest/globals'; import { dump } from 'js-yaml'; +import { writeFile } from 'node:fs/promises'; +import path from 'node:path'; -/** - * Internal dependencies - */ +import { vipDevEnvCreate, vipDevEnvDestroy, vipDevEnvStart } from './commands'; import { doesEnvironmentExist, getEnvironmentPath, } from '../../../src/lib/dev-environment/dev-environment-core'; -import { vipDevEnvCreate, vipDevEnvDestroy, vipDevEnvStart } from './commands'; let id = 0; @@ -22,7 +16,7 @@ let id = 0; */ export function getProjectSlug() { ++id; - const workerID = `${ +( process.env.JEST_WORKER_ID || '1' ) }`.padStart( 4, '0' ); + const workerID = `${ Number( process.env.JEST_WORKER_ID || '1' ) }`.padStart( 4, '0' ); const envID = `${ id }`.padStart( 4, '0' ); return `dev-env-${ workerID }-${ envID }`; } diff --git a/__tests__/lib/analytics/clients/tracks.js b/__tests__/lib/analytics/clients/tracks.js index 9a4c1b8a2..9be03c2f5 100644 --- a/__tests__/lib/analytics/clients/tracks.js +++ b/__tests__/lib/analytics/clients/tracks.js @@ -1,12 +1,6 @@ -/** - * External dependencies - */ import nock from 'nock'; import url from 'url'; -/** - * Internal dependencies - */ import Tracks from '../../../../src/lib/analytics/clients/tracks'; import * as apiConfig from '../../../../src/lib/cli/apiConfig'; diff --git a/__tests__/lib/analytics/index.js b/__tests__/lib/analytics/index.js index 4e2c02777..da8e34893 100644 --- a/__tests__/lib/analytics/index.js +++ b/__tests__/lib/analytics/index.js @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import { afterEach, describe, expect, it, jest } from '@jest/globals'; -/** - * Internal dependencies - */ import Analytics from '../../../src/lib/analytics'; class AnalyticsClientStub { diff --git a/__tests__/lib/app-logs/app-logs.js b/__tests__/lib/app-logs/app-logs.js index 2211f4063..bb2415724 100644 --- a/__tests__/lib/app-logs/app-logs.js +++ b/__tests__/lib/app-logs/app-logs.js @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ import API from '../../../src/lib/api'; import { getRecentLogs } from '../../../src/lib/app-logs/app-logs'; diff --git a/__tests__/lib/backup-storage-availability/backup-storage-availability.ts b/__tests__/lib/backup-storage-availability/backup-storage-availability.ts index 1109e86c1..332f4bf2e 100644 --- a/__tests__/lib/backup-storage-availability/backup-storage-availability.ts +++ b/__tests__/lib/backup-storage-availability/backup-storage-availability.ts @@ -1,7 +1,8 @@ import { afterEach, describe, expect, it, jest } from '@jest/globals'; -import { BackupStorageAvailability } from '../../../src/lib/backup-storage-availability/backup-storage-availability'; import { Confirm } from 'enquirer'; +import { BackupStorageAvailability } from '../../../src/lib/backup-storage-availability/backup-storage-availability'; + const confirmRunSpy = jest.spyOn( Confirm.prototype, 'run' ); confirmRunSpy.mockResolvedValue( true ); diff --git a/__tests__/lib/cli/apiConfig.js b/__tests__/lib/cli/apiConfig.js index 82b2b50f7..b3745192b 100644 --- a/__tests__/lib/cli/apiConfig.js +++ b/__tests__/lib/cli/apiConfig.js @@ -2,16 +2,10 @@ * @format */ -/** - * External dependencies - */ import { describe, it, expect, jest } from '@jest/globals'; -/** - * Internal dependencies - */ -import { checkFeatureEnabled, exitWhenFeatureDisabled } from '../../../src/lib/cli/apiConfig'; import * as featureFlags from '../../../src/lib/api/feature-flags'; +import { checkFeatureEnabled, exitWhenFeatureDisabled } from '../../../src/lib/cli/apiConfig'; import Token from '../../../src/lib/token'; jest.mock( '../../../src/lib/tracker' ); diff --git a/__tests__/lib/cli/command.js b/__tests__/lib/cli/command.js index c811d82c3..1353bfde9 100644 --- a/__tests__/lib/cli/command.js +++ b/__tests__/lib/cli/command.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { containsAppEnvArgument } from '../../../src/lib/cli/command'; describe( 'utils/cli/command', () => { diff --git a/__tests__/lib/cli/config.js b/__tests__/lib/cli/config.js index a69382189..02328450f 100644 --- a/__tests__/lib/cli/config.js +++ b/__tests__/lib/cli/config.js @@ -1,11 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ - describe( 'utils/cli/config', () => { beforeEach( () => { jest.resetModules(); diff --git a/__tests__/lib/cli/envAlias.js b/__tests__/lib/cli/envAlias.js index 717e22c5c..690db9d5d 100644 --- a/__tests__/lib/cli/envAlias.js +++ b/__tests__/lib/cli/envAlias.js @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import { describe, it, expect } from '@jest/globals'; -/** - * Internal dependencies - */ import { isAlias, parseEnvAlias, parseEnvAliasFromArgv } from '../../../src/lib/cli/envAlias'; describe( 'utils/cli/envAlias', () => { diff --git a/__tests__/lib/cli/exit.js b/__tests__/lib/cli/exit.js index 0645a390a..214e07b2f 100644 --- a/__tests__/lib/cli/exit.js +++ b/__tests__/lib/cli/exit.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { withError } from '../../../src/lib/cli/exit'; import env from '../../../src/lib/env'; diff --git a/__tests__/lib/cli/format.js b/__tests__/lib/cli/format.js index 394033e74..26dd69ba1 100644 --- a/__tests__/lib/cli/format.js +++ b/__tests__/lib/cli/format.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { formatBytes, formatDuration, requoteArgs } from '../../../src/lib/cli/format'; describe( 'utils/cli/format', () => { diff --git a/__tests__/lib/client-file-uploader.js b/__tests__/lib/client-file-uploader.js index f20884b3c..edf0d64f2 100644 --- a/__tests__/lib/client-file-uploader.js +++ b/__tests__/lib/client-file-uploader.js @@ -2,12 +2,6 @@ * @format */ -/** - * External dependencies - */ -/** - * Internal dependencies - */ import { getFileMD5Hash, getFileMeta, getPartBoundaries } from '../../src/lib/client-file-uploader'; describe( 'client-file-uploader', () => { diff --git a/__tests__/lib/dev-environment/dev-environment-cli.js b/__tests__/lib/dev-environment/dev-environment-cli.js index 6b69aa871..e6779a916 100644 --- a/__tests__/lib/dev-environment/dev-environment-cli.js +++ b/__tests__/lib/dev-environment/dev-environment-cli.js @@ -1,17 +1,11 @@ /* eslint-disable jest/no-conditional-expect */ -// @format -/** - * External dependencies - */ import chalk from 'chalk'; import { prompt, selectRunMock, confirmRunMock } from 'enquirer'; import nock from 'nock'; import os from 'os'; -/** - * Internal dependencies - */ +import { DEV_ENVIRONMENT_PHP_VERSIONS } from '../../../src/lib/constants/dev-environment'; import { getEnvironmentName, getEnvironmentStartCommand, @@ -24,9 +18,8 @@ import { resolvePhpVersion, promptForWordPress, } from '../../../src/lib/dev-environment/dev-environment-cli'; -import * as devEnvCore from '../../../src/lib/dev-environment/dev-environment-core'; import * as devEnvConfiguration from '../../../src/lib/dev-environment/dev-environment-configuration-file'; -import { DEV_ENVIRONMENT_PHP_VERSIONS } from '../../../src/lib/constants/dev-environment'; +import * as devEnvCore from '../../../src/lib/dev-environment/dev-environment-core'; jest.spyOn( console, 'log' ).mockImplementation( () => {} ); diff --git a/__tests__/lib/dev-environment/dev-environment-core.js b/__tests__/lib/dev-environment/dev-environment-core.js index 90e01fc76..296e8751b 100644 --- a/__tests__/lib/dev-environment/dev-environment-core.js +++ b/__tests__/lib/dev-environment/dev-environment-core.js @@ -1,21 +1,15 @@ -// @format - -/** - * External dependencies - */ -import xdgBasedir from 'xdg-basedir'; -import fs from 'fs'; +import { expect, jest } from '@jest/globals'; +import child from 'child_process'; import enquirer from 'enquirer'; +import fs from 'fs'; import os from 'os'; import path from 'path'; -import child from 'child_process'; import { EventEmitter } from 'stream'; -import { expect, jest } from '@jest/globals'; +import xdgBasedir from 'xdg-basedir'; -/** - * Internal dependencies - */ import app from '../../../src/lib/api/app'; +import { DEV_ENVIRONMENT_NOT_FOUND } from '../../../src/lib/constants/dev-environment'; +import { resolvePath } from '../../../src/lib/dev-environment/dev-environment-cli'; import { getEnvironmentPath, createEnvironment, @@ -25,10 +19,8 @@ import { resolveImportPath, readEnvironmentData, } from '../../../src/lib/dev-environment/dev-environment-core'; -import { searchAndReplace } from '../../../src/lib/search-and-replace'; -import { resolvePath } from '../../../src/lib/dev-environment/dev-environment-cli'; -import { DEV_ENVIRONMENT_NOT_FOUND } from '../../../src/lib/constants/dev-environment'; import { bootstrapLando } from '../../../src/lib/dev-environment/dev-environment-lando'; +import { searchAndReplace } from '../../../src/lib/search-and-replace'; jest.mock( 'xdg-basedir', () => ( {} ) ); jest.mock( '../../../src/lib/api/app' ); diff --git a/__tests__/lib/dev-environment/docker-utils.spec.js b/__tests__/lib/dev-environment/docker-utils.spec.js index ce7eb8eea..729c011d9 100644 --- a/__tests__/lib/dev-environment/docker-utils.spec.js +++ b/__tests__/lib/dev-environment/docker-utils.spec.js @@ -1,15 +1,13 @@ -/** - * External dependencies - */ -import path from 'node:path'; -import { homedir, platform } from 'node:os'; +import { afterEach, describe, expect, it, jest } from '@jest/globals'; import { promises, readFileSync } from 'node:fs'; +import { homedir, platform } from 'node:os'; +import path from 'node:path'; + import { getDockerSocket, getEngineConfig, splitca, } from '../../../src/lib/dev-environment/docker-utils'; -import { afterEach, describe, expect, it, jest } from '@jest/globals'; describe( 'splitca', () => { const base = path.join( __dirname, '..', '..', '..', '__fixtures__', 'certs' ); diff --git a/__tests__/lib/envvar/api.js b/__tests__/lib/envvar/api.js index d4d9f91bb..c1224c496 100644 --- a/__tests__/lib/envvar/api.js +++ b/__tests__/lib/envvar/api.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { validateName } from '../../../src/lib/envvar/api'; describe( 'validateName', () => { diff --git a/__tests__/lib/http/proxy-agent.js b/__tests__/lib/http/proxy-agent.js index 77c9b3390..eebcd1549 100644 --- a/__tests__/lib/http/proxy-agent.js +++ b/__tests__/lib/http/proxy-agent.js @@ -1,12 +1,6 @@ -/** - * External dependencies - */ -import { SocksProxyAgent } from 'socks-proxy-agent'; import { HttpsProxyAgent } from 'https-proxy-agent'; +import { SocksProxyAgent } from 'socks-proxy-agent'; -/** - * Internal dependencies - */ // Reference for testing with env variables within a test: https://github.com/vuejs/vue-test-utils/issues/193 describe( 'validate CreateProxyAgent', () => { diff --git a/__tests__/lib/keychain.js b/__tests__/lib/keychain.js index b264076f4..137adfde1 100644 --- a/__tests__/lib/keychain.js +++ b/__tests__/lib/keychain.js @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import { randomBytes } from 'crypto'; -/** - * Internal dependencies - */ import Insecure from '../../src/lib/keychain/insecure'; const account = 'vip-cli-test'; diff --git a/__tests__/lib/search-and-replace.js b/__tests__/lib/search-and-replace.js index 4a91fe133..9212e6e85 100644 --- a/__tests__/lib/search-and-replace.js +++ b/__tests__/lib/search-and-replace.js @@ -2,21 +2,15 @@ * @format */ -/** - * External dependencies - */ +import searchReplaceLib from '@automattic/vip-search-replace'; import fs from 'fs'; -import path from 'path'; import fetch, { Response } from 'node-fetch'; -import searchReplaceLib from '@automattic/vip-search-replace'; +import path from 'path'; -/** - * Internal dependencies - */ +import * as prompt from '../../src/lib/cli/prompt'; import { searchAndReplace } from '../../src/lib/search-and-replace'; // Import prompt as a module since that's how we implement it in lib/search-and-replace.js, // as opposed to importing prompt.confirm on its own -import * as prompt from '../../src/lib/cli/prompt'; global.console = { log: jest.fn(), error: jest.fn() }; diff --git a/__tests__/lib/site-import.js b/__tests__/lib/site-import.js index 9ddc08b60..0dfc971b5 100644 --- a/__tests__/lib/site-import.js +++ b/__tests__/lib/site-import.js @@ -1,6 +1,3 @@ -/** - * Internal dependencies - */ import { isImportingBlockedBySync, isSupportedApp } from '../../src/lib/site-import/db-file-import'; describe( 'site import tests', () => { diff --git a/__tests__/lib/token.js b/__tests__/lib/token.js index 06a433def..d04e63960 100644 --- a/__tests__/lib/token.js +++ b/__tests__/lib/token.js @@ -1,6 +1,3 @@ -/** - * Internal dependencies - */ import Token, { SERVICE } from '../../src/lib/token'; describe( 'token tests', () => { diff --git a/__tests__/lib/validations/is-multi-site-sql-dump.js b/__tests__/lib/validations/is-multi-site-sql-dump.js index a2e821c46..6b46566d4 100644 --- a/__tests__/lib/validations/is-multi-site-sql-dump.js +++ b/__tests__/lib/validations/is-multi-site-sql-dump.js @@ -2,13 +2,6 @@ * @format */ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { sqlDumpLineIsMultiSite } from '../../../src/lib/validations/is-multi-site-sql-dump'; describe( 'is-multi-site-sql-dump', () => { diff --git a/__tests__/lib/validations/is-multisite-domain-mapped.js b/__tests__/lib/validations/is-multisite-domain-mapped.js index 1279d3916..b7cd7acc7 100644 --- a/__tests__/lib/validations/is-multisite-domain-mapped.js +++ b/__tests__/lib/validations/is-multisite-domain-mapped.js @@ -2,15 +2,10 @@ * @format */ -/** - * External dependencies - */ import nock from 'nock'; import url from 'url'; -/** - * Internal dependencies - */ +import { API_URL } from '../../../src/lib/api'; import { getPrimaryDomainFromSQL, maybeSearchReplacePrimaryDomain, @@ -18,8 +13,6 @@ import { isMultisitePrimaryDomainMapped, } from '../../../src/lib/validations/is-multisite-domain-mapped'; -import { API_URL } from '../../../src/lib/api'; - describe( 'is-multisite-domain-mapped', () => { const capturedStatement = [ [ 'INSERT INTO `wp_site` (`id`, `domain`, `path`)', 'VALUES', "\t(1,'www.example.com','/');" ], diff --git a/__tests__/lib/validations/sql.js b/__tests__/lib/validations/sql.js index 73a4939fc..76d637585 100644 --- a/__tests__/lib/validations/sql.js +++ b/__tests__/lib/validations/sql.js @@ -2,16 +2,10 @@ * @format */ -/** - * External dependencies - */ -import path from 'path'; import debugLib from 'debug'; import fetch, { Response } from 'node-fetch'; +import path from 'path'; -/** - * Internal dependencies - */ import { validate } from '../../../src/lib/validations/sql'; const debug = debugLib( '@automattic/vip:__tests__:validations:sql' ); diff --git a/__tests__/lib/validations/utils.js b/__tests__/lib/validations/utils.js index 37ffd84f4..6b769f5db 100644 --- a/__tests__/lib/validations/utils.js +++ b/__tests__/lib/validations/utils.js @@ -2,17 +2,11 @@ * @format */ -/** - * External dependencies - */ -import path from 'path'; import { once } from 'node:events'; +import path from 'path'; -/** - * Internal dependencies - */ -import { getMultilineStatement } from '../../../src/lib/validations/utils'; import { getReadInterface } from '../../../src/lib/validations/line-by-line'; +import { getMultilineStatement } from '../../../src/lib/validations/utils'; describe( 'utils', () => { describe( 'getMultilineStatement', () => { diff --git a/__tests__/lib/vip-import-validate-files.js b/__tests__/lib/vip-import-validate-files.js index 9734e2e4b..e2b8836aa 100644 --- a/__tests__/lib/vip-import-validate-files.js +++ b/__tests__/lib/vip-import-validate-files.js @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { folderStructureValidation, isFileSanitized, diff --git a/helpers/check-version.js b/helpers/check-version.js index 2955d4888..75d553c78 100644 --- a/helpers/check-version.js +++ b/helpers/check-version.js @@ -1,4 +1,5 @@ const semver = require( 'semver' ); + const { name, engines } = require( '../package.json' ); const version = engines.node; diff --git a/helpers/prepublishOnly.js b/helpers/prepublishOnly.js index 29c640126..1b9ed4840 100644 --- a/helpers/prepublishOnly.js +++ b/helpers/prepublishOnly.js @@ -1,6 +1,7 @@ -const { minVersion, satisfies, valid } = require( 'semver' ); const { exec } = require( 'node:child_process' ); const { EOL } = require( 'node:os' ); +const { minVersion, satisfies, valid } = require( 'semver' ); + const packageJSON = require( '../package.json' ); const config = { diff --git a/jest.setup.js b/jest.setup.js index 4dc3db210..098997319 100644 --- a/jest.setup.js +++ b/jest.setup.js @@ -1,6 +1,3 @@ -/** - * External dependencies - */ import nock from 'nock'; process.env.API_HOST = 'http://localhost:4000'; diff --git a/jest.setupMocks.js b/jest.setupMocks.js index 828d711ab..ae04c0115 100644 --- a/jest.setupMocks.js +++ b/jest.setupMocks.js @@ -1,6 +1,3 @@ -/** - * Internal dependencies - */ import * as apiConfig from './src/lib/cli/apiConfig'; // This function is mocked globally because it is called by trackEvent. diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 25e6719f2..ac3a20ef2 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -101,7 +101,7 @@ "vip-wp": "dist/bin/vip-wp.js" }, "devDependencies": { - "@automattic/eslint-plugin-wpvip": "0.6.0", + "@automattic/eslint-plugin-wpvip": "0.8.0", "@babel/cli": "7.23.0", "@babel/core": "7.23.2", "@babel/preset-env": "7.23.2", @@ -197,39 +197,39 @@ } }, "node_modules/@automattic/eslint-plugin-wpvip": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@automattic/eslint-plugin-wpvip/-/eslint-plugin-wpvip-0.6.0.tgz", - "integrity": "sha512-guIg/EnkwtlmssuyC0tlyiLYHR7udlOimdxGWPvOkA+ZMTgL2hWNcK68DF5yfV8E1CKKOY8A5T5gjtMid42FnQ==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@automattic/eslint-plugin-wpvip/-/eslint-plugin-wpvip-0.8.0.tgz", + "integrity": "sha512-yRqS4BTFJ1/U9lpQoUFnJwQsu9OvKcZB0/iiR0jiSmM/eeI3jtkpJLG2wYdwESUjsI5/AeApzFFVLRfrcHaQ1A==", "dev": true, "dependencies": { - "@babel/eslint-parser": "7.22.10", - "@rushstack/eslint-patch": "1.3.3", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", + "@babel/eslint-parser": "7.22.15", + "@rushstack/eslint-patch": "1.5.1", + "@typescript-eslint/eslint-plugin": "6.9.1", + "@typescript-eslint/parser": "6.9.1", "eslint-config-prettier": "8.7.0", - "eslint-import-resolver-typescript": "3.5.3", - "eslint-plugin-import": "2.28.1", - "eslint-plugin-jest": "27.2.3", - "eslint-plugin-jsdoc": "40.0.2", + "eslint-import-resolver-typescript": "3.6.1", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-jest": "27.6.0", + "eslint-plugin-jsdoc": "46.8.2", "eslint-plugin-json": "3.1.0", "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-prettier": "4.2.1", "eslint-plugin-promise": "6.1.1", - "eslint-plugin-react": "7.32.2", + "eslint-plugin-react": "7.33.2", "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-security": "1.7.1", "eslint-plugin-unused-imports": "3.0.0", "find-package-json": "1.2.0", - "globals": "13.20.0" + "globals": "13.23.0" }, "peerDependencies": { "eslint": ">=8" } }, "node_modules/@automattic/eslint-plugin-wpvip/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -567,9 +567,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", - "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", "dev": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -2360,17 +2360,17 @@ "dev": true }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.36.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz", - "integrity": "sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg==", + "version": "0.40.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", + "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", "dev": true, "dependencies": { - "comment-parser": "1.3.1", - "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "~3.1.0" + "comment-parser": "1.4.0", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19" + "node": ">=16" } }, "node_modules/@eslint-community/eslint-utils": { @@ -2448,9 +2448,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2465,12 +2465,12 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -2492,9 +2492,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "node_modules/@isaacs/cliui": { @@ -3239,76 +3239,6 @@ "node": ">=14" } }, - "node_modules/@pkgr/utils": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", - "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "is-glob": "^4.0.3", - "open": "^8.4.0", - "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@pkgr/utils/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgr/utils/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@pkgr/utils/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@pkgr/utils/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@pkgr/utils/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, "node_modules/@postman/node-keytar": { "version": "7.9.3", "resolved": "https://registry.npmjs.org/@postman/node-keytar/-/node-keytar-7.9.3.tgz", @@ -3321,9 +3251,9 @@ } }, "node_modules/@rushstack/eslint-patch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", - "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", + "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", "dev": true }, "node_modules/@sinclair/typebox": { @@ -3508,9 +3438,9 @@ "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", "dev": true }, "node_modules/@types/json2csv": { @@ -3814,16 +3744,16 @@ "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz", - "integrity": "sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz", + "integrity": "sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/type-utils": "6.7.2", - "@typescript-eslint/utils": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/type-utils": "6.9.1", + "@typescript-eslint/utils": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -3849,15 +3779,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.2.tgz", - "integrity": "sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.1.tgz", + "integrity": "sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/typescript-estree": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4" }, "engines": { @@ -3877,13 +3807,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz", - "integrity": "sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz", + "integrity": "sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2" + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3894,13 +3824,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz", - "integrity": "sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz", + "integrity": "sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.2", - "@typescript-eslint/utils": "6.7.2", + "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/utils": "6.9.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -3921,9 +3851,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.2.tgz", - "integrity": "sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.1.tgz", + "integrity": "sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3934,13 +3864,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz", - "integrity": "sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz", + "integrity": "sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3961,17 +3891,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.2.tgz", - "integrity": "sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.1.tgz", + "integrity": "sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/typescript-estree": "6.7.2", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/typescript-estree": "6.9.1", "semver": "^7.5.4" }, "engines": { @@ -3986,12 +3916,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", - "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz", + "integrity": "sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/types": "6.9.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -4007,6 +3937,12 @@ "resolved": "https://registry.npmjs.org/@ungap/global-this/-/global-this-0.4.4.tgz", "integrity": "sha512-mHkm6FvepJECMNthFuIgpAEFmPOk71UyXuIxYfjytvFTnSDBIz7jmViO+LfHI/AjrazWije0PnSP3+/NlwzqtA==" }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/@wry/context": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.5.4.tgz", @@ -4173,6 +4109,15 @@ "node": ">= 8" } }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -4236,15 +4181,15 @@ } }, "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" }, "engines": { @@ -4283,14 +4228,14 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -4301,14 +4246,14 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -4319,16 +4264,16 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" } }, "node_modules/arraybuffer.prototype.slice": { @@ -4371,6 +4316,15 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4791,6 +4745,18 @@ "node": ">=10.0.0" } }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", @@ -5433,9 +5399,9 @@ } }, "node_modules/comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", + "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -5722,21 +5688,27 @@ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -5924,9 +5896,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", - "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -6049,6 +6021,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, "node_modules/es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -6114,18 +6108,19 @@ } }, "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -6180,14 +6175,14 @@ } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -6200,18 +6195,18 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.3.tgz", - "integrity": "sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", "dev": true, "dependencies": { "debug": "^4.3.4", - "enhanced-resolve": "^5.10.0", - "get-tsconfig": "^4.2.0", - "globby": "^13.1.2", - "is-core-module": "^2.10.0", - "is-glob": "^4.0.3", - "synckit": "^0.8.4" + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -6224,37 +6219,6 @@ "eslint-plugin-import": "*" } }, - "node_modules/eslint-import-resolver-typescript/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-import-resolver-typescript/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-module-utils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", @@ -6282,26 +6246,26 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", + "eslint-import-resolver-node": "^0.3.9", "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.13.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", "semver": "^6.3.1", "tsconfig-paths": "^3.14.2" }, @@ -6343,9 +6307,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.3.tgz", - "integrity": "sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==", + "version": "27.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz", + "integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==", "dev": true, "dependencies": { "@typescript-eslint/utils": "^5.10.0" @@ -6468,21 +6432,23 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "40.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.0.2.tgz", - "integrity": "sha512-EjcpQX64+d02kKMlBZbTc7xIkCOa0A9TF2AlB/3NlM7Xl8bywwvJ5Wo7ickEn/EzfauMbZcCCKSZItAH+6Xakg==", + "version": "46.8.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz", + "integrity": "sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.36.1", - "comment-parser": "1.3.1", + "@es-joy/jsdoccomment": "~0.40.1", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.0", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", - "esquery": "^1.4.0", - "semver": "^7.3.8", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.4", "spdx-expression-parse": "^3.0.1" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19" + "node": ">=16" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0" @@ -6592,15 +6558,16 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "dev": true, "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", "array.prototype.tosorted": "^1.1.1", "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", @@ -6610,7 +6577,7 @@ "object.values": "^1.1.6", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.4", - "semver": "^6.3.0", + "semver": "^6.3.1", "string.prototype.matchall": "^4.0.8" }, "engines": { @@ -6644,22 +6611,13 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -6740,6 +6698,15 @@ "node": ">=8.0.0" } }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", @@ -6803,15 +6770,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -6984,15 +6942,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -7005,7 +6954,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -7014,15 +6963,6 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -7117,9 +7057,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -7448,9 +7388,12 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.5", @@ -7548,10 +7491,13 @@ } }, "node_modules/get-tsconfig": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.5.0.tgz", - "integrity": "sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, "funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } @@ -7655,12 +7601,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true - }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -7690,12 +7630,6 @@ "node": ">=8" } }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -7782,6 +7716,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -7876,6 +7811,17 @@ "node": ">=8" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -8258,6 +8204,21 @@ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -8299,10 +8260,25 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "engines": { "node": ">= 0.4" @@ -8323,11 +8299,11 @@ } }, "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8348,21 +8324,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -8372,6 +8333,18 @@ "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -8392,6 +8365,21 @@ "node": ">=6" } }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -8764,6 +8752,19 @@ "node": ">=8" } }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, "node_modules/jackspeak": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", @@ -9689,9 +9690,9 @@ } }, "node_modules/jsdoc-type-pratt-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz", - "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", "dev": true, "engines": { "node": ">=12.0.0" @@ -10597,14 +10598,14 @@ } }, "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -10626,27 +10627,27 @@ } }, "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", "dev": true, "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -10674,35 +10675,6 @@ "node": ">=4" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/opn": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", @@ -11281,6 +11253,26 @@ "node": ">=6" } }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -11450,6 +11442,15 @@ "node": ">=8" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", @@ -11691,6 +11692,20 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -11920,9 +11935,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true }, "node_modules/split-ca": { @@ -12108,18 +12123,19 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", "side-channel": "^1.0.4" }, "funding": { @@ -12267,28 +12283,6 @@ "node": ">=0.10" } }, - "node_modules/synckit": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", - "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", - "dev": true, - "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/synckit/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, "node_modules/table-layout": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", @@ -12434,16 +12428,6 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, - "node_modules/tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", - "dev": true, - "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" - } - }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -13004,6 +12988,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-collection": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", @@ -13576,36 +13586,36 @@ } }, "@automattic/eslint-plugin-wpvip": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@automattic/eslint-plugin-wpvip/-/eslint-plugin-wpvip-0.6.0.tgz", - "integrity": "sha512-guIg/EnkwtlmssuyC0tlyiLYHR7udlOimdxGWPvOkA+ZMTgL2hWNcK68DF5yfV8E1CKKOY8A5T5gjtMid42FnQ==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@automattic/eslint-plugin-wpvip/-/eslint-plugin-wpvip-0.8.0.tgz", + "integrity": "sha512-yRqS4BTFJ1/U9lpQoUFnJwQsu9OvKcZB0/iiR0jiSmM/eeI3jtkpJLG2wYdwESUjsI5/AeApzFFVLRfrcHaQ1A==", "dev": true, "requires": { - "@babel/eslint-parser": "7.22.10", - "@rushstack/eslint-patch": "1.3.3", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", + "@babel/eslint-parser": "7.22.15", + "@rushstack/eslint-patch": "1.5.1", + "@typescript-eslint/eslint-plugin": "6.9.1", + "@typescript-eslint/parser": "6.9.1", "eslint-config-prettier": "8.7.0", - "eslint-import-resolver-typescript": "3.5.3", - "eslint-plugin-import": "2.28.1", - "eslint-plugin-jest": "27.2.3", - "eslint-plugin-jsdoc": "40.0.2", + "eslint-import-resolver-typescript": "3.6.1", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-jest": "27.6.0", + "eslint-plugin-jsdoc": "46.8.2", "eslint-plugin-json": "3.1.0", "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-prettier": "4.2.1", "eslint-plugin-promise": "6.1.1", - "eslint-plugin-react": "7.32.2", + "eslint-plugin-react": "7.33.2", "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-security": "1.7.1", "eslint-plugin-unused-imports": "3.0.0", "find-package-json": "1.2.0", - "globals": "13.20.0" + "globals": "13.23.0" }, "dependencies": { "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -13843,9 +13853,9 @@ } }, "@babel/eslint-parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", - "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", "dev": true, "requires": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -15091,14 +15101,14 @@ "dev": true }, "@es-joy/jsdoccomment": { - "version": "0.36.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz", - "integrity": "sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg==", + "version": "0.40.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", + "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", "dev": true, "requires": { - "comment-parser": "1.3.1", - "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "~3.1.0" + "comment-parser": "1.4.0", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" } }, "@eslint-community/eslint-utils": { @@ -15151,9 +15161,9 @@ } }, "@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", "dev": true }, "@graphql-typed-document-node/core": { @@ -15163,12 +15173,12 @@ "requires": {} }, "@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" } @@ -15180,9 +15190,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "@isaacs/cliui": { @@ -15754,60 +15764,6 @@ "dev": true, "optional": true }, - "@pkgr/utils": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", - "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "is-glob": "^4.0.3", - "open": "^8.4.0", - "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - } - } - }, "@postman/node-keytar": { "version": "7.9.3", "resolved": "https://registry.npmjs.org/@postman/node-keytar/-/node-keytar-7.9.3.tgz", @@ -15819,9 +15775,9 @@ } }, "@rushstack/eslint-patch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", - "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", + "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", "dev": true }, "@sinclair/typebox": { @@ -16000,9 +15956,9 @@ "dev": true }, "@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", "dev": true }, "@types/json2csv": { @@ -16268,16 +16224,16 @@ "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==" }, "@typescript-eslint/eslint-plugin": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz", - "integrity": "sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz", + "integrity": "sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/type-utils": "6.7.2", - "@typescript-eslint/utils": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/type-utils": "6.9.1", + "@typescript-eslint/utils": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -16287,54 +16243,54 @@ } }, "@typescript-eslint/parser": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.2.tgz", - "integrity": "sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.1.tgz", + "integrity": "sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/typescript-estree": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz", - "integrity": "sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz", + "integrity": "sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==", "dev": true, "requires": { - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2" + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1" } }, "@typescript-eslint/type-utils": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz", - "integrity": "sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz", + "integrity": "sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "6.7.2", - "@typescript-eslint/utils": "6.7.2", + "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/utils": "6.9.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/types": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.2.tgz", - "integrity": "sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.1.tgz", + "integrity": "sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz", - "integrity": "sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz", + "integrity": "sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==", "dev": true, "requires": { - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -16343,27 +16299,27 @@ } }, "@typescript-eslint/utils": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.2.tgz", - "integrity": "sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.1.tgz", + "integrity": "sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/typescript-estree": "6.7.2", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/typescript-estree": "6.9.1", "semver": "^7.5.4" } }, "@typescript-eslint/visitor-keys": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", - "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz", + "integrity": "sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==", "dev": true, "requires": { - "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/types": "6.9.1", "eslint-visitor-keys": "^3.4.1" } }, @@ -16372,6 +16328,12 @@ "resolved": "https://registry.npmjs.org/@ungap/global-this/-/global-this-0.4.4.tgz", "integrity": "sha512-mHkm6FvepJECMNthFuIgpAEFmPOk71UyXuIxYfjytvFTnSDBIz7jmViO+LfHI/AjrazWije0PnSP3+/NlwzqtA==" }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "@wry/context": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.5.4.tgz", @@ -16492,6 +16454,12 @@ "picomatch": "^2.0.4" } }, + "are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -16545,15 +16513,15 @@ } }, "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" } }, @@ -16577,40 +16545,40 @@ } }, "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" } }, "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" } }, "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" } }, "arraybuffer.prototype.slice": { @@ -16647,6 +16615,15 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, + "asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -16947,6 +16924,12 @@ "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "optional": true }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, "cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", @@ -17417,9 +17400,9 @@ "dev": true }, "comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", + "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", "dev": true }, "component-bind": { @@ -17633,18 +17616,24 @@ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } }, "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "requires": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } @@ -17784,9 +17773,9 @@ "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==" }, "enhanced-resolve": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", - "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -17890,6 +17879,28 @@ "stop-iteration-iterator": "^1.0.0" } }, + "es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "requires": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, "es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -17937,18 +17948,19 @@ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -18014,12 +18026,6 @@ "estraverse": "^5.2.0" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -18115,14 +18121,14 @@ "requires": {} }, "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "requires": { "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" }, "dependencies": { "debug": { @@ -18137,39 +18143,18 @@ } }, "eslint-import-resolver-typescript": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.3.tgz", - "integrity": "sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", "dev": true, "requires": { "debug": "^4.3.4", - "enhanced-resolve": "^5.10.0", - "get-tsconfig": "^4.2.0", - "globby": "^13.1.2", - "is-core-module": "^2.10.0", - "is-glob": "^4.0.3", - "synckit": "^0.8.4" - }, - "dependencies": { - "globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" } }, "eslint-module-utils": { @@ -18193,26 +18178,26 @@ } }, "eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", "dev": true, "requires": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", + "eslint-import-resolver-node": "^0.3.9", "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.13.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", "semver": "^6.3.1", "tsconfig-paths": "^3.14.2" }, @@ -18244,9 +18229,9 @@ } }, "eslint-plugin-jest": { - "version": "27.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.3.tgz", - "integrity": "sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==", + "version": "27.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz", + "integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==", "dev": true, "requires": { "@typescript-eslint/utils": "^5.10.0" @@ -18312,17 +18297,19 @@ } }, "eslint-plugin-jsdoc": { - "version": "40.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.0.2.tgz", - "integrity": "sha512-EjcpQX64+d02kKMlBZbTc7xIkCOa0A9TF2AlB/3NlM7Xl8bywwvJ5Wo7ickEn/EzfauMbZcCCKSZItAH+6Xakg==", + "version": "46.8.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz", + "integrity": "sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "~0.36.1", - "comment-parser": "1.3.1", + "@es-joy/jsdoccomment": "~0.40.1", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.0", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", - "esquery": "^1.4.0", - "semver": "^7.3.8", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.4", "spdx-expression-parse": "^3.0.1" }, "dependencies": { @@ -18399,15 +18386,16 @@ "requires": {} }, "eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "dev": true, "requires": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", "array.prototype.tosorted": "^1.1.1", "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", @@ -18417,7 +18405,7 @@ "object.values": "^1.1.6", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.4", - "semver": "^6.3.0", + "semver": "^6.3.1", "string.prototype.matchall": "^4.0.8" }, "dependencies": { @@ -18430,19 +18418,13 @@ "esutils": "^2.0.2" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "requires": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -18505,6 +18487,14 @@ "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } } }, "eslint-visitor-keys": { @@ -18537,14 +18527,6 @@ "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "esrecurse": { @@ -18554,20 +18536,12 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { @@ -18643,9 +18617,9 @@ "dev": true }, "fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -18896,9 +18870,9 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "function.prototype.name": { "version": "1.1.5", @@ -18966,10 +18940,13 @@ } }, "get-tsconfig": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.5.0.tgz", - "integrity": "sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==", - "dev": true + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dev": true, + "requires": { + "resolve-pkg-maps": "^1.0.0" + } }, "github-api": { "version": "3.4.0", @@ -19048,12 +19025,6 @@ "define-properties": "^1.1.3" } }, - "globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true - }, "globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -19076,12 +19047,6 @@ } } }, - "globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -19154,6 +19119,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -19212,6 +19178,14 @@ "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, "hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -19485,6 +19459,15 @@ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -19514,6 +19497,15 @@ "has-tostringtag": "^1.0.0" } }, + "is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "requires": { + "builtin-modules": "^3.3.0" + } + }, "is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -19529,11 +19521,11 @@ } }, "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "requires": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "is-date-object": { @@ -19545,18 +19537,21 @@ "has-tostringtag": "^1.0.0" } }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -19571,6 +19566,15 @@ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -19833,6 +19837,19 @@ "istanbul-lib-report": "^3.0.0" } }, + "iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "requires": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, "jackspeak": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", @@ -20510,9 +20527,9 @@ } }, "jsdoc-type-pratt-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz", - "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", "dev": true }, "jsesc": { @@ -21225,14 +21242,14 @@ } }, "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.groupby": { @@ -21248,24 +21265,24 @@ } }, "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", "dev": true, "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "once": { @@ -21284,28 +21301,6 @@ "mimic-fn": "^1.0.0" } }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "dependencies": { - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - } - } - }, "opn": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", @@ -21714,6 +21709,20 @@ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==" }, + "reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -21843,6 +21852,12 @@ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, + "resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true + }, "resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", @@ -22009,6 +22024,17 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -22171,9 +22197,9 @@ } }, "spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true }, "split-ca": { @@ -22319,18 +22345,19 @@ } }, "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", "side-channel": "^1.0.4" } }, @@ -22431,24 +22458,6 @@ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz", "integrity": "sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==" }, - "synckit": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", - "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", - "dev": true, - "requires": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - } - } - }, "table-layout": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", @@ -22559,16 +22568,6 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, - "tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", - "dev": true, - "requires": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" - } - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -22986,6 +22985,26 @@ "is-symbol": "^1.0.3" } }, + "which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "requires": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, "which-collection": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", diff --git a/package.json b/package.json index 26d625a57..554ff8a12 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ }, "homepage": "https://github.com/Automattic/vip#readme", "devDependencies": { - "@automattic/eslint-plugin-wpvip": "0.6.0", + "@automattic/eslint-plugin-wpvip": "0.8.0", "@babel/cli": "7.23.0", "@babel/core": "7.23.2", "@babel/preset-env": "7.23.2", diff --git a/src/bin/vip-app-list.js b/src/bin/vip-app-list.js index 4e5dca3ff..be1f900fb 100755 --- a/src/bin/vip-app-list.js +++ b/src/bin/vip-app-list.js @@ -1,15 +1,9 @@ #!/usr/bin/env node -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import command from '../lib/cli/command'; import API from '../lib/api'; +import command from '../lib/cli/command'; import { trackEvent } from '../lib/tracker'; command( { format: true } ).argv( process.argv, async () => { diff --git a/src/bin/vip-app.js b/src/bin/vip-app.js index 860d2b120..dd1003468 100755 --- a/src/bin/vip-app.js +++ b/src/bin/vip-app.js @@ -1,15 +1,9 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; -/** - * Internal dependencies - */ -import command, { getEnvIdentifier } from '../lib/cli/command'; import app from '../lib/api/app'; +import command, { getEnvIdentifier } from '../lib/cli/command'; import { trackEvent } from '../lib/tracker'; command( { requiredArgs: 1, format: true } ) diff --git a/src/bin/vip-backup-db.ts b/src/bin/vip-backup-db.ts index bade06596..d49668d1f 100755 --- a/src/bin/vip-backup-db.ts +++ b/src/bin/vip-backup-db.ts @@ -1,17 +1,9 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ +import { BackupDBCommand } from '../commands/backup-db'; +import { App, AppEnvironment } from '../graphqlTypes'; import command from '../lib/cli/command'; - import { makeCommandTracker } from '../lib/tracker'; -import { App, AppEnvironment } from '../graphqlTypes'; -import { BackupDBCommand } from '../commands/backup-db'; const examples = [ { diff --git a/src/bin/vip-backup.ts b/src/bin/vip-backup.ts index 6678e98c2..9dead51d3 100755 --- a/src/bin/vip-backup.ts +++ b/src/bin/vip-backup.ts @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { trackEvent } from '../lib/tracker'; diff --git a/src/bin/vip-cache-purge-url.js b/src/bin/vip-cache-purge-url.js index 55672514d..d47d08517 100755 --- a/src/bin/vip-cache-purge-url.js +++ b/src/bin/vip-cache-purge-url.js @@ -1,17 +1,10 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { appQuery, purgeCache } from '../lib/api/cache-purge'; import command from '../lib/cli/command'; -import { trackEvent } from '../lib/tracker'; -import { readFromFile } from '../lib/read-file'; import * as exit from '../lib/cli/exit'; +import { readFromFile } from '../lib/read-file'; +import { trackEvent } from '../lib/tracker'; const examples = [ { @@ -29,7 +22,7 @@ export async function cachePurgeCommand( urls = [], opt = {} ) { app_id: opt.app.id, command: 'vip cache purge-url', env_id: opt.env.id, - from_file: !! opt.fromFile, + from_file: Boolean( opt.fromFile ), }; await trackEvent( 'cache_purge_url_command_execute', trackingParams ); diff --git a/src/bin/vip-cache.js b/src/bin/vip-cache.js index c96278665..3379ef733 100755 --- a/src/bin/vip-cache.js +++ b/src/bin/vip-cache.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; command( { diff --git a/src/bin/vip-config-envvar-delete.js b/src/bin/vip-config-envvar-delete.js index 31cae127a..e02e6f526 100755 --- a/src/bin/vip-config-envvar-delete.js +++ b/src/bin/vip-config-envvar-delete.js @@ -1,13 +1,7 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { appQuery, deleteEnvVar, validateNameWithMessage } from '../lib/envvar/api'; import { cancel, confirm, promptForValue } from '../lib/envvar/input'; @@ -38,7 +32,7 @@ export async function deleteEnvVarCommand( arg, opt ) { command: `${ baseUsage } ${ name }`, env_id: opt.env.id, org_id: opt.app.organization.id, - skip_confirm: !! opt.skipConfirmation, + skip_confirm: Boolean( opt.skipConfirmation ), variable_name: name, }; diff --git a/src/bin/vip-config-envvar-get-all.js b/src/bin/vip-config-envvar-get-all.js index eb45a99cf..401bd0828 100755 --- a/src/bin/vip-config-envvar-get-all.js +++ b/src/bin/vip-config-envvar-get-all.js @@ -1,13 +1,7 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { formatData } from '../lib/cli/format'; import { appQuery, getEnvVars } from '../lib/envvar/api'; diff --git a/src/bin/vip-config-envvar-get.js b/src/bin/vip-config-envvar-get.js index 9c64793d8..d6293bc0f 100755 --- a/src/bin/vip-config-envvar-get.js +++ b/src/bin/vip-config-envvar-get.js @@ -1,13 +1,7 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { appQuery, getEnvVar } from '../lib/envvar/api'; import { debug, getEnvContext } from '../lib/envvar/logging'; diff --git a/src/bin/vip-config-envvar-list.js b/src/bin/vip-config-envvar-list.js index dc0090998..0d68584a6 100755 --- a/src/bin/vip-config-envvar-list.js +++ b/src/bin/vip-config-envvar-list.js @@ -1,13 +1,7 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { formatData } from '../lib/cli/format'; import { appQuery, listEnvVars } from '../lib/envvar/api'; diff --git a/src/bin/vip-config-envvar-set.js b/src/bin/vip-config-envvar-set.js index 9c23f1c7e..e44d78197 100755 --- a/src/bin/vip-config-envvar-set.js +++ b/src/bin/vip-config-envvar-set.js @@ -1,13 +1,7 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { appQuery, setEnvVar, validateNameWithMessage } from '../lib/envvar/api'; import { cancel, confirm, promptForValue } from '../lib/envvar/input'; @@ -35,9 +29,9 @@ export async function setEnvVarCommand( arg, opt ) { app_id: opt.app.id, command: `${ baseUsage } ${ name }`, env_id: opt.env.id, - from_file: !! opt.fromFile, + from_file: Boolean( opt.fromFile ), org_id: opt.app.organization.id, - skip_confirm: !! opt.skipConfirmation, + skip_confirm: Boolean( opt.skipConfirmation ), variable_name: name, }; diff --git a/src/bin/vip-config-envvar.js b/src/bin/vip-config-envvar.js index 52f320328..e1eb56876 100755 --- a/src/bin/vip-config-envvar.js +++ b/src/bin/vip-config-envvar.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; command( { diff --git a/src/bin/vip-config-software-get.js b/src/bin/vip-config-software-get.js index 10a36bf5b..6118eef4e 100755 --- a/src/bin/vip-config-software-get.js +++ b/src/bin/vip-config-software-get.js @@ -1,16 +1,9 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; import { formatData } from '../lib/cli/format'; import { appQuery, appQueryFragments, formatSoftwareSettings } from '../lib/config/software'; +import { trackEvent } from '../lib/tracker'; import UserError from '../lib/user-error'; // Command examples @@ -89,7 +82,7 @@ command( { } const preFormatted = chosenSettings - .filter( softwareSetting => !! softwareSetting ) + .filter( softwareSetting => Boolean( softwareSetting ) ) .map( softwareSetting => formatSoftwareSettings( softwareSetting, include, opt.format ) ); console.log( formatData( preFormatted, opt.format ) ); diff --git a/src/bin/vip-config-software-update.js b/src/bin/vip-config-software-update.js index 188433dc9..c72decda2 100755 --- a/src/bin/vip-config-software-update.js +++ b/src/bin/vip-config-software-update.js @@ -1,15 +1,10 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; import debugLib from 'debug'; -/** - * Internal dependencies - */ import command from '../lib/cli/command'; +import { ProgressTracker } from '../lib/cli/progress'; import { appQuery, appQueryFragments, @@ -17,9 +12,8 @@ import { promptForUpdate, triggerUpdate, } from '../lib/config/software'; -import { ProgressTracker } from '../lib/cli/progress'; -import UserError from '../lib/user-error'; import { trackEvent } from '../lib/tracker'; +import UserError from '../lib/user-error'; const debug = debugLib( '@automattic/vip:bin:config-software' ); @@ -64,7 +58,7 @@ cmd.argv( process.argv, async ( arg, opt ) => { /** @type {UpdatePromptOptions} */ const updateOptions = { - force: !! opt.yes, + force: Boolean( opt.yes ), }; if ( arg.length > 0 ) { diff --git a/src/bin/vip-config-software.js b/src/bin/vip-config-software.js index 2e71ca427..14bd257ec 100755 --- a/src/bin/vip-config-software.js +++ b/src/bin/vip-config-software.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; command( { diff --git a/src/bin/vip-config.js b/src/bin/vip-config.js index 209bebc7a..9b9199220 100755 --- a/src/bin/vip-config.js +++ b/src/bin/vip-config.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; command( { diff --git a/src/bin/vip-dev-env-create.js b/src/bin/vip-dev-env-create.js index 867581ed6..772b3fd93 100755 --- a/src/bin/vip-dev-env-create.js +++ b/src/bin/vip-dev-env-create.js @@ -1,24 +1,14 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import debugLib from 'debug'; import chalk from 'chalk'; +import debugLib from 'debug'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; import * as exit from '../lib/cli/exit'; import { - createEnvironment, - printEnvironmentInfo, - getApplicationInformation, - doesEnvironmentExist, - getEnvironmentPath, -} from '../lib/dev-environment/dev-environment-core'; + DEV_ENVIRONMENT_FULL_COMMAND, + DEV_ENVIRONMENT_SUBCOMMAND, +} from '../lib/constants/dev-environment'; import { DEFAULT_SLUG, getEnvironmentName, @@ -31,16 +21,20 @@ import { processStringOrBooleanOption, handleDeprecatedOptions, } from '../lib/dev-environment/dev-environment-cli'; -import { - DEV_ENVIRONMENT_FULL_COMMAND, - DEV_ENVIRONMENT_SUBCOMMAND, -} from '../lib/constants/dev-environment'; import { getConfigurationFileOptions, printConfigurationFile, mergeConfigurationFileOptions, } from '../lib/dev-environment/dev-environment-configuration-file'; +import { + createEnvironment, + printEnvironmentInfo, + getApplicationInformation, + doesEnvironmentExist, + getEnvironmentPath, +} from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); diff --git a/src/bin/vip-dev-env-destroy.js b/src/bin/vip-dev-env-destroy.js index d5887e95d..9a97c3789 100755 --- a/src/bin/vip-dev-env-destroy.js +++ b/src/bin/vip-dev-env-destroy.js @@ -1,17 +1,9 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import debugLib from 'debug'; import chalk from 'chalk'; +import debugLib from 'debug'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; -import { destroyEnvironment } from '../lib/dev-environment/dev-environment-core'; import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvTrackingInfo, @@ -19,7 +11,9 @@ import { handleCLIException, validateDependencies, } from '../lib/dev-environment/dev-environment-cli'; +import { destroyEnvironment } from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); diff --git a/src/bin/vip-dev-env-exec.js b/src/bin/vip-dev-env-exec.js index 5393e80bb..120be16c6 100755 --- a/src/bin/vip-dev-env-exec.js +++ b/src/bin/vip-dev-env-exec.js @@ -1,10 +1,7 @@ #!/usr/bin/env node -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; +import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvTrackingInfo, getEnvironmentName, @@ -13,8 +10,8 @@ import { validateDependencies, } from '../lib/dev-environment/dev-environment-cli'; import { exec, getEnvironmentPath } from '../lib/dev-environment/dev-environment-core'; -import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { bootstrapLando, isEnvUp } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; import UserError from '../lib/user-error'; const examples = [ diff --git a/src/bin/vip-dev-env-import-media.js b/src/bin/vip-dev-env-import-media.js index bbe0b8fbc..e06d19424 100755 --- a/src/bin/vip-dev-env-import-media.js +++ b/src/bin/vip-dev-env-import-media.js @@ -1,21 +1,14 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; +import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvironmentName, getEnvTrackingInfo, handleCLIException, } from '../lib/dev-environment/dev-environment-cli'; import { importMediaPath } from '../lib/dev-environment/dev-environment-core'; -import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; +import { trackEvent } from '../lib/tracker'; const examples = [ { diff --git a/src/bin/vip-dev-env-import-sql.js b/src/bin/vip-dev-env-import-sql.js index baf444412..84b1c120e 100755 --- a/src/bin/vip-dev-env-import-sql.js +++ b/src/bin/vip-dev-env-import-sql.js @@ -1,21 +1,14 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; +import { DevEnvImportSQLCommand } from '../commands/dev-env-import-sql'; import command from '../lib/cli/command'; +import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvTrackingInfo, handleCLIException, getEnvironmentName, } from '../lib/dev-environment/dev-environment-cli'; -import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; -import { DevEnvImportSQLCommand } from '../commands/dev-env-import-sql'; +import { trackEvent } from '../lib/tracker'; const examples = [ { diff --git a/src/bin/vip-dev-env-import.js b/src/bin/vip-dev-env-import.js index 2de3abc26..bb1c63ac8 100755 --- a/src/bin/vip-dev-env-import.js +++ b/src/bin/vip-dev-env-import.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; diff --git a/src/bin/vip-dev-env-info.js b/src/bin/vip-dev-env-info.js index d201c7381..685830784 100755 --- a/src/bin/vip-dev-env-info.js +++ b/src/bin/vip-dev-env-info.js @@ -1,27 +1,21 @@ #!/usr/bin/env node -/** - * External dependencies - */ import debugLib from 'debug'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; -import { - printEnvironmentInfo, - printAllEnvironmentsInfo, -} from '../lib/dev-environment/dev-environment-core'; +import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvTrackingInfo, getEnvironmentName, handleCLIException, validateDependencies, } from '../lib/dev-environment/dev-environment-cli'; -import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; +import { + printEnvironmentInfo, + printAllEnvironmentsInfo, +} from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); @@ -54,7 +48,7 @@ command() try { const options = { - extended: !! opt.extended, + extended: Boolean( opt.extended ), suppressWarnings: true, }; if ( opt.all ) { diff --git a/src/bin/vip-dev-env-list.js b/src/bin/vip-dev-env-list.js index f02a23b61..b6c590947 100755 --- a/src/bin/vip-dev-env-list.js +++ b/src/bin/vip-dev-env-list.js @@ -1,21 +1,14 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; -import { printAllEnvironmentsInfo } from '../lib/dev-environment/dev-environment-core'; +import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { handleCLIException, validateDependencies, } from '../lib/dev-environment/dev-environment-cli'; -import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; +import { printAllEnvironmentsInfo } from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; const examples = [ { diff --git a/src/bin/vip-dev-env-logs.js b/src/bin/vip-dev-env-logs.js index 8931f5b05..9ccb04f4d 100755 --- a/src/bin/vip-dev-env-logs.js +++ b/src/bin/vip-dev-env-logs.js @@ -1,24 +1,18 @@ #!/usr/bin/env node -/** - * External dependencies - */ import debugLib from 'debug'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; -import { showLogs } from '../lib/dev-environment/dev-environment-core'; +import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvTrackingInfo, getEnvironmentName, handleCLIException, validateDependencies, } from '../lib/dev-environment/dev-environment-cli'; -import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; +import { showLogs } from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); diff --git a/src/bin/vip-dev-env-shell.js b/src/bin/vip-dev-env-shell.js index 4f90ac2ba..e2832a90c 100755 --- a/src/bin/vip-dev-env-shell.js +++ b/src/bin/vip-dev-env-shell.js @@ -1,16 +1,8 @@ #!/usr/bin/env node -/** - * External dependencies - */ import debugLib from 'debug'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; -import { getEnvironmentPath } from '../lib/dev-environment/dev-environment-core'; import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvTrackingInfo, @@ -18,7 +10,9 @@ import { getEnvironmentName, handleCLIException, } from '../lib/dev-environment/dev-environment-cli'; +import { getEnvironmentPath } from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando, landoShell } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); @@ -91,7 +85,7 @@ command( { wildcardCommand: true } ) debug( 'Args: ', args, 'Options: ', opt ); - const isRoot = !! opt.root; + const isRoot = Boolean( opt.root ); const service = opt.service || 'php'; const user = isRoot ? 'root' : userMap[ service ] || 'www-data'; const cmd = getCommand( args ); diff --git a/src/bin/vip-dev-env-start.js b/src/bin/vip-dev-env-start.js index 65945d937..4fb9a4052 100755 --- a/src/bin/vip-dev-env-start.js +++ b/src/bin/vip-dev-env-start.js @@ -1,16 +1,8 @@ #!/usr/bin/env node -/** - * External dependencies - */ import debugLib from 'debug'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; -import { startEnvironment } from '../lib/dev-environment/dev-environment-core'; import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvTrackingInfo, @@ -19,7 +11,9 @@ import { handleCLIException, postStart, } from '../lib/dev-environment/dev-environment-cli'; +import { startEnvironment } from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); @@ -52,14 +46,14 @@ command() const startProcessing = new Date(); const trackingInfo = getEnvTrackingInfo( slug ); - trackingInfo.vscode = !! opt.vscode; + trackingInfo.vscode = Boolean( opt.vscode ); await trackEvent( 'dev_env_start_command_execute', trackingInfo ); debug( 'Args: ', arg, 'Options: ', opt ); const options = { - skipRebuild: !! opt.skipRebuild, - skipWpVersionsCheck: !! opt.skipWpVersionsCheck, + skipRebuild: Boolean( opt.skipRebuild ), + skipWpVersionsCheck: Boolean( opt.skipWpVersionsCheck ), }; try { await startEnvironment( lando, slug, options ); @@ -72,5 +66,5 @@ command() process.exitCode = 1; } - postStart( slug, { openVSCode: !! opt.vscode } ); + postStart( slug, { openVSCode: Boolean( opt.vscode ) } ); } ); diff --git a/src/bin/vip-dev-env-stop.js b/src/bin/vip-dev-env-stop.js index 4df2b48d0..587e60909 100755 --- a/src/bin/vip-dev-env-stop.js +++ b/src/bin/vip-dev-env-stop.js @@ -1,25 +1,19 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import debugLib from 'debug'; import chalk from 'chalk'; +import debugLib from 'debug'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; -import { stopEnvironment } from '../lib/dev-environment/dev-environment-core'; +import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; import { getEnvTrackingInfo, getEnvironmentName, handleCLIException, validateDependencies, } from '../lib/dev-environment/dev-environment-cli'; -import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; +import { stopEnvironment } from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando } from '../lib/dev-environment/dev-environment-lando'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); diff --git a/src/bin/vip-dev-env-sync-sql.js b/src/bin/vip-dev-env-sync-sql.js index bbcefc581..6e00a674d 100755 --- a/src/bin/vip-dev-env-sync-sql.js +++ b/src/bin/vip-dev-env-sync-sql.js @@ -1,23 +1,16 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -import command from '../lib/cli/command'; -import { getEnvironmentPath } from '../lib/dev-environment/dev-environment-core'; -import { bootstrapLando, isEnvUp } from '../lib/dev-environment/dev-environment-lando'; -import UserError from '../lib/user-error'; import { DevEnvSyncSQLCommand } from '../commands/dev-env-sync-sql'; +import command from '../lib/cli/command'; import { DEV_ENVIRONMENT_FULL_COMMAND } from '../lib/constants/dev-environment'; -import { makeCommandTracker } from '../lib/tracker'; import { getEnvironmentName, processBooleanOption, } from '../lib/dev-environment/dev-environment-cli'; +import { getEnvironmentPath } from '../lib/dev-environment/dev-environment-core'; +import { bootstrapLando, isEnvUp } from '../lib/dev-environment/dev-environment-lando'; +import { makeCommandTracker } from '../lib/tracker'; +import UserError from '../lib/user-error'; const examples = [ { diff --git a/src/bin/vip-dev-env-sync.js b/src/bin/vip-dev-env-sync.js index ea2498db1..4a4b6a53a 100755 --- a/src/bin/vip-dev-env-sync.js +++ b/src/bin/vip-dev-env-sync.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; command( { diff --git a/src/bin/vip-dev-env-update.js b/src/bin/vip-dev-env-update.js index 2c4ed2ffd..b60e43879 100755 --- a/src/bin/vip-dev-env-update.js +++ b/src/bin/vip-dev-env-update.js @@ -1,15 +1,8 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import debugLib from 'debug'; import chalk from 'chalk'; +import debugLib from 'debug'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; import command from '../lib/cli/command'; import { DEV_ENVIRONMENT_FULL_COMMAND, @@ -25,6 +18,10 @@ import { promptForArguments, validateDependencies, } from '../lib/dev-environment/dev-environment-cli'; +import { + getConfigurationFileOptions, + mergeConfigurationFileOptions, +} from '../lib/dev-environment/dev-environment-configuration-file'; import { doesEnvironmentExist, getEnvironmentPath, @@ -32,10 +29,7 @@ import { updateEnvironment, } from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando } from '../lib/dev-environment/dev-environment-lando'; -import { - getConfigurationFileOptions, - mergeConfigurationFileOptions, -} from '../lib/dev-environment/dev-environment-configuration-file'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); diff --git a/src/bin/vip-dev-env.js b/src/bin/vip-dev-env.js index 6a0efe8b1..32ddf75e4 100755 --- a/src/bin/vip-dev-env.js +++ b/src/bin/vip-dev-env.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; command( { diff --git a/src/bin/vip-export-sql.js b/src/bin/vip-export-sql.js index dbee6cfc9..dc008f77f 100755 --- a/src/bin/vip-export-sql.js +++ b/src/bin/vip-export-sql.js @@ -1,14 +1,7 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -import command from '../lib/cli/command'; import { ExportSQLCommand } from '../commands/export-sql'; +import command from '../lib/cli/command'; import { makeCommandTracker } from '../lib/tracker'; const examples = [ diff --git a/src/bin/vip-export.js b/src/bin/vip-export.js index dde84e0e0..0181ebe72 100755 --- a/src/bin/vip-export.js +++ b/src/bin/vip-export.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { trackEvent } from '../lib/tracker'; diff --git a/src/bin/vip-import-media-abort.js b/src/bin/vip-import-media-abort.js index af403b96b..68a31602d 100755 --- a/src/bin/vip-import-media-abort.js +++ b/src/bin/vip-import-media-abort.js @@ -1,22 +1,16 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import gql from 'graphql-tag'; import chalk from 'chalk'; +import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import { isSupportedApp } from '../lib/media-import/media-file-import'; -import command from '../lib/cli/command'; import API from '../lib/api'; +import command from '../lib/cli/command'; import * as exit from '../lib/cli/exit'; +import { isSupportedApp } from '../lib/media-import/media-file-import'; // eslint-disable-next-line no-duplicate-imports -import { trackEventWithEnv } from '../lib/tracker'; import { MediaImportProgressTracker } from '../lib/media-import/progress'; import { mediaImportCheckStatus } from '../lib/media-import/status'; +import { trackEventWithEnv } from '../lib/tracker'; const appQuery = ` id, diff --git a/src/bin/vip-import-media-status.js b/src/bin/vip-import-media-status.js index a7f2e23cf..6601e50a6 100755 --- a/src/bin/vip-import-media-status.js +++ b/src/bin/vip-import-media-status.js @@ -1,18 +1,11 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import { trackEventWithEnv } from '../lib/tracker'; +import command from '../lib/cli/command'; import * as exit from '../lib/cli/exit'; - -/** - * Internal dependencies - */ import { isSupportedApp } from '../lib/media-import/media-file-import'; -import command from '../lib/cli/command'; import { MediaImportProgressTracker } from '../lib/media-import/progress'; import { mediaImportCheckStatus } from '../lib/media-import/status'; +import { trackEventWithEnv } from '../lib/tracker'; const appQuery = ` id, diff --git a/src/bin/vip-import-media.js b/src/bin/vip-import-media.js index 84b295682..e9e9ad255 100755 --- a/src/bin/vip-import-media.js +++ b/src/bin/vip-import-media.js @@ -1,22 +1,16 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import gql from 'graphql-tag'; -import debugLib from 'debug'; import chalk from 'chalk'; +import debugLib from 'debug'; +import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import command from '../lib/cli/command'; import API from '../lib/api'; +import command from '../lib/cli/command'; // eslint-disable-next-line no-duplicate-imports -import { trackEventWithEnv } from '../lib/tracker'; import { formatEnvironment } from '../lib/cli/format'; import { MediaImportProgressTracker } from '../lib/media-import/progress'; import { mediaImportCheckStatus } from '../lib/media-import/status'; +import { trackEventWithEnv } from '../lib/tracker'; const appQuery = ` id, diff --git a/src/bin/vip-import-sql-status.js b/src/bin/vip-import-sql-status.js index 880569829..4a581fd9d 100755 --- a/src/bin/vip-import-sql-status.js +++ b/src/bin/vip-import-sql-status.js @@ -1,18 +1,11 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import { trackEventWithEnv } from '../lib/tracker'; +import command from '../lib/cli/command'; import * as exit from '../lib/cli/exit'; - -/** - * Internal dependencies - */ +import { ProgressTracker } from '../lib/cli/progress'; import { isSupportedApp } from '../lib/site-import/db-file-import'; import { importSqlCheckStatus } from '../lib/site-import/status'; -import command from '../lib/cli/command'; -import { ProgressTracker } from '../lib/cli/progress'; +import { trackEventWithEnv } from '../lib/tracker'; const appQuery = ` id, diff --git a/src/bin/vip-import-sql.js b/src/bin/vip-import-sql.js index 4d6552291..553a6c2ee 100755 --- a/src/bin/vip-import-sql.js +++ b/src/bin/vip-import-sql.js @@ -1,25 +1,16 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import gql from 'graphql-tag'; -import columns from 'cli-columns'; import chalk from 'chalk'; +import columns from 'cli-columns'; import debugLib from 'debug'; import { prompt } from 'enquirer'; +import gql from 'graphql-tag'; -/** - * Internal dependencies - */ +import API from '../lib/api'; import command from '../lib/cli/command'; -import { - currentUserCanImportForApp, - isSupportedApp, - SQL_IMPORT_FILE_SIZE_LIMIT, - SQL_IMPORT_FILE_SIZE_LIMIT_LAUNCHED, -} from '../lib/site-import/db-file-import'; -import { importSqlCheckStatus } from '../lib/site-import/status'; +import * as exit from '../lib/cli/exit'; +import { formatEnvironment, formatSearchReplaceValues, getGlyphForStatus } from '../lib/cli/format'; +import { ProgressTracker } from '../lib/cli/progress'; import { checkFileAccess, getFileSize, @@ -27,21 +18,24 @@ import { isFile, uploadImportSqlFileToS3, } from '../lib/client-file-uploader'; +import { searchAndReplace } from '../lib/search-and-replace'; +import { + currentUserCanImportForApp, + isSupportedApp, + SQL_IMPORT_FILE_SIZE_LIMIT, + SQL_IMPORT_FILE_SIZE_LIMIT_LAUNCHED, +} from '../lib/site-import/db-file-import'; +import { importSqlCheckStatus } from '../lib/site-import/status'; import { trackEventWithEnv } from '../lib/tracker'; +import { isMultiSiteInSiteMeta } from '../lib/validations/is-multi-site'; +import { fileLineValidations } from '../lib/validations/line-by-line'; +import { siteTypeValidations } from '../lib/validations/site-type'; import { staticSqlValidations, getTableNames, validateImportFileExtension, validateFilename, } from '../lib/validations/sql'; -import { siteTypeValidations } from '../lib/validations/site-type'; -import { searchAndReplace } from '../lib/search-and-replace'; -import API from '../lib/api'; -import * as exit from '../lib/cli/exit'; -import { fileLineValidations } from '../lib/validations/line-by-line'; -import { formatEnvironment, formatSearchReplaceValues, getGlyphForStatus } from '../lib/cli/format'; -import { ProgressTracker } from '../lib/cli/progress'; -import { isMultiSiteInSiteMeta } from '../lib/validations/is-multi-site'; const appQuery = ` id, @@ -158,7 +152,7 @@ export async function gates( app, env, fileMeta ) { await track( 'import_sql_command_error', { error_type: 'sqlfile-toobig', file_size: fileSize, - launched: !! env?.launched, + launched: Boolean( env?.launched ), } ); exit.withError( `The sql import file size (${ fileSize } bytes) exceeds the limit (${ maxFileSize } bytes).` + diff --git a/src/bin/vip-import-validate-files.js b/src/bin/vip-import-validate-files.js index 536b142e5..83b8b4622 100755 --- a/src/bin/vip-import-validate-files.js +++ b/src/bin/vip-import-validate-files.js @@ -1,17 +1,12 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import url from 'url'; -import path from 'path'; import chalk from 'chalk'; import fs from 'fs'; +import path from 'path'; +import url from 'url'; -/** - * Internal dependencies - */ import command from '../lib/cli/command'; +import { trackEvent } from '../lib/tracker'; import { acceptedExtensions, findNestedDirectories, @@ -23,7 +18,6 @@ import { logErrorsForInvalidFilenames, summaryLogs, } from '../lib/vip-import-validate-files'; -import { trackEvent } from '../lib/tracker'; command( { requiredArgs: 1, format: true } ) .example( 'vip import validate-files ', 'Run the import validation against the file' ) diff --git a/src/bin/vip-import-validate-sql.js b/src/bin/vip-import-validate-sql.js index c7c8a89cf..5fb13ebe3 100755 --- a/src/bin/vip-import-validate-sql.js +++ b/src/bin/vip-import-validate-sql.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import * as exit from '../lib/cli/exit'; import { validate } from '../lib/validations/sql'; diff --git a/src/bin/vip-import.js b/src/bin/vip-import.js index fa5fc07d4..568490dbb 100755 --- a/src/bin/vip-import.js +++ b/src/bin/vip-import.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { trackEvent } from '../lib/tracker'; diff --git a/src/bin/vip-logout.ts b/src/bin/vip-logout.ts index c5b2c1773..d8002f139 100755 --- a/src/bin/vip-logout.ts +++ b/src/bin/vip-logout.ts @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import logout from '../lib/logout'; diff --git a/src/bin/vip-logs.js b/src/bin/vip-logs.js index 3752dcf1c..d50dba14c 100755 --- a/src/bin/vip-logs.js +++ b/src/bin/vip-logs.js @@ -1,19 +1,13 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; import { setTimeout } from 'timers/promises'; -/** - * Internal dependencies - */ -import command from '../lib/cli/command'; -import { trackEvent } from '../lib/tracker'; import * as logsLib from '../lib/app-logs/app-logs'; +import command from '../lib/cli/command'; import * as exit from '../lib/cli/exit'; import { formatData } from '../lib/cli/format'; +import { trackEvent } from '../lib/tracker'; const LIMIT_MIN = 1; const LIMIT_MAX = 5000; diff --git a/src/bin/vip-search-replace.js b/src/bin/vip-search-replace.js index 84e9de924..484203336 100755 --- a/src/bin/vip-search-replace.js +++ b/src/bin/vip-search-replace.js @@ -1,13 +1,7 @@ #!/usr/bin/env node -/** - * External dependencies - */ import debugLib from 'debug'; -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import * as exit from '../lib/cli/exit'; import { searchAndReplace } from '../lib/search-and-replace'; diff --git a/src/bin/vip-slowlogs.ts b/src/bin/vip-slowlogs.ts index 1146aebef..ebf2ca2f0 100755 --- a/src/bin/vip-slowlogs.ts +++ b/src/bin/vip-slowlogs.ts @@ -1,19 +1,9 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; import { setTimeout } from 'timers/promises'; -/** - * Internal dependencies - */ -import command from '../lib/cli/command'; -import { trackEvent } from '../lib/tracker'; import * as slowlogsLib from '../lib/app-slowlogs/app-slowlogs'; -import * as exit from '../lib/cli/exit'; -import { formatData } from '../lib/cli/format'; import { BaseTrackingParams, DefaultOptions, @@ -22,6 +12,10 @@ import { Slowlog, SlowlogFormats, } from '../lib/app-slowlogs/types'; +import command from '../lib/cli/command'; +import * as exit from '../lib/cli/exit'; +import { formatData } from '../lib/cli/format'; +import { trackEvent } from '../lib/tracker'; const LIMIT_MIN = 1; const LIMIT_MAX = 500; diff --git a/src/bin/vip-sync.js b/src/bin/vip-sync.js index ff0446d50..fc70a2b4d 100755 --- a/src/bin/vip-sync.js +++ b/src/bin/vip-sync.js @@ -1,15 +1,9 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; import gql from 'graphql-tag'; import { stdout } from 'single-line-log'; -/** - * Internal dependencies - */ import API from '../lib/api'; import app from '../lib/api/app'; import command from '../lib/cli/command'; diff --git a/src/bin/vip-validate-preflight.js b/src/bin/vip-validate-preflight.js index e63121f8c..8c01eeb69 100755 --- a/src/bin/vip-validate-preflight.js +++ b/src/bin/vip-validate-preflight.js @@ -1,8 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ import { Harmonia, SiteConfig, @@ -11,25 +8,21 @@ import { TestResultType, IssueType, } from '@automattic/vip-go-preflight-checks'; - -import path from 'path'; -import gql from 'graphql-tag'; -import { readFileSync } from 'fs'; -import dotenv from 'ini'; import chalk from 'chalk'; import { prompt } from 'enquirer'; +import { readFileSync } from 'fs'; +import gql from 'graphql-tag'; +import dotenv from 'ini'; +import path from 'path'; -/** - * Internal dependencies - */ -import command from '../lib/cli/command'; -import { parseEnvAliasFromArgv } from '../lib/cli/envAlias'; -import * as exit from '../lib/cli/exit'; import { default as API, enableGlobalGraphQLErrorHandling, disableGlobalGraphQLErrorHandling, } from '../lib/api'; +import command from '../lib/cli/command'; +import { parseEnvAliasFromArgv } from '../lib/cli/envAlias'; +import * as exit from '../lib/cli/exit'; import { trackEvent } from '../lib/tracker'; const ALLOWED_NODEJS_VERSIONS = [ '14', '16', '18' ]; diff --git a/src/bin/vip-validate.js b/src/bin/vip-validate.js index 5d749c68f..85b264853 100755 --- a/src/bin/vip-validate.js +++ b/src/bin/vip-validate.js @@ -1,12 +1,5 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import command from '../lib/cli/command'; import { trackEvent } from '../lib/tracker'; diff --git a/src/bin/vip-whoami.ts b/src/bin/vip-whoami.ts index fa4f0f174..76c80c867 100755 --- a/src/bin/vip-whoami.ts +++ b/src/bin/vip-whoami.ts @@ -1,17 +1,10 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -import { getCurrentUserInfo } from '../lib/api/user'; import { User } from '../graphqlTypes'; +import { getCurrentUserInfo } from '../lib/api/user'; import command from '../lib/cli/command'; -import { trackEvent } from '../lib/tracker'; import * as exit from '../lib/cli/exit'; +import { trackEvent } from '../lib/tracker'; export async function whoamiCommand() { const trackingParams: { command: string } = { diff --git a/src/bin/vip-wp.js b/src/bin/vip-wp.js index 55b8d3cfc..9c95ae67c 100755 --- a/src/bin/vip-wp.js +++ b/src/bin/vip-wp.js @@ -1,27 +1,21 @@ #!/usr/bin/env node -/** - * External dependencies - */ import chalk from 'chalk'; +import debugLib from 'debug'; import gql from 'graphql-tag'; +import readline from 'readline'; import SocketIO from 'socket.io-client'; import IOStream from 'socket.io-stream'; -import readline from 'readline'; import { Writable } from 'stream'; -import debugLib from 'debug'; -/** - * Internal dependencies - */ import API, { API_HOST, disableGlobalGraphQLErrorHandling } from '../lib/api'; import commandWrapper, { getEnvIdentifier } from '../lib/cli/command'; import * as exit from '../lib/cli/exit'; import { formatEnvironment, requoteArgs } from '../lib/cli/format'; import { confirm } from '../lib/cli/prompt'; -import { trackEvent } from '../lib/tracker'; -import Token from '../lib/token'; import { createProxyAgent } from '../lib/http/proxy-agent'; +import Token from '../lib/token'; +import { trackEvent } from '../lib/tracker'; const debug = debugLib( '@automattic/vip:wp' ); diff --git a/src/bin/vip.js b/src/bin/vip.js index 0ced4ced2..496262fdb 100755 --- a/src/bin/vip.js +++ b/src/bin/vip.js @@ -1,18 +1,12 @@ #!/usr/bin/env node -/** - * External dependencies - */ -import opn from 'opn'; -import { prompt } from 'enquirer'; import chalk from 'chalk'; import debugLib from 'debug'; +import { prompt } from 'enquirer'; +import opn from 'opn'; -/** - * Internal dependencies - */ -import config from '../lib/cli/config'; import command, { containsAppEnvArgument } from '../lib/cli/command'; +import config from '../lib/cli/config'; import Token from '../lib/token'; import { trackEvent, aliasUser } from '../lib/tracker'; diff --git a/src/commands/backup-db.ts b/src/commands/backup-db.ts index 9f18fcf1f..eff546a64 100644 --- a/src/commands/backup-db.ts +++ b/src/commands/backup-db.ts @@ -1,26 +1,19 @@ -/** - * External dependencies - */ - import chalk from 'chalk'; +import { GraphQLFormattedError } from 'graphql'; import gql from 'graphql-tag'; -/** - * Internal dependencies - */ +import { AppBackupJobStatusQuery } from './backup-db.generated'; +import { App, AppEnvironment, Job } from '../graphqlTypes'; import API, { disableGlobalGraphQLErrorHandling, enableGlobalGraphQLErrorHandling, } from '../lib/api'; import * as exit from '../lib/cli/exit'; -import { pollUntil } from '../lib/utils'; +import { formatDuration } from '../lib/cli/format'; import { ProgressTracker } from '../lib/cli/progress'; import { CommandTracker } from '../lib/tracker'; -import { GraphQLFormattedError } from 'graphql'; import { RateLimitExceededError } from '../lib/types/graphql/rate-limit-exceeded-error'; -import { AppBackupJobStatusQuery } from './backup-db.generated'; -import { App, AppEnvironment, Job } from '../graphqlTypes'; -import { formatDuration } from '../lib/cli/format'; +import { pollUntil } from '../lib/utils'; const DB_BACKUP_PROGRESS_POLL_INTERVAL = 1000; diff --git a/src/commands/dev-env-import-sql.js b/src/commands/dev-env-import-sql.js index 8632cd304..b03a36428 100644 --- a/src/commands/dev-env-import-sql.js +++ b/src/commands/dev-env-import-sql.js @@ -1,13 +1,8 @@ -/** - * External dependencies - */ - -import fs from 'fs'; import chalk from 'chalk'; +import fs from 'fs'; -/** - * Internal dependencies - */ +import * as exit from '../lib/cli/exit'; +import { getFileMeta, unzipFile } from '../lib/client-file-uploader'; import { promptForBoolean, validateDependencies } from '../lib/dev-environment/dev-environment-cli'; import { getEnvironmentPath, @@ -16,10 +11,8 @@ import { } from '../lib/dev-environment/dev-environment-core'; import { bootstrapLando, isEnvUp } from '../lib/dev-environment/dev-environment-lando'; import UserError from '../lib/user-error'; -import { validate as validateSQL, validateImportFileExtension } from '../lib/validations/sql'; -import { getFileMeta, unzipFile } from '../lib/client-file-uploader'; import { makeTempDir } from '../lib/utils'; -import * as exit from '../lib/cli/exit'; +import { validate as validateSQL, validateImportFileExtension } from '../lib/validations/sql'; export class DevEnvImportSQLCommand { fileName; diff --git a/src/commands/dev-env-sync-sql.js b/src/commands/dev-env-sync-sql.js index 2a97a0977..126628690 100644 --- a/src/commands/dev-env-sync-sql.js +++ b/src/commands/dev-env-sync-sql.js @@ -1,25 +1,17 @@ #!/usr/bin/env node -/** - * External dependencies - */ - -import fs from 'fs'; +import { replace } from '@automattic/vip-search-replace'; import chalk from 'chalk'; +import fs from 'fs'; import urlLib from 'url'; -import { replace } from '@automattic/vip-search-replace'; - -/** - * Internal dependencies - */ -import { unzipFile } from '../lib/client-file-uploader'; +import { DevEnvImportSQLCommand } from './dev-env-import-sql'; import { ExportSQLCommand } from './export-sql'; +import { BackupStorageAvailability } from '../lib/backup-storage-availability/backup-storage-availability'; +import * as exit from '../lib/cli/exit'; +import { unzipFile } from '../lib/client-file-uploader'; import { makeTempDir } from '../lib/utils'; import { getReadInterface } from '../lib/validations/line-by-line'; -import * as exit from '../lib/cli/exit'; -import { DevEnvImportSQLCommand } from './dev-env-import-sql'; -import { BackupStorageAvailability } from '../lib/backup-storage-availability/backup-storage-availability'; /** * Finds the site home url from the SQL line diff --git a/src/commands/export-sql.js b/src/commands/export-sql.js index bf3526454..e196fc06b 100644 --- a/src/commands/export-sql.js +++ b/src/commands/export-sql.js @@ -1,25 +1,19 @@ -/** - * External dependencies - */ -import gql from 'graphql-tag'; +import chalk from 'chalk'; import fs from 'fs'; +import gql from 'graphql-tag'; import https from 'https'; import path from 'path'; -import chalk from 'chalk'; -/** - * Internal dependencies - */ +import { BackupDBCommand } from './backup-db'; import API, { disableGlobalGraphQLErrorHandling, enableGlobalGraphQLErrorHandling, } from '../lib/api'; +import { BackupStorageAvailability } from '../lib/backup-storage-availability/backup-storage-availability'; +import * as exit from '../lib/cli/exit'; import { formatBytes, getGlyphForStatus } from '../lib/cli/format'; import { ProgressTracker } from '../lib/cli/progress'; -import * as exit from '../lib/cli/exit'; import { getAbsolutePath, pollUntil } from '../lib/utils'; -import { BackupDBCommand } from './backup-db'; -import { BackupStorageAvailability } from '../lib/backup-storage-availability/backup-storage-availability'; const EXPORT_SQL_PROGRESS_POLL_INTERVAL = 1000; diff --git a/src/lib/analytics/clients/pendo.ts b/src/lib/analytics/clients/pendo.ts index 9f5b1bce8..72dba8374 100644 --- a/src/lib/analytics/clients/pendo.ts +++ b/src/lib/analytics/clients/pendo.ts @@ -1,16 +1,11 @@ -/** - * External dependencies - */ -import { Response } from 'node-fetch'; import debugLib from 'debug'; +import { Response } from 'node-fetch'; -/** - * Internal dependencies - */ -import type { AnalyticsClient } from './client'; import http from '../../../lib/api/http'; import { type Env } from '../../env'; +import type { AnalyticsClient } from './client'; + const debug = debugLib( '@automattic/vip:analytics:clients:pendo' ); interface PendoOptions { diff --git a/src/lib/analytics/clients/tracks.ts b/src/lib/analytics/clients/tracks.ts index 355f4db41..e6b156090 100644 --- a/src/lib/analytics/clients/tracks.ts +++ b/src/lib/analytics/clients/tracks.ts @@ -1,15 +1,10 @@ -/** - * External dependencies - */ +import debugLib from 'debug'; import fetch, { type Response } from 'node-fetch'; import querystring from 'querystring'; -import debugLib from 'debug'; -/** - * Internal dependencies - */ -import type { AnalyticsClient } from './client'; import { checkIfUserIsVip } from '../../cli/apiConfig'; + +import type { AnalyticsClient } from './client'; import type { Env } from '../../env'; const debug = debugLib( '@automattic/vip:analytics:clients:tracks' ); diff --git a/src/lib/analytics/index.ts b/src/lib/analytics/index.ts index bc1b9dc63..ec3e49ad1 100644 --- a/src/lib/analytics/index.ts +++ b/src/lib/analytics/index.ts @@ -1,14 +1,9 @@ -/** - * External dependencies - */ -import type { Response } from 'node-fetch'; import debugLib from 'debug'; -/** - * Internal dependencies - */ import env from '../env'; + import type { AnalyticsClient } from './clients/client'; +import type { Response } from 'node-fetch'; const debug = debugLib( '@automattic/vip:analytics' ); diff --git a/src/lib/api.ts b/src/lib/api.ts index 081732ece..7f1da2823 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -1,26 +1,18 @@ -// @format - -/** - * External dependencies - */ import { ApolloClient, HttpLink, InMemoryCache, type NormalizedCacheObject, } from '@apollo/client/core'; -import { ApolloLink } from '@apollo/client/link/core'; import { setContext } from '@apollo/client/link/context'; +import { ApolloLink } from '@apollo/client/link/core'; import { onError } from '@apollo/client/link/error'; import chalk from 'chalk'; -/** - * Internal dependencies - */ -import Token from './token'; +import http from './api/http'; import env from './env'; +import Token from './token'; import { createProxyAgent } from '../lib/http/proxy-agent'; -import http from './api/http'; // Config export const PRODUCTION_API_HOST = 'https://api.wpvip.com'; diff --git a/src/lib/api/app.ts b/src/lib/api/app.ts index 47f9e2fea..04c4fd759 100644 --- a/src/lib/api/app.ts +++ b/src/lib/api/app.ts @@ -1,13 +1,7 @@ -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; import { App, Exact, Scalars } from '../../graphqlTypes'; +import API from '../../lib/api'; type AppQueryVariables = Exact< { name: Scalars[ 'String' ][ 'input' ]; @@ -33,7 +27,7 @@ export default async function ( fragments: string = '' ): Promise< Partial< App > > { const api = await API(); - if ( isNaN( +app ) ) { + if ( isNaN( Number( app ) ) ) { const res = await api.query< AppQueryResult, AppQueryVariables >( { query: gql`query App( $name: String ) { apps( first: 1, name: $name ) { diff --git a/src/lib/api/cache-purge.ts b/src/lib/api/cache-purge.ts index d739d9a24..0ea1430f4 100644 --- a/src/lib/api/cache-purge.ts +++ b/src/lib/api/cache-purge.ts @@ -1,14 +1,7 @@ -// @format - -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ import API from '../../lib/api'; + import type { PurgePageCacheMutationMutation, PurgePageCacheMutationMutationVariables, diff --git a/src/lib/api/feature-flags.ts b/src/lib/api/feature-flags.ts index 37f22c87e..f1cfa1d04 100644 --- a/src/lib/api/feature-flags.ts +++ b/src/lib/api/feature-flags.ts @@ -1,13 +1,8 @@ -/** - * External dependencies - */ +import { ApolloClient, ApolloQueryResult, NormalizedCacheObject } from '@apollo/client'; import gql from 'graphql-tag'; -/** - * Internal dependencies - */ import API from '../../lib/api'; -import { ApolloClient, ApolloQueryResult, NormalizedCacheObject } from '@apollo/client'; + import type { IsVipQuery, IsVipQueryVariables } from './feature-flags.generated'; let api: ApolloClient< NormalizedCacheObject >; diff --git a/src/lib/api/http.ts b/src/lib/api/http.ts index f9f606adc..be9c578df 100644 --- a/src/lib/api/http.ts +++ b/src/lib/api/http.ts @@ -1,16 +1,10 @@ -/** - * External dependencies - */ -import fetch, { type BodyInit, type Response, type RequestInit } from 'node-fetch'; import debugLib from 'debug'; +import fetch, { type BodyInit, type Response, type RequestInit } from 'node-fetch'; -/** - * Internal dependencies - */ -import Token from '../../lib/token'; +import { API_HOST } from '../../lib/api'; import env from '../../lib/env'; import { createProxyAgent } from '../../lib/http/proxy-agent'; -import { API_HOST } from '../../lib/api'; +import Token from '../../lib/token'; const debug = debugLib( '@automattic/vip:http' ); diff --git a/src/lib/api/user.ts b/src/lib/api/user.ts index 358cc8446..c41961ed1 100644 --- a/src/lib/api/user.ts +++ b/src/lib/api/user.ts @@ -1,16 +1,8 @@ -// @format - -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; import { IsVipQuery, IsVipQueryVariables } from './feature-flags.generated'; import { User } from '../../graphqlTypes'; +import API from '../../lib/api'; const QUERY_CURRENT_USER = gql` query Me { diff --git a/src/lib/app-logs/app-logs.ts b/src/lib/app-logs/app-logs.ts index 60dadd243..ba4b8302c 100644 --- a/src/lib/app-logs/app-logs.ts +++ b/src/lib/app-logs/app-logs.ts @@ -1,16 +1,8 @@ -// @format - -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; import { GetAppLogsQueryVariables } from './app-logs.generated'; import { AppEnvironmentLogType, Query } from '../../graphqlTypes'; +import API from '../../lib/api'; export const LIMIT_MAX = 5000; diff --git a/src/lib/app-slowlogs/app-slowlogs.ts b/src/lib/app-slowlogs/app-slowlogs.ts index 69c570a34..98f018c1f 100644 --- a/src/lib/app-slowlogs/app-slowlogs.ts +++ b/src/lib/app-slowlogs/app-slowlogs.ts @@ -1,17 +1,9 @@ -// @format - -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; import { GetAppSlowlogsQueryVariables } from './app-slowlogs.generated'; -import { Query } from '../../graphqlTypes'; import { GetRecentSlowlogsResponse } from './types'; +import { Query } from '../../graphqlTypes'; +import API from '../../lib/api'; export const LIMIT_MAX = 5000; diff --git a/src/lib/app.ts b/src/lib/app.ts index 0623bdc12..acd507842 100644 --- a/src/lib/app.ts +++ b/src/lib/app.ts @@ -1,10 +1,3 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { NODEJS_SITE_TYPE_IDS, WORDPRESS_SITE_TYPE_IDS } from './constants/vipgo'; /** diff --git a/src/lib/backup-storage-availability/backup-storage-availability.ts b/src/lib/backup-storage-availability/backup-storage-availability.ts index 08ff139ae..b6c34b2c6 100644 --- a/src/lib/backup-storage-availability/backup-storage-availability.ts +++ b/src/lib/backup-storage-availability/backup-storage-availability.ts @@ -1,12 +1,13 @@ -import { exec } from 'shelljs'; -import path from 'path'; -import xdgBasedir from 'xdg-basedir'; -import os from 'os'; import checkDiskSpace from 'check-disk-space'; import { Confirm } from 'enquirer'; +import os from 'os'; +import path from 'path'; +import { exec } from 'shelljs'; +import xdgBasedir from 'xdg-basedir'; + +import { DockerMachineNotFoundError } from './docker-machine-not-found-error'; import { Job } from '../../graphqlTypes'; import { formatMetricBytes } from '../cli/format'; -import { DockerMachineNotFoundError } from './docker-machine-not-found-error'; const oneGiBInBytes = 1024 * 1024 * 1024; diff --git a/src/lib/cli/apiConfig.ts b/src/lib/cli/apiConfig.ts index 732e92ef8..edc697af6 100644 --- a/src/lib/cli/apiConfig.ts +++ b/src/lib/cli/apiConfig.ts @@ -1,16 +1,7 @@ -// @format - -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -import { trackEvent } from '../../lib/tracker'; import * as exit from './exit'; import * as featureFlags from '../../lib/api/feature-flags'; import Token from '../../lib/token'; +import { trackEvent } from '../../lib/tracker'; export async function checkFeatureEnabled( featureName: string, @@ -55,7 +46,7 @@ export async function checkIfUserIsVip() { if ( token.valid() ) { const res = await featureFlags.get(); - return !! res?.data.me?.isVIP; + return Boolean( res?.data.me?.isVIP ); } return false; diff --git a/src/lib/cli/command.js b/src/lib/cli/command.js index 5caff8aad..3fa52b17e 100644 --- a/src/lib/cli/command.js +++ b/src/lib/cli/command.js @@ -1,24 +1,18 @@ -/** - * External dependencies - */ import args from 'args'; -import { prompt } from 'enquirer'; import chalk from 'chalk'; +import debugLib from 'debug'; +import { prompt } from 'enquirer'; import gql from 'graphql-tag'; import updateNotifier from 'update-notifier'; -/** - * Internal dependencies - */ +import { parseEnvAliasFromArgv } from './envAlias'; +import * as exit from './exit'; +import { formatData, formatSearchReplaceValues } from './format'; import { confirm } from './prompt'; +import pkg from '../../../package.json'; import API from '../../lib/api'; import app from '../../lib/api/app'; -import { formatData, formatSearchReplaceValues } from './format'; -import pkg from '../../../package.json'; import { trackEvent } from '../../lib/tracker'; -import { parseEnvAliasFromArgv } from './envAlias'; -import * as exit from './exit'; -import debugLib from 'debug'; import UserError from '../user-error'; function uncaughtError( err ) { @@ -128,7 +122,7 @@ args.argv = async function ( argv, cb ) { } ); // Show help if no args passed - if ( !! customCommands.length && ! this.sub.length ) { + if ( Boolean( customCommands.length ) && ! this.sub.length ) { await trackEvent( 'command_help_view' ); this.showHelp(); @@ -398,7 +392,7 @@ args.argv = async function ( argv, cb ) { options.skipValidate = Object.prototype.hasOwnProperty.call( options, 'skipValidate' ) && - !! options.skipValidate && + Boolean( options.skipValidate ) && ! [ 'false', 'no' ].includes( options.skipValidate ); if ( options.skipValidate ) { @@ -458,7 +452,7 @@ args.argv = async function ( argv, cb ) { options.overwriteExistingFiles = Object.prototype.hasOwnProperty.call( options, 'overwriteExistingFiles' ) && - !! options.overwriteExistingFiles && + Boolean( options.overwriteExistingFiles ) && ! [ 'false', 'no' ].includes( options.overwriteExistingFiles ); info.push( { key: 'Overwrite any existing files', @@ -467,7 +461,7 @@ args.argv = async function ( argv, cb ) { options.importIntermediateImages = Object.prototype.hasOwnProperty.call( options, 'importIntermediateImages' ) && - !! options.importIntermediateImages && + Boolean( options.importIntermediateImages ) && ! [ 'false', 'no' ].includes( options.importIntermediateImages ); info.push( { key: 'Import intermediate image files', @@ -476,7 +470,7 @@ args.argv = async function ( argv, cb ) { options.exportFileErrorsToJson = Object.prototype.hasOwnProperty.call( options, 'exportFileErrorsToJson' ) && - !! options.exportFileErrorsToJson && + Boolean( options.exportFileErrorsToJson ) && ! [ 'false', 'no' ].includes( options.exportFileErrorsToJson ); info.push( { key: 'Export any file errors encountered to a JSON file instead of a plain text file', @@ -613,10 +607,7 @@ export function getEnvIdentifier( env ) { export function containsAppEnvArgument( argv ) { const parsedAlias = parseEnvAliasFromArgv( argv ); - return !! ( - parsedAlias.app || - parsedAlias.env || - argv.includes( '--app' ) || - argv.includes( '--env' ) + return Boolean( + parsedAlias.app || parsedAlias.env || argv.includes( '--app' ) || argv.includes( '--env' ) ); } diff --git a/src/lib/cli/config.ts b/src/lib/cli/config.ts index 86623ccee..c3f678dd9 100644 --- a/src/lib/cli/config.ts +++ b/src/lib/cli/config.ts @@ -1,6 +1,3 @@ -/** - * External dependencies - */ import debugLib from 'debug'; interface Config { diff --git a/src/lib/cli/envAlias.ts b/src/lib/cli/envAlias.ts index b3bbab987..c295500ed 100644 --- a/src/lib/cli/envAlias.ts +++ b/src/lib/cli/envAlias.ts @@ -1,7 +1,3 @@ -/** - * External dependencies - */ - export function isAlias( alias: string ): boolean { return /^@[A-Za-z0-9.-]+$/.test( alias ); } diff --git a/src/lib/cli/exit.ts b/src/lib/cli/exit.ts index de67bf796..3b16b18b0 100644 --- a/src/lib/cli/exit.ts +++ b/src/lib/cli/exit.ts @@ -1,13 +1,5 @@ -// @format - -/** - * External dependencies - */ import { red, yellow } from 'chalk'; -/** - * Internal dependencies - */ import env from '../../lib/env'; export function withError( message: Error | string ): never { diff --git a/src/lib/cli/format.ts b/src/lib/cli/format.ts index 08a816ee3..f67e7bac3 100644 --- a/src/lib/cli/format.ts +++ b/src/lib/cli/format.ts @@ -1,11 +1,7 @@ -// @format - -/** - * External dependencies - */ import chalk from 'chalk'; -import { Parser } from 'json2csv'; import Table from 'cli-table'; +import { Parser } from 'json2csv'; + import { StepStatus } from './progress'; export interface Tuple { diff --git a/src/lib/cli/progress.ts b/src/lib/cli/progress.ts index b7e681513..9456938f6 100644 --- a/src/lib/cli/progress.ts +++ b/src/lib/cli/progress.ts @@ -1,12 +1,6 @@ -/** - * External dependencies - */ import { EOL } from 'node:os'; import { stdout as singleLogLine } from 'single-line-log'; -/** - * Internal dependencies - */ import { getGlyphForStatus, RunningSprite } from '../../lib/cli/format'; const PRINT_INTERVAL = process.env.DEBUG ? 5000 : 200; // How often the report is printed. Mainly affects the "spinner" animation. diff --git a/src/lib/cli/prompt.ts b/src/lib/cli/prompt.ts index 2586e6759..068ab774b 100644 --- a/src/lib/cli/prompt.ts +++ b/src/lib/cli/prompt.ts @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import { prompt } from 'enquirer'; -/** - * Internal dependencies - */ import { keyValue, type Tuple } from './format'; interface Answer { diff --git a/src/lib/client-file-uploader.ts b/src/lib/client-file-uploader.ts index 334904919..9ffcdbb70 100644 --- a/src/lib/client-file-uploader.ts +++ b/src/lib/client-file-uploader.ts @@ -1,24 +1,16 @@ -// @format - -/** - * External dependencies - */ +import chalk from 'chalk'; +import { createHash } from 'crypto'; +import debugLib from 'debug'; import { constants, createReadStream, createWriteStream, type ReadStream } from 'fs'; +import fetch, { HeaderInit, RequestInfo, RequestInit, Response } from 'node-fetch'; import { access, mkdtemp, open, stat } from 'node:fs/promises'; +import { pipeline } from 'node:stream/promises'; import os from 'os'; import path from 'path'; -import fetch, { HeaderInit, RequestInfo, RequestInit, Response } from 'node-fetch'; -import chalk from 'chalk'; -import { createGunzip, createGzip, Gunzip, ZlibOptions } from 'zlib'; -import { createHash } from 'crypto'; -import { pipeline } from 'node:stream/promises'; import { PassThrough } from 'stream'; import { Parser as XmlParser } from 'xml2js'; -import debugLib from 'debug'; +import { createGunzip, createGzip, Gunzip, ZlibOptions } from 'zlib'; -/** - * Internal dependencies - */ import http from '../lib/api/http'; import { MB_IN_BYTES } from '../lib/constants/file-size'; diff --git a/src/lib/config/software.ts b/src/lib/config/software.ts index 429431049..f1e359817 100644 --- a/src/lib/config/software.ts +++ b/src/lib/config/software.ts @@ -1,19 +1,13 @@ -/** - * External dependencies - */ -import { setTimeout } from 'node:timers/promises'; +import debugLib from 'debug'; import { Select, Confirm } from 'enquirer'; import gql from 'graphql-tag'; -import debugLib from 'debug'; +import { setTimeout } from 'node:timers/promises'; -/** - * Internal dependencies - */ -import { isAppNodejs, isAppWordPress } from '../app'; -import API from '../api'; -import UserError from '../user-error'; import { UpdateJobQueryVariables } from './software.generated'; import { JobInterface, Query } from '../../graphqlTypes'; +import API from '../api'; +import { isAppNodejs, isAppWordPress } from '../app'; +import UserError from '../user-error'; const UPDATE_PROGRESS_POLL_INTERVAL = 5; const debug = debugLib( '@automattic/vip:bin:config-software' ); diff --git a/src/lib/dev-environment/dev-environment-cli.ts b/src/lib/dev-environment/dev-environment-cli.ts index e5d182415..ca02475ca 100644 --- a/src/lib/dev-environment/dev-environment-cli.ts +++ b/src/lib/dev-environment/dev-environment-cli.ts @@ -1,24 +1,29 @@ -/** - * External dependencies - */ -import { existsSync, lstatSync, readdirSync } from 'node:fs'; -import path from 'path'; -import { homedir } from 'node:os'; -import { lookup } from 'node:dns/promises'; import chalk from 'chalk'; -import formatters from 'lando/lib/formatters'; -import { prompt, Confirm, Select } from 'enquirer'; -import debugLib from 'debug'; import { spawn } from 'child_process'; -import { which } from 'shelljs'; +import debugLib from 'debug'; +import { prompt, Confirm, Select } from 'enquirer'; import Lando from 'lando'; +import formatters from 'lando/lib/formatters'; +import { lookup } from 'node:dns/promises'; +import { existsSync, lstatSync, readdirSync } from 'node:fs'; +import { homedir } from 'node:os'; +import path from 'path'; +import { which } from 'shelljs'; -/** - * Internal dependencies - */ +import { + CONFIGURATION_FILE_NAME, + getConfigurationFileOptions, +} from './dev-environment-configuration-file'; +import { + generateVSCodeWorkspace, + getAllEnvironmentNames, + getVSCodeWorkspacePath, + getVersionList, + readEnvironmentData, +} from './dev-environment-core'; +import { validateDockerInstalled, validateDockerAccess } from './dev-environment-lando'; import { ProgressTracker, StepConstructorParam } from '../../lib/cli/progress'; -import { trackEvent } from '../tracker'; - +import { Args } from '../cli/command'; import { DEV_ENVIRONMENT_FULL_COMMAND, DEV_ENVIRONMENT_DEFAULTS, @@ -28,13 +33,8 @@ import { DEV_ENVIRONMENT_PHP_VERSIONS, DEV_ENVIRONMENT_COMPONENTS_WITH_WP, } from '../constants/dev-environment'; -import { - generateVSCodeWorkspace, - getAllEnvironmentNames, - getVSCodeWorkspacePath, - getVersionList, - readEnvironmentData, -} from './dev-environment-core'; +import { trackEvent } from '../tracker'; +import UserError from '../user-error'; import type { AppInfo, @@ -45,13 +45,6 @@ import type { WordPressConfig, ConfigurationFileOptions, } from './types'; -import { validateDockerInstalled, validateDockerAccess } from './dev-environment-lando'; -import UserError from '../user-error'; -import { - CONFIGURATION_FILE_NAME, - getConfigurationFileOptions, -} from './dev-environment-configuration-file'; -import { Args } from '../cli/command'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); @@ -281,7 +274,7 @@ export function processComponentOptionInput( allowLocal: boolean ): LocalComponent | ImageComponent { // cast to string - const param = passedParam + ''; + const param = String( passedParam ); // This is a bit of a naive check if ( allowLocal && /[\\/]/.test( param ) ) { return { @@ -300,7 +293,7 @@ export function getOptionsFromAppInfo( appInfo: AppInfo ): InstanceOptions { return { // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing title: appInfo.environment?.name || appInfo.name || '', // NOSONAR - multisite: !! appInfo.environment?.isMultisite, + multisite: Boolean( appInfo.environment?.isMultisite ), mediaRedirectDomain: appInfo.environment?.primaryDomain, php: appInfo.environment?.php ?? '', wordpress: appInfo.environment?.wordpress ?? '', @@ -407,11 +400,11 @@ export async function promptForArguments( debug( `Processing elasticsearch with preselected "%s"`, preselectedOptions.elasticsearch ); if ( 'elasticsearch' in preselectedOptions ) { - instanceData.elasticsearch = !! preselectedOptions.elasticsearch; + instanceData.elasticsearch = Boolean( preselectedOptions.elasticsearch ); } else { instanceData.elasticsearch = await promptForBoolean( 'Enable Elasticsearch (needed by Enterprise Search)?', - !! defaultOptions.elasticsearch + Boolean( defaultOptions.elasticsearch ) ); } @@ -425,7 +418,7 @@ export async function promptForArguments( // eslint-disable-next-line no-await-in-loop instanceData[ service ] = await promptForBoolean( `Enable ${ promptLabels[ service ] || service }`, - !! defaultOptions[ service ] + Boolean( defaultOptions[ service ] ) ); } } @@ -843,7 +836,7 @@ declare function parseFloat( value: unknown ): number; export function processVersionOption( value: unknown ): string { if ( typeof value === 'string' || typeof value === 'number' ) { - if ( ! isNaN( value ) && +value % 1 === 0 ) { + if ( ! isNaN( value ) && Number( value ) % 1 === 0 ) { return parseFloat( value ).toFixed( 1 ); } } diff --git a/src/lib/dev-environment/dev-environment-configuration-file.ts b/src/lib/dev-environment/dev-environment-configuration-file.ts index 9e021bcde..b0d75416f 100644 --- a/src/lib/dev-environment/dev-environment-configuration-file.ts +++ b/src/lib/dev-environment/dev-environment-configuration-file.ts @@ -1,17 +1,12 @@ -/** - * External dependencies - */ -import { access, readFile } from 'node:fs/promises'; -import { constants } from 'fs'; -import path from 'node:path'; -import debugLib from 'debug'; import chalk from 'chalk'; +import debugLib from 'debug'; +import { constants } from 'fs'; import yaml, { FAILSAFE_SCHEMA } from 'js-yaml'; +import { access, readFile } from 'node:fs/promises'; +import path from 'node:path'; -/** - * Internal dependencies - */ import * as exit from '../cli/exit'; + import type { ConfigurationFileOptions, InstanceOptions } from './types'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); diff --git a/src/lib/dev-environment/dev-environment-core.ts b/src/lib/dev-environment/dev-environment-core.ts index ec61ea173..419d890e3 100644 --- a/src/lib/dev-environment/dev-environment-core.ts +++ b/src/lib/dev-environment/dev-environment-core.ts @@ -1,23 +1,22 @@ -/** - * External dependencies - */ -import os from 'node:os'; -import fs from 'node:fs'; -import path from 'node:path'; +import chalk from 'chalk'; +import copydir from 'copy-dir'; import debugLib from 'debug'; -import xdgBasedir from 'xdg-basedir'; -import fetch from 'node-fetch'; import ejs from 'ejs'; -import chalk from 'chalk'; import { prompt } from 'enquirer'; -import copydir from 'copy-dir'; -import type Lando from 'lando'; -import { v4 as uuid } from 'uuid'; +import fetch from 'node-fetch'; +import fs from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; import semver from 'semver'; +import { v4 as uuid } from 'uuid'; +import xdgBasedir from 'xdg-basedir'; -/** - * Internal dependencies - */ +import { + handleCLIException, + printTable, + promptForWordPress, + resolvePath, +} from './dev-environment-cli'; import { landoDestroy, landoInfo, @@ -28,14 +27,9 @@ import { landoLogs, LandoLogsOptions, } from './dev-environment-lando'; -import { searchAndReplace } from '../search-and-replace'; -import { - handleCLIException, - printTable, - promptForWordPress, - resolvePath, -} from './dev-environment-cli'; +import { AppEnvironment } from '../../graphqlTypes'; import app from '../api/app'; +import { appQueryFragments as softwareQueryFragment } from '../config/software'; import { DEV_ENVIRONMENT_NOT_FOUND, DEV_ENVIRONMENT_RAW_GITHUB_HOST, @@ -45,11 +39,12 @@ import { DEV_ENVIRONMENT_PHP_VERSIONS, DEV_ENVIRONMENT_VERSION, } from '../constants/dev-environment'; -import type { AppInfo, ComponentConfig, InstanceData, WordPressConfig } from './types'; -import { appQueryFragments as softwareQueryFragment } from '../config/software'; -import UserError from '../user-error'; -import { AppEnvironment } from '../../graphqlTypes'; import { createProxyAgent } from '../http/proxy-agent'; +import { searchAndReplace } from '../search-and-replace'; +import UserError from '../user-error'; + +import type { AppInfo, ComponentConfig, InstanceData, WordPressConfig } from './types'; +import type Lando from 'lando'; const debug = debugLib( '@automattic/vip:bin:dev-environment' ); @@ -353,13 +348,13 @@ export async function printEnvironmentInfo( const environmentData = readEnvironmentData( slug ); const appInfo = await landoInfo( lando, instancePath, { - suppressWarnings: !! options.suppressWarnings, + suppressWarnings: Boolean( options.suppressWarnings ), autologinKey: environmentData.autologinKey, } ); if ( options.extended ) { appInfo.title = environmentData.wpTitle; - appInfo.multisite = !! environmentData.multisite; + appInfo.multisite = Boolean( environmentData.multisite ); appInfo.php = environmentData.php.split( ':' )[ 1 ]; appInfo.wordpress = parseComponentForInfo( environmentData.wordpress ); appInfo[ 'Mu plugins' ] = parseComponentForInfo( environmentData.muPlugins ); @@ -529,7 +524,7 @@ export function getEnvironmentPath( name: string ): string { const mainEnvironmentPath = xdgDataDirectory(); - return path.join( mainEnvironmentPath, 'vip', 'dev-environment', name + '' ); + return path.join( mainEnvironmentPath, 'vip', 'dev-environment', String( name ) ); } export async function getApplicationInformation( @@ -834,7 +829,7 @@ async function isVersionListExpired( cacheFile: string, ttl: number ): Promise< const { mtime: expire } = await fs.promises.stat( cacheFile ); expire.setSeconds( expire.getSeconds() + ttl ); - return +new Date() > +expire; + return Number( new Date() ) > Number( expire ); } catch ( err ) { return true; } diff --git a/src/lib/dev-environment/dev-environment-lando.ts b/src/lib/dev-environment/dev-environment-lando.ts index b9361a8ee..34a4ff7c5 100644 --- a/src/lib/dev-environment/dev-environment-lando.ts +++ b/src/lib/dev-environment/dev-environment-lando.ts @@ -1,33 +1,28 @@ -/** - * External dependencies - */ -import { tmpdir } from 'node:os'; -import { mkdir, rename } from 'node:fs/promises'; -import { lookup } from 'node:dns/promises'; -import path from 'node:path'; +import chalk from 'chalk'; import debugLib from 'debug'; -import Lando, { LandoConfig } from 'lando/lib/lando'; +import App, { type ScanResult } from 'lando/lib/app'; import { buildConfig } from 'lando/lib/bootstrap'; +import Lando, { LandoConfig } from 'lando/lib/lando'; import landoUtils, { AppInfo } from 'lando/plugins/lando-core/lib/utils'; import landoBuildTask from 'lando/plugins/lando-tooling/lib/build'; -import chalk from 'chalk'; -import App, { type ScanResult } from 'lando/lib/app'; +import { lookup } from 'node:dns/promises'; +import { mkdir, rename } from 'node:fs/promises'; +import { tmpdir } from 'node:os'; +import path from 'node:path'; import xdgBasedir from 'xdg-basedir'; -import type { NetworkInspectInfo } from 'dockerode'; -/** - * Internal dependencies - */ import { doesEnvironmentExist, readEnvironmentData, updateEnvironment, writeEnvironmentData, } from './dev-environment-core'; -import { DEV_ENVIRONMENT_NOT_FOUND } from '../constants/dev-environment'; import { getDockerSocket, getEngineConfig } from './docker-utils'; +import { DEV_ENVIRONMENT_NOT_FOUND } from '../constants/dev-environment'; import UserError from '../user-error'; +import type { NetworkInspectInfo } from 'dockerode'; + /** * This file will hold all the interactions with lando library */ diff --git a/src/lib/dev-environment/docker-utils.ts b/src/lib/dev-environment/docker-utils.ts index eb9110bb3..d39e60427 100644 --- a/src/lib/dev-environment/docker-utils.ts +++ b/src/lib/dev-environment/docker-utils.ts @@ -1,7 +1,4 @@ /* eslint-disable no-await-in-loop */ -/** - * External dependencies - */ import { constants } from 'node:fs'; import { access, readFile, stat } from 'node:fs/promises'; import { homedir, platform } from 'node:os'; diff --git a/src/lib/env.ts b/src/lib/env.ts index 993a14119..8967831f6 100644 --- a/src/lib/env.ts +++ b/src/lib/env.ts @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import { platform, release } from 'node:os'; -/** - * Internal dependencies - */ import pkg from '../../package.json'; interface AppInfo { diff --git a/src/lib/envvar/api-delete.ts b/src/lib/envvar/api-delete.ts index 372bfb73e..5544eeae6 100644 --- a/src/lib/envvar/api-delete.ts +++ b/src/lib/envvar/api-delete.ts @@ -1,12 +1,7 @@ -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ import API from '../../lib/api'; + import type { DeleteEnvironmentVariableMutation, DeleteEnvironmentVariableMutationVariables, diff --git a/src/lib/envvar/api-get-all.ts b/src/lib/envvar/api-get-all.ts index 7bd2810c2..a9c1c2e5f 100644 --- a/src/lib/envvar/api-get-all.ts +++ b/src/lib/envvar/api-get-all.ts @@ -1,17 +1,11 @@ -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; import { GetEnvironmentVariablesWithValuesQuery, GetEnvironmentVariablesWithValuesQueryVariables, } from './api-get-all.generated'; import { EnvironmentVariable } from '../../graphqlTypes'; +import API from '../../lib/api'; const query = gql` query GetEnvironmentVariablesWithValues($appId: Int!, $envId: Int!) { diff --git a/src/lib/envvar/api-get.ts b/src/lib/envvar/api-get.ts index c35c82e08..1755fb63e 100644 --- a/src/lib/envvar/api-get.ts +++ b/src/lib/envvar/api-get.ts @@ -1,11 +1,5 @@ -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import getEnvVars from '../../lib/envvar/api-get-all'; + import type { EnvironmentVariable } from '../../graphqlTypes'; export default async function getEnvVar( diff --git a/src/lib/envvar/api-list.ts b/src/lib/envvar/api-list.ts index af36b26ef..a5f73ee4b 100644 --- a/src/lib/envvar/api-list.ts +++ b/src/lib/envvar/api-list.ts @@ -1,12 +1,7 @@ -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ import API from '../../lib/api'; + import type { GetEnvironmentVariablesQuery, GetEnvironmentVariablesQueryVariables, diff --git a/src/lib/envvar/api-set.ts b/src/lib/envvar/api-set.ts index 880e09519..4cc3e9cf2 100644 --- a/src/lib/envvar/api-set.ts +++ b/src/lib/envvar/api-set.ts @@ -1,12 +1,7 @@ -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ import API from '../../lib/api'; + import type { AddEnvironmentVariableMutation, AddEnvironmentVariableMutationVariables, diff --git a/src/lib/envvar/api.ts b/src/lib/envvar/api.ts index bd25d5ab6..fc2968056 100644 --- a/src/lib/envvar/api.ts +++ b/src/lib/envvar/api.ts @@ -1,19 +1,11 @@ -// @format - -/** - * External dependencies - */ import chalk from 'chalk'; -/** - * Internal dependencies - */ -import { debug } from '../../lib/envvar/logging'; import deleteEnvVar from './api-delete'; import getEnvVar from './api-get'; import getEnvVars from './api-get-all'; import listEnvVars from './api-list'; import setEnvVar from './api-set'; +import { debug } from '../../lib/envvar/logging'; // Reexport for convenience export { deleteEnvVar, getEnvVar, getEnvVars, listEnvVars, setEnvVar }; diff --git a/src/lib/envvar/input.ts b/src/lib/envvar/input.ts index 147895853..30f26fb97 100644 --- a/src/lib/envvar/input.ts +++ b/src/lib/envvar/input.ts @@ -1,15 +1,6 @@ -// @format - -/** - * External dependencies - */ import chalk from 'chalk'; import { Confirm, prompt } from 'enquirer'; -/** - * Internal dependencies - */ - export function cancel(): void { console.log( chalk.yellow( 'Command cancelled by user.' ) ); process.exit(); diff --git a/src/lib/envvar/logging.ts b/src/lib/envvar/logging.ts index ccb3c4fb2..b0074d7ea 100644 --- a/src/lib/envvar/logging.ts +++ b/src/lib/envvar/logging.ts @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import debugLib from 'debug'; -/** - * Internal dependencies - */ import { getEnvIdentifier } from '../../lib/cli/command'; // Shared debugger. diff --git a/src/lib/envvar/read-file.ts b/src/lib/envvar/read-file.ts index 982916c9a..ba41b1926 100644 --- a/src/lib/envvar/read-file.ts +++ b/src/lib/envvar/read-file.ts @@ -1,12 +1,3 @@ -// @format - -/** - * External dependencies - */ - -/** - * Internal dependencies - */ import { debug } from '../../lib/envvar/logging'; import { readFromFile } from '../read-file'; diff --git a/src/lib/http/proxy-agent.ts b/src/lib/http/proxy-agent.ts index ff236537c..9d371b9b6 100644 --- a/src/lib/http/proxy-agent.ts +++ b/src/lib/http/proxy-agent.ts @@ -1,17 +1,11 @@ /* eslint-disable @typescript-eslint/prefer-nullish-coalescing */ -/** - * External dependencies - */ -import type { Url } from 'url'; -import { SocksProxyAgent } from 'socks-proxy-agent'; +import debugLib from 'debug'; import { HttpsProxyAgent } from 'https-proxy-agent'; import { getProxyForUrl } from 'proxy-from-env'; -import debugLib from 'debug'; -const debug = debugLib( 'vip:proxy-agent' ); +import { SocksProxyAgent } from 'socks-proxy-agent'; -/** - * Internal dependencies - */ +import type { Url } from 'url'; +const debug = debugLib( 'vip:proxy-agent' ); // Note: This module requires the use of a special environment variable "VIP_USE_SYSTEM_PROXY" // The setting of it to any value allows this module to create a proxy agent based on proxy environment variables diff --git a/src/lib/keychain.ts b/src/lib/keychain.ts index 436dc2559..632135102 100644 --- a/src/lib/keychain.ts +++ b/src/lib/keychain.ts @@ -1,12 +1,7 @@ -/** - * External dependencies - */ import debugLib from 'debug'; -/** - * Internal dependencies - */ import Insecure from './keychain/insecure'; + import type { Keychain, KeychainConstructor } from './keychain/keychain'; let exportValue: Keychain; diff --git a/src/lib/keychain/insecure.ts b/src/lib/keychain/insecure.ts index 5ddfce242..94aa7338f 100644 --- a/src/lib/keychain/insecure.ts +++ b/src/lib/keychain/insecure.ts @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import Configstore from 'configstore'; -/** - * Internal dependencies - */ import type { Keychain } from './keychain'; export default class Insecure implements Keychain { diff --git a/src/lib/keychain/secure.ts b/src/lib/keychain/secure.ts index 40e51923a..5dda77355 100644 --- a/src/lib/keychain/secure.ts +++ b/src/lib/keychain/secure.ts @@ -1,11 +1,5 @@ -/** - * External dependencies - */ import keytar from '@postman/node-keytar'; -/** - * Internal dependencies - */ import type { Keychain } from './keychain'; export default class Secure implements Keychain { diff --git a/src/lib/logout.ts b/src/lib/logout.ts index 0e0b0cd3e..26dfd217e 100644 --- a/src/lib/logout.ts +++ b/src/lib/logout.ts @@ -1,9 +1,6 @@ -/** - * Internal dependencies - */ +import http from '../lib/api/http'; import Token from '../lib/token'; import { trackEvent } from '../lib/tracker'; -import http from '../lib/api/http'; export default async (): Promise< void > => { await http( '/logout', { method: 'post' } ); diff --git a/src/lib/media-import/media-file-import.ts b/src/lib/media-import/media-file-import.ts index 5a6d32bd8..fb4aee1b3 100644 --- a/src/lib/media-import/media-file-import.ts +++ b/src/lib/media-import/media-file-import.ts @@ -1,6 +1,3 @@ -/** - * Internal dependencies - */ import { App } from '../../graphqlTypes'; import { GB_IN_BYTES } from '../../lib/constants/file-size'; @@ -13,7 +10,7 @@ export type AppForMediaImport = Pick< export function currentUserCanImportForApp( app: AppForMediaImport ): boolean { // TODO: implement - return !! app; + return Boolean( app ); } export const SUPPORTED_MEDIA_FILE_IMPORT_SITE_TYPES = [ 'WordPress' ]; diff --git a/src/lib/media-import/progress.ts b/src/lib/media-import/progress.ts index 2294f6e8c..7ccad03b8 100644 --- a/src/lib/media-import/progress.ts +++ b/src/lib/media-import/progress.ts @@ -1,14 +1,8 @@ -/** - * External dependencies - */ import { stdout as singleLogLine } from 'single-line-log'; -/** - * Internal dependencies - */ -import { getGlyphForStatus } from '../../lib/media-import/status'; -import { RunningSprite } from '../../lib/cli/format'; import { AppEnvironmentMediaImportStatus } from '../../graphqlTypes'; +import { RunningSprite } from '../../lib/cli/format'; +import { getGlyphForStatus } from '../../lib/media-import/status'; const PRINT_INTERVAL = process.env.DEBUG ? 5000 : 200; // How often the report is printed. Mainly affects the "spinner" animation. diff --git a/src/lib/media-import/status.ts b/src/lib/media-import/status.ts index 481966363..57d5ada8f 100644 --- a/src/lib/media-import/status.ts +++ b/src/lib/media-import/status.ts @@ -1,22 +1,9 @@ -/** - * External dependencies - */ -import { writeFile } from 'node:fs/promises'; -import { resolve } from 'node:path'; import { ApolloClient, NormalizedCacheObject } from '@apollo/client'; import chalk from 'chalk'; import gql from 'graphql-tag'; +import { writeFile } from 'node:fs/promises'; +import { resolve } from 'node:path'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; -import { - AppForMediaImport, - currentUserCanImportForApp, -} from '../../lib/media-import/media-file-import'; -import { MediaImportProgressTracker } from '../../lib/media-import/progress'; -import { capitalize, formatEnvironment, formatData, RunningSprite } from '../../lib/cli/format'; import { AppQuery, AppQueryVariables } from './status.generated'; import { App, @@ -25,6 +12,13 @@ import { AppEnvironmentMediaImportStatusFailureDetailsFileErrors, Maybe, } from '../../graphqlTypes'; +import API from '../../lib/api'; +import { capitalize, formatEnvironment, formatData, RunningSprite } from '../../lib/cli/format'; +import { + AppForMediaImport, + currentUserCanImportForApp, +} from '../../lib/media-import/media-file-import'; +import { MediaImportProgressTracker } from '../../lib/media-import/progress'; const IMPORT_MEDIA_PROGRESS_POLL_INTERVAL = 1000; const ONE_MINUTE_IN_MILLISECONDS = 1000 * 60; @@ -286,8 +280,8 @@ ${ maybeExitPrompt } setProgressTrackerSuffix(); progressTracker.print(); - const fileErrors = results.failureDetails?.fileErrors; - if ( !! fileErrors && fileErrors.length > 0 ) { + const fileErrors = results.failureDetails?.fileErrors ?? []; + if ( fileErrors.length > 0 ) { progressTracker.suffix += `${ chalk.yellow( `⚠️ ${ fileErrors.length } file error(s) have been extracted` ) }`; diff --git a/src/lib/read-file.ts b/src/lib/read-file.ts index dc0f84d68..189941913 100644 --- a/src/lib/read-file.ts +++ b/src/lib/read-file.ts @@ -1,13 +1,5 @@ -// @format - -/** - * External dependencies - */ import { readFile } from 'node:fs/promises'; -/** - * Internal dependencies - */ import * as exit from '../lib/cli/exit'; export async function readFromFile( path: string ): Promise< string > { diff --git a/src/lib/search-and-replace.ts b/src/lib/search-and-replace.ts index 632064f11..d9e708e52 100644 --- a/src/lib/search-and-replace.ts +++ b/src/lib/search-and-replace.ts @@ -1,24 +1,17 @@ -// @format - -/** - * External dependencies - */ -import fs from 'fs'; -import path from 'path'; +import { replace } from '@automattic/vip-search-replace'; import { red } from 'chalk'; import debugLib from 'debug'; -import type { Readable, Writable } from 'node:stream'; +import fs from 'fs'; import { pipeline } from 'node:stream/promises'; -import { replace } from '@automattic/vip-search-replace'; +import path from 'path'; -/** - * Internal dependencies - */ -import { trackEvent } from '../lib/tracker'; +import { makeTempDir } from './utils'; +import * as exit from '../lib/cli/exit'; import { confirm } from '../lib/cli/prompt'; import { getFileSize } from '../lib/client-file-uploader'; -import * as exit from '../lib/cli/exit'; -import { makeTempDir } from './utils'; +import { trackEvent } from '../lib/tracker'; + +import type { Readable, Writable } from 'node:stream'; const debug = debugLib( '@automattic/vip:lib:search-and-replace' ); diff --git a/src/lib/site-import/db-file-import.ts b/src/lib/site-import/db-file-import.ts index bdb2cd951..45dc76835 100644 --- a/src/lib/site-import/db-file-import.ts +++ b/src/lib/site-import/db-file-import.ts @@ -1,6 +1,3 @@ -/** - * Internal dependencies - */ import { App, AppEnvironment } from '../../graphqlTypes'; import { GB_IN_BYTES } from '../../lib/constants/file-size'; import { DATABASE_APPLICATION_TYPE_IDS } from '../../lib/constants/vipgo'; @@ -22,7 +19,7 @@ export type EnvForImport = Pick< export function currentUserCanImportForApp( app: App | AppForImport ): boolean { // TODO: implement - return !! app; + return Boolean( app ); } export const isSupportedApp = ( { typeId }: AppForImport ) => diff --git a/src/lib/site-import/status.ts b/src/lib/site-import/status.ts index 7ce585b2c..7b15bec17 100644 --- a/src/lib/site-import/status.ts +++ b/src/lib/site-import/status.ts @@ -1,20 +1,11 @@ /* eslint-disable complexity */ -/** - * External dependencies - */ +import { ApolloClient, NormalizedCacheObject } from '@apollo/client'; import chalk from 'chalk'; -import gql from 'graphql-tag'; import debugLib from 'debug'; +import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; -import { ProgressTracker, StepFromServer, StepStatus } from '../../lib/cli/progress'; -import * as exit from '../../lib/cli/exit'; -import { capitalize, formatEnvironment, getGlyphForStatus } from '../../lib/cli/format'; +import { AppForImport, currentUserCanImportForApp } from './db-file-import'; import { AppQuery, AppQueryVariables } from './status.generated'; -import { ApolloClient, NormalizedCacheObject } from '@apollo/client'; import { App, AppEnvironment, @@ -24,7 +15,10 @@ import { Maybe, PrimaryDomainSwitchJob, } from '../../graphqlTypes'; -import { AppForImport, currentUserCanImportForApp } from './db-file-import'; +import API from '../../lib/api'; +import * as exit from '../../lib/cli/exit'; +import { capitalize, formatEnvironment, getGlyphForStatus } from '../../lib/cli/format'; +import { ProgressTracker, StepFromServer, StepStatus } from '../../lib/cli/progress'; const debug = debugLib( 'vip:lib/site-import/status' ); diff --git a/src/lib/token.ts b/src/lib/token.ts index 9a3f1f09f..42b1aac57 100644 --- a/src/lib/token.ts +++ b/src/lib/token.ts @@ -1,15 +1,8 @@ -/** - * External dependencies - */ import jwtDecode from 'jwt-decode'; import { v4 as uuid } from 'uuid'; -/** - * Internal dependencies - */ -import keychain from './keychain'; - import { API_HOST, PRODUCTION_API_HOST } from './api'; +import keychain from './keychain'; interface Payload { id?: number; diff --git a/src/lib/tracker.ts b/src/lib/tracker.ts index be44fe85a..500bfe0dc 100644 --- a/src/lib/tracker.ts +++ b/src/lib/tracker.ts @@ -1,19 +1,14 @@ -/** - * External dependencies - */ -import type { Response } from 'node-fetch'; import debugLib from 'debug'; -/** - * Internal dependencies - */ -import Analytics from './analytics/index'; -import type { AnalyticsClient } from './analytics/clients/client'; -import Tracks from './analytics/clients/tracks'; import Pendo from './analytics/clients/pendo'; -import Token from '../lib/token'; -import config from '../lib/cli/config'; +import Tracks from './analytics/clients/tracks'; +import Analytics from './analytics/index'; import env from './env'; +import config from '../lib/cli/config'; +import Token from '../lib/token'; + +import type { AnalyticsClient } from './analytics/clients/client'; +import type { Response } from 'node-fetch'; const debug = debugLib( '@automattic/vip:analytics' ); diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 63afcc6cb..66c5661c2 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,17 +1,9 @@ -// @format - -/** - * External dependencies - */ +import debugLib from 'debug'; import fs from 'fs'; -import path from 'path'; -import os from 'os'; import { setTimeout } from 'node:timers/promises'; -import debugLib from 'debug'; +import os from 'os'; +import path from 'path'; -/** - * Internal dependencies - */ const debug = debugLib( '@automattic/vip:lib:utils' ); /** diff --git a/src/lib/validations/is-multi-site.ts b/src/lib/validations/is-multi-site.ts index 9bb4b9fe4..4f07a2943 100644 --- a/src/lib/validations/is-multi-site.ts +++ b/src/lib/validations/is-multi-site.ts @@ -1,16 +1,10 @@ -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; -import { trackEventWithEnv } from '../../lib/tracker'; -import * as exit from '../../lib/cli/exit'; import { AppMultiSiteCheckQuery, AppMultiSiteCheckQueryVariables } from './is-multi-site.generated'; import { App, AppEnvironment } from '../../graphqlTypes'; +import API from '../../lib/api'; +import * as exit from '../../lib/cli/exit'; +import { trackEventWithEnv } from '../../lib/tracker'; const isMultiSite = new WeakMap< Record< string, number >, boolean >(); diff --git a/src/lib/validations/is-multisite-domain-mapped.ts b/src/lib/validations/is-multisite-domain-mapped.ts index 28a20a450..4f3ce3b04 100644 --- a/src/lib/validations/is-multisite-domain-mapped.ts +++ b/src/lib/validations/is-multisite-domain-mapped.ts @@ -1,19 +1,13 @@ -/** - * External dependencies - */ import gql from 'graphql-tag'; -/** - * Internal dependencies - */ -import API from '../../lib/api'; -import { trackEventWithEnv } from '../../lib/tracker'; -import * as exit from '../../lib/cli/exit'; import { AppMappedDomainsQuery, AppMappedDomainsQueryVariables, } from './is-multisite-domain-mapped.generated'; import { App } from '../../graphqlTypes'; +import API from '../../lib/api'; +import * as exit from '../../lib/cli/exit'; +import { trackEventWithEnv } from '../../lib/tracker'; /** * Extracts the domain for site with ID 1 from an INSERT INTO `wp_site` SQL statement diff --git a/src/lib/validations/line-by-line.ts b/src/lib/validations/line-by-line.ts index 42de65387..430fb620d 100644 --- a/src/lib/validations/line-by-line.ts +++ b/src/lib/validations/line-by-line.ts @@ -1,14 +1,8 @@ -/** - * External dependencies - */ -import { type Interface, createInterface } from 'node:readline'; +import debugLib from 'debug'; import { createReadStream } from 'node:fs'; import { open } from 'node:fs/promises'; -import debugLib from 'debug'; +import { type Interface, createInterface } from 'node:readline'; -/** - * Internal dependencies - */ import * as exit from '../../lib/cli/exit'; const debug = debugLib( 'vip:validations:line-by-line' ); diff --git a/src/lib/validations/site-type.ts b/src/lib/validations/site-type.ts index c30c80b45..b51a71448 100644 --- a/src/lib/validations/site-type.ts +++ b/src/lib/validations/site-type.ts @@ -1,19 +1,14 @@ -/** - * External dependencies - */ import debugLib from 'debug'; -/** - * Internal dependencies - */ import { trackEventWithEnv } from '../../lib/tracker'; -import { sqlDumpLineIsMultiSite } from '../../lib/validations/is-multi-site-sql-dump'; import { isMultiSiteInSiteMeta } from '../../lib/validations/is-multi-site'; +import { sqlDumpLineIsMultiSite } from '../../lib/validations/is-multi-site-sql-dump'; import { isMultisitePrimaryDomainMapped, getPrimaryDomain, } from '../../lib/validations/is-multisite-domain-mapped'; import { getMultilineStatement } from '../../lib/validations/utils'; + import type { PostLineExecutionProcessingParams } from '../../lib/validations/line-by-line'; const debug = debugLib( 'vip:vip-import-sql' ); diff --git a/src/lib/validations/sql.ts b/src/lib/validations/sql.ts index e411aea25..1a1adfcad 100644 --- a/src/lib/validations/sql.ts +++ b/src/lib/validations/sql.ts @@ -1,16 +1,10 @@ -/** - * External dependencies - */ import chalk from 'chalk'; -import { stdout as log } from 'single-line-log'; import path from 'path'; +import { stdout as log } from 'single-line-log'; -/** - * Internal dependencies - */ import * as exit from '../../lib/cli/exit'; -import { trackEvent } from '../../lib/tracker'; import { getFileMeta } from '../../lib/client-file-uploader'; +import { trackEvent } from '../../lib/tracker'; import { type PostLineExecutionProcessingParams, getReadInterface, diff --git a/src/lib/vip-import-validate-files.ts b/src/lib/vip-import-validate-files.ts index 8f159f19f..6cfcde856 100644 --- a/src/lib/vip-import-validate-files.ts +++ b/src/lib/vip-import-validate-files.ts @@ -1,6 +1,3 @@ -/** - * External dependencies - */ import chalk from 'chalk'; import fs from 'fs'; import path from 'path';