[internals] Refactor @vercel-internals/types enums into constants (#9789)

- Creates new internals package, `@vercel-internals/constants`
- Refactors the `enum`s from `@vercel-internals/types` into `as const` objects, and moves them to `@vercel-intenrals/constants`
- Updates all relevant code within `packages/cli`, including `@vercel-internals/types` imports to be `import type`
This commit is contained in:
Ethan Arrowood
2023-04-14 12:08:12 -06:00
committed by GitHub
parent 2aeddde7d5
commit ed119d6a33
77 changed files with 193 additions and 251 deletions

View File

@@ -0,0 +1,18 @@
{
"private": true,
"name": "@vercel-internals/constants",
"types": "dist/index.d.ts",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json"
},
"dependencies": {
"@vercel/build-utils": "6.3.2",
"@vercel/routing-utils": "2.1.10"
},
"devDependencies": {
"@vercel-internals/tsconfig": "*",
"@vercel/style-guide": "4.0.2",
"typescript": "4.9.4"
}
}

View File

@@ -0,0 +1,5 @@
export const PROJECT_ENV_TARGET = [
'production',
'preview',
'development',
] as const;

View File

@@ -0,0 +1,7 @@
{
"extends": "@vercel-internals/tsconfig",
"compilerOptions": {
"outDir": "./dist"
},
"include": ["src/**/*.ts"]
}

View File

@@ -1,6 +1,10 @@
import type { BuilderFunctions } from '@vercel/build-utils'; import type { BuilderFunctions } from '@vercel/build-utils';
import type { Readable, Writable } from 'stream'; import type { Readable, Writable } from 'stream';
import type { Route } from '@vercel/routing-utils'; import type { Route } from '@vercel/routing-utils';
import { PROJECT_ENV_TARGET } from '@vercel-internals/constants';
export type ProjectEnvTarget = typeof PROJECT_ENV_TARGET[number];
export type ProjectEnvType = 'plain' | 'secret' | 'encrypted' | 'system';
export type ProjectSettings = import('@vercel/build-utils').ProjectSettings; export type ProjectSettings = import('@vercel/build-utils').ProjectSettings;
@@ -300,20 +304,6 @@ export interface Secret {
createdAt: number; createdAt: number;
} }
// TODO (Ethan-Arrowood) - Replace enums
export enum ProjectEnvTarget {
Production = 'production',
Preview = 'preview',
Development = 'development',
}
export enum ProjectEnvType {
Plaintext = 'plain',
Secret = 'secret',
Encrypted = 'encrypted',
System = 'system',
}
export interface ProjectEnvVariable { export interface ProjectEnvVariable {
id: string; id: string;
key: string; key: string;

View File

@@ -1,15 +1,11 @@
{ {
"private": true, "private": true,
"name": "@vercel-internals/types", "name": "@vercel-internals/types",
"types": "dist/index.d.ts", "types": "index.d.ts",
"main": "dist/index.js", "main": "index.d.ts",
"files": [
"dist"
],
"scripts": {
"build": "tsc -p tsconfig.json"
},
"dependencies": { "dependencies": {
"@types/node": "14.14.31",
"@vercel-internals/constants": "*",
"@vercel/build-utils": "6.3.2", "@vercel/build-utils": "6.3.2",
"@vercel/routing-utils": "2.1.10" "@vercel/routing-utils": "2.1.10"
}, },

View File

@@ -1,7 +1,7 @@
{ {
"extends": "@vercel-internals/tsconfig", "extends": "@vercel-internals/tsconfig",
"compilerOptions": { "compilerOptions": {
"outDir": "./dist" "noEmit": true
}, },
"include": ["index.ts"] "include": ["index.d.ts"]
} }

View File

@@ -84,6 +84,7 @@
"@types/which": "1.3.2", "@types/which": "1.3.2",
"@types/write-json-file": "2.2.1", "@types/write-json-file": "2.2.1",
"@types/yauzl-promise": "2.1.0", "@types/yauzl-promise": "2.1.0",
"@vercel-internals/constants": "*",
"@vercel-internals/get-package-json": "*", "@vercel-internals/get-package-json": "*",
"@vercel-internals/types": "*", "@vercel-internals/types": "*",
"@vercel/client": "12.4.9", "@vercel/client": "12.4.9",

View File

@@ -12,7 +12,7 @@ import stamp from '../../util/output/stamp';
import strlen from '../../util/strlen'; import strlen from '../../util/strlen';
import getCommandFlags from '../../util/get-command-flags'; import getCommandFlags from '../../util/get-command-flags';
import { getCommandName } from '../../util/pkg-name'; import { getCommandName } from '../../util/pkg-name';
import { Alias } from '@vercel-internals/types'; import type { Alias } from '@vercel-internals/types';
export default async function ls( export default async function ls(
client: Client, client: Client,

View File

@@ -9,7 +9,7 @@ import strlen from '../../util/strlen';
import confirm from '../../util/input/confirm'; import confirm from '../../util/input/confirm';
import findAliasByAliasOrId from '../../util/alias/find-alias-by-alias-or-id'; import findAliasByAliasOrId from '../../util/alias/find-alias-by-alias-or-id';
import { Alias } from '@vercel-internals/types'; import type { Alias } from '@vercel-internals/types';
import { isValidName } from '../../util/is-valid-name'; import { isValidName } from '../../util/is-valid-name';
import { getCommandName } from '../../util/pkg-name'; import { getCommandName } from '../../util/pkg-name';

View File

@@ -1,7 +1,7 @@
import chalk from 'chalk'; import chalk from 'chalk';
import { SetDifference } from 'utility-types'; import { SetDifference } from 'utility-types';
import { AliasRecord } from '../../util/alias/create-alias'; import { AliasRecord } from '../../util/alias/create-alias';
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
import { Output } from '../../util/output'; import { Output } from '../../util/output';
import * as ERRORS from '../../util/errors-ts'; import * as ERRORS from '../../util/errors-ts';
import assignAlias from '../../util/alias/assign-alias'; import assignAlias from '../../util/alias/assign-alias';

View File

@@ -5,7 +5,7 @@ import stamp from '../../util/output/stamp';
import createCertFromFile from '../../util/certs/create-cert-from-file'; import createCertFromFile from '../../util/certs/create-cert-from-file';
import createCertForCns from '../../util/certs/create-cert-for-cns'; import createCertForCns from '../../util/certs/create-cert-for-cns';
import { getCommandName } from '../../util/pkg-name'; import { getCommandName } from '../../util/pkg-name';
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
interface Options { interface Options {
'--overwrite'?: boolean; '--overwrite'?: boolean;

View File

@@ -10,7 +10,7 @@ import {
import stamp from '../../util/output/stamp'; import stamp from '../../util/output/stamp';
import getCerts from '../../util/certs/get-certs'; import getCerts from '../../util/certs/get-certs';
import strlen from '../../util/strlen'; import strlen from '../../util/strlen';
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
import getCommandFlags from '../../util/get-command-flags'; import getCommandFlags from '../../util/get-command-flags';
import { getCommandName } from '../../util/pkg-name'; import { getCommandName } from '../../util/pkg-name';

View File

@@ -2,7 +2,7 @@ import chalk from 'chalk';
import ms from 'ms'; import ms from 'ms';
import plural from 'pluralize'; import plural from 'pluralize';
import table from 'text-table'; import table from 'text-table';
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
import * as ERRORS from '../../util/errors-ts'; import * as ERRORS from '../../util/errors-ts';
import { Output } from '../../util/output'; import { Output } from '../../util/output';
import deleteCertById from '../../util/certs/delete-cert-by-id'; import deleteCertById from '../../util/certs/delete-cert-by-id';

View File

@@ -5,7 +5,7 @@ import DevServer from '../../util/dev/server';
import { parseListen } from '../../util/dev/parse-listen'; import { parseListen } from '../../util/dev/parse-listen';
import Client from '../../util/client'; import Client from '../../util/client';
import { getLinkedProject } from '../../util/projects/link'; import { getLinkedProject } from '../../util/projects/link';
import { ProjectSettings } from '@vercel-internals/types'; import type { ProjectSettings } from '@vercel-internals/types';
import setupAndLink from '../../util/link/setup-and-link'; import setupAndLink from '../../util/link/setup-and-link';
import { getCommandName } from '../../util/pkg-name'; import { getCommandName } from '../../util/pkg-name';
import param from '../../util/output/param'; import param from '../../util/output/param';

View File

@@ -1,7 +1,7 @@
import chalk from 'chalk'; import chalk from 'chalk';
import ms from 'ms'; import ms from 'ms';
import { DomainNotFound } from '../../util/errors-ts'; import { DomainNotFound } from '../../util/errors-ts';
import { DNSRecord } from '@vercel-internals/types'; import type { DNSRecord } from '@vercel-internals/types';
import Client from '../../util/client'; import Client from '../../util/client';
import formatTable from '../../util/format-table'; import formatTable from '../../util/format-table';
import getDNSRecords, { import getDNSRecords, {

View File

@@ -1,7 +1,7 @@
import chalk from 'chalk'; import chalk from 'chalk';
import ms from 'ms'; import ms from 'ms';
import table from 'text-table'; import table from 'text-table';
import { DNSRecord } from '@vercel-internals/types'; import type { DNSRecord } from '@vercel-internals/types';
import { Output } from '../../util/output'; import { Output } from '../../util/output';
import Client from '../../util/client'; import Client from '../../util/client';
import deleteDNSRecordById from '../../util/dns/delete-dns-record-by-id'; import deleteDNSRecordById from '../../util/dns/delete-dns-record-by-id';

View File

@@ -8,7 +8,7 @@ import getScope from '../../util/get-scope';
import stamp from '../../util/output/stamp'; import stamp from '../../util/output/stamp';
import formatTable from '../../util/format-table'; import formatTable from '../../util/format-table';
import { formatDateWithoutTime } from '../../util/format-date'; import { formatDateWithoutTime } from '../../util/format-date';
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
import getCommandFlags from '../../util/get-command-flags'; import getCommandFlags from '../../util/get-command-flags';
import { import {
PaginationOptions, PaginationOptions,

View File

@@ -2,7 +2,7 @@ import chalk from 'chalk';
import plural from 'pluralize'; import plural from 'pluralize';
import { DomainNotFound, DomainPermissionDenied } from '../../util/errors-ts'; import { DomainNotFound, DomainPermissionDenied } from '../../util/errors-ts';
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
import { Output } from '../../util/output'; import { Output } from '../../util/output';
import Client from '../../util/client'; import Client from '../../util/client';
import deleteCertById from '../../util/certs/delete-cert-by-id'; import deleteCertById from '../../util/certs/delete-cert-by-id';

View File

@@ -1,9 +1,5 @@
import chalk from 'chalk'; import chalk from 'chalk';
import { import type { Project, ProjectEnvTarget } from '@vercel-internals/types';
ProjectEnvTarget,
Project,
ProjectEnvType,
} from '@vercel-internals/types';
import { Output } from '../../util/output'; import { Output } from '../../util/output';
import Client from '../../util/client'; import Client from '../../util/client';
import stamp from '../../util/output/stamp'; import stamp from '../../util/output/stamp';
@@ -12,7 +8,7 @@ import getEnvRecords from '../../util/env/get-env-records';
import { import {
isValidEnvTarget, isValidEnvTarget,
getEnvTargetPlaceholder, getEnvTargetPlaceholder,
getEnvTargetChoices, envTargetChoices,
} from '../../util/env/env-target'; } from '../../util/env/env-target';
import readStandardInput from '../../util/input/read-standard-input'; import readStandardInput from '../../util/input/read-standard-input';
import param from '../../util/output/param'; import param from '../../util/output/param';
@@ -92,7 +88,7 @@ export default async function add(
const existing = new Set( const existing = new Set(
envs.filter(r => r.key === envName).map(r => r.target) envs.filter(r => r.key === envName).map(r => r.target)
); );
const choices = getEnvTargetChoices().filter(c => !existing.has(c.value)); const choices = envTargetChoices.filter(c => !existing.has(c.value));
if (choices.length === 0) { if (choices.length === 0) {
output.error( output.error(
@@ -138,7 +134,7 @@ export default async function add(
!stdInput && !stdInput &&
!envGitBranch && !envGitBranch &&
envTargets.length === 1 && envTargets.length === 1 &&
envTargets[0] === ProjectEnvTarget.Preview envTargets[0] === 'preview'
) { ) {
const { inputValue } = await client.prompt({ const { inputValue } = await client.prompt({
type: 'input', type: 'input',
@@ -155,7 +151,7 @@ export default async function add(
output, output,
client, client,
project.id, project.id,
ProjectEnvType.Encrypted, 'encrypted',
envName, envName,
envValue, envValue,
envTargets, envTargets,

View File

@@ -1,11 +1,7 @@
import chalk from 'chalk'; import chalk from 'chalk';
import ms from 'ms'; import ms from 'ms';
import { Output } from '../../util/output'; import { Output } from '../../util/output';
import { import type { Project, ProjectEnvVariable } from '@vercel-internals/types';
Project,
ProjectEnvVariable,
ProjectEnvType,
} from '@vercel-internals/types';
import Client from '../../util/client'; import Client from '../../util/client';
import formatTable from '../../util/format-table'; import formatTable from '../../util/format-table';
import getEnvRecords from '../../util/env/get-env-records'; import getEnvRecords from '../../util/env/get-env-records';
@@ -99,13 +95,13 @@ function getTable(records: ProjectEnvVariable[]) {
function getRow(env: ProjectEnvVariable) { function getRow(env: ProjectEnvVariable) {
let value: string; let value: string;
if (env.type === ProjectEnvType.Plaintext) { if (env.type === 'plain') {
// replace space characters (line-break, etc.) with simple spaces // replace space characters (line-break, etc.) with simple spaces
// to make sure the displayed value is a single line // to make sure the displayed value is a single line
const singleLineValue = env.value.replace(/\s/g, ' '); const singleLineValue = env.value.replace(/\s/g, ' ');
value = chalk.gray(ellipsis(singleLineValue, 19)); value = chalk.gray(ellipsis(singleLineValue, 19));
} else if (env.type === ProjectEnvType.System) { } else if (env.type === 'system') {
value = chalk.gray.italic(env.value); value = chalk.gray.italic(env.value);
} else { } else {
value = chalk.gray.italic('Encrypted'); value = chalk.gray.italic('Encrypted');

View File

@@ -2,7 +2,7 @@ import chalk from 'chalk';
import { outputFile } from 'fs-extra'; import { outputFile } from 'fs-extra';
import { closeSync, openSync, readSync } from 'fs'; import { closeSync, openSync, readSync } from 'fs';
import { resolve } from 'path'; import { resolve } from 'path';
import { Project, ProjectEnvTarget } from '@vercel-internals/types'; import type { Project, ProjectEnvTarget } from '@vercel-internals/types';
import Client from '../../util/client'; import Client from '../../util/client';
import { emoji, prependEmoji } from '../../util/emoji'; import { emoji, prependEmoji } from '../../util/emoji';
import confirm from '../../util/input/confirm'; import confirm from '../../util/input/confirm';
@@ -101,7 +101,7 @@ export default async function pull(
const records = ( const records = (
await pullEnvRecords(output, client, project.id, source, { await pullEnvRecords(output, client, project.id, source, {
target: environment || ProjectEnvTarget.Development, target: environment || 'development',
gitBranch, gitBranch,
}) })
).env; ).env;

View File

@@ -1,5 +1,5 @@
import chalk from 'chalk'; import chalk from 'chalk';
import { Project } from '@vercel-internals/types'; import type { Project } from '@vercel-internals/types';
import { Output } from '../../util/output'; import { Output } from '../../util/output';
import confirm from '../../util/input/confirm'; import confirm from '../../util/input/confirm';
import removeEnvRecord from '../../util/env/remove-env-record'; import removeEnvRecord from '../../util/env/remove-env-record';

View File

@@ -1,7 +1,7 @@
import chalk from 'chalk'; import chalk from 'chalk';
import ms from 'ms'; import ms from 'ms';
import table from 'text-table'; import table from 'text-table';
import { Project } from '@vercel-internals/types'; import type { Project } from '@vercel-internals/types';
import Client from '../../util/client'; import Client from '../../util/client';
import getCommandFlags from '../../util/get-command-flags'; import getCommandFlags from '../../util/get-command-flags';
import { getCommandName } from '../../util/pkg-name'; import { getCommandName } from '../../util/pkg-name';

View File

@@ -50,7 +50,7 @@ import getUpdateCommand from './util/get-update-command';
import { metrics, shouldCollectMetrics } from './util/metrics'; import { metrics, shouldCollectMetrics } from './util/metrics';
import { getCommandName, getTitleName } from './util/pkg-name'; import { getCommandName, getTitleName } from './util/pkg-name';
import doLoginPrompt from './util/login/prompt'; import doLoginPrompt from './util/login/prompt';
import { AuthConfig, GlobalConfig } from '@vercel-internals/types'; import type { AuthConfig, GlobalConfig } from '@vercel-internals/types';
import { VercelConfig } from '@vercel/client'; import { VercelConfig } from '@vercel/client';
import box from './util/output/box'; import box from './util/output/box';

View File

@@ -1,5 +1,5 @@
import { Output } from '../output'; import { Output } from '../output';
import { Alias } from '@vercel-internals/types'; import type { Alias } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';

View File

@@ -2,7 +2,7 @@ import path from 'path';
import chalk from 'chalk'; import chalk from 'chalk';
import Client from '../client'; import Client from '../client';
import { Output } from '../output'; import { Output } from '../output';
import { User } from '@vercel-internals/types'; import type { User } from '@vercel-internals/types';
import { VercelConfig } from '../dev/types'; import { VercelConfig } from '../dev/types';
import getDeploymentsByAppName from '../deploy/get-deployments-by-appname'; import getDeploymentsByAppName from '../deploy/get-deployments-by-appname';
import getDeployment from '../get-deployment'; import getDeployment from '../get-deployment';

View File

@@ -1,6 +1,6 @@
import Client from '../client'; import Client from '../client';
import getAliases from './get-aliases'; import getAliases from './get-aliases';
import { Alias } from '@vercel-internals/types'; import type { Alias } from '@vercel-internals/types';
export default async function getDomainAliases(client: Client, domain: string) { export default async function getDomainAliases(client: Client, domain: string) {
const { aliases } = await getAliases(client); const { aliases } = await getAliases(client);

View File

@@ -1,4 +1,4 @@
import { Build } from '@vercel-internals/types'; import type { Build } from '@vercel-internals/types';
export const isReady = ({ readyState }: Pick<Build, 'readyState'>) => export const isReady = ({ readyState }: Pick<Build, 'readyState'>) =>
readyState === 'READY'; readyState === 'READY';

View File

@@ -1,7 +1,7 @@
import { readFileSync } from 'fs'; import { readFileSync } from 'fs';
import { resolve } from 'path'; import { resolve } from 'path';
import Client from '../client'; import Client from '../client';
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
import { isErrnoException } from '@vercel/error-utils'; import { isErrnoException } from '@vercel/error-utils';
import { isAPIError } from '../errors-ts'; import { isAPIError } from '../errors-ts';

View File

@@ -1,6 +1,6 @@
import chalk from 'chalk'; import chalk from 'chalk';
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
import * as ERRORS from '../errors-ts'; import * as ERRORS from '../errors-ts';
import Client from '../client'; import Client from '../client';
import mapCertError from './map-cert-error'; import mapCertError from './map-cert-error';

View File

@@ -1,4 +1,4 @@
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';
import * as ERRORS from '../errors-ts'; import * as ERRORS from '../errors-ts';

View File

@@ -1,5 +1,5 @@
import { stringify } from 'querystring'; import { stringify } from 'querystring';
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';
/** /**

View File

@@ -1,5 +1,5 @@
import { stringify } from 'querystring'; import { stringify } from 'querystring';
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
import * as ERRORS from '../errors-ts'; import * as ERRORS from '../errors-ts';
import Client from '../client'; import Client from '../client';

View File

@@ -1,5 +1,5 @@
import retry from 'async-retry'; import retry from 'async-retry';
import { Cert } from '@vercel-internals/types'; import type { Cert } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';
import { isAPIError } from '../errors-ts'; import { isAPIError } from '../errors-ts';
import { isError } from '@vercel/error-utils'; import { isError } from '@vercel/error-utils';

View File

@@ -3,7 +3,7 @@ import * as ERRORS_TS from '../errors-ts';
import * as ERRORS from '../errors'; import * as ERRORS from '../errors';
import { NowError } from '../now-error'; import { NowError } from '../now-error';
import mapCertError from '../certs/map-cert-error'; import mapCertError from '../certs/map-cert-error';
import { Org } from '@vercel-internals/types'; import type { Org } from '@vercel-internals/types';
import Now, { CreateOptions } from '..'; import Now, { CreateOptions } from '..';
import Client from '../client'; import Client from '../client';
import { ArchiveFormat, DeploymentError } from '@vercel/client'; import { ArchiveFormat, DeploymentError } from '@vercel/client';

View File

@@ -1,5 +1,5 @@
import { URLSearchParams } from 'url'; import { URLSearchParams } from 'url';
import { Deployment } from '@vercel-internals/types'; import type { Deployment } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';
type LegacyDeployment = { type LegacyDeployment = {

View File

@@ -9,7 +9,7 @@ import {
import { Output } from '../output'; import { Output } from '../output';
import { progress } from '../output/progress'; import { progress } from '../output/progress';
import Now from '../../util'; import Now from '../../util';
import { Org } from '@vercel-internals/types'; import type { Org } from '@vercel-internals/types';
import ua from '../ua'; import ua from '../ua';
import { linkFolderToProject } from '../projects/link'; import { linkFolderToProject } from '../projects/link';
import { prependEmoji, emoji } from '../emoji'; import { prependEmoji, emoji } from '../emoji';

View File

@@ -85,7 +85,7 @@ import {
HttpHeadersConfig, HttpHeadersConfig,
EnvConfigs, EnvConfigs,
} from './types'; } from './types';
import { ProjectSettings } from '@vercel-internals/types'; import type { ProjectSettings } from '@vercel-internals/types';
import { treeKill } from '../tree-kill'; import { treeKill } from '../tree-kill';
import { applyOverriddenHeaders, nodeHeadersToFetchHeaders } from './headers'; import { applyOverriddenHeaders, nodeHeadersToFetchHeaders } from './headers';
import { formatQueryString, parseQueryString } from './parse-query-string'; import { formatQueryString, parseQueryString } from './parse-query-string';

View File

@@ -16,7 +16,7 @@ import {
import { VercelConfig } from '@vercel/client'; import { VercelConfig } from '@vercel/client';
import { HandleValue, Route } from '@vercel/routing-utils'; import { HandleValue, Route } from '@vercel/routing-utils';
import { Output } from '../output'; import { Output } from '../output';
import { ProjectSettings } from '@vercel-internals/types'; import type { ProjectSettings } from '@vercel-internals/types';
import { BuilderWithPkg } from '../build/import-builders'; import { BuilderWithPkg } from '../build/import-builders';
export { VercelConfig }; export { VercelConfig };

View File

@@ -7,7 +7,7 @@ import {
DNSConflictingRecord, DNSConflictingRecord,
isAPIError, isAPIError,
} from '../errors-ts'; } from '../errors-ts';
import { DNSRecordData } from '@vercel-internals/types'; import type { DNSRecordData } from '@vercel-internals/types';
type Response = { type Response = {
uid: string; uid: string;

View File

@@ -1,5 +1,5 @@
import chalk from 'chalk'; import chalk from 'chalk';
import { DNSRecordData } from '@vercel-internals/types'; import type { DNSRecordData } from '@vercel-internals/types';
import textInput from '../input/text'; import textInput from '../input/text';
import promptBool from '../input/prompt-bool'; import promptBool from '../input/prompt-bool';
import Client from '../client'; import Client from '../client';

View File

@@ -1,4 +1,4 @@
import { DNSRecord } from '@vercel-internals/types'; import type { DNSRecord } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';
export default async function getDNSRecordById( export default async function getDNSRecordById(

View File

@@ -1,4 +1,4 @@
import { DNSRecord } from '@vercel-internals/types'; import type { DNSRecord } from '@vercel-internals/types';
import { DomainNotFound } from '../errors-ts'; import { DomainNotFound } from '../errors-ts';
import { Output } from '../output'; import { Output } from '../output';
import Client from '../client'; import Client from '../client';

View File

@@ -1,4 +1,4 @@
import { DNSRecordData } from '@vercel-internals/types'; import type { DNSRecordData } from '@vercel-internals/types';
export default function parseAddArgs( export default function parseAddArgs(
args: string[] args: string[]

View File

@@ -1,7 +1,7 @@
import chalk from 'chalk'; import chalk from 'chalk';
import retry from 'async-retry'; import retry from 'async-retry';
import { DomainAlreadyExists, InvalidDomain, isAPIError } from '../errors-ts'; import { DomainAlreadyExists, InvalidDomain, isAPIError } from '../errors-ts';
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';
type Response = { type Response = {

View File

@@ -1,6 +1,6 @@
import chalk from 'chalk'; import chalk from 'chalk';
import Client from '../client'; import Client from '../client';
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
import { import {
DomainPermissionDenied, DomainPermissionDenied,
DomainNotFound, DomainNotFound,

View File

@@ -1,5 +1,5 @@
import Client from '../client'; import Client from '../client';
import { DomainConfig } from '@vercel-internals/types'; import type { DomainConfig } from '@vercel-internals/types';
import { isAPIError } from '../errors-ts'; import { isAPIError } from '../errors-ts';
export async function getDomainConfig(client: Client, domainName: string) { export async function getDomainConfig(client: Client, domainName: string) {

View File

@@ -1,4 +1,4 @@
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
export type DomainRegistrar = 'Vercel' | 'Purchase in Process' | 'Third Party'; export type DomainRegistrar = 'Vercel' | 'Purchase in Process' | 'Third Party';

View File

@@ -1,6 +1,6 @@
import chalk from 'chalk'; import chalk from 'chalk';
import Client from '../client'; import Client from '../client';
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
import { isAPIError } from '../errors-ts'; import { isAPIError } from '../errors-ts';
type Response = { type Response = {

View File

@@ -1,4 +1,4 @@
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
export default function isDomainExternal(domain: Domain) { export default function isDomainExternal(domain: Domain) {
return domain.serviceType !== 'zeit.world'; return domain.serviceType !== 'zeit.world';

View File

@@ -1,6 +1,6 @@
import psl from 'psl'; import psl from 'psl';
import { NowError } from '../now-error'; import { NowError } from '../now-error';
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
import { Output } from '../output'; import { Output } from '../output';
import * as ERRORS from '../errors-ts'; import * as ERRORS from '../errors-ts';
import addDomain from './add-domain'; import addDomain from './add-domain';

View File

@@ -1,6 +1,6 @@
import * as ERRORS from '../errors-ts'; import * as ERRORS from '../errors-ts';
import Client from '../client'; import Client from '../client';
import { Domain } from '@vercel-internals/types'; import type { Domain } from '@vercel-internals/types';
type Response = { type Response = {
domain: Domain; domain: Domain;

View File

@@ -1,6 +1,6 @@
import { Output } from '../output'; import { Output } from '../output';
import Client from '../client'; import Client from '../client';
import { import type {
ProjectEnvTarget, ProjectEnvTarget,
ProjectEnvVariable, ProjectEnvVariable,
ProjectEnvType, ProjectEnvType,

View File

@@ -1,22 +1,22 @@
import { ProjectEnvTarget } from '@vercel-internals/types'; import type { ProjectEnvTarget } from '@vercel-internals/types';
import { PROJECT_ENV_TARGET } from '@vercel-internals/constants';
import title from 'title';
function envTargets(): string[] { export const envTargetChoices = PROJECT_ENV_TARGET.map(t => ({
return Object.values(ProjectEnvTarget); name: title(t),
} value: t,
}));
export function getEnvTargetChoices() {
return Object.entries(ProjectEnvTarget).map(([key, value]) => ({
name: key,
value: value,
}));
}
export function isValidEnvTarget( export function isValidEnvTarget(
target?: string target?: string
): target is ProjectEnvTarget | undefined { ): target is ProjectEnvTarget | undefined {
return typeof target === 'undefined' || envTargets().includes(target); // Specify `map` returns strings, instead of string constants so `.includes` works
return (
typeof target === 'undefined' ||
envTargetChoices.map<string>(c => c.value).includes(target)
);
} }
export function getEnvTargetPlaceholder() { export function getEnvTargetPlaceholder() {
return `<${envTargets().join(' | ')}>`; return `<${envTargetChoices.map(c => c.value).join(' | ')}>`;
} }

View File

@@ -1,5 +1,5 @@
import title from 'title'; import title from 'title';
import { ProjectEnvVariable } from '@vercel-internals/types'; import type { ProjectEnvVariable } from '@vercel-internals/types';
export default function formatEnvTarget(env: ProjectEnvVariable): string { export default function formatEnvTarget(env: ProjectEnvVariable): string {
const target = (Array.isArray(env.target) ? env.target : [env.target || '']) const target = (Array.isArray(env.target) ? env.target : [env.target || ''])

View File

@@ -1,6 +1,9 @@
import { Output } from '../output'; import { Output } from '../output';
import Client from '../client'; import Client from '../client';
import { ProjectEnvVariable, ProjectEnvTarget } from '@vercel-internals/types'; import type {
ProjectEnvVariable,
ProjectEnvTarget,
} from '@vercel-internals/types';
import { URLSearchParams } from 'url'; import { URLSearchParams } from 'url';
/** The CLI command that was used that needs the environment variables. */ /** The CLI command that was used that needs the environment variables. */

View File

@@ -1,6 +1,6 @@
import { Output } from '../output'; import { Output } from '../output';
import Client from '../client'; import Client from '../client';
import { ProjectEnvVariable } from '@vercel-internals/types'; import type { ProjectEnvVariable } from '@vercel-internals/types';
export default async function removeEnvRecord( export default async function removeEnvRecord(
output: Output, output: Output,

View File

@@ -2,7 +2,7 @@ import Client from './client';
import getUser from './get-user'; import getUser from './get-user';
import getTeamById from './teams/get-team-by-id'; import getTeamById from './teams/get-team-by-id';
import { TeamDeleted } from './errors-ts'; import { TeamDeleted } from './errors-ts';
import { Team } from '@vercel-internals/types'; import type { Team } from '@vercel-internals/types';
interface GetScopeOptions { interface GetScopeOptions {
getTeam?: boolean; getTeam?: boolean;

View File

@@ -1,5 +1,5 @@
import Client from './client'; import Client from './client';
import { User } from '@vercel-internals/types'; import type { User } from '@vercel-internals/types';
import { APIError, InvalidToken, MissingUser } from './errors-ts'; import { APIError, InvalidToken, MissingUser } from './errors-ts';
export default async function getUser(client: Client) { export default async function getUser(client: Client) {

View File

@@ -4,7 +4,7 @@ import chalk from 'chalk';
import frameworkList, { Framework } from '@vercel/frameworks'; import frameworkList, { Framework } from '@vercel/frameworks';
import Client from '../client'; import Client from '../client';
import { isSettingValue } from '../is-setting-value'; import { isSettingValue } from '../is-setting-value';
import { ProjectSettings } from '@vercel-internals/types'; import type { ProjectSettings } from '@vercel-internals/types';
const settingMap = { const settingMap = {
buildCommand: 'Build Command', buildCommand: 'Build Command',

View File

@@ -1,6 +1,6 @@
import chalk from 'chalk'; import chalk from 'chalk';
import Client from '../client'; import Client from '../client';
import { ProjectAliasTarget } from '@vercel-internals/types'; import type { ProjectAliasTarget } from '@vercel-internals/types';
import { isAPIError } from '../errors-ts'; import { isAPIError } from '../errors-ts';
export async function addDomainToProject( export async function addDomainToProject(

View File

@@ -1,5 +1,5 @@
import Client from '../client'; import Client from '../client';
import { Project } from '@vercel-internals/types'; import type { Project } from '@vercel-internals/types';
export default async function createProject( export default async function createProject(
client: Client, client: Client,

View File

@@ -1,5 +1,5 @@
import Client from '../client'; import Client from '../client';
import { Project } from '@vercel-internals/types'; import type { Project } from '@vercel-internals/types';
import { URLSearchParams } from 'url'; import { URLSearchParams } from 'url';
import { isAPIError } from '../errors-ts'; import { isAPIError } from '../errors-ts';

View File

@@ -1,5 +1,5 @@
import Client from '../client'; import Client from '../client';
import { Project } from '@vercel-internals/types'; import type { Project } from '@vercel-internals/types';
import { isAPIError, ProjectNotFound } from '../errors-ts'; import { isAPIError, ProjectNotFound } from '../errors-ts';
export default async function getProjectByNameOrId( export default async function getProjectByNameOrId(

View File

@@ -12,7 +12,7 @@ import { InvalidToken, isAPIError, ProjectNotFound } from '../errors-ts';
import getUser from '../get-user'; import getUser from '../get-user';
import getTeamById from '../teams/get-team-by-id'; import getTeamById from '../teams/get-team-by-id';
import { Output } from '../output'; import { Output } from '../output';
import { import type {
Project, Project,
ProjectLinkResult, ProjectLinkResult,
Org, Org,

View File

@@ -1,6 +1,6 @@
import chalk from 'chalk'; import chalk from 'chalk';
import Client from '../client'; import Client from '../client';
import { ProjectAliasTarget } from '@vercel-internals/types'; import type { ProjectAliasTarget } from '@vercel-internals/types';
import { isAPIError } from '../errors-ts'; import { isAPIError } from '../errors-ts';
export async function removeDomainFromProject( export async function removeDomainFromProject(

View File

@@ -1,4 +1,4 @@
import { Team } from '@vercel-internals/types'; import type { Team } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';
export default async function createTeam( export default async function createTeam(

View File

@@ -1,5 +1,5 @@
import Client from '../client'; import Client from '../client';
import { Team } from '@vercel-internals/types'; import type { Team } from '@vercel-internals/types';
const teamCache = new Map<string, Team>(); const teamCache = new Map<string, Team>();

View File

@@ -1,6 +1,6 @@
import { URLSearchParams } from 'url'; import { URLSearchParams } from 'url';
import Client from '../client'; import Client from '../client';
import { Team } from '@vercel-internals/types'; import type { Team } from '@vercel-internals/types';
import { APIError, InvalidToken } from '../errors-ts'; import { APIError, InvalidToken } from '../errors-ts';
export interface GetTeamsV1Options { export interface GetTeamsV1Options {

View File

@@ -1,4 +1,4 @@
import { Team } from '@vercel-internals/types'; import type { Team } from '@vercel-internals/types';
import Client from '../client'; import Client from '../client';
export default async function patchTeam( export default async function patchTeam(

View File

@@ -1,8 +1,7 @@
import { client } from './client'; import { client } from './client';
import { import type {
Project,
ProjectEnvTarget, ProjectEnvTarget,
ProjectEnvType, Project,
ProjectEnvVariable, ProjectEnvVariable,
} from '@vercel-internals/types'; } from '@vercel-internals/types';
import { formatProvider } from '../../src/util/git/connect-git-provider'; import { formatProvider } from '../../src/util/git/connect-git-provider';
@@ -11,44 +10,44 @@ import type { Env } from '@vercel/build-utils';
const envs: ProjectEnvVariable[] = [ const envs: ProjectEnvVariable[] = [
{ {
type: ProjectEnvType.Encrypted, type: 'encrypted',
id: '781dt89g8r2h789g', id: '781dt89g8r2h789g',
key: 'REDIS_CONNECTION_STRING', key: 'REDIS_CONNECTION_STRING',
value: 'redis://abc123@redis.example.com:6379', value: 'redis://abc123@redis.example.com:6379',
target: [ProjectEnvTarget.Production, ProjectEnvTarget.Preview], target: ['production', 'preview'],
gitBranch: undefined, gitBranch: undefined,
configurationId: null, configurationId: null,
updatedAt: 1557241361455, updatedAt: 1557241361455,
createdAt: 1557241361455, createdAt: 1557241361455,
}, },
{ {
type: ProjectEnvType.Encrypted, type: 'encrypted',
id: '781dt89g8r2h789g', id: '781dt89g8r2h789g',
key: 'BRANCH_ENV_VAR', key: 'BRANCH_ENV_VAR',
value: 'env var for a specific branch', value: 'env var for a specific branch',
target: [ProjectEnvTarget.Preview], target: ['preview'],
gitBranch: 'feat/awesome-thing', gitBranch: 'feat/awesome-thing',
configurationId: null, configurationId: null,
updatedAt: 1557241361455, updatedAt: 1557241361455,
createdAt: 1557241361455, createdAt: 1557241361455,
}, },
{ {
type: ProjectEnvType.Encrypted, type: 'encrypted',
id: 'r124t6frtu25df16', id: 'r124t6frtu25df16',
key: 'SQL_CONNECTION_STRING', key: 'SQL_CONNECTION_STRING',
value: 'Server=sql.example.com;Database=app;Uid=root;Pwd=P455W0RD;', value: 'Server=sql.example.com;Database=app;Uid=root;Pwd=P455W0RD;',
target: [ProjectEnvTarget.Production], target: ['production'],
gitBranch: undefined, gitBranch: undefined,
configurationId: null, configurationId: null,
updatedAt: 1557241361445, updatedAt: 1557241361445,
createdAt: 1557241361445, createdAt: 1557241361445,
}, },
{ {
type: ProjectEnvType.Encrypted, type: 'encrypted',
id: 'a235l6frtu25df32', id: 'a235l6frtu25df32',
key: 'SPECIAL_FLAG', key: 'SPECIAL_FLAG',
value: '1', value: '1',
target: [ProjectEnvTarget.Development], target: ['development'],
gitBranch: undefined, gitBranch: undefined,
configurationId: null, configurationId: null,
updatedAt: 1557241361445, updatedAt: 1557241361445,
@@ -127,7 +126,6 @@ export const defaultProject = {
buildingAt: 1571239348998, buildingAt: 1571239348998,
createdAt: 1571239348998, createdAt: 1571239348998,
createdIn: 'sfo1', createdIn: 'sfo1',
deploymentHostname: 'a-project-name-rjtr4pz3f',
forced: false, forced: false,
id: 'dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ', id: 'dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ',
meta: {}, meta: {},
@@ -412,7 +410,7 @@ function exposeSystemEnvs(
} }
for (let env of projectEnvs) { for (let env of projectEnvs) {
if (env.type === ProjectEnvType.System) { if (env.type === 'system') {
envs[env.key] = getSystemEnvValue(env.value, { vercelUrl }); envs[env.key] = getSystemEnvValue(env.value, { vercelUrl });
} else { } else {
envs[env.key] = env.value; envs[env.key] = env.value;

View File

@@ -3,7 +3,6 @@ import path from 'path';
import env from '../../../src/commands/env'; import env from '../../../src/commands/env';
import { setupUnitFixture } from '../../helpers/setup-unit-fixture'; import { setupUnitFixture } from '../../helpers/setup-unit-fixture';
import { client } from '../../mocks/client'; import { client } from '../../mocks/client';
import { ProjectEnvTarget, ProjectEnvType } from '@vercel-internals/types';
import { defaultProject, useProject } from '../../mocks/project'; import { defaultProject, useProject } from '../../mocks/project';
import { useTeams } from '../../mocks/team'; import { useTeams } from '../../mocks/team';
import { useUser } from '../../mocks/user'; import { useUser } from '../../mocks/user';
@@ -302,11 +301,11 @@ describe('env', () => {
useUser(); useUser();
useTeams('team_dummy'); useTeams('team_dummy');
defaultProject.env.push({ defaultProject.env.push({
type: ProjectEnvType.Encrypted, type: 'encrypted',
id: '781dt89g8r2h789g', id: '781dt89g8r2h789g',
key: 'NEW_VAR', key: 'NEW_VAR',
value: '"testvalue"', value: '"testvalue"',
target: [ProjectEnvTarget.Development], target: ['development'],
configurationId: null, configurationId: null,
updatedAt: 1557241361455, updatedAt: 1557241361455,
createdAt: 1557241361455, createdAt: 1557241361455,
@@ -339,11 +338,11 @@ describe('env', () => {
useUser(); useUser();
useTeams('team_dummy'); useTeams('team_dummy');
defaultProject.env.push({ defaultProject.env.push({
type: ProjectEnvType.Encrypted, type: 'encrypted',
id: '781dt89g8r2h789g', id: '781dt89g8r2h789g',
key: 'NEW_VAR', key: 'NEW_VAR',
value: 'testvalue', value: 'testvalue',
target: [ProjectEnvTarget.Development], target: ['development'],
configurationId: null, configurationId: null,
updatedAt: 1557241361455, updatedAt: 1557241361455,
createdAt: 1557241361455, createdAt: 1557241361455,

View File

@@ -5,7 +5,7 @@ import { useTeams } from '../../mocks/team';
import { defaultProject, useProject } from '../../mocks/project'; import { defaultProject, useProject } from '../../mocks/project';
import { client } from '../../mocks/client'; import { client } from '../../mocks/client';
import git from '../../../src/commands/git'; import git from '../../../src/commands/git';
import { Project } from '@vercel-internals/types'; import type { Project } from '@vercel-internals/types';
describe('git', () => { describe('git', () => {
describe('connect', () => { describe('connect', () => {

View File

@@ -4,7 +4,7 @@ import { useUser } from '../../mocks/user';
import { useTeams } from '../../mocks/team'; import { useTeams } from '../../mocks/team';
import { defaultProject, useProject } from '../../mocks/project'; import { defaultProject, useProject } from '../../mocks/project';
import { client } from '../../mocks/client'; import { client } from '../../mocks/client';
import { Project } from '@vercel-internals/types'; import type { Project } from '@vercel-internals/types';
import { import {
pluckIdentifiersFromDeploymentList, pluckIdentifiersFromDeploymentList,
parseSpacedTableRow, parseSpacedTableRow,

View File

@@ -13,7 +13,7 @@ import { client } from '../../../mocks/client';
import { parseRepoUrl } from '../../../../src/util/git/connect-git-provider'; import { parseRepoUrl } from '../../../../src/util/git/connect-git-provider';
import { useUser } from '../../../mocks/user'; import { useUser } from '../../../mocks/user';
import { defaultProject, useProject } from '../../../mocks/project'; import { defaultProject, useProject } from '../../../mocks/project';
import { Project } from '@vercel-internals/types'; import type { Project } from '@vercel-internals/types';
jest.setTimeout(10 * 1000); jest.setTimeout(10 * 1000);

View File

@@ -1,7 +1,7 @@
import fetch from 'node-fetch'; import fetch from 'node-fetch';
import listen from 'async-listen'; import listen from 'async-listen';
import { createServer, IncomingMessage, Server, ServerResponse } from 'http'; import { createServer, IncomingMessage, Server, ServerResponse } from 'http';
import { JSONValue } from '@vercel-internals/types'; import type { JSONValue } from '@vercel-internals/types';
import { import {
responseError, responseError,
responseErrorMessage, responseErrorMessage,

163
pnpm-lock.yaml generated
View File

@@ -92,6 +92,21 @@ importers:
'@types/jest': 27.4.1 '@types/jest': 27.4.1
'@vercel/frameworks': 1.3.0 '@vercel/frameworks': 1.3.0
internals/constants:
specifiers:
'@vercel-internals/tsconfig': '*'
'@vercel/build-utils': 6.3.2
'@vercel/routing-utils': 2.1.10
'@vercel/style-guide': 4.0.2
typescript: 4.9.4
dependencies:
'@vercel/build-utils': 6.3.2
'@vercel/routing-utils': 2.1.10
devDependencies:
'@vercel-internals/tsconfig': link:../tsconfig
'@vercel/style-guide': 4.0.2_typescript@4.9.4
typescript: 4.9.4
internals/get-package-json: internals/get-package-json:
specifiers: specifiers:
'@types/jest': 29.5.0 '@types/jest': 29.5.0
@@ -118,12 +133,16 @@ importers:
internals/types: internals/types:
specifiers: specifiers:
'@types/node': 14.14.31
'@vercel-internals/constants': '*'
'@vercel-internals/tsconfig': '*' '@vercel-internals/tsconfig': '*'
'@vercel/build-utils': 6.3.2 '@vercel/build-utils': 6.3.2
'@vercel/routing-utils': 2.1.10 '@vercel/routing-utils': 2.1.10
'@vercel/style-guide': 4.0.2 '@vercel/style-guide': 4.0.2
typescript: 4.9.4 typescript: 4.9.4
dependencies: dependencies:
'@types/node': 14.14.31
'@vercel-internals/constants': link:../constants
'@vercel/build-utils': 6.3.2 '@vercel/build-utils': 6.3.2
'@vercel/routing-utils': 2.1.10 '@vercel/routing-utils': 2.1.10
devDependencies: devDependencies:
@@ -243,6 +262,7 @@ importers:
'@types/which': 1.3.2 '@types/which': 1.3.2
'@types/write-json-file': 2.2.1 '@types/write-json-file': 2.2.1
'@types/yauzl-promise': 2.1.0 '@types/yauzl-promise': 2.1.0
'@vercel-internals/constants': '*'
'@vercel-internals/get-package-json': '*' '@vercel-internals/get-package-json': '*'
'@vercel-internals/types': '*' '@vercel-internals/types': '*'
'@vercel/build-utils': 6.7.1 '@vercel/build-utils': 6.7.1
@@ -389,6 +409,7 @@ importers:
'@types/which': 1.3.2 '@types/which': 1.3.2
'@types/write-json-file': 2.2.1 '@types/write-json-file': 2.2.1
'@types/yauzl-promise': 2.1.0 '@types/yauzl-promise': 2.1.0
'@vercel-internals/constants': link:../../internals/constants
'@vercel-internals/get-package-json': link:../../internals/get-package-json '@vercel-internals/get-package-json': link:../../internals/get-package-json
'@vercel-internals/types': link:../../internals/types '@vercel-internals/types': link:../../internals/types
'@vercel/client': link:../client '@vercel/client': link:../client
@@ -1105,14 +1126,6 @@ packages:
resolution: {integrity: sha512-1eBykZCd0pPGl5qKtV6Z5ARA6yuhXzHsVN2h5GH5/H6svYa37Jr7vMio5OFpiw1LBHtscrZs7amSkZkcwm0cvQ==} resolution: {integrity: sha512-1eBykZCd0pPGl5qKtV6Z5ARA6yuhXzHsVN2h5GH5/H6svYa37Jr7vMio5OFpiw1LBHtscrZs7amSkZkcwm0cvQ==}
dev: true dev: true
/@ampproject/remapping/2.2.0:
resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/gen-mapping': 0.1.1
'@jridgewell/trace-mapping': 0.3.18
dev: true
/@ampproject/remapping/2.2.1: /@ampproject/remapping/2.2.1:
resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@@ -1157,29 +1170,6 @@ packages:
resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
/@babel/core/7.20.12:
resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.0
'@babel/code-frame': 7.18.6
'@babel/generator': 7.20.7
'@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
'@babel/helper-module-transforms': 7.20.11
'@babel/helpers': 7.20.7
'@babel/parser': 7.20.7
'@babel/template': 7.20.7
'@babel/traverse': 7.20.12
'@babel/types': 7.20.7
convert-source-map: 1.8.0
debug: 4.3.4
gensync: 1.0.0-beta.2
json5: 2.2.2
semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: true
/@babel/core/7.21.4: /@babel/core/7.21.4:
resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@@ -1224,14 +1214,14 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@babel/eslint-parser/7.19.1_@babel+core@7.20.12: /@babel/eslint-parser/7.19.1_@babel+core@7.21.4:
resolution: {integrity: sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==} resolution: {integrity: sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==}
engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0}
peerDependencies: peerDependencies:
'@babel/core': '>=7.11.0' '@babel/core': '>=7.11.0'
eslint: ^7.5.0 || ^8.0.0 eslint: ^7.5.0 || ^8.0.0
dependencies: dependencies:
'@babel/core': 7.20.12 '@babel/core': 7.21.4
'@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
eslint-visitor-keys: 2.1.0 eslint-visitor-keys: 2.1.0
semver: 6.3.0 semver: 6.3.0
@@ -1270,20 +1260,6 @@ packages:
'@babel/types': 7.21.4 '@babel/types': 7.21.4
dev: false dev: false
/@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12:
resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/compat-data': 7.21.4
'@babel/core': 7.20.12
'@babel/helper-validator-option': 7.21.0
browserslist: 4.21.4
lru-cache: 5.1.1
semver: 6.3.0
dev: true
/@babel/helper-compilation-targets/7.21.4_@babel+core@7.21.4: /@babel/helper-compilation-targets/7.21.4_@babel+core@7.21.4:
resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@@ -1354,14 +1330,6 @@ packages:
'@babel/types': 7.21.4 '@babel/types': 7.21.4
dev: false dev: false
/@babel/helper-function-name/7.19.0:
resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.20.7
'@babel/types': 7.21.4
dev: true
/@babel/helper-function-name/7.21.0: /@babel/helper-function-name/7.21.0:
resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@@ -2452,7 +2420,7 @@ packages:
'@babel/code-frame': 7.21.4 '@babel/code-frame': 7.21.4
'@babel/generator': 7.21.4 '@babel/generator': 7.21.4
'@babel/helper-environment-visitor': 7.18.9 '@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.19.0 '@babel/helper-function-name': 7.21.0
'@babel/helper-hoist-variables': 7.18.6 '@babel/helper-hoist-variables': 7.18.6
'@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6
'@babel/parser': 7.21.4 '@babel/parser': 7.21.4
@@ -3479,14 +3447,6 @@ packages:
chalk: 4.1.0 chalk: 4.1.0
dev: true dev: true
/@jridgewell/gen-mapping/0.1.1:
resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
/@jridgewell/gen-mapping/0.3.3: /@jridgewell/gen-mapping/0.3.3:
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@@ -4664,7 +4624,7 @@ packages:
dependencies: dependencies:
cross-spawn: 7.0.3 cross-spawn: 7.0.3
is-glob: 4.0.3 is-glob: 4.0.3
open: 8.4.2 open: 8.4.0
picocolors: 1.0.0 picocolors: 1.0.0
tiny-glob: 0.2.9 tiny-glob: 0.2.9
tslib: 2.5.0 tslib: 2.5.0
@@ -5391,7 +5351,7 @@ packages:
/@types/connect/3.4.35: /@types/connect/3.4.35:
resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
dependencies: dependencies:
'@types/node': 18.14.6 '@types/node': 16.18.11
dev: true dev: true
/@types/content-type/1.1.3: /@types/content-type/1.1.3:
@@ -5770,7 +5730,6 @@ packages:
/@types/node/14.14.31: /@types/node/14.14.31:
resolution: {integrity: sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==} resolution: {integrity: sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==}
dev: true
/@types/node/14.18.33: /@types/node/14.18.33:
resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==}
@@ -5969,7 +5928,7 @@ packages:
/@types/webpack/4.41.33: /@types/webpack/4.41.33:
resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==} resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==}
dependencies: dependencies:
'@types/node': 18.14.6 '@types/node': 16.18.11
'@types/tapable': 1.0.8 '@types/tapable': 1.0.8
'@types/uglify-js': 3.17.1 '@types/uglify-js': 3.17.1
'@types/webpack-sources': 3.2.0 '@types/webpack-sources': 3.2.0
@@ -6625,7 +6584,7 @@ packages:
dependencies: dependencies:
path-to-regexp: 6.1.0 path-to-regexp: 6.1.0
optionalDependencies: optionalDependencies:
ajv: 6.12.2 ajv: 6.12.6
dev: false dev: false
/@vercel/style-guide/4.0.2: /@vercel/style-guide/4.0.2:
@@ -6646,8 +6605,8 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@babel/core': 7.20.12 '@babel/core': 7.21.4
'@babel/eslint-parser': 7.19.1_@babel+core@7.20.12 '@babel/eslint-parser': 7.19.1_@babel+core@7.21.4
'@rushstack/eslint-patch': 1.2.0 '@rushstack/eslint-patch': 1.2.0
'@typescript-eslint/eslint-plugin': 5.54.1_53m6aya5invuvxbjoqdrqnsizu '@typescript-eslint/eslint-plugin': 5.54.1_53m6aya5invuvxbjoqdrqnsizu
'@typescript-eslint/parser': 5.54.1 '@typescript-eslint/parser': 5.54.1
@@ -6689,8 +6648,8 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@babel/core': 7.20.12 '@babel/core': 7.21.4
'@babel/eslint-parser': 7.19.1_@babel+core@7.20.12 '@babel/eslint-parser': 7.19.1_@babel+core@7.21.4
'@rushstack/eslint-patch': 1.2.0 '@rushstack/eslint-patch': 1.2.0
'@typescript-eslint/eslint-plugin': 5.54.1_dz4nhwwkqkiuwckbaic6ewchqe '@typescript-eslint/eslint-plugin': 5.54.1_dz4nhwwkqkiuwckbaic6ewchqe
'@typescript-eslint/parser': 5.54.1_typescript@4.9.4 '@typescript-eslint/parser': 5.54.1_typescript@4.9.4
@@ -6733,8 +6692,8 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@babel/core': 7.20.12 '@babel/core': 7.21.4
'@babel/eslint-parser': 7.19.1_@babel+core@7.20.12 '@babel/eslint-parser': 7.19.1_@babel+core@7.21.4
'@rushstack/eslint-patch': 1.2.0 '@rushstack/eslint-patch': 1.2.0
'@typescript-eslint/eslint-plugin': 5.54.1_dz4nhwwkqkiuwckbaic6ewchqe '@typescript-eslint/eslint-plugin': 5.54.1_dz4nhwwkqkiuwckbaic6ewchqe
'@typescript-eslint/parser': 5.54.1_typescript@4.9.4 '@typescript-eslint/parser': 5.54.1_typescript@4.9.4
@@ -6961,7 +6920,6 @@ packages:
fast-json-stable-stringify: 2.1.0 fast-json-stable-stringify: 2.1.0
json-schema-traverse: 0.4.1 json-schema-traverse: 0.4.1
uri-js: 4.4.1 uri-js: 4.4.1
dev: true
/ajv/8.6.3: /ajv/8.6.3:
resolution: {integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==} resolution: {integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==}
@@ -7635,16 +7593,6 @@ packages:
pako: 0.2.9 pako: 0.2.9
dev: false dev: false
/browserslist/4.21.4:
resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
dependencies:
caniuse-lite: 1.0.30001477
electron-to-chromium: 1.4.356
node-releases: 2.0.10
update-browserslist-db: 1.0.10_browserslist@4.21.4
dev: true
/browserslist/4.21.5: /browserslist/4.21.5:
resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -9103,7 +9051,7 @@ packages:
resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
dependencies: dependencies:
graceful-fs: 4.2.10 graceful-fs: 4.2.11
tapable: 2.2.1 tapable: 2.2.1
dev: true dev: true
@@ -9806,7 +9754,7 @@ packages:
dependencies: dependencies:
debug: 3.2.7 debug: 3.2.7
is-core-module: 2.11.0 is-core-module: 2.11.0
resolve: 1.22.1 resolve: 1.22.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@@ -9892,7 +9840,7 @@ packages:
is-glob: 4.0.3 is-glob: 4.0.3
minimatch: 3.1.2 minimatch: 3.1.2
object.values: 1.1.6 object.values: 1.1.6
resolve: 1.22.1 resolve: 1.22.2
semver: 6.3.0 semver: 6.3.0
tsconfig-paths: 3.14.2 tsconfig-paths: 3.14.2
transitivePeerDependencies: transitivePeerDependencies:
@@ -10017,7 +9965,7 @@ packages:
eslint-plugin-jest: eslint-plugin-jest:
optional: true optional: true
dependencies: dependencies:
eslint-plugin-jest: 27.2.1_tznlougxon7ncnf7fl5rekheiu eslint-plugin-jest: 27.2.1_6xo4tvwzjwdi6xwjpxfe6jodqe
dev: true dev: true
/eslint-plugin-react-hooks/4.6.0: /eslint-plugin-react-hooks/4.6.0:
@@ -12769,7 +12717,7 @@ packages:
'@jest/types': 29.5.0 '@jest/types': 29.5.0
'@types/stack-utils': 2.0.1 '@types/stack-utils': 2.0.1
chalk: 4.1.0 chalk: 4.1.0
graceful-fs: 4.2.10 graceful-fs: 4.2.11
micromatch: 4.0.5 micromatch: 4.0.5
pretty-format: 29.5.0 pretty-format: 29.5.0
slash: 3.0.0 slash: 3.0.0
@@ -12957,7 +12905,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies: dependencies:
'@jest/types': 29.5.0 '@jest/types': 29.5.0
'@types/node': 18.14.6 '@types/node': 14.18.33
chalk: 4.1.0 chalk: 4.1.0
ci-info: 3.7.1 ci-info: 3.7.1
graceful-fs: 4.2.10 graceful-fs: 4.2.10
@@ -14970,15 +14918,6 @@ packages:
is-docker: 2.2.1 is-docker: 2.2.1
is-wsl: 2.2.0 is-wsl: 2.2.0
/open/8.4.2:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
dependencies:
define-lazy-prop: 2.0.0
is-docker: 2.2.1
is-wsl: 2.2.0
dev: true
/optionator/0.8.3: /optionator/0.8.3:
resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
@@ -16040,6 +15979,7 @@ packages:
inherits: 2.0.4 inherits: 2.0.4
string_decoder: 1.3.0 string_decoder: 1.3.0
util-deprecate: 1.0.2 util-deprecate: 1.0.2
dev: true
/readable-stream/3.6.2: /readable-stream/3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
@@ -16119,6 +16059,7 @@ packages:
/regexp-tree/0.1.24: /regexp-tree/0.1.24:
resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==}
hasBin: true
dev: true dev: true
/regexp.prototype.flags/1.4.3: /regexp.prototype.flags/1.4.3:
@@ -16306,6 +16247,7 @@ packages:
/resolve/2.0.0-next.4: /resolve/2.0.0-next.4:
resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
hasBin: true
dependencies: dependencies:
is-core-module: 2.11.0 is-core-module: 2.11.0
path-parse: 1.0.7 path-parse: 1.0.7
@@ -16746,6 +16688,7 @@ packages:
/sort-package-json/2.4.1: /sort-package-json/2.4.1:
resolution: {integrity: sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==} resolution: {integrity: sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==}
hasBin: true
dependencies: dependencies:
detect-indent: 7.0.1 detect-indent: 7.0.1
detect-newline: 4.0.0 detect-newline: 4.0.0
@@ -16857,7 +16800,7 @@ packages:
/split2/3.2.2: /split2/3.2.2:
resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
dependencies: dependencies:
readable-stream: 3.6.0 readable-stream: 3.6.2
/sprintf-js/1.0.3: /sprintf-js/1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
@@ -17253,7 +17196,7 @@ packages:
end-of-stream: 1.4.1 end-of-stream: 1.4.1
fs-constants: 1.0.0 fs-constants: 1.0.0
inherits: 2.0.4 inherits: 2.0.4
readable-stream: 3.6.0 readable-stream: 3.6.2
dev: false dev: false
/tar/4.4.18: /tar/4.4.18:
@@ -17365,7 +17308,7 @@ packages:
/through2/4.0.2: /through2/4.0.2:
resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
dependencies: dependencies:
readable-stream: 3.6.0 readable-stream: 3.6.2
/time-span/4.0.0: /time-span/4.0.0:
resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==}
@@ -17963,6 +17906,7 @@ packages:
/typescript/4.9.4: /typescript/4.9.4:
resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
engines: {node: '>=4.2.0'} engines: {node: '>=4.2.0'}
hasBin: true
dev: true dev: true
/typescript/4.9.5: /typescript/4.9.5:
@@ -18166,17 +18110,6 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
dev: false dev: false
/update-browserslist-db/1.0.10_browserslist@4.21.4:
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
browserslist: 4.21.4
escalade: 3.1.1
picocolors: 1.0.0
dev: true
/update-browserslist-db/1.0.10_browserslist@4.21.5: /update-browserslist-db/1.0.10_browserslist@4.21.5:
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
hasBin: true hasBin: true