diff --git a/.changeset/empty-planes-rhyme.md b/.changeset/empty-planes-rhyme.md new file mode 100644 index 00000000..f119364f --- /dev/null +++ b/.changeset/empty-planes-rhyme.md @@ -0,0 +1,5 @@ +--- +'@onehop/js': patch +--- + +Converted to .ts imports, added some byte helper fns (from hop-go) diff --git a/.changeset/funny-goats-battle.md b/.changeset/funny-goats-battle.md new file mode 100644 index 00000000..f7a61ca5 --- /dev/null +++ b/.changeset/funny-goats-battle.md @@ -0,0 +1,5 @@ +--- +'@onehop/js': patch +--- + +Properly JSDoc all symbols diff --git a/.changeset/polite-garlics-tie.md b/.changeset/polite-garlics-tie.md new file mode 100644 index 00000000..b79f5d43 --- /dev/null +++ b/.changeset/polite-garlics-tie.md @@ -0,0 +1,5 @@ +--- +'@onehop/js': minor +--- + +Convert to ts 5, export more symbols, deprecate some others diff --git a/.gitignore b/.gitignore index 80eea3d4..0cd2bf35 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,8 @@ node_modules .DS_Store dist _workbench.ts -docs .env +temp +.next +docs +package.tgz diff --git a/.vscode/settings.json b/.vscode/settings.json index f3347b5a..4d360cbc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,3 @@ { - "yaml.schemas": { - "https://json.schemastore.org/github-action.json": "./.github/workflows/build.yml" - }, "typescript.tsdk": "node_modules/typescript/lib" } diff --git a/api-extractor.json b/api-extractor.json new file mode 100644 index 00000000..5796b365 --- /dev/null +++ b/api-extractor.json @@ -0,0 +1,49 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + "mainEntryPointFilePath": "/dist/index.d.ts", + + "bundledPackages": [], + + "compiler": { + "overrideTsconfig": { + "moduleResolution": "NodeNext" + } + }, + + "apiReport": { + "enabled": true, + "reportFolder": "/temp" + }, + + "docModel": { + "enabled": true, + "apiJsonFilePath": "/temp/js.api.json" + }, + + "dtsRollup": { + "enabled": false + }, + + "tsdocMetadata": {}, + + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + + "extractorMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + } + } + } +} diff --git a/build/copy.js b/build/copy.js new file mode 100644 index 00000000..1dd80377 --- /dev/null +++ b/build/copy.js @@ -0,0 +1,19 @@ +import {copyFileSync, readdirSync} from 'node:fs'; +import {join} from 'node:path'; +import {fileURLToPath} from 'node:url'; + +const dist = join(fileURLToPath(import.meta.url), '..', '..', 'dist'); + +const utils = readdirSync(join(dist, 'utils')); + +const copy = (from, to) => { + copyFileSync(join(dist, from), join(dist, to)); +}; + +copy('index.d.ts', 'index.d.cts'); + +for (const util of utils) { + copy(`utils/${util}/index.d.ts`, `utils/${util}/index.d.cts`); +} + +copy('node/index.d.ts', 'node/index.d.cts'); diff --git a/package.json b/package.json index 2e287a79..37c60bd4 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,24 @@ { "name": "@onehop/js", "version": "1.29.0", + "type": "module", "main": "./dist/index.cjs", - "types": "./dist/index.d.ts", "module": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { ".": { "node": { "import": "./dist/node/index.js", - "require": "./dist/node/index.cjs", - "types": "./dist/index.d.ts" + "require": "./dist/node/index.cjs" }, - "browser": "./dist/index.js", "import": "./dist/index.js", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" + "require": "./dist/index.cjs" }, "./utils/zod": { "import": "./dist/utils/zod/index.js", - "require": "./dist/utils/zod/index.cjs", - "types": "./dist/utils/zod/index.d.ts" + "require": "./dist/utils/zod/index.cjs" } }, - "type": "module", "repository": "https://github.com/hopinc/js.git", "homepage": "https://hop.io", "author": "Hop ", @@ -40,29 +36,30 @@ "utils" ], "scripts": { - "build": "rm -rf dist && tsup", + "build": "rm -rf dist && tsup && node ./build/copy.js", "bench": "HOP_DEBUG=true tsx _workbench.ts", "release": "yarn build && yarn changeset publish", - "vercel-build": "yarn typedoc --plugin typedoc-plugin-missing-exports src/index.ts", - "test": "tsx tests/index.ts" + "fullbuild": "yarn build && yarn docs", + "test": "tsx tests/index.ts", + "package": "yarn build && yarn pack" }, "devDependencies": { "@changesets/cli": "2.26.0", - "@types/glob": "8.0.1", - "@types/node": "18.13.0", + "@types/glob": "8.1.0", + "@types/node": "18.15.3", "dotenv": "16.0.3", - "glob": "8.1.0", + "glob": "9.3.0", "prettier": "2.8.4", - "tsup": "6.6.0", - "tsx": "3.12.3", - "typedoc": "0.23.24", + "tsup": "6.6.3", + "tsx": "3.12.5", + "typedoc": "0.23.27", "typedoc-plugin-markdown": "3.14.0", "typedoc-plugin-missing-exports": "1.0.0", - "typescript": "^4.9.5" + "typescript": "^5.0.2" }, "dependencies": { "@onehop/json-methods": "^1.2.0", "cross-fetch": "^3.1.5", - "zod": "^3.20.3" + "zod": "^3.21.4" } } diff --git a/renovate.json b/renovate.json index 39a2b6e9..7ec37f6f 100644 --- a/renovate.json +++ b/renovate.json @@ -1,6 +1,4 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base" - ] + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:base"] } diff --git a/src/hop.ts b/src/hop.ts index 22da4f7d..62897e66 100644 --- a/src/hop.ts +++ b/src/hop.ts @@ -1,4 +1,8 @@ -import {APIAuthentication, APIClient, APIClientOptions} from './rest/client.js'; +import { + type APIAuthentication, + APIClient, + type APIClientOptions, +} from './rest/client.ts'; import { channels, ignite, @@ -6,16 +10,23 @@ import { projects, registry, users, -} from './sdks/index.js'; -import {DEFAULT_BASE_URL} from './util/constants.js'; +} from './sdks/index.ts'; +import {DEFAULT_BASE_URL} from './util/constants.ts'; +/** + * Partial options for the Hop client + * @public + */ export type PartialAPIOptions = Partial< Omit > & Pick; /** - * Constructs a new instance of Hop and all of its SDKs. + * Root class containing all methods and types for interacting with the Hop platform. + * This will be the entrypoint for most users of the Hop SDK. + * + * @public * * @example * ```ts diff --git a/src/index.ts b/src/index.ts index 4da454af..0002ebaf 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,8 +1,8 @@ -export * from './hop.js'; -export * from './permissions.js'; -export * from './rest/index.js'; -export {type APIAuthentication} from './rest/index.js'; -export {ChannelType} from './rest/types/channels.js'; +export * from './hop.ts'; +export * from './permissions.ts'; +export * from './rest/index.ts'; +export {type APIAuthentication} from './rest/index.ts'; +export {ChannelType} from './rest/types/channels.ts'; export { BuildMethod, BuildState, @@ -13,5 +13,5 @@ export { RuntimeType, VolumeFormat, type BuildEnvironment, -} from './rest/types/ignite.js'; -export * from './util/index.js'; +} from './rest/types/ignite.ts'; +export * from './util/index.ts'; diff --git a/src/permissions.ts b/src/permissions.ts index 207ea3dc..351bb194 100644 --- a/src/permissions.ts +++ b/src/permissions.ts @@ -1,3 +1,7 @@ +/** + * A list of all permissions and their representative names + * @public + */ export enum PROJECT_PERMISSION { ADD_MEMBER = 'add_member', REMOVE_MEMBER = 'remove_member', @@ -47,6 +51,10 @@ export enum PROJECT_PERMISSION { TUNNEL_DEPLOYMENT = 'tunnel_deployment', } +/** + * Individual bitwise permissions + * @public + */ export const permissionsMap = { [PROJECT_PERMISSION.ADD_MEMBER]: 1n << 0n, [PROJECT_PERMISSION.REMOVE_MEMBER]: 1n << 1n, @@ -96,6 +104,10 @@ export const permissionsMap = { [PROJECT_PERMISSION.TUNNEL_DEPLOYMENT]: 1n << 46n, }; +/** + * Broader permission map + * @public + */ export const BROAD_PERMISSIONS_MAP = { MANAGE_MEMBERS: permissionsMap.add_member | @@ -160,6 +172,10 @@ export const BROAD_PERMISSIONS_MAP = { MANAGE_BILLING: permissionsMap.read_billing, }; +/** + * Bitwise role flags that a user can be as part of a project + * @public + */ export const roles = { viewer: BROAD_PERMISSIONS_MAP.READ_ONLY, editor: @@ -192,6 +208,10 @@ export const roles = { BROAD_PERMISSIONS_MAP.MANAGE_BILLING, }; +/** + * Permission utility functions + * @public + */ export const permissions = { add(value: bigint, flag: bigint) { return BigInt(value) | BigInt(flag); diff --git a/src/rest/client.ts b/src/rest/client.ts index 3e38093b..27e5bdac 100644 --- a/src/rest/client.ts +++ b/src/rest/client.ts @@ -1,24 +1,66 @@ -import {IS_BROWSER} from '../util/constants.js'; -import {fetch, Headers, Request} from '../util/fetch.js'; -import {ExtractRouteParams} from '../util/index.js'; -import {createURLBuilder} from '../util/urls.js'; -import {APIResponse, Endpoints, ErroredAPIResponse} from './endpoints.js'; -import {getIdPrefix, Id, Method} from './types/index.js'; - +import {IS_BROWSER} from '../util/constants.ts'; +import {fetch, Headers, Request} from '../util/fetch.ts'; +import type {ExtractRouteParams} from '../util/index.ts'; +import {createURLBuilder} from '../util/urls.ts'; +import type {APIResponse, Endpoints, ErroredAPIResponse} from './endpoints.ts'; +import {getIdPrefix, type Id, type Method} from './types/index.ts'; + +/** + * A valid ID prefix supported by the Hop API for authetication + * @public + */ export type APIAuthenticationPrefix = 'ptk' | 'bearer' | 'pat'; + +/** + * Extract an endpoint from a given method and path + * @public + */ +export type ExtractEndpoint< + Method extends string, + Path extends string, +> = Extract; + +/** + * Pull all paths for a given method + * @internal + */ +export type PathsFor = Extract< + Endpoints, + {method: M} +>['path']; + +/** + * All possible authentication ID types + * @public + */ export type APIAuthentication = Id; +/** + * Validates that an authentication prefix is valid + * @param auth - The prefix to validate + * @returns `true` if the prefix is valid, `false` otherwise + * @public + */ export function validateAPIAuthentication( auth: string, ): auth is APIAuthenticationPrefix { return auth === 'bearer' || auth === 'pat' || auth === 'ptk'; } +/** + * Options passed to the API client. + * This will usually come from Hop#constructor in most cases + * @public + */ export interface APIClientOptions { readonly baseUrl: string; readonly authentication: APIAuthentication; } +/** + * An error that occurred as a response from the Hop API. + * @public + */ export class HopAPIError extends Error { public readonly status: number; @@ -33,9 +75,17 @@ export class HopAPIError extends Error { } } +/** + * Generate a query object that includes typed URL params + * @public + */ export type Query = ExtractRouteParams & Record; +/** + * API Client that is responsible for handling all requests + * @public + */ export class APIClient { public static getAuthType(auth: APIAuthentication) { const prefix = getIdPrefix(auth); @@ -48,7 +98,7 @@ export class APIClient { } private readonly options; - private agent: unknown; + private agent: import('node:https').Agent | null; public readonly authType; public readonly url; @@ -64,7 +114,7 @@ export class APIClient { this.agent = null; } - async get['path']>( + async get>( path: Path, query: Query, init?: RequestInit, @@ -210,7 +260,7 @@ export class APIClient { const request = new Request(url, { method, - body: body ? JSON.stringify(body) : undefined, + body: body ? JSON.stringify(body) : null, headers, ...init, }); diff --git a/src/rest/endpoints.ts b/src/rest/endpoints.ts index 06ee98d6..ae1e4a0d 100644 --- a/src/rest/endpoints.ts +++ b/src/rest/endpoints.ts @@ -1,16 +1,24 @@ -import {ChannelEndpoints} from './types/channels.js'; -import {IgniteEndpoints} from './types/ignite.js'; -import {Method} from './types/index.js'; -import {PipeEndpoints} from './types/pipe.js'; -import {ProjectsEndpoints} from './types/projects.js'; -import {RegistryEndpoints} from './types/registry.js'; -import {UserEndpoints} from './types/users.js'; +import type {ChannelEndpoints} from './types/channels.ts'; +import type {IgniteEndpoints} from './types/ignite.ts'; +import type {Method} from './types/index.ts'; +import type {PipeEndpoints} from './types/pipe.ts'; +import type {ProjectsEndpoints} from './types/projects.ts'; +import type {RegistryEndpoints} from './types/registry.ts'; +import type {UserEndpoints} from './types/users.ts'; +/** + * A successful response from an API endpoint + * @public + */ export type SuccessfulAPIResponse = { success: true; data: T; }; +/** + * An error response from an API endpoint + * @public + */ export type ErroredAPIResponse = { success: false; error: { @@ -19,8 +27,16 @@ export type ErroredAPIResponse = { }; }; +/** + * The response from an API endpoint + * @public + */ export type APIResponse = SuccessfulAPIResponse | ErroredAPIResponse; +/** + * A successful response from an API endpoint + * @public + */ export type Endpoint< M extends Method, Path extends string, @@ -33,6 +49,10 @@ export type Endpoint< body: Body; }; +/** + * A successful response from an API endpoint + * @public + */ export type Endpoints = | IgniteEndpoints | RegistryEndpoints diff --git a/src/rest/index.ts b/src/rest/index.ts index 0bcbfe61..130fef87 100644 --- a/src/rest/index.ts +++ b/src/rest/index.ts @@ -1,3 +1,10 @@ -export * from './client.js'; -export * from './endpoints.js'; -export * from './types/index.js'; +export * from './client.ts'; +export * from './endpoints.ts'; +export * from './types/api.ts'; +export * from './types/channels.ts'; +export * from './types/ignite.ts'; +export * from './types/index.ts'; +export * from './types/pipe.ts'; +export * from './types/projects.ts'; +export * from './types/registry.ts'; +export * from './types/users.ts'; diff --git a/src/rest/types/api.ts b/src/rest/types/api.ts index 946be275..0c072b71 100644 --- a/src/rest/types/api.ts +++ b/src/rest/types/api.ts @@ -1,6 +1,44 @@ -export * as Channels from './channels.js'; -export * as Ignite from './ignite.js'; -export * as Pipe from './pipe.js'; -export * as Projects from './projects.js'; -export * as Registry from './registry.js'; -export * as Users from './users.js'; +import * as Channels from './channels.ts'; +import * as Ignite from './ignite.ts'; +import * as Pipe from './pipe.ts'; +import * as Projects from './projects.ts'; +import * as Registry from './registry.ts'; +import * as Users from './users.ts'; + +export { + /** + * Namespace containing information about channels + * @public + */ + Channels, + + /** + * Namespace containing information about Ignite + * @public + */ + Ignite, + + /** + * Namespace containing information about Pipe + * @public + */ + Pipe, + + /** + * Namespace containing information about projects + * @public + */ + Projects, + + /** + * Namespace containing information about the registry + * @public + */ + Registry, + + /** + * Namespace containing information about users + * @public + */ + Users, +}; diff --git a/src/rest/types/channels.ts b/src/rest/types/channels.ts index 627106f8..787f8dc5 100644 --- a/src/rest/types/channels.ts +++ b/src/rest/types/channels.ts @@ -1,7 +1,11 @@ -import {Empty, Id, Timestamp} from '../../util/types.js'; -import {Endpoint} from '../endpoints.js'; -import {Project} from './projects.js'; +import type {Empty, Id, Timestamp} from '../../util/types.ts'; +import type {Endpoint} from '../endpoints.ts'; +import type {Project} from './projects.ts'; +/** + * Types that a channel can be + * @public + */ export enum ChannelType { PRIVATE = 'private', PUBLIC = 'public', @@ -12,9 +16,16 @@ export enum ChannelType { * Generic state type of a channel * @public */ -export type State = Record; +export type AnyStateObject = Record; + +/** + * @deprecated Use {@link AnyStateObject} instead + * @public + */ +export type State = AnyStateObject; /** + * Definition of a channel * @public */ export interface Channel { @@ -31,7 +42,7 @@ export interface Channel { /** * State metadata */ - state: State; + state: AnyStateObject; /** * Capabilities of the channel @@ -49,6 +60,10 @@ export interface Channel { type: ChannelType; } +/** + * A token for a channel + * @public + */ export interface ChannelToken { /** * The ID for the token @@ -58,7 +73,7 @@ export interface ChannelToken { /** * State for this token */ - state: State; + state: AnyStateObject; /** * The project this channel token is associated with @@ -71,6 +86,10 @@ export interface ChannelToken { is_online: boolean; } +/** + * Endpoints for channels + * @public + */ export type ChannelEndpoints = | Endpoint< 'POST', @@ -88,7 +107,7 @@ export type ChannelEndpoints = 'POST', '/v1/channels/tokens', {token: ChannelToken}, - {state: State} + {state: AnyStateObject} > | Endpoint<'DELETE', '/v1/channels/:channel_id', Empty> | Endpoint<'GET', '/v1/channels/:channel_id', {channel: Channel}> @@ -100,9 +119,9 @@ export type ChannelEndpoints = {e: string; d: unknown} > | Endpoint<'PUT', '/v1/channels/:channel_id/subscribers/:token', Empty> - | Endpoint<'PATCH', '/v1/channels/:channel_id/state', Empty, State> - | Endpoint<'PUT', '/v1/channels/:channel_id/state', Empty, State> - | Endpoint<'GET', '/v1/channels/:channel_id/state', {state: State}> + | Endpoint<'PATCH', '/v1/channels/:channel_id/state', Empty, AnyStateObject> + | Endpoint<'PUT', '/v1/channels/:channel_id/state', Empty, AnyStateObject> + | Endpoint<'GET', '/v1/channels/:channel_id/state', {state: AnyStateObject}> | Endpoint< 'POST', '/v1/channels/:channel_id/messages', diff --git a/src/rest/types/ignite.ts b/src/rest/types/ignite.ts index ac8fe476..5a37da16 100644 --- a/src/rest/types/ignite.ts +++ b/src/rest/types/ignite.ts @@ -1,20 +1,25 @@ -import {ByteSizeString} from '../../util/index.js'; -import { +import type {ByteSizeString} from '../../util/index.ts'; +import type { Empty, HopShDomain, Id, InternalHopDomain, MakeOptional, Timestamp, -} from '../../util/types.js'; -import {Endpoint} from '../endpoints.js'; +} from '../../util/types.ts'; +import type {Endpoint} from '../endpoints.ts'; +/** + * All regions that Hop operates in + * @public + */ export enum Regions { US_EAST_1 = 'us-east-1', } /** * Runtime types are used to describe the type of a deployment or container + * @public */ export enum RuntimeType { /** @@ -34,7 +39,8 @@ export enum RuntimeType { } /** - * Container state is relatively self-explanatory. It describes what the container is currently doing. + * An enum of states a container can be in + * @public */ export enum ContainerState { /** @@ -70,6 +76,7 @@ export enum ContainerState { /** * Rollout state for deployments + * @public */ export enum RolloutState { PENDING = 'pending', @@ -79,6 +86,7 @@ export enum RolloutState { /** * Restart policy for deployments + * @public */ export enum RestartPolicy { NEVER = 'never', @@ -88,16 +96,25 @@ export enum RestartPolicy { /** * Types for supported GPU + * @public */ export enum VgpuType { A400 = 'a400', } +/** + * Formats of volumes + * @public + */ export enum VolumeFormat { EXT4 = 'ext4', XFS = 'xfs', } +/** + * A definition of a volume + * @public + */ export interface VolumeDefinition { /** * The format of the volume @@ -115,6 +132,10 @@ export interface VolumeDefinition { mount_path: string; } +/** + * The definition of a container + * @public + */ export interface Container { /** * The ID of the container @@ -194,6 +215,10 @@ export interface Container { state: ContainerState; } +/** + * A definition of a deployment + * @public + */ export interface Deployment { /** * The ID of the deployment @@ -222,7 +247,7 @@ export interface Deployment { /** * Current active rollout for deployment - * @deprecated Use latest_rollout + * @deprecated Use {@link Deployment.latest_rollout} instead */ active_rollout: DeploymentRollout | null; @@ -255,7 +280,7 @@ export interface Deployment { /** * Metadata for deployment */ - metadata: DeploymentMetaData | null; + metadata: DeploymentMetadata | null; /** * Build cache settings for deployment @@ -268,6 +293,10 @@ export interface Deployment { build_settings?: BuildSettings; } +/** + * A definition of a build's settings + * @public + */ export interface BuildSettings { /** * Root directory for build @@ -275,14 +304,29 @@ export interface BuildSettings { root_directory?: string; } -export interface DeploymentMetaData { +/** + * Deployment metadata + * @public + */ +export interface DeploymentMetadata { container_port_mappings: Record, string[]>; ignored_boarding?: boolean; created_from_preset?: string; created_first_gateway?: boolean; } -export interface BuildMetaData { +/** + * Deployment metadata + * @deprecated Use {@link DeploymentMetadata} instead + * @public + */ +export type DeploymentMetaData = DeploymentMetadata; + +/** + * Metadata attached to a build + * @public + */ +export interface BuildMetadata { /** * Account type of repo owner */ @@ -334,8 +378,16 @@ export interface BuildMetaData { commit_url?: string; } +/** + * Metadata attached to a build + * @deprecated Use {@link BuildMetadata} instead + * @public + */ +export type BuildMetaData = BuildMetadata; + /** * The inferred environment type of a build + * @public */ export enum BuildEnvironmentType { NIXPACKS = 'nixpacks', @@ -344,6 +396,7 @@ export enum BuildEnvironmentType { /** * The validated nixpacks plan for this build + * @public */ export interface NixPlan { language: string | null; @@ -358,6 +411,7 @@ export interface NixPlan { /** * Build environment contians information about the * language and build commands used to build the deployment + * @public */ export interface BuildEnvironment { type: BuildEnvironmentType; @@ -366,12 +420,17 @@ export interface BuildEnvironment { /** * Why the uploaded build content was rejected + * @public */ export interface ValidationFailure { reason: string; help_link: string | null; } +/** + * A build is a single build of a deployment + * @public + */ export interface Build { /** * ID of the build @@ -386,7 +445,7 @@ export interface Build { /** * Metadata pertaining to build (mostly for GitHub) */ - metadata: BuildMetaData | null; + metadata: BuildMetadata | null; /** * Build method (GitHub or CLI) @@ -429,6 +488,10 @@ export interface Build { validation_failure: ValidationFailure | null; } +/** + * Information about a deployment's health check configuration + * @public + */ export type HealthCheck = { /** * The ID of health check @@ -439,7 +502,15 @@ export type HealthCheck = { * Protocol for health check */ protocol: 'http'; + + /** + * Path for health check + */ path: string; + + /** + * Port for health check + */ port: number; /** @@ -470,6 +541,10 @@ export type HealthCheck = { created_at: Timestamp; }; +/** + * A deployment rollout + * @public + */ export type DeploymentRollout = { /** * The rollout ID for rollout @@ -521,11 +596,15 @@ export type DeploymentRollout = { acknowledged: boolean; }; +/** + * Data required to create a deployment + * @internal + */ export type CreateDeploymentConfig = MakeOptional; /** * The strategy for scaling multiple containers. - * @warning This property is not yet fully complete + * @public */ export enum ContainerStrategy { /** @@ -535,11 +614,14 @@ export enum ContainerStrategy { /** * Have Hop automatically scale containers based on load - * @warning This is incomplete */ // AUTOSCALE = 'autoscale', } +/** + * A deployment's config + * @public + */ export interface DeploymentConfig { /** * The name of the deployment @@ -601,6 +683,7 @@ export interface DeploymentConfig { /** * Docker image config + * @public */ export interface Image { /** @@ -622,6 +705,7 @@ export interface Image { /** * Docker image registry authorization + * @public */ export interface Auth { username: string; @@ -630,6 +714,7 @@ export interface Auth { /** * GitHub repo type sent from API (NOT USED IN IMAGES) + * @public */ export interface GHRepo { id: number; @@ -641,6 +726,7 @@ export interface GHRepo { /** * GitHub repo partial used for images + * @public */ export interface ImageGHRepo { repo_id: number; @@ -650,6 +736,7 @@ export interface ImageGHRepo { /** * Resources allocated to a deployment + * @public */ export interface Resources { /** @@ -671,6 +758,7 @@ export interface Resources { /** * Virtual GPU config + * @public */ export interface Vgpu { /** @@ -686,6 +774,7 @@ export interface Vgpu { /** * Logs from a container + * @public */ export interface ContainerLog { /** @@ -712,6 +801,7 @@ export interface ContainerLog { /** * Types of build methods supported by Hop + * @public */ export enum BuildMethod { GITHUB = 'github', @@ -720,6 +810,7 @@ export enum BuildMethod { /** * Types of gateways supported by Hop + * @public */ export enum GatewayType { /** @@ -735,6 +826,7 @@ export enum GatewayType { /** * Gateways are used to connect services to the internet or a private network + * @public */ export interface Gateway { /** @@ -755,7 +847,7 @@ export interface Gateway { /** * The protocol for this gateway (Only for external) * - * @warning Currently, hop only supports HTTP. This will eventually change to an enum + * @alpha Currently, hop only supports HTTP. This will eventually change to an enum */ protocol: 'http' | null; @@ -795,12 +887,20 @@ export interface Gateway { domains: Domain[]; } +/** + * An enum of states a domain can be in + * @public + */ export enum DomainState { PENDING = 'pending', VALID_CNAME = 'valid_cname', SSL_ACTIVE = 'ssl_active', } +/** + * An enum of states a build can be in + * @public + */ export enum BuildState { VALIDATING = 'validating', PENDING = 'pending', @@ -810,6 +910,10 @@ export enum BuildState { VALIDATION_FAILED = 'validation_failed', } +/** + * A domain is a DNS record that points to a gateway + * @public + */ export interface Domain { /** * The ID of the domain @@ -837,11 +941,19 @@ export interface Domain { redirect: DomainRedirect | null; } +/** + * A redirect setup for a domain + * @public + */ export interface DomainRedirect { url: string; status_code: 301 | 302 | 307 | 308; } +/** + * All endpoints for the Ignite API + * @public + */ export type IgniteEndpoints = | Endpoint<'GET', '/v1/ignite/deployments', {deployments: Deployment[]}> | Endpoint< @@ -937,7 +1049,7 @@ export type IgniteEndpoints = 'PATCH', '/v1/ignite/deployments/:deployment_id/metadata', {deployment: Deployment}, - Partial + Partial > | Endpoint< 'POST', diff --git a/src/rest/types/index.ts b/src/rest/types/index.ts index f09202c5..e5e17d6a 100644 --- a/src/rest/types/index.ts +++ b/src/rest/types/index.ts @@ -1,3 +1,10 @@ -import * as API from './api.js'; -export * from '../../util/types.js'; -export {API}; +export * from '../../util/types.ts'; +import * as API from './api.ts'; + +export { + /** + * All types defined in the Hop API + * @public + */ + API, +}; diff --git a/src/rest/types/pipe.ts b/src/rest/types/pipe.ts index e0ccaa52..193d094e 100644 --- a/src/rest/types/pipe.ts +++ b/src/rest/types/pipe.ts @@ -1,9 +1,17 @@ -import {Empty, Id, Timestamp} from '../../util/types.js'; -import {Endpoint} from '../endpoints.js'; -import {Regions} from './ignite.js'; - +import type {Empty, Id, Timestamp} from '../../util/types.ts'; +import type {Endpoint} from '../endpoints.ts'; +import type {Regions} from './ignite.ts'; + +/** + * A protocol that can be used to deliver a stream + * @public + */ export type DeliveryProtocol = 'webrtc' | 'hls'; +/** + * A room that you can stream to + * @public + */ export interface Room { /** * The ID of this stream @@ -51,6 +59,10 @@ export interface Room { state: 'live' | 'offline'; } +/** + * The endpoints for the pipe API + * @public + */ export type PipeEndpoints = | Endpoint<'GET', '/v1/pipe/rooms', {rooms: Room[]}> | Endpoint< @@ -71,11 +83,13 @@ export type PipeEndpoints = ephemeral: boolean; - llhls_config?: { - wcl_delay: number; - artificial_delay: number; - max_playout_bitrate_preset: string; - }; + llhls_config?: + | { + wcl_delay: number; + artificial_delay: number; + max_playout_bitrate_preset: string; + } + | undefined; } > | Endpoint<'DELETE', '/v1/pipe/rooms/:room_id', Empty>; diff --git a/src/rest/types/projects.ts b/src/rest/types/projects.ts index edfe87ba..058ea9ad 100644 --- a/src/rest/types/projects.ts +++ b/src/rest/types/projects.ts @@ -1,7 +1,11 @@ -import {Empty, Id, Timestamp} from '../../util/types.js'; -import {Endpoint} from '../endpoints.js'; -import {User} from './users.js'; +import type {Empty, Id, Timestamp} from '../../util/types.ts'; +import type {Endpoint} from '../endpoints.ts'; +import type {User} from './users.ts'; +/** + * A member is a partial user with information about their membership in a project + * @public + */ export type Member = Omit & { /** * The ID of the project member @@ -24,11 +28,19 @@ export type Member = Omit & { joined_at: Timestamp; }; +/** + * A project tier + * @public + */ export enum ProjectTier { FREE = 'free', PAID = 'paid', } +/** + * A role that a member can have in a project + * @public + */ export interface MemberRole { /** * The ID of the role @@ -48,6 +60,7 @@ export interface MemberRole { /** * A project token for a project + * @public */ export interface ProjectToken { /** @@ -73,6 +86,7 @@ export interface ProjectToken { /** * Type of a project + * @public */ export enum ProjectType { /** @@ -86,6 +100,10 @@ export enum ProjectType { PERSONAL = 'personal', } +/** + * A project on Hop + * @public + */ export interface Project { /** * The ID of the project @@ -129,20 +147,36 @@ export interface Project { quota_usage: QuotaUsage; } +/** + * Default quotas for a project + * @public + */ export interface DefaultQuotas { vcpu: number; ram: number; volume: number; } +/** + * Quota overrides for a project + * @public + */ export interface QuotaOverrides {} +/** + * Current usage of a quota for a project + * @public + */ export interface QuotaUsage { vcpu: number; ram: number; volume: number; } +/** + * A secret is a key/value pair that can be used to store sensitive information + * @public + */ export interface Secret { /** * The ID of the secret @@ -170,6 +204,10 @@ export interface Secret { in_use_by: Id<'deployment'>[]; } +/** + * The endpoints for projects + * @public + */ export type ProjectsEndpoints = | Endpoint< 'DELETE', diff --git a/src/rest/types/registry.ts b/src/rest/types/registry.ts index 78937306..6c396c32 100644 --- a/src/rest/types/registry.ts +++ b/src/rest/types/registry.ts @@ -1,6 +1,10 @@ -import {Empty} from '../../util/types.js'; -import {Endpoint} from '../endpoints.js'; +import type {Empty} from '../../util/types.ts'; +import type {Endpoint} from '../endpoints.ts'; +/** + * All endpoints for Hop's Docker registry + * @public + */ export type RegistryEndpoints = | Endpoint<'DELETE', '/v1/registry/images/:image', Empty> | Endpoint<'GET', '/v1/registry/images', {images: string[]}> diff --git a/src/rest/types/users.ts b/src/rest/types/users.ts index f701bd15..11d66cf4 100644 --- a/src/rest/types/users.ts +++ b/src/rest/types/users.ts @@ -1,9 +1,10 @@ -import {Empty, Id, Timestamp} from '../../util/types.js'; -import {Endpoint} from '../endpoints.js'; -import {MemberRole, Project} from './projects.js'; +import type {Empty, Id, Timestamp} from '../../util/types.ts'; +import type {Endpoint} from '../endpoints.ts'; +import type {MemberRole, Project} from './projects.ts'; /** * A user object + * @public */ export interface User { /** @@ -29,6 +30,7 @@ export interface User { /** * Self User Object + * @public */ export interface SelfUser extends User { /** @@ -57,6 +59,10 @@ export interface SelfUser extends User { admin: boolean; } +/** + * A personal access token + * @public + */ export interface PAT { /** * The ID of the pat @@ -71,7 +77,7 @@ export interface PAT { /** * The pat token * - * @warning This value will be partially censored if it + * @alpha This value will be partially censored if it */ pat: string; @@ -81,6 +87,10 @@ export interface PAT { created_at: Timestamp; } +/** + * All user endpoints + * @public + */ export type UserEndpoints = | Endpoint< 'GET', diff --git a/src/sdks/channels.ts b/src/sdks/channels.ts index e480d15d..97208c2b 100644 --- a/src/sdks/channels.ts +++ b/src/sdks/channels.ts @@ -1,21 +1,30 @@ import {create} from '@onehop/json-methods'; -import {API, Id} from '../rest/index.js'; -import {sdk} from './create.js'; +import type {API, Id} from '../rest/index.ts'; +import {sdk} from './create.ts'; /** * New state to set to a channel, or a callback function that will produce the new state + * @public */ -export type SetStateAction = +export type SetStateAction = | T | ((oldState: T) => T | Promise); +/** + * Channels SDK client + * @public + */ export const channels = sdk(client => { const Channels = create().methods({ - async setState(state: SetStateAction) { + async setState( + state: SetStateAction, + ) { await updateState(this.id, state, 'set'); }, - async patchState(state: SetStateAction) { + async patchState( + state: SetStateAction, + ) { await updateState(this.id, state, 'patch'); }, @@ -32,12 +41,12 @@ export const channels = sdk(client => { }, }); - async function updateState( + async function updateState( channelId: API.Channels.Channel['id'], newState: SetStateAction, mode: 'patch' | 'set', ) { - let state: API.Channels.State; + let state: API.Channels.AnyStateObject; if (typeof newState === 'function') { const {state: oldState} = await client.get( @@ -65,11 +74,11 @@ export const channels = sdk(client => { /** * Creates a new channel * - * @param type The type of the channel to create - * @param id An ID to assign to the channel (optional, set this to `undefined` or `null` if you do not want to specify an ID) - * @param project A project ID (if necessary) to assign this to + * @param type - The type of the channel to create + * @param id - An ID to assign to the channel (optional, set this to `undefined` or `null` if you do not want to specify an ID) + * @param project - A project ID (if necessary) to assign this to */ - async create( + async create( type: API.Channels.ChannelType, id?: string | null, options?: {state?: T} | null, @@ -107,7 +116,7 @@ export const channels = sdk(client => { /** * Get all channels for a project * - * @param project An optional project ID if authenticating with a PAT or Bearer + * @param project - An optional project ID if authenticating with a PAT or Bearer */ async getAll(project?: Id<'project'>) { const {channels} = await client.get('/v1/channels', {project}); @@ -152,7 +161,9 @@ export const channels = sdk(client => { return tokens; }, - async setState( + async setState< + T extends API.Channels.AnyStateObject = API.Channels.AnyStateObject, + >( channel: API.Channels.Channel | API.Channels.Channel['id'], state: SetStateAction, ) { @@ -160,7 +171,7 @@ export const channels = sdk(client => { return updateState(id, state, 'set'); }, - async patchState( + async patchState( channel: API.Channels.Channel | API.Channels.Channel['id'], state: SetStateAction, ) { @@ -171,9 +182,9 @@ export const channels = sdk(client => { /** * Publishes a new event to a channel * - * @param channel The channel to publish to - * @param event The event name - * @param data The data for this event + * @param channel - The channel to publish to + * @param event - The event name + * @param data - The data for this event */ async publishMessage( channel: API.Channels.Channel | API.Channels.Channel['id'], @@ -213,10 +224,13 @@ export const channels = sdk(client => { /** * Creates a new channel token for a project * - * @param state The state to set on the token - * @param project The project to attach this token to + * @param state - The state to set on the token + * @param project - The project to attach this token to */ - async create(state: API.Channels.State = {}, project?: Id<'project'>) { + async create( + state: API.Channels.AnyStateObject = {}, + project?: Id<'project'>, + ) { if (!project && client.authType !== 'ptk') { throw new Error( 'Project must be provided when creating a channel token with bearer or PAT auth', @@ -267,9 +281,9 @@ export const channels = sdk(client => { /** * Publishes a direct message to a single token - * @param token The token to publish a direct message to - * @param event The event name - * @param data The data for this event + * @param token - The token to publish a direct message to + * @param event - The event name + * @param data - The data for this event */ async publishDirectMessage( token: Id<'leap_token'>, diff --git a/src/sdks/create.ts b/src/sdks/create.ts index a21f60b9..60d24e43 100644 --- a/src/sdks/create.ts +++ b/src/sdks/create.ts @@ -1,5 +1,6 @@ -import {APIClient} from '../rest/index.js'; +import {APIClient} from '../rest/index.ts'; +// TODO: Add `const T` here when esbuild supports it export function sdk(builder: (client: APIClient) => T) { return builder; } diff --git a/src/sdks/ignite.ts b/src/sdks/ignite.ts index 3702fb25..7f0d6f0c 100644 --- a/src/sdks/ignite.ts +++ b/src/sdks/ignite.ts @@ -1,18 +1,22 @@ -import {create, Infer} from '@onehop/json-methods'; -import {API, assertId, Id} from '../rest/index.js'; +import {type Infer, create} from '@onehop/json-methods'; +import {API, type Id, assertId} from '../rest/index.ts'; import { - Deployment, - DeploymentConfig, - DeploymentMetaData, - Gateway, + type Deployment, + type DeploymentConfig, + type DeploymentMetadata, + type Gateway, GatewayType, RuntimeType, -} from '../rest/types/ignite.js'; -import {parseSize, validateId} from '../util/index.js'; -import {sdk} from './create.js'; +} from '../rest/types/ignite.ts'; +import {parseSize, validateId} from '../util/index.ts'; +import {sdk} from './create.ts'; const SIX_MB_IN_BYTES = 6 * 1024 * 1024; +/** + * Ignite SDK client + * @public + */ export const ignite = sdk(client => { const Gateways = create().methods({ async addDomain(domain: string) { @@ -71,8 +75,8 @@ export const ignite = sdk(client => { * Creates a new deployment. * You should use this overload if you are authorizing with a bearer or pat. * - * @param configOrProject The project ID to create the deployment in. - * @param bearerOrPatConfig The deployment config to create. + * @param configOrProject - The project ID to create the deployment in. + * @param bearerOrPatConfig - The deployment config to create. */ async function createDeployment( configOrProject: Id<'project'>, @@ -83,7 +87,7 @@ export const ignite = sdk(client => { * Create a new deployment. You should use this overload if you are authorizing with a project token and * not with a bearer or pat. * - * @param configOrProject The config for this deployment. + * @param configOrProject - The config for this deployment. */ async function createDeployment( configOrProject: API.Ignite.CreateDeploymentConfig, @@ -158,8 +162,8 @@ export const ignite = sdk(client => { /** * Gets a deployment by name * - * @param projectId The project ID. You only need to provide this if you are getting by name. - * @param name The deployment name to get + * @param projectId - The project ID. You only need to provide this if you are getting by name. + * @param name - The deployment name to get */ async function getDeployment( name: string, @@ -169,7 +173,7 @@ export const ignite = sdk(client => { /** * Gets a deployment by id * - * @param id The deployment ID + * @param id - The deployment ID */ async function getDeployment( id: Id<'deployment'>, @@ -202,11 +206,58 @@ export const ignite = sdk(client => { return Deployments.from(deployment); } + /** + * Deletes a container and recreates it after deletion + * + * @param container_id - The ID of the container to delete + * @param options - Options object + */ + async function deleteContainer( + container_id: Id<'container'>, + options: {recreate: true}, + ): Promise; + + /** + * Deletes a container. This will not recreate the container. + * + * @param container - The ID of the container to delete + * @param options - Options object + */ + async function deleteContainer( + container_id: Id<'container'>, + options?: {recreate?: false}, + ): Promise; + + /** + * Deletes a container, and optionally recreates it after deletion + * + * @param container - The ID of the container to delete + * @param options - Options object + */ + async function deleteContainer( + container_id: Id<'container'>, + options: { + recreate?: boolean; + } = {}, + ) { + const d = await client.delete( + '/v1/ignite/containers/:container_id', + undefined, + {container_id, recreate: options.recreate ? 'true' : undefined}, + ); + + if (!d) { + return; + } + + return d.container; + } + const deploymentGateways = { /** * Fecthes all gateways attached to a deployment * - * @param deploymentId The ID of the deployment to fetch gateways for + * @param deploymentId - The ID of the deployment to fetch gateways for */ async getAll(deploymentId: Id<'deployment'>) { const {gateways} = await client.get( @@ -220,10 +271,10 @@ export const ignite = sdk(client => { /** * Creates and attaches a gateway to a deployment * - * @param deployment The deployment to create a gateway on - * @param type The type of the gatway to create, either internal or external - * @param protocol The protocol that the gateway will listen for - * @param targetPort The port to listen on + * @param deployment - The deployment to create a gateway on + * @param type - The type of the gatway to create, either internal or external + * @param protocol - The protocol that the gateway will listen for + * @param targetPort - The port to listen on */ async create( deployment: Deployment | Deployment['id'], @@ -287,8 +338,8 @@ export const ignite = sdk(client => { /** * Adds a domain to a gateway * - * @param gatewayId The ID of the gateway - * @param domain The full name of the domain + * @param gatewayId - The ID of the gateway + * @param domain - The full name of the domain */ async addDomain(gatewayId: Id<'gateway'>, domain: string) { await client.post( @@ -301,7 +352,7 @@ export const ignite = sdk(client => { /** * Fetches a gateway by ID * - * @param gatewayId The ID of the gateway to retrieve + * @param gatewayId - The ID of the gateway to retrieve */ async get(gatewayId: Id<'gateway'>) { const {gateway} = await client.get('/v1/ignite/gateways/:gateway_id', { @@ -374,7 +425,7 @@ export const ignite = sdk(client => { /** * Get all containers for a deployment * - * @param deployment The ID of the deployment to get + * @param deployment - The ID of the deployment to get * @returns A list of all containers for that project */ async getContainers(deployment: Id<'deployment'>) { @@ -389,7 +440,7 @@ export const ignite = sdk(client => { /** * Gets all deployments for a project * - * @param projectId The project ID to list deployments for. You only need to provide this if you are using bearer or PAT authentication. + * @param projectId - The project ID to list deployments for. You only need to provide this if you are using bearer or PAT authentication. * @returns A list of deployments for the given project. */ async getAll(projectId?: Id<'project'>) { @@ -416,7 +467,7 @@ export const ignite = sdk(client => { /** * Deletes a deployment * - * @param deployment The ID of the deployment + * @param deployment - The ID of the deployment */ async delete(deployment: Id<'deployment'>) { await client.delete( @@ -428,7 +479,7 @@ export const ignite = sdk(client => { async patchMetadata( deploymentId: Id<'deployment'>, - metadata: Partial, + metadata: Partial, ) { const {deployment} = await client.patch( '/v1/ignite/deployments/:deployment_id/metadata', @@ -438,43 +489,15 @@ export const ignite = sdk(client => { return deployment; }, - - /** - * @deprecated This property has moved — use hop.ignite.gateways instead - */ - gateways: deploymentGateways, }, containers: { - /** - * Deletes a container - * - * @param container The ID of the container to delete. - */ - async delete( - container_id: Id<'container'>, - options: Partial<{ - recreate: boolean; - }> = {}, - ) { - const d = await client.delete( - '/v1/ignite/containers/:container_id', - undefined, - { - container_id, - recreate: options.recreate ? 'true' : undefined, - }, - ); - - if (!d) return; - - return d; - }, + delete: deleteContainer, /** * Get the logs for a container * - * @param container The ID of the container + * @param container - The ID of the container * @returns */ async getLogs( @@ -494,6 +517,10 @@ export const ignite = sdk(client => { return logs; }, + /** + * Stop a container + * @param container - The ID of the container + */ async stop(container: Id<'container'>) { await updateContainerState( container, @@ -501,6 +528,10 @@ export const ignite = sdk(client => { ); }, + /** + * Start a container + * @param container - The ID of the container + */ async start(container: Id<'container'>) { await updateContainerState( container, @@ -511,7 +542,7 @@ export const ignite = sdk(client => { /** * Creates a container * - * @param deployment The ID of a deployment to create a container in. + * @param deployment - The ID of a deployment to create a container in. * @returns The newly created container. */ async create(deployment: Id<'deployment'>) { diff --git a/src/sdks/index.ts b/src/sdks/index.ts index b64868ce..2c92d1cd 100644 --- a/src/sdks/index.ts +++ b/src/sdks/index.ts @@ -1,6 +1,6 @@ -export {channels} from './channels.js'; -export {ignite} from './ignite.js'; -export {pipe} from './pipe.js'; -export {projects} from './projects.js'; -export {registry} from './registry.js'; -export {users} from './users.js'; +export * from './channels.ts'; +export * from './ignite.ts'; +export * from './pipe.ts'; +export * from './projects.ts'; +export * from './registry.ts'; +export * from './users.ts'; diff --git a/src/sdks/pipe.ts b/src/sdks/pipe.ts index 882052e4..d02fc88c 100644 --- a/src/sdks/pipe.ts +++ b/src/sdks/pipe.ts @@ -1,9 +1,13 @@ import {create} from '@onehop/json-methods'; -import {API, Id} from '../rest/index.js'; -import {Regions} from '../rest/types/ignite.js'; -import {DeliveryProtocol} from '../rest/types/pipe.js'; -import {sdk} from './create.js'; +import type {API, Id} from '../rest/index.ts'; +import {Regions} from '../rest/types/ignite.ts'; +import type {DeliveryProtocol} from '../rest/types/pipe.ts'; +import {sdk} from './create.ts'; +/** + * Pipe SDK client + * @public + */ export const pipe = sdk(client => { const Rooms = create().methods({ async delete() { @@ -60,7 +64,7 @@ export const pipe = sdk(client => { /** * Deletes a Pipe room * - * @param room The ID of the Pipe room to delete. + * @param room - The ID of the Pipe room to delete. */ async delete(room: Id<'pipe_room'>) { await client.delete('/v1/pipe/rooms/:room_id', undefined, { diff --git a/src/sdks/projects.ts b/src/sdks/projects.ts index 361e6a00..ff6c7ba6 100644 --- a/src/sdks/projects.ts +++ b/src/sdks/projects.ts @@ -1,13 +1,17 @@ -import {API, Endpoints, Id} from '../rest/index.js'; -import {Request} from '../util/fetch.js'; -import {sdk} from './create.js'; - +import type {API, Endpoints, Id} from '../rest/index.ts'; +import {Request} from '../util/fetch.ts'; +import {sdk} from './create.ts'; + +/** + * Projects SDK client + * @public + */ export const projects = sdk(client => { const tokens = { /** * Deletes a project token by its ID * - * @param projectTokenId The ID of the project token to delete + * @param projectTokenId - The ID of the project token to delete */ async delete(projectTokenId: Id<'ptkid'>, project?: Id<'project'>) { if (client.authType !== 'ptk' && !project) { @@ -30,7 +34,7 @@ export const projects = sdk(client => { /** * Get all project tokens for a project * - * @param projectId The project to fetch secrets for + * @param projectId - The project to fetch secrets for * @returns An array of all secrets for the project */ async get(projectId?: Id<'project'>) { @@ -60,8 +64,8 @@ export const projects = sdk(client => { /** * Creates a new project token * - * @param projectId The project to create a key for - * @param flags Permissions for this flag + * @param projectId - The project to create a key for + * @param flags - Permissions for this flag * @returns A newly created project token */ async create(flags: number, projectId?: Id<'project'>) { @@ -116,7 +120,7 @@ export const projects = sdk(client => { * Fetch the currently authorized member from a project. * You cannot use this route if you are authorizing with a project token as there is no user attached to it. * - * @param projectId The project ID to fetch a member from + * @param projectId - The project ID to fetch a member from * @returns The member authorized by the SDK */ async getCurrentMember(projectId: Id<'project'>) { @@ -135,7 +139,7 @@ export const projects = sdk(client => { }, /** - * @deprecated Use .tokens instead + * @deprecated Use {@link projectsSDK.tokens} instead */ projectTokens: tokens, @@ -145,7 +149,7 @@ export const projects = sdk(client => { /** * Gets all secrets in a project * - * @param projectId The project to fetch secrets for + * @param projectId - The project to fetch secrets for */ async getAll(projectId?: Id<'project'>) { if (client.authType !== 'ptk' && !projectId) { @@ -170,9 +174,9 @@ export const projects = sdk(client => { /** * Creates a new project secret * - * @param name The name of the secret - * @param value The value of the secret - * @param projectId The project to create the secret in + * @param name - The name of the secret + * @param value - The value of the secret + * @param projectId - The project to create the secret in */ async create(name: string, value: string, projectId?: Id<'project'>) { if (client.authType !== 'ptk' && !projectId) { @@ -207,8 +211,8 @@ export const projects = sdk(client => { /** * Deletes a secret from a project * - * @param id The secret ID to delete - * @param projectId The project to delete the secret from + * @param id - The secret ID to delete + * @param projectId - The project to delete the secret from */ async delete( id: Id<'secret'> | API.Projects.Secret['name'], diff --git a/src/sdks/registry.ts b/src/sdks/registry.ts index e0c55dd2..659464a1 100644 --- a/src/sdks/registry.ts +++ b/src/sdks/registry.ts @@ -1,6 +1,10 @@ -import {Id} from '../rest/index.js'; -import {sdk} from './create.js'; +import type {Id} from '../rest/index.ts'; +import {sdk} from './create.ts'; +/** + * Registry SDK client + * @public + */ export const registry = sdk(client => { return { images: { diff --git a/src/sdks/users.ts b/src/sdks/users.ts index 5559d458..6ae13973 100644 --- a/src/sdks/users.ts +++ b/src/sdks/users.ts @@ -1,6 +1,10 @@ -import {Id} from '../util/types.js'; -import {sdk} from './create.js'; +import type {Id} from '../util/types.ts'; +import {sdk} from './create.ts'; +/** + * Users SDK client + * @public + */ export const users = sdk(client => ({ me: { /** @@ -58,7 +62,7 @@ export const users = sdk(client => ({ /** * Deletes a pat * - * @param id The ID of the pat to delete + * @param id - The ID of the pat to delete */ async delete(id: Id<'pat'>) { if (client.authType === 'ptk') { diff --git a/src/util/constants.ts b/src/util/constants.ts index 041fb405..c1ad8a86 100644 --- a/src/util/constants.ts +++ b/src/util/constants.ts @@ -5,12 +5,18 @@ declare const Deno: object | undefined; /** * The default base URL for Hop's API. + * @public */ export const DEFAULT_BASE_URL = 'https://api.hop.io'; /** * If we are in the browser. + * @public */ export const IS_BROWSER = typeof window !== 'undefined'; +/** + * If this runtiem supports the Intl API + * @public + */ export const SUPPORTS_INTL = typeof Intl !== 'undefined'; diff --git a/src/util/index.ts b/src/util/index.ts index c57a3234..7988ae1e 100644 --- a/src/util/index.ts +++ b/src/util/index.ts @@ -1,3 +1,3 @@ -export * from './constants.js'; -export * from './size.js'; -export * from './types.js'; +export * from './constants.ts'; +export * from './size.ts'; +export * from './types.ts'; diff --git a/src/util/lists.ts b/src/util/lists.ts index 49eec6fa..013e4d21 100644 --- a/src/util/lists.ts +++ b/src/util/lists.ts @@ -1,4 +1,4 @@ -import {SUPPORTS_INTL} from './constants.js'; +import {SUPPORTS_INTL} from './constants.ts'; export function formatList(list: string[], type: Intl.ListFormatType): string { if (SUPPORTS_INTL) { diff --git a/src/util/size.ts b/src/util/size.ts index 74b02f89..4a5f483c 100644 --- a/src/util/size.ts +++ b/src/util/size.ts @@ -1,14 +1,33 @@ +/** + * API parsable byte size units strings + * @public + */ export const byteUnits = ['GB', 'MB', 'KB', 'B'] as const; -export type ByteUnit = - | typeof byteUnits[number] - | Uppercase; +/** + * Byte size unit type + * @public + */ +export type ByteUnit = (typeof byteUnits)[number]; +/** + * A string representing a byte size + * @public + */ export type ByteSizeString = `${number}${ByteUnit}`; -/** @deprecated */ +/** + * @deprecated Use {@link ByteSizeString} instead + * @public + */ export type ByteString = ByteSizeString; +/** + * Validates if a string is a valid byte size string + * @param value - A string to validate if it is a valid byte size string + * @returns If the string is a valid byte size string + * @public + */ export function isValidByteString(value: string): value is ByteSizeString { return byteUnits.some(unit => { if (!value.endsWith(unit)) { @@ -26,9 +45,51 @@ const multipliers: Record = { GB: 1024 * 1024 * 1024, }; +/** + * Helper function to converts a numerical size to a valid byte size string + * @param size - A size to convert to a valid byte size string + * @param unit - An optional unit to as the size unit. Defaults to B + * @returns a byte size string + * @public + */ +export function bytes(size: number, unit: ByteUnit = 'B'): ByteSizeString { + return `${size}${unit}`; +} + +/** + * Converts a kilobyte size to a byte size string + * @param size - Kilobytes to convert to a byte size string + * @returns a byte size string + * @public + */ +export function kilobytes(size: number): ByteSizeString { + return bytes(size, 'KB'); +} + +/** + * Converts a megabyte size to a byte size string + * @param size - Megabytes to convert to a byte size string + * @returns a byte size string + * @public + */ +export function megabytes(size: number): ByteSizeString { + return bytes(size, 'MB'); +} + +/** + * Converts a gigabyte size to a byte size string + * @param size - Gigabytes to convert to a byte size string + * @returns a byte size string + * @public + */ +export function gigabytes(size: number): ByteSizeString { + return bytes(size, 'GB'); +} + /** * Parses a byte size string into bytes - * @param size The size of anything in gigabytes, megabytes, kilobytes or bytes + * @param size - The size of anything in gigabytes, megabytes, kilobytes or bytes + * @public */ export function parseSize(size: string) { size = size.toUpperCase(); @@ -47,6 +108,7 @@ export function parseSize(size: string) { } /** - * @deprecated use `byteUnits` instead + * @deprecated Use {@link byteUnits} instead + * @public */ export const units = byteUnits; diff --git a/src/util/types.ts b/src/util/types.ts index 885d9e17..434b7ca5 100644 --- a/src/util/types.ts +++ b/src/util/types.ts @@ -1,12 +1,28 @@ -import {formatList} from './lists.js'; +import {formatList} from './lists.ts'; +/** + * All methods the Hop API accepts + * @public + */ export type Method = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; +/** + * An empty response type + * @public + */ export type Empty = void; +/** + * Makes individual properties optional in a type + * @public + */ export type MakeOptional = Omit & Partial>; +/** + * Tag a type to make it unique + * @public + */ export type Tag = T & { /** * Mark a type as having a specific name in the API @@ -16,10 +32,15 @@ export type Tag = T & { }; /** - * Hop's API uses ISO 8601 date strings + * An ISO 8601 date strings + * @public */ export type Timestamp = Tag; +/** + * Creates a record of params required for a given URL/path + * @public + */ export type ExtractRouteParams = string extends T ? Record : T extends `${string}:${infer Param}/${infer Rest}` @@ -28,8 +49,13 @@ export type ExtractRouteParams = string extends T ? {[k in Param]: string | number} : {}; -export type Values = T[keyof T]; - +// Technically, `channel`, it should be here, but channel IDs can also +// be any random string if a developer decides to set it. For this reason, +// channel is not included as a valid ID in this list +/** + * An array of all IDs that can be used in the API + * @public + */ export const ID_PREFIXES = [ { prefix: 'user', @@ -79,13 +105,6 @@ export const ID_PREFIXES = [ prefix: 'ptkid', description: 'Project token ID', }, - // Technically, yes, it should be here, but channel IDs can also - // be any random string if a developer decides to set it - // themselves. So I'll leave it commented for now.. - // { - // prefix: 'channel', - // description: 'Channel', - // }, { prefix: 'secret', description: 'Project secret ID', @@ -120,12 +139,45 @@ export const ID_PREFIXES = [ }, ] as const; -export type IdPrefixes = typeof ID_PREFIXES[number]['prefix']; +/** + * A union of all ID prefixes used within the API + * @public + */ +export type IdPrefixes = (typeof ID_PREFIXES)[number]['prefix']; + +/** + * A Hop ID is a string that starts with a prefix and a underscore, followed by some unique text. + * It is a Pika ID — https://github.com/hopinc/pika + * @public + */ export type Id = `${T}_${string}`; + +/** + * A hop.sh domain (*.hop.sh) + * @public + */ export type HopShDomain = `${string}.hop.sh`; + +/** + * A domain used with internal gateways (*.hop.sh) + * @public + */ export type InternalHopDomain = `${string}.hop`; + +/** + * Any/all IDs that are used within the API + * @public + */ export type AnyId = Id; +/** + * Checks if a string is a valid Hop ID prefix + * + * @public + * @param prefix - A string that is a potential prefix + * @param expect - An expected prefix to check against + * @returns - Whether the prefix is valid + */ export function validateIdPrefix( prefix: string, expect?: T, @@ -140,18 +192,23 @@ export function validateIdPrefix( /** * Validates that a string is a valid ID * - * @param maybeId A string that might be an id - * @param prefix Optionally an id prefix to check against + * @public + * @param maybeId - A string that might be an id + * @param prefix - Optionally an id prefix to check against * @returns true if the string is an id */ export function validateId( - maybeId: string, + maybeId: string | undefined | null, prefix?: T | T[], ): maybeId is Id { if (Array.isArray(prefix)) { return prefix.some(p => validateId(maybeId, p)); } + if (!maybeId) { + return false; + } + if (!prefix) { return ID_PREFIXES.some(({prefix}) => maybeId.startsWith(`${prefix}_`)); } @@ -159,6 +216,14 @@ export function validateId( return maybeId.startsWith(`${prefix}_`); } +/** + * Gets the prefix of an ID + * + * @public + * @param id - A full ID to extract the prefix from + * @param expect - An expected prefix to check against + * @returns - The prefix of the ID + */ export function getIdPrefix(id: string, expect?: T) { if (expect && !validateId(id, expect)) { throw new Error(`Expected ${id} to be an id of type ${expect}`); @@ -177,22 +242,38 @@ export function getIdPrefix(id: string, expect?: T) { return prefix; } +/** + * Casts a string to an ID and asserts that it is of the correct type. + * This function will throw if the string is not a valid ID. + * + * @public + * @param maybeId - Cast and assert that a string is an id + * @param prefix - Optionally an prefix or array of prefixes to check against + * @returns - The ID cast to the correct type + */ export function id( - maybeId?: string, + maybeId: string | undefined | null, prefix?: T | T[], -) { +): Id { assertId(maybeId, prefix); return maybeId; } +/** + * Asserts that a string is a valid ID + * @public + * @param maybeId - A string that is possibly an ID + * @param prefix - A prefix or array of prefixes to check against + * @param message - An error message to throw if the ID is invalid + */ export function assertId( - maybeId?: string, + maybeId: string | undefined | null, prefix?: T | T[], message?: string, ): asserts maybeId is Id { const expectedPrefix = prefix === undefined - ? '' + ? '' : Array.isArray(prefix) ? formatList(prefix, 'disjunction') : prefix; diff --git a/src/util/urls.ts b/src/util/urls.ts index 2ec5e362..0e2db237 100644 --- a/src/util/urls.ts +++ b/src/util/urls.ts @@ -1,4 +1,4 @@ -import {ExtractRouteParams, Query} from '../rest/index.js'; +import type {ExtractRouteParams, Query} from '../rest/index.ts'; export function lead(x: string) { return x.charCodeAt(0) === 47 ? x : '/' + x; @@ -18,7 +18,8 @@ export function join(a: string, b: string) { /** * Generates a querystring to append to a URL. This function will include the ? character. - * @param query An object of query params to be encoded + * @param query - An object of query params to be encoded + * @public * @returns A string of query params */ export function querystring(query: Query): string { diff --git a/src/utils/zod/ids.ts b/src/utils/zod/ids.ts index b11d00b7..fed06cea 100644 --- a/src/utils/zod/ids.ts +++ b/src/utils/zod/ids.ts @@ -1,10 +1,11 @@ import {z} from 'zod'; -import {Id, IdPrefixes, validateId} from '../../rest/index.js'; +import {type Id, type IdPrefixes, validateId} from '../../rest/index.ts'; /** * Generate a Zod schema for an ID prefix - * @param prefix Prefix of the ID + * @param prefix - Prefix of the ID * @returns A Zod schema that resolve to a valid ID + * @public * * @example * ```ts @@ -20,6 +21,6 @@ export function hopId(prefix: Prefix) { .string() .refine( (value): value is Id => validateId(value, prefix), - `Id must be a valid ${prefix} id`, + `Id must be a valid \`${prefix}\` id`, ); } diff --git a/src/utils/zod/ignite.ts b/src/utils/zod/ignite.ts index 7328e114..1139e8ca 100644 --- a/src/utils/zod/ignite.ts +++ b/src/utils/zod/ignite.ts @@ -4,8 +4,8 @@ import { RestartPolicy, RuntimeType, VolumeFormat, -} from '../../rest/types/ignite.js'; -import {byteUnits, parseSize, isValidByteString} from '../../util/size.js'; +} from '../../rest/types/ignite.ts'; +import {byteUnits, parseSize, isValidByteString} from '../../util/size.ts'; export const deploymentMetaDataSchema = z.object({ preset: z.string().optional(), diff --git a/src/utils/zod/index.ts b/src/utils/zod/index.ts index cdc9723a..a7c8885b 100644 --- a/src/utils/zod/index.ts +++ b/src/utils/zod/index.ts @@ -1,3 +1,3 @@ -export * from './ids.js'; -export * from './presets.js'; -export * from './ignite.js'; +export * from './ids.ts'; +export * from './presets.ts'; +export * from './ignite.ts'; diff --git a/tests/index.ts b/tests/index.ts index c03816b8..7b886cc3 100644 --- a/tests/index.ts +++ b/tests/index.ts @@ -6,7 +6,7 @@ import {test} from 'node:test'; // @ts-expect-error This is usually injected by tsup globalThis.TSUP_IS_NODE = true; -import {id, Hop, validateId} from '../src/index.js'; +import {id, Hop, validateId} from '../src/index.ts'; const BASE_URL = process.env.TEST_HOP_API_BASE_URL ?? 'https://api-staging.hop.io'; @@ -16,9 +16,7 @@ const hop = new Hop( BASE_URL, ); -test('The HTTP client correctly forms URLs', t => { - t.todo('Move these tests to a describe() call'); - +test('The HTTP client correctly forms URLs', () => { assert.equal( hop.client.url('/v1/path/to/:resource', { resource: 'my-resource', diff --git a/tsconfig.json b/tsconfig.json index 040ad11a..00fbbad6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,25 +1,30 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ESNext", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "module": "NodeNext", - "moduleResolution": "NodeNext", + "module": "ESNext", + "moduleResolution": "bundler", "resolveJsonModule": true, - "isolatedModules": true, "jsx": "react", "strict": true, + "noEmit": true, "useUnknownInCatchVariables": true, "noImplicitOverride": true, "noFallthroughCasesInSwitch": true, "noUnusedLocals": true, "noUnusedParameters": true, "noImplicitReturns": true, - "noUncheckedIndexedAccess": true + "noUncheckedIndexedAccess": true, + "allowImportingTsExtensions": true, + "declaration": true, + "declarationMap": true, + "exactOptionalPropertyTypes": true, + "verbatimModuleSyntax": true }, "exclude": ["node_modules", "dist"], - "include": ["./**/*.ts", "./**/*.tsx", "gen-docs.mts"] + "include": ["./**/*.ts", "./**/*.tsx"] } diff --git a/tsup.config.ts b/tsup.config.ts index 23798748..0312ce49 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -21,13 +21,13 @@ const define = ({node = false} = {}) => ({ export default defineConfig([ { ...commonBuild, - entry: ['src/index.ts', 'src/utils/*/index.ts'], + entry: ['./src/index.ts', './src/utils/*/index.ts'], define: define(), }, { ...commonBuild, entry: ['src/index.ts'], - outDir: 'dist/node', + outDir: './dist/node', define: define({ node: true, }), diff --git a/yarn.lock b/yarn.lock index 9a6fcf24..080d6c79 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,9 +15,9 @@ __metadata: linkType: hard "@babel/helper-validator-identifier@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-validator-identifier@npm:7.18.6" - checksum: e295254d616bbe26e48c196a198476ab4d42a73b90478c9842536cf910ead887f5af6b5c4df544d3052a25ccb3614866fa808dc1e3a5a4291acd444e243c0648 + version: 7.19.1 + resolution: "@babel/helper-validator-identifier@npm:7.19.1" + checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a languageName: node linkType: hard @@ -32,21 +32,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.20.1": - version: 7.20.13 - resolution: "@babel/runtime@npm:7.20.13" +"@babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.5.5": + version: 7.21.0 + resolution: "@babel/runtime@npm:7.21.0" dependencies: regenerator-runtime: ^0.13.11 - checksum: 09b7a97a05c80540db6c9e4ddf8c5d2ebb06cae5caf3a87e33c33f27f8c4d49d9c67a2d72f1570e796045288fad569f98a26ceba0c4f5fad2af84b6ad855c4fb - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.5.5": - version: 7.19.0 - resolution: "@babel/runtime@npm:7.19.0" - dependencies: - regenerator-runtime: ^0.13.4 - checksum: fa69c351bb05e1db3ceb9a02fdcf620c234180af68cdda02152d3561015f6d55277265d3109815992f96d910f3db709458cae4f8df1c3def66f32e0867d82294 + checksum: 7b33e25bfa9e0e1b9e8828bb61b2d32bdd46b41b07ba7cb43319ad08efc6fda8eb89445193e67d6541814627df0ca59122c0ea795e412b99c5183a0540d338ab languageName: node linkType: hard @@ -297,12 +288,12 @@ __metadata: linkType: hard "@esbuild-kit/core-utils@npm:^3.0.0": - version: 3.0.0 - resolution: "@esbuild-kit/core-utils@npm:3.0.0" + version: 3.1.0 + resolution: "@esbuild-kit/core-utils@npm:3.1.0" dependencies: - esbuild: ~0.15.10 + esbuild: ~0.17.6 source-map-support: ^0.5.21 - checksum: 0e89ec718e2211bf95c48a8085aaef88e8e416f42abd1c62d488d5458eecd3fbc144179a0c5570ad36fa7e2d3bbc411f8d3fb28802c37ced2154dc2c6ded9dfe + checksum: d54fd5adb3ce6784d84bb025ad54ddcfbab99267071a7f65298e547f56696f0b9d0dba96c535f9678a30d4887ec71cd445fdd277d65fbec1f3b504f6808f693e languageName: node linkType: hard @@ -316,170 +307,156 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/android-arm64@npm:0.17.6" +"@esbuild/android-arm64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/android-arm64@npm:0.17.11" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.15.11": - version: 0.15.11 - resolution: "@esbuild/android-arm@npm:0.15.11" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@esbuild/android-arm@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/android-arm@npm:0.17.6" +"@esbuild/android-arm@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/android-arm@npm:0.17.11" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/android-x64@npm:0.17.6" +"@esbuild/android-x64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/android-x64@npm:0.17.11" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/darwin-arm64@npm:0.17.6" +"@esbuild/darwin-arm64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/darwin-arm64@npm:0.17.11" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/darwin-x64@npm:0.17.6" +"@esbuild/darwin-x64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/darwin-x64@npm:0.17.11" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/freebsd-arm64@npm:0.17.6" +"@esbuild/freebsd-arm64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/freebsd-arm64@npm:0.17.11" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/freebsd-x64@npm:0.17.6" +"@esbuild/freebsd-x64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/freebsd-x64@npm:0.17.11" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-arm64@npm:0.17.6" +"@esbuild/linux-arm64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-arm64@npm:0.17.11" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-arm@npm:0.17.6" +"@esbuild/linux-arm@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-arm@npm:0.17.11" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-ia32@npm:0.17.6" +"@esbuild/linux-ia32@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-ia32@npm:0.17.11" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.15.11": - version: 0.15.11 - resolution: "@esbuild/linux-loong64@npm:0.15.11" +"@esbuild/linux-loong64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-loong64@npm:0.17.11" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-loong64@npm:0.17.6" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-mips64el@npm:0.17.6" +"@esbuild/linux-mips64el@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-mips64el@npm:0.17.11" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-ppc64@npm:0.17.6" +"@esbuild/linux-ppc64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-ppc64@npm:0.17.11" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-riscv64@npm:0.17.6" +"@esbuild/linux-riscv64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-riscv64@npm:0.17.11" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-s390x@npm:0.17.6" +"@esbuild/linux-s390x@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-s390x@npm:0.17.11" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/linux-x64@npm:0.17.6" +"@esbuild/linux-x64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/linux-x64@npm:0.17.11" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/netbsd-x64@npm:0.17.6" +"@esbuild/netbsd-x64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/netbsd-x64@npm:0.17.11" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/openbsd-x64@npm:0.17.6" +"@esbuild/openbsd-x64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/openbsd-x64@npm:0.17.11" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/sunos-x64@npm:0.17.6" +"@esbuild/sunos-x64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/sunos-x64@npm:0.17.11" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/win32-arm64@npm:0.17.6" +"@esbuild/win32-arm64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/win32-arm64@npm:0.17.11" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/win32-ia32@npm:0.17.6" +"@esbuild/win32-ia32@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/win32-ia32@npm:0.17.11" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.17.6": - version: 0.17.6 - resolution: "@esbuild/win32-x64@npm:0.17.6" +"@esbuild/win32-x64@npm:0.17.11": + version: 0.17.11 + resolution: "@esbuild/win32-x64@npm:0.17.11" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -545,22 +522,22 @@ __metadata: linkType: hard "@npmcli/fs@npm:^2.1.0": - version: 2.1.0 - resolution: "@npmcli/fs@npm:2.1.0" + version: 2.1.2 + resolution: "@npmcli/fs@npm:2.1.2" dependencies: "@gar/promisify": ^1.1.3 semver: ^7.3.5 - checksum: 6ec6d678af6da49f9dac50cd882d7f661934dd278972ffbaacde40d9eaa2871292d634000a0cca9510f6fc29855fbd4af433e1adbff90a524ec3eaf140f1219b + checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225 languageName: node linkType: hard "@npmcli/move-file@npm:^2.0.0": - version: 2.0.0 - resolution: "@npmcli/move-file@npm:2.0.0" + version: 2.0.1 + resolution: "@npmcli/move-file@npm:2.0.1" dependencies: mkdirp: ^1.0.4 rimraf: ^3.0.2 - checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 + checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 languageName: node linkType: hard @@ -570,19 +547,19 @@ __metadata: dependencies: "@changesets/cli": 2.26.0 "@onehop/json-methods": ^1.2.0 - "@types/glob": 8.0.1 - "@types/node": 18.13.0 + "@types/glob": 8.1.0 + "@types/node": 18.15.3 cross-fetch: ^3.1.5 dotenv: 16.0.3 - glob: 8.1.0 + glob: 9.3.0 prettier: 2.8.4 - tsup: 6.6.0 - tsx: 3.12.3 - typedoc: 0.23.24 + tsup: 6.6.3 + tsx: 3.12.5 + typedoc: 0.23.27 typedoc-plugin-markdown: 3.14.0 typedoc-plugin-missing-exports: 1.0.0 - typescript: ^4.9.5 - zod: ^3.20.3 + typescript: ^5.0.2 + zod: ^3.21.4 languageName: unknown linkType: soft @@ -600,13 +577,13 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:8.0.1": - version: 8.0.1 - resolution: "@types/glob@npm:8.0.1" +"@types/glob@npm:8.1.0": + version: 8.1.0 + resolution: "@types/glob@npm:8.1.0" dependencies: "@types/minimatch": ^5.1.2 "@types/node": "*" - checksum: 98f3d0403c09638348a2f3b30aac2a3d6bdc306bce3ceb868f4794fef4f02727ccdf0dab0c7b7d65fd38a1afa1e48f02de56d29d2babe94ee9b204ca54acb31f + checksum: 9101f3a9061e40137190f70626aa0e202369b5ec4012c3fabe6f5d229cce04772db9a94fa5a0eb39655e2e4ad105c38afbb4af56a56c0996a8c7d4fc72350e3d languageName: node linkType: hard @@ -634,16 +611,16 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 17.0.35 - resolution: "@types/node@npm:17.0.35" - checksum: 7a24946ae7fd20267ed92466384f594e448bfb151081158d565cc635d406ecb29ea8fb85fcd2a1f71efccf26fb5bd3c6f509bde56077eb8b832b847a6664bc62 + version: 18.15.0 + resolution: "@types/node@npm:18.15.0" + checksum: d81372276dd5053b1743338b61a2178ff9722dc609189d01fc7d1c2acd539414039e0e4780678730514390dad3f29c366a28c29e8dbd5b0025651181f6dd6669 languageName: node linkType: hard -"@types/node@npm:18.13.0": - version: 18.13.0 - resolution: "@types/node@npm:18.13.0" - checksum: 4ea10f8802848b01672bce938f678b6774ca2cee0c9774f12275ab064ae07818419c3e2e41d6257ce7ba846d1ea26c63214aa1dfa4166fa3746291752b8c6416 +"@types/node@npm:18.15.3": + version: 18.15.3 + resolution: "@types/node@npm:18.15.3" + checksum: 31b1d92475a82c30de29aa6c0771b18a276552d191283b4423ba2d61b3f01159bf0d02576c0b7cc834b043997893800db6bb47f246083ed85aa45e79c80875d7 languageName: node linkType: hard @@ -668,7 +645,7 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:1": +"abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 @@ -685,13 +662,13 @@ __metadata: linkType: hard "agentkeepalive@npm:^4.2.1": - version: 4.2.1 - resolution: "agentkeepalive@npm:4.2.1" + version: 4.3.0 + resolution: "agentkeepalive@npm:4.3.0" dependencies: debug: ^4.1.0 - depd: ^1.1.2 + depd: ^2.0.0 humanize-ms: ^1.2.1 - checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 + checksum: 982453aa44c11a06826c836025e5162c846e1200adb56f2d075400da7d32d87021b3b0a58768d949d824811f5654223d5a8a3dad120921a2439625eb847c6260 languageName: node linkType: hard @@ -719,6 +696,13 @@ __metadata: languageName: node linkType: hard +"ansi-sequence-parser@npm:^1.1.0": + version: 1.1.0 + resolution: "ansi-sequence-parser@npm:1.1.0" + checksum: 75f4d3a4c555655a698aec05b5763cbddcd16ccccdbfd178fb0aa471ab74fdf98e031b875ef26e64be6a95cf970c89238744b26de6e34af97f316d5186b1df53 + languageName: node + linkType: hard + "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -745,12 +729,12 @@ __metadata: linkType: hard "anymatch@npm:~3.1.2": - version: 3.1.2 - resolution: "anymatch@npm:3.1.2" + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" dependencies: normalize-path: ^3.0.0 picomatch: ^2.0.4 - checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 + checksum: 3e044fd6d1d26545f235a9fe4d7a534e2029d8e59fa7fd9f2a6eb21230f6b5380ea1eaf55136e60cbf8e613544b3b766e7a6fa2102e2a3a117505466e3025dc2 languageName: node linkType: hard @@ -762,12 +746,12 @@ __metadata: linkType: hard "are-we-there-yet@npm:^3.0.0": - version: 3.0.0 - resolution: "are-we-there-yet@npm:3.0.0" + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" dependencies: delegates: ^1.0.0 readable-stream: ^3.6.0 - checksum: 348edfdd931b0b50868b55402c01c3f64df1d4c229ab6f063539a5025fd6c5f5bb8a0cab409bbed8d75d34762d22aa91b7c20b4204eb8177063158d9ba792981 + checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 languageName: node linkType: hard @@ -788,14 +772,14 @@ __metadata: linkType: hard "array.prototype.flat@npm:^1.2.3": - version: 1.3.0 - resolution: "array.prototype.flat@npm:1.3.0" + version: 1.3.1 + resolution: "array.prototype.flat@npm:1.3.1" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 es-shim-unscopables: ^1.0.0 - checksum: 2a652b3e8dc0bebb6117e42a5ab5738af0203a14c27341d7bb2431467bdb4b348e2c5dc555dfcda8af0a5e4075c400b85311ded73861c87290a71a17c3e0a257 + checksum: 5a8415949df79bf6e01afd7e8839bbde5a3581300e8ad5d8449dea52639e9e59b26a467665622783697917b43bf39940a6e621877c7dd9b3d1c1f97484b9b88b languageName: node linkType: hard @@ -806,6 +790,13 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -874,26 +865,26 @@ __metadata: linkType: hard "bundle-require@npm:^4.0.0": - version: 4.0.0 - resolution: "bundle-require@npm:4.0.0" + version: 4.0.1 + resolution: "bundle-require@npm:4.0.1" dependencies: load-tsconfig: ^0.2.3 peerDependencies: esbuild: ">=0.17" - checksum: 83dd37c59694c1e6606f451dc84bcbea6a540e689402d710714a868f011b27863d79f8dd23783bc05354793cdbe9d5534a0702361370032a577300ac19b747bd + checksum: 737217e37b72d7bee431b5d839b86ba604430f3ec346f073071de2ce65f0915189d4394ddd4685e0366b2930f38c95742b58c7101b8c53d9a8381d453f0b3b8a languageName: node linkType: hard "cac@npm:^6.7.12": - version: 6.7.12 - resolution: "cac@npm:6.7.12" - checksum: c0d4129eb30fc43449e9078ac37bb3b837aab6261236a6642a6fb9d839bb6a41e191e1f2776f87569535db07dcbf4937680419126215b4c17c9dba4351d1bd5e + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 45a2496a9443abbe7f52a49b22fbe51b1905eff46e03fd5e6c98e3f85077be3f8949685a1849b1a9cd2bc3e5567dfebcf64f01ce01847baf918f1b37c839791a languageName: node linkType: hard -"cacache@npm:^16.0.2": - version: 16.0.7 - resolution: "cacache@npm:16.0.7" +"cacache@npm:^16.1.0": + version: 16.1.3 + resolution: "cacache@npm:16.1.3" dependencies: "@npmcli/fs": ^2.1.0 "@npmcli/move-file": ^2.0.0 @@ -912,8 +903,8 @@ __metadata: rimraf: ^3.0.2 ssri: ^9.0.0 tar: ^6.1.11 - unique-filename: ^1.1.1 - checksum: 2155b099b7e0f0369fb1155ca4673532ca7efe2ebdbec63acca8743580b8446b5d4fd7184626b1cb059001af77b981cdc67035c7855544d365d4f048eafca2ca + unique-filename: ^2.0.0 + checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6 languageName: node linkType: hard @@ -1000,9 +991,9 @@ __metadata: linkType: hard "ci-info@npm:^3.1.0, ci-info@npm:^3.2.0": - version: 3.4.0 - resolution: "ci-info@npm:3.4.0" - checksum: 7f660730170a6ce248e173b670587a0c583e31526d21afcd21f77c811c1aaeb8926999081542d1f30e12cce1df582d4c88709fa45f44c00498b46bdf21d4d21a + version: 3.8.0 + resolution: "ci-info@npm:3.8.0" + checksum: d0a4d3160497cae54294974a7246202244fff031b0a6ea20dd57b10ec510aa17399c41a1b0982142c105f3255aff2173e5c0dd7302ee1b2f28ba3debda375098 languageName: node linkType: hard @@ -1024,14 +1015,14 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" dependencies: string-width: ^4.2.0 - strip-ansi: ^6.0.0 + strip-ansi: ^6.0.1 wrap-ansi: ^7.0.0 - checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f + checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56 languageName: node linkType: hard @@ -1181,12 +1172,12 @@ __metadata: linkType: hard "decamelize-keys@npm:^1.1.0": - version: 1.1.0 - resolution: "decamelize-keys@npm:1.1.0" + version: 1.1.1 + resolution: "decamelize-keys@npm:1.1.1" dependencies: decamelize: ^1.1.0 map-obj: ^1.0.0 - checksum: 8bc5d32e035a072f5dffc1f1f3d26ca7ab1fb44a9cade34c97ab6cd1e62c81a87e718101e96de07d78cecda20a3fdb955df958e46671ccad01bb8dcf0de2e298 + checksum: fc645fe20b7bda2680bbf9481a3477257a7f9304b1691036092b97ab04c0ab53e3bf9fcc2d2ae382536568e402ec41fb11e1d4c3836a9abe2d813dd9ef4311e0 languageName: node linkType: hard @@ -1198,21 +1189,21 @@ __metadata: linkType: hard "defaults@npm:^1.0.3": - version: 1.0.3 - resolution: "defaults@npm:1.0.3" + version: 1.0.4 + resolution: "defaults@npm:1.0.4" dependencies: clone: ^1.0.2 - checksum: 96e2112da6553d376afd5265ea7cbdb2a3b45535965d71ab8bb1da10c8126d168fdd5268799625324b368356d21ba2a7b3d4ec50961f11a47b7feb9de3d4413e + checksum: 3a88b7a587fc076b84e60affad8b85245c01f60f38fc1d259e7ac1d89eb9ce6abb19e27215de46b98568dd5bc48471730b327637e6f20b0f1bc85cf00440c80a languageName: node linkType: hard "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": - version: 1.1.4 - resolution: "define-properties@npm:1.1.4" + version: 1.2.0 + resolution: "define-properties@npm:1.2.0" dependencies: has-property-descriptors: ^1.0.0 object-keys: ^1.1.1 - checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 languageName: node linkType: hard @@ -1223,10 +1214,10 @@ __metadata: languageName: node linkType: hard -"depd@npm:^1.1.2": - version: 1.1.2 - resolution: "depd@npm:1.1.2" - checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 +"depd@npm:^2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a languageName: node linkType: hard @@ -1301,34 +1292,55 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5": - version: 1.20.2 - resolution: "es-abstract@npm:1.20.2" +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": + version: 1.21.1 + resolution: "es-abstract@npm:1.21.1" dependencies: + available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 + es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 function-bind: ^1.1.1 function.prototype.name: ^1.1.5 - get-intrinsic: ^1.1.2 + get-intrinsic: ^1.1.3 get-symbol-description: ^1.0.0 + globalthis: ^1.0.3 + gopd: ^1.0.1 has: ^1.0.3 has-property-descriptors: ^1.0.0 + has-proto: ^1.0.1 has-symbols: ^1.0.3 - internal-slot: ^1.0.3 - is-callable: ^1.2.4 + internal-slot: ^1.0.4 + is-array-buffer: ^3.0.1 + is-callable: ^1.2.7 is-negative-zero: ^2.0.2 is-regex: ^1.1.4 is-shared-array-buffer: ^1.0.2 is-string: ^1.0.7 + is-typed-array: ^1.1.10 is-weakref: ^1.0.2 object-inspect: ^1.12.2 object-keys: ^1.1.1 object.assign: ^4.1.4 regexp.prototype.flags: ^1.4.3 - string.prototype.trimend: ^1.0.5 - string.prototype.trimstart: ^1.0.5 + safe-regex-test: ^1.0.0 + string.prototype.trimend: ^1.0.6 + string.prototype.trimstart: ^1.0.6 + typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 - checksum: ab893dd1f849250f5a2da82656b4e21b511f76429b25a4aea5c8b2a3007ff01cb8e112987d0dd7693b9ad9e6399f8f7be133285d6196a5ebd1b13a4ee2258f70 + which-typed-array: ^1.1.9 + checksum: 23ff60d42d17a55d150e7bcedbdb065d4077a8b98c436e0e2e1ef4dd532a6d78a56028673de0bd8ed464a43c46ba781c50d9af429b6a17e44dbd14c7d7fb7926 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.1": + version: 2.0.1 + resolution: "es-set-tostringtag@npm:2.0.1" + dependencies: + get-intrinsic: ^1.1.3 + has: ^1.0.3 + has-tostringtag: ^1.0.0 + checksum: ec416a12948cefb4b2a5932e62093a7cf36ddc3efd58d6c58ca7ae7064475ace556434b869b0bbeb0c365f1032a8ccd577211101234b69837ad83ad204fff884 languageName: node linkType: hard @@ -1352,172 +1364,32 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-android-64@npm:0.15.11" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"esbuild-android-arm64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-android-arm64@npm:0.15.11" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-darwin-64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-darwin-64@npm:0.15.11" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"esbuild-darwin-arm64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-darwin-arm64@npm:0.15.11" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-freebsd-64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-freebsd-64@npm:0.15.11" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-freebsd-arm64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-freebsd-arm64@npm:0.15.11" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-linux-32@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-linux-32@npm:0.15.11" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"esbuild-linux-64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-linux-64@npm:0.15.11" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"esbuild-linux-arm64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-linux-arm64@npm:0.15.11" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-linux-arm@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-linux-arm@npm:0.15.11" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"esbuild-linux-mips64le@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-linux-mips64le@npm:0.15.11" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"esbuild-linux-ppc64le@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-linux-ppc64le@npm:0.15.11" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"esbuild-linux-riscv64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-linux-riscv64@npm:0.15.11" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"esbuild-linux-s390x@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-linux-s390x@npm:0.15.11" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"esbuild-netbsd-64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-netbsd-64@npm:0.15.11" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-openbsd-64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-openbsd-64@npm:0.15.11" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-sunos-64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-sunos-64@npm:0.15.11" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"esbuild-windows-32@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-windows-32@npm:0.15.11" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"esbuild-windows-64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-windows-64@npm:0.15.11" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"esbuild-windows-arm64@npm:0.15.11": - version: 0.15.11 - resolution: "esbuild-windows-arm64@npm:0.15.11" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"esbuild@npm:^0.17.6": - version: 0.17.6 - resolution: "esbuild@npm:0.17.6" - dependencies: - "@esbuild/android-arm": 0.17.6 - "@esbuild/android-arm64": 0.17.6 - "@esbuild/android-x64": 0.17.6 - "@esbuild/darwin-arm64": 0.17.6 - "@esbuild/darwin-x64": 0.17.6 - "@esbuild/freebsd-arm64": 0.17.6 - "@esbuild/freebsd-x64": 0.17.6 - "@esbuild/linux-arm": 0.17.6 - "@esbuild/linux-arm64": 0.17.6 - "@esbuild/linux-ia32": 0.17.6 - "@esbuild/linux-loong64": 0.17.6 - "@esbuild/linux-mips64el": 0.17.6 - "@esbuild/linux-ppc64": 0.17.6 - "@esbuild/linux-riscv64": 0.17.6 - "@esbuild/linux-s390x": 0.17.6 - "@esbuild/linux-x64": 0.17.6 - "@esbuild/netbsd-x64": 0.17.6 - "@esbuild/openbsd-x64": 0.17.6 - "@esbuild/sunos-x64": 0.17.6 - "@esbuild/win32-arm64": 0.17.6 - "@esbuild/win32-ia32": 0.17.6 - "@esbuild/win32-x64": 0.17.6 +"esbuild@npm:^0.17.6, esbuild@npm:~0.17.6": + version: 0.17.11 + resolution: "esbuild@npm:0.17.11" + dependencies: + "@esbuild/android-arm": 0.17.11 + "@esbuild/android-arm64": 0.17.11 + "@esbuild/android-x64": 0.17.11 + "@esbuild/darwin-arm64": 0.17.11 + "@esbuild/darwin-x64": 0.17.11 + "@esbuild/freebsd-arm64": 0.17.11 + "@esbuild/freebsd-x64": 0.17.11 + "@esbuild/linux-arm": 0.17.11 + "@esbuild/linux-arm64": 0.17.11 + "@esbuild/linux-ia32": 0.17.11 + "@esbuild/linux-loong64": 0.17.11 + "@esbuild/linux-mips64el": 0.17.11 + "@esbuild/linux-ppc64": 0.17.11 + "@esbuild/linux-riscv64": 0.17.11 + "@esbuild/linux-s390x": 0.17.11 + "@esbuild/linux-x64": 0.17.11 + "@esbuild/netbsd-x64": 0.17.11 + "@esbuild/openbsd-x64": 0.17.11 + "@esbuild/sunos-x64": 0.17.11 + "@esbuild/win32-arm64": 0.17.11 + "@esbuild/win32-ia32": 0.17.11 + "@esbuild/win32-x64": 0.17.11 dependenciesMeta: "@esbuild/android-arm": optional: true @@ -1565,84 +1437,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 13c4c3bcaa7ff291810d2c8294a1eb997b4672c60a9285b32d8eafcbc552e4468e06efe9d1a15067f5cbd41adcb12ddb4362618845e2e916e437f281c9aa80ab - languageName: node - linkType: hard - -"esbuild@npm:~0.15.10": - version: 0.15.11 - resolution: "esbuild@npm:0.15.11" - dependencies: - "@esbuild/android-arm": 0.15.11 - "@esbuild/linux-loong64": 0.15.11 - esbuild-android-64: 0.15.11 - esbuild-android-arm64: 0.15.11 - esbuild-darwin-64: 0.15.11 - esbuild-darwin-arm64: 0.15.11 - esbuild-freebsd-64: 0.15.11 - esbuild-freebsd-arm64: 0.15.11 - esbuild-linux-32: 0.15.11 - esbuild-linux-64: 0.15.11 - esbuild-linux-arm: 0.15.11 - esbuild-linux-arm64: 0.15.11 - esbuild-linux-mips64le: 0.15.11 - esbuild-linux-ppc64le: 0.15.11 - esbuild-linux-riscv64: 0.15.11 - esbuild-linux-s390x: 0.15.11 - esbuild-netbsd-64: 0.15.11 - esbuild-openbsd-64: 0.15.11 - esbuild-sunos-64: 0.15.11 - esbuild-windows-32: 0.15.11 - esbuild-windows-64: 0.15.11 - esbuild-windows-arm64: 0.15.11 - dependenciesMeta: - "@esbuild/android-arm": - optional: true - "@esbuild/linux-loong64": - optional: true - esbuild-android-64: - optional: true - esbuild-android-arm64: - optional: true - esbuild-darwin-64: - optional: true - esbuild-darwin-arm64: - optional: true - esbuild-freebsd-64: - optional: true - esbuild-freebsd-arm64: - optional: true - esbuild-linux-32: - optional: true - esbuild-linux-64: - optional: true - esbuild-linux-arm: - optional: true - esbuild-linux-arm64: - optional: true - esbuild-linux-mips64le: - optional: true - esbuild-linux-ppc64le: - optional: true - esbuild-linux-riscv64: - optional: true - esbuild-linux-s390x: - optional: true - esbuild-netbsd-64: - optional: true - esbuild-openbsd-64: - optional: true - esbuild-sunos-64: - optional: true - esbuild-windows-32: - optional: true - esbuild-windows-64: - optional: true - esbuild-windows-arm64: - optional: true - bin: - esbuild: bin/esbuild - checksum: afe5f2e6fb4013760fd12f0662569778317d2d0ba0f96c97e4cc01d38551427b7e7110ac6ab1ab6491f5fbfeb7b97fafa2652ab470251667a5d3b4a7ce68a881 + checksum: febf218155513bb9c9c970508c03ec58e0aacfdc23394f425836a09f1da0dae0afa12949274adfd382782eef097f86b2d6b3032293062291f2f471de204f77ec languageName: node linkType: hard @@ -1706,24 +1501,24 @@ __metadata: linkType: hard "fast-glob@npm:^3.2.9": - version: 3.2.11 - resolution: "fast-glob@npm:3.2.11" + version: 3.2.12 + resolution: "fast-glob@npm:3.2.12" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 micromatch: ^4.0.4 - checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 + checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 languageName: node linkType: hard "fastq@npm:^1.6.0": - version: 1.13.0 - resolution: "fastq@npm:1.13.0" + version: 1.15.0 + resolution: "fastq@npm:1.15.0" dependencies: reusify: ^1.0.4 - checksum: 32cf15c29afe622af187d12fc9cd93e160a0cb7c31a3bb6ace86b7dea3b28e7b72acde89c882663f307b2184e14782c6c664fa315973c03626c7d4bff070bb0b + checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a languageName: node linkType: hard @@ -1766,6 +1561,15 @@ __metadata: languageName: node linkType: hard +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + "fs-extra@npm:^7.0.1": version: 7.0.1 resolution: "fs-extra@npm:7.0.1" @@ -1872,14 +1676,14 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.2": - version: 1.1.3 - resolution: "get-intrinsic@npm:1.1.3" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": + version: 1.2.0 + resolution: "get-intrinsic@npm:1.2.0" dependencies: function-bind: ^1.1.1 has: ^1.0.3 has-symbols: ^1.0.3 - checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a + checksum: 78fc0487b783f5c58cf2dccafc3ae656ee8d2d8062a8831ce4a95e7057af4587a1d4882246c033aca0a7b4965276f4802b45cc300338d1b77a73d3e3e3f4877d languageName: node linkType: hard @@ -1930,16 +1734,15 @@ __metadata: languageName: node linkType: hard -"glob@npm:8.1.0": - version: 8.1.0 - resolution: "glob@npm:8.1.0" +"glob@npm:9.3.0": + version: 9.3.0 + resolution: "glob@npm:9.3.0" dependencies: fs.realpath: ^1.0.0 - inflight: ^1.0.4 - inherits: 2 - minimatch: ^5.0.1 - once: ^1.3.0 - checksum: 92fbea3221a7d12075f26f0227abac435de868dd0736a17170663783296d0dd8d3d532a5672b4488a439bf5d7fb85cdd07c11185d6cd39184f0385cbdfb86a47 + minimatch: ^7.4.1 + minipass: ^4.2.4 + path-scurry: ^1.6.1 + checksum: 9beb4f1cdc9585412efd991a9786c1ee6816dfd0537494fd552c333fa3d4b041fce5681bce21d14651e41479f60866e10a35a2ce2571fd40b7cf73842ea12192 languageName: node linkType: hard @@ -1958,15 +1761,24 @@ __metadata: linkType: hard "glob@npm:^8.0.1": - version: 8.0.3 - resolution: "glob@npm:8.0.3" + version: 8.1.0 + resolution: "glob@npm:8.1.0" dependencies: fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 minimatch: ^5.0.1 once: ^1.3.0 - checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 + checksum: 92fbea3221a7d12075f26f0227abac435de868dd0736a17170663783296d0dd8d3d532a5672b4488a439bf5d7fb85cdd07c11185d6cd39184f0385cbdfb86a47 + languageName: node + linkType: hard + +"globalthis@npm:^1.0.3": + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" + dependencies: + define-properties: ^1.1.3 + checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 languageName: node linkType: hard @@ -1984,6 +1796,15 @@ __metadata: languageName: node linkType: hard +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 + languageName: node + linkType: hard + "graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" @@ -2053,6 +1874,13 @@ __metadata: languageName: node linkType: hard +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e + languageName: node + linkType: hard + "has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" @@ -2093,9 +1921,9 @@ __metadata: linkType: hard "http-cache-semantics@npm:^4.1.0": - version: 4.1.0 - resolution: "http-cache-semantics@npm:4.1.0" - checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 languageName: node linkType: hard @@ -2162,9 +1990,9 @@ __metadata: linkType: hard "ignore@npm:^5.2.0": - version: 5.2.0 - resolution: "ignore@npm:5.2.0" - checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 + version: 5.2.4 + resolution: "ignore@npm:5.2.4" + checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef languageName: node linkType: hard @@ -2206,21 +2034,32 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.3": - version: 1.0.3 - resolution: "internal-slot@npm:1.0.3" +"internal-slot@npm:^1.0.4": + version: 1.0.5 + resolution: "internal-slot@npm:1.0.5" dependencies: - get-intrinsic: ^1.1.0 + get-intrinsic: ^1.2.0 has: ^1.0.3 side-channel: ^1.0.4 - checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf + checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a languageName: node linkType: hard -"ip@npm:^1.1.5": - version: 1.1.8 - resolution: "ip@npm:1.1.8" - checksum: a2ade53eb339fb0cbe9e69a44caab10d6e3784662285eb5d2677117ee4facc33a64679051c35e0dfdb1a3983a51ce2f5d2cb36446d52e10d01881789b76e28fb +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.1": + version: 3.0.2 + resolution: "is-array-buffer@npm:3.0.2" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.0 + is-typed-array: ^1.1.10 + checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 languageName: node linkType: hard @@ -2259,10 +2098,10 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": - version: 1.2.5 - resolution: "is-callable@npm:1.2.5" - checksum: 308ec9787dddff8ac6d3cf706ace87c31707df627e322e50882f6d76a4d80f5844bc220fee79142fe97b53c7c421d0bc72c2106358e183f85b71a874d479f8c4 +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac languageName: node linkType: hard @@ -2278,11 +2117,11 @@ __metadata: linkType: hard "is-core-module@npm:^2.9.0": - version: 2.10.0 - resolution: "is-core-module@npm:2.10.0" + version: 2.11.0 + resolution: "is-core-module@npm:2.11.0" dependencies: has: ^1.0.3 - checksum: 0f3f77811f430af3256fa7bbc806f9639534b140f8ee69476f632c3e1eb4e28a38be0b9d1b8ecf596179c841b53576129279df95e7051d694dac4ceb6f967593 + checksum: f96fd490c6b48eb4f6d10ba815c6ef13f410b0ba6f7eb8577af51697de523e5f2cd9de1c441b51d27251bf0e4aebc936545e33a5d26d5d51f28d25698d4a8bab languageName: node linkType: hard @@ -2408,6 +2247,19 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": + version: 1.1.10 + resolution: "is-typed-array@npm:1.1.10" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -2498,9 +2350,9 @@ __metadata: linkType: hard "lilconfig@npm:^2.0.5": - version: 2.0.5 - resolution: "lilconfig@npm:2.0.5" - checksum: f7bb9e42656f06930ad04e583026f087508ae408d3526b8b54895e934eb2a966b7aafae569656f2c79a29fe6d779b3ec44ba577e80814734c8655d6f71cdf2d1 + version: 2.1.0 + resolution: "lilconfig@npm:2.1.0" + checksum: 8549bb352b8192375fed4a74694cd61ad293904eee33f9d4866c2192865c44c4eb35d10782966242634e0cbc1e91fe62b1247f148dc5514918e3a966da7ea117 languageName: node linkType: hard @@ -2581,10 +2433,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.7.1": - version: 7.10.1 - resolution: "lru-cache@npm:7.10.1" - checksum: e8b190d71ed0fcd7b29c71a3e9b01f851c92d1ef8865ff06b5581ca991db1e5e006920ed4da8b56da1910664ed51abfd76c46fb55e82ac252ff6c970ff910d72 +"lru-cache@npm:^7.14.1, lru-cache@npm:^7.7.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 languageName: node linkType: hard @@ -2596,11 +2448,11 @@ __metadata: linkType: hard "make-fetch-happen@npm:^10.0.3": - version: 10.1.3 - resolution: "make-fetch-happen@npm:10.1.3" + version: 10.2.1 + resolution: "make-fetch-happen@npm:10.2.1" dependencies: agentkeepalive: ^4.2.1 - cacache: ^16.0.2 + cacache: ^16.1.0 http-cache-semantics: ^4.1.0 http-proxy-agent: ^5.0.0 https-proxy-agent: ^5.0.0 @@ -2613,9 +2465,9 @@ __metadata: minipass-pipeline: ^1.2.4 negotiator: ^0.6.3 promise-retry: ^2.0.1 - socks-proxy-agent: ^6.1.1 + socks-proxy-agent: ^7.0.0 ssri: ^9.0.0 - checksum: 14b9bc5fb65a1a1f53b4579c947d1ebdb18db71eb0b35a2eab612e9642a14127917528fe4ffb2c37aaa0d27dfd7507e4044e6e2e47b43985e8fa18722f535b8f + checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c languageName: node linkType: hard @@ -2633,7 +2485,7 @@ __metadata: languageName: node linkType: hard -"marked@npm:^4.2.5": +"marked@npm:^4.2.12": version: 4.2.12 resolution: "marked@npm:4.2.12" bin: @@ -2709,20 +2561,20 @@ __metadata: linkType: hard "minimatch@npm:^5.0.1": - version: 5.1.0 - resolution: "minimatch@npm:5.1.0" + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" dependencies: brace-expansion: ^2.0.1 - checksum: 15ce53d31a06361e8b7a629501b5c75491bc2b59712d53e802b1987121d91b433d73fcc5be92974fde66b2b51d8fb28d75a9ae900d249feb792bb1ba2a4f0a90 + checksum: 7564208ef81d7065a370f788d337cd80a689e981042cb9a1d0e6580b6c6a8c9279eba80010516e258835a988363f99f54a6f711a315089b8b42694f5da9d0d77 languageName: node linkType: hard -"minimatch@npm:^5.1.2": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" +"minimatch@npm:^7.1.3, minimatch@npm:^7.4.1": + version: 7.4.2 + resolution: "minimatch@npm:7.4.2" dependencies: brace-expansion: ^2.0.1 - checksum: 7564208ef81d7065a370f788d337cd80a689e981042cb9a1d0e6580b6c6a8c9279eba80010516e258835a988363f99f54a6f711a315089b8b42694f5da9d0d77 + checksum: 9e341b04e69d5ab03e4206dcb61c8a158e3b8709628bf5e1a4eaa9f3b72c0ba925e24ad959b1f6ce6835caa5a927131d5087fae6836b69e7d99d7d5e63ef0bd8 languageName: node linkType: hard @@ -2738,9 +2590,9 @@ __metadata: linkType: hard "minimist@npm:^1.2.5": - version: 1.2.6 - resolution: "minimist@npm:1.2.6" - checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 languageName: node linkType: hard @@ -2754,8 +2606,8 @@ __metadata: linkType: hard "minipass-fetch@npm:^2.0.3": - version: 2.1.0 - resolution: "minipass-fetch@npm:2.1.0" + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" dependencies: encoding: ^0.1.13 minipass: ^3.1.6 @@ -2764,7 +2616,7 @@ __metadata: dependenciesMeta: encoding: optional: true - checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f + checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 languageName: node linkType: hard @@ -2796,11 +2648,18 @@ __metadata: linkType: hard "minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": - version: 3.1.6 - resolution: "minipass@npm:3.1.6" + version: 3.3.6 + resolution: "minipass@npm:3.3.6" dependencies: yallist: ^4.0.0 - checksum: 57a04041413a3531a65062452cb5175f93383ef245d6f4a2961d34386eb9aa8ac11ac7f16f791f5e8bbaf1dfb1ef01596870c88e8822215db57aa591a5bb0a77 + checksum: a30d083c8054cee83cdcdc97f97e4641a3f58ae743970457b1489ce38ee1167b3aaf7d815cd39ec7a99b9c40397fd4f686e83750e73e652b21cb516f6d845e48 + languageName: node + linkType: hard + +"minipass@npm:^4.0.0, minipass@npm:^4.0.2, minipass@npm:^4.2.4": + version: 4.2.4 + resolution: "minipass@npm:4.2.4" + checksum: c664f2ae4401408d1e7a6e4f50aca45f87b1b0634bc9261136df5c378e313e77355765f73f59c4a5abcadcdf43d83fcd3eb14e4a7cdcce8e36508e2290345753 languageName: node linkType: hard @@ -2815,9 +2674,9 @@ __metadata: linkType: hard "mixme@npm:^0.5.1": - version: 0.5.4 - resolution: "mixme@npm:0.5.4" - checksum: cec5f6127c92455bc86d592f0a0628e188c7ccf3909bd106703a1d939f0e2f451ddaac6da0d77c5f14d53dd2d58f64f5b2f8ff55a68ec68be95a73d290e4d430 + version: 0.5.5 + resolution: "mixme@npm:0.5.5" + checksum: 9ba307c66679ef1f0270709f4843a93c16354fc04b6c290073e49f49b006ce154c138e29c50916d6c2cf3e4194b558093bd3014392fa2c03e88276563765e529 languageName: node linkType: hard @@ -2884,14 +2743,14 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 9.0.0 - resolution: "node-gyp@npm:9.0.0" + version: 9.3.1 + resolution: "node-gyp@npm:9.3.1" dependencies: env-paths: ^2.2.0 glob: ^7.1.4 graceful-fs: ^4.2.6 make-fetch-happen: ^10.0.3 - nopt: ^5.0.0 + nopt: ^6.0.0 npmlog: ^6.0.0 rimraf: ^3.0.2 semver: ^7.3.5 @@ -2899,18 +2758,18 @@ __metadata: which: ^2.0.2 bin: node-gyp: bin/node-gyp.js - checksum: 4d8ef8860f7e4f4d86c91db3f519d26ed5cc23b48fe54543e2afd86162b4acbd14f21de42a5db344525efb69a991e021b96a68c70c6e2d5f4a5cb770793da6d3 + checksum: b860e9976fa645ca0789c69e25387401b4396b93c8375489b5151a6c55cf2640a3b6183c212b38625ef7c508994930b72198338e3d09b9d7ade5acc4aaf51ea7 languageName: node linkType: hard -"nopt@npm:^5.0.0": - version: 5.0.0 - resolution: "nopt@npm:5.0.0" +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" dependencies: - abbrev: 1 + abbrev: ^1.0.0 bin: nopt: bin/nopt.js - checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac languageName: node linkType: hard @@ -2962,9 +2821,9 @@ __metadata: linkType: hard "object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": - version: 1.12.2 - resolution: "object-inspect@npm:1.12.2" - checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 + version: 1.12.3 + resolution: "object-inspect@npm:1.12.3" + checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db languageName: node linkType: hard @@ -3127,6 +2986,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.6.1": + version: 1.6.1 + resolution: "path-scurry@npm:1.6.1" + dependencies: + lru-cache: ^7.14.1 + minipass: ^4.0.2 + checksum: 7ba57e823cb7bb879669a4e5e05a283cde1bb9e81b6d806b2609f8d8026d0aef08f4b655b17fc86b21c9c32807851bba95ca715db5ab0605fb13c7a3e9172e42 + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -3194,7 +3063,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:2.8.4": +"prettier@npm:2.8.4, prettier@npm:^2.7.1": version: 2.8.4 resolution: "prettier@npm:2.8.4" bin: @@ -3203,15 +3072,6 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.7.1": - version: 2.7.1 - resolution: "prettier@npm:2.7.1" - bin: - prettier: bin-prettier.js - checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b - languageName: node - linkType: hard - "promise-inflight@npm:^1.0.1": version: 1.0.1 resolution: "promise-inflight@npm:1.0.1" @@ -3237,9 +3097,9 @@ __metadata: linkType: hard "punycode@npm:^2.1.0": - version: 2.1.1 - resolution: "punycode@npm:2.1.1" - checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8 + version: 2.3.0 + resolution: "punycode@npm:2.3.0" + checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 languageName: node linkType: hard @@ -3293,13 +3153,13 @@ __metadata: linkType: hard "readable-stream@npm:^3.6.0": - version: 3.6.0 - resolution: "readable-stream@npm:3.6.0" + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" dependencies: inherits: ^2.0.3 string_decoder: ^1.1.1 util-deprecate: ^1.0.1 - checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d languageName: node linkType: hard @@ -3329,13 +3189,6 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.4": - version: 0.13.9 - resolution: "regenerator-runtime@npm:0.13.9" - checksum: 65ed455fe5afd799e2897baf691ca21c2772e1a969d19bb0c4695757c2d96249eb74ee3553ea34a91062b2a676beedf630b4c1551cc6299afb937be1426ec55e - languageName: node - linkType: hard - "regexp.prototype.flags@npm:^1.4.3": version: 1.4.3 resolution: "regexp.prototype.flags@npm:1.4.3" @@ -3420,8 +3273,8 @@ __metadata: linkType: hard "rollup@npm:^3.2.5": - version: 3.5.0 - resolution: "rollup@npm:3.5.0" + version: 3.19.1 + resolution: "rollup@npm:3.19.1" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -3429,7 +3282,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 57aa8e17c7a8d5b80b7a26c8acd52779369826049dbc370b929d73a6015fb69161f5aca699e8c54f7ea410d4ce5b5a45b26b07d5c99724becd555eef0ffe35be + checksum: f78198c6de224b26650c70b16db156762d1fcceeb375d34fb2c76fc5b23a78f712c3c881d3248e6f277a511589e20d50c247bcf5c7920f1ddc0a43cadf9f0140 languageName: node linkType: hard @@ -3449,6 +3302,17 @@ __metadata: languageName: node linkType: hard +"safe-regex-test@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-regex-test@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.3 + is-regex: ^1.1.4 + checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -3466,13 +3330,13 @@ __metadata: linkType: hard "semver@npm:^7.3.5": - version: 7.3.7 - resolution: "semver@npm:7.3.7" + version: 7.3.8 + resolution: "semver@npm:7.3.8" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 + checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 languageName: node linkType: hard @@ -3515,14 +3379,15 @@ __metadata: languageName: node linkType: hard -"shiki@npm:^0.12.1": - version: 0.12.1 - resolution: "shiki@npm:0.12.1" +"shiki@npm:^0.14.1": + version: 0.14.1 + resolution: "shiki@npm:0.14.1" dependencies: + ansi-sequence-parser: ^1.1.0 jsonc-parser: ^3.2.0 vscode-oniguruma: ^1.7.0 vscode-textmate: ^8.0.0 - checksum: a5d78a79d282f5c5168786980c66e82f075e91fa015097456486624fc5775688d685ad9b1972b0617d7f1ef50927d21b61dca476247a6f6c6b7042046e89a979 + checksum: b19ea337cc84da69d99ca39d109f82946e0c56c11cc4c67b3b91cc14a9479203365fd0c9e0dd87e908f493ab409dc6f1849175384b6ca593ce7da884ae1edca2 languageName: node linkType: hard @@ -3574,24 +3439,24 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^6.1.1": - version: 6.2.0 - resolution: "socks-proxy-agent@npm:6.2.0" +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" dependencies: agent-base: ^6.0.2 debug: ^4.3.3 socks: ^2.6.2 - checksum: 6723fd64fb50334e2b340fd0a80fd8488ffc5bc43d85b7cf1d25612044f814dd7d6ea417fd47602159941236f7f4bd15669fa5d7e1f852598a31288e1a43967b + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 languageName: node linkType: hard "socks@npm:^2.6.2": - version: 2.6.2 - resolution: "socks@npm:2.6.2" + version: 2.7.1 + resolution: "socks@npm:2.7.1" dependencies: - ip: ^1.1.5 + ip: ^2.0.0 smart-buffer: ^4.2.0 - checksum: dd9194293059d737759d5c69273850ad4149f448426249325c4bea0e340d1cf3d266c3b022694b0dcf5d31f759de23657244c481fc1e8322add80b7985c36b5e + checksum: 259d9e3e8e1c9809a7f5c32238c3d4d2a36b39b83851d0f573bfde5f21c4b1288417ce1af06af1452569cd1eb0841169afd4998f0e04ba04656f6b7f0e46d748 languageName: node linkType: hard @@ -3632,12 +3497,12 @@ __metadata: linkType: hard "spdx-correct@npm:^3.0.0": - version: 3.1.1 - resolution: "spdx-correct@npm:3.1.1" + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" dependencies: spdx-expression-parse: ^3.0.0 spdx-license-ids: ^3.0.0 - checksum: 77ce438344a34f9930feffa61be0eddcda5b55fc592906ef75621d4b52c07400a97084d8701557b13f7d2aae0cb64f808431f469e566ef3fe0a3a131dcb775a6 + checksum: e9ae98d22f69c88e7aff5b8778dc01c361ef635580e82d29e5c60a6533cc8f4d820803e67d7432581af0cc4fb49973125076ee3b90df191d153e223c004193b2 languageName: node linkType: hard @@ -3659,9 +3524,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.12 - resolution: "spdx-license-ids@npm:3.0.12" - checksum: 92a4dddce62ce1db6fe54a7a839cf85e06abc308fc83b776a55b44e4f1906f02e7ebd506120847039e976bbbad359ea8bdfafb7925eae5cd7e73255f02e0b7d6 + version: 3.0.13 + resolution: "spdx-license-ids@npm:3.0.13" + checksum: 3469d85c65f3245a279fa11afc250c3dca96e9e847f2f79d57f466940c5bb8495da08a542646086d499b7f24a74b8d0b42f3fc0f95d50ff99af1f599f6360ad7 languageName: node linkType: hard @@ -3673,11 +3538,11 @@ __metadata: linkType: hard "ssri@npm:^9.0.0": - version: 9.0.0 - resolution: "ssri@npm:9.0.0" + version: 9.0.1 + resolution: "ssri@npm:9.0.1" dependencies: minipass: ^3.1.1 - checksum: bf33174232d07cc64e77ab1c51b55d28352273380c503d35642a19627e88a2c5f160039bb0a28608a353485075dda084dbf0390c7070f9f284559eb71d01b84b + checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb languageName: node linkType: hard @@ -3701,25 +3566,25 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimend@npm:1.0.5" +"string.prototype.trimend@npm:^1.0.6": + version: 1.0.6 + resolution: "string.prototype.trimend@npm:1.0.6" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc + es-abstract: ^1.20.4 + checksum: 0fdc34645a639bd35179b5a08227a353b88dc089adf438f46be8a7c197fc3f22f8514c1c9be4629b3cd29c281582730a8cbbad6466c60f76b5f99cf2addb132e languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimstart@npm:1.0.5" +"string.prototype.trimstart@npm:^1.0.6": + version: 1.0.6 + resolution: "string.prototype.trimstart@npm:1.0.6" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 + es-abstract: ^1.20.4 + checksum: 89080feef416621e6ef1279588994305477a7a91648d9436490d56010a1f7adc39167cddac7ce0b9884b8cdbef086987c4dcb2960209f2af8bac0d23ceff4f41 languageName: node linkType: hard @@ -3765,8 +3630,8 @@ __metadata: linkType: hard "sucrase@npm:^3.20.3": - version: 3.21.0 - resolution: "sucrase@npm:3.21.0" + version: 3.29.0 + resolution: "sucrase@npm:3.29.0" dependencies: commander: ^4.0.0 glob: 7.1.6 @@ -3777,7 +3642,7 @@ __metadata: bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: d686f255af65bab2cb4e685287a7a4fe00f241a891a2ddea8c6218ff8f412780339d4d544e4a582e93e3994d1ebbe2fbce6a555474e80641958319a2b249e836 + checksum: fc8f04c34f29c0e9ca63109815df138182d62663dbe9565fcd94161b77a88a639f40c46559d0bb84d7acf9346ce23ea102476fd9168ec279330c7faecefb81eb languageName: node linkType: hard @@ -3807,16 +3672,16 @@ __metadata: linkType: hard "tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.1.11 - resolution: "tar@npm:6.1.11" + version: 6.1.13 + resolution: "tar@npm:6.1.13" dependencies: chownr: ^2.0.0 fs-minipass: ^2.0.0 - minipass: ^3.0.0 + minipass: ^4.0.0 minizlib: ^2.1.1 mkdirp: ^1.0.3 yallist: ^4.0.0 - checksum: a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f + checksum: 8a278bed123aa9f53549b256a36b719e317c8b96fe86a63406f3c62887f78267cea9b22dc6f7007009738509800d4a4dccc444abd71d762287c90f35b002eb1c languageName: node linkType: hard @@ -3902,9 +3767,9 @@ __metadata: languageName: node linkType: hard -"tsup@npm:6.6.0": - version: 6.6.0 - resolution: "tsup@npm:6.6.0" +"tsup@npm:6.6.3": + version: 6.6.3 + resolution: "tsup@npm:6.6.3" dependencies: bundle-require: ^4.0.0 cac: ^6.7.12 @@ -3934,13 +3799,13 @@ __metadata: bin: tsup: dist/cli-default.js tsup-node: dist/cli-node.js - checksum: 202ed7a6b607190f47dd7503994e8e62ce672a35ff3ecaf4c1dc4c8a9590b99f91ce8c1303e28781b5a089450140492729a41d93874e87936aed94e205155551 + checksum: 4fa45fd7493971e5bf1f142a2590eabc1de536dc251d4b90bfce7dfaf1d7f40e19ef04ee541f9d2ab6a55841b72d265b7ddd3ea70c6371d746b5aed782f08094 languageName: node linkType: hard -"tsx@npm:3.12.3": - version: 3.12.3 - resolution: "tsx@npm:3.12.3" +"tsx@npm:3.12.5": + version: 3.12.5 + resolution: "tsx@npm:3.12.5" dependencies: "@esbuild-kit/cjs-loader": ^2.4.2 "@esbuild-kit/core-utils": ^3.0.0 @@ -3951,7 +3816,7 @@ __metadata: optional: true bin: tsx: dist/cli.js - checksum: fd04a164d543ff7df030e253280b509257f2d32f9d439d26f33beb1a7c23e91a36fd8d86f150e94187e0598ab58b12e6bc5b7c6798ef0bcc8ffcbc65a31597d2 + checksum: d8747fb9bf5c615fa8030e88a430ca573f5c77b54d633a1a64220899dca092d7d186e6403f93d9615d8aac6ddd8f80ce1f9db0e2708baad5ee5b586d5c06c480 languageName: node linkType: hard @@ -3993,6 +3858,17 @@ __metadata: languageName: node linkType: hard +"typed-array-length@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-length@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + for-each: ^0.3.3 + is-typed-array: ^1.1.9 + checksum: 2228febc93c7feff142b8c96a58d4a0d7623ecde6c7a24b2b98eb3170e99f7c7eff8c114f9b283085cd59dcd2bd43aadf20e25bba4b034a53c5bb292f71f8956 + languageName: node + linkType: hard + "typedoc-plugin-markdown@npm:3.14.0": version: 3.14.0 resolution: "typedoc-plugin-markdown@npm:3.14.0" @@ -4013,48 +3889,48 @@ __metadata: languageName: node linkType: hard -"typedoc@npm:0.23.24": - version: 0.23.24 - resolution: "typedoc@npm:0.23.24" +"typedoc@npm:0.23.27": + version: 0.23.27 + resolution: "typedoc@npm:0.23.27" dependencies: lunr: ^2.3.9 - marked: ^4.2.5 - minimatch: ^5.1.2 - shiki: ^0.12.1 + marked: ^4.2.12 + minimatch: ^7.1.3 + shiki: ^0.14.1 peerDependencies: typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x bin: typedoc: bin/typedoc - checksum: b04f9afcba9a38d35631b08ca345f52700f9138f59b9729d7bfecf127c2a75dd6a053594db68f3141e4d7e63b701ffa5421cbdeb95f86b254257e05e240f4da0 + checksum: 1ddcccf0b839c708a37d18b6dc1ab57ace6e177daf8f0442ff60d6e72c23ecbd78b0e602f0e1e553c7cb0254e0c769afff7c24c58683e564a7a07a2469cf99a5 languageName: node linkType: hard -"typescript@npm:^4.9.5": - version: 4.9.5 - resolution: "typescript@npm:4.9.5" +"typescript@npm:^5.0.2": + version: 5.0.2 + resolution: "typescript@npm:5.0.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: ee000bc26848147ad423b581bd250075662a354d84f0e06eb76d3b892328d8d4440b7487b5a83e851b12b255f55d71835b008a66cbf8f255a11e4400159237db + checksum: bef1dcd166acfc6934b2ec4d72f93edb8961a5fab36b8dd2aaf6f4f4cd5c0210f2e0850aef4724f3b4913d5aef203a94a28ded731b370880c8bcff7e4ff91fc1 languageName: node linkType: hard -"typescript@patch:typescript@^4.9.5#~builtin": - version: 4.9.5 - resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=23ec76" +"typescript@patch:typescript@^5.0.2#~builtin": + version: 5.0.2 + resolution: "typescript@patch:typescript@npm%3A5.0.2#~builtin::version=5.0.2&hash=1f5320" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: ab417a2f398380c90a6cf5a5f74badd17866adf57f1165617d6a551f059c3ba0a3e4da0d147b3ac5681db9ac76a303c5876394b13b3de75fdd5b1eaa06181c9d + checksum: bdbf3d0aac0d6cf010fbe0536753dc19f278eb4aba88140dcd25487dfe1c56ca8b33abc0dcd42078790a939b08ebc4046f3e9bb961d77d3d2c3cfa9829da4d53 languageName: node linkType: hard "uglify-js@npm:^3.1.4": - version: 3.17.0 - resolution: "uglify-js@npm:3.17.0" + version: 3.17.4 + resolution: "uglify-js@npm:3.17.4" bin: uglifyjs: bin/uglifyjs - checksum: 20d1fcac05e74db949a9579a36f9a1af88430e590bc9c22410b76686035c55cef65247ca1935d2f6440c78928227684219c8b1ddfcd858213049cb2890821392 + checksum: 7b3897df38b6fc7d7d9f4dcd658599d81aa2b1fb0d074829dd4e5290f7318dbca1f4af2f45acb833b95b1fe0ed4698662ab61b87e94328eb4c0a0d3435baf924 languageName: node linkType: hard @@ -4070,21 +3946,21 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^1.1.1": - version: 1.1.1 - resolution: "unique-filename@npm:1.1.1" +"unique-filename@npm:^2.0.0": + version: 2.0.1 + resolution: "unique-filename@npm:2.0.1" dependencies: - unique-slug: ^2.0.0 - checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 + unique-slug: ^3.0.0 + checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f languageName: node linkType: hard -"unique-slug@npm:^2.0.0": - version: 2.0.2 - resolution: "unique-slug@npm:2.0.2" +"unique-slug@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-slug@npm:3.0.0" dependencies: imurmurhash: ^0.1.4 - checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a + checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c languageName: node linkType: hard @@ -4200,6 +4076,20 @@ __metadata: languageName: node linkType: hard +"which-typed-array@npm:^1.1.9": + version: 1.1.9 + resolution: "which-typed-array@npm:1.1.9" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + is-typed-array: ^1.1.10 + checksum: fe0178ca44c57699ca2c0e657b64eaa8d2db2372a4e2851184f568f98c478ae3dc3fdb5f7e46c384487046b0cf9e23241423242b277e03e8ba3dabc7c84c98ef + languageName: node + linkType: hard + "which@npm:^1.2.9": version: 1.3.1 resolution: "which@npm:1.3.1" @@ -4312,7 +4202,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.0": +"yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c @@ -4339,17 +4229,17 @@ __metadata: linkType: hard "yargs@npm:^17.1.1": - version: 17.5.1 - resolution: "yargs@npm:17.5.1" + version: 17.7.1 + resolution: "yargs@npm:17.7.1" dependencies: - cliui: ^7.0.2 + cliui: ^8.0.1 escalade: ^3.1.1 get-caller-file: ^2.0.5 require-directory: ^2.1.1 string-width: ^4.2.3 y18n: ^5.0.5 - yargs-parser: ^21.0.0 - checksum: 00d58a2c052937fa044834313f07910fd0a115dec5ee35919e857eeee3736b21a4eafa8264535800ba8bac312991ce785ecb8a51f4d2cc8c4676d865af1cfbde + yargs-parser: ^21.1.1 + checksum: 3d8a43c336a4942bc68080768664aca85c7bd406f018bad362fd255c41c8f4e650277f42fd65d543fce99e084124ddafee7bbfc1a5c6a8fda4cec78609dcf8d4 languageName: node linkType: hard @@ -4360,9 +4250,9 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.20.3": - version: 3.20.3 - resolution: "zod@npm:3.20.3" - checksum: f91a8af6c5cce6283ae5138cc993dcfbb1a2aa821c7eb8bdd779338cae5db4c5c0a7ce1cc91a003893c19f77df09ccc705a8522f0f6d45369ec715cc89c43e75 +"zod@npm:^3.21.4": + version: 3.21.4 + resolution: "zod@npm:3.21.4" + checksum: f185ba87342ff16f7a06686767c2b2a7af41110c7edf7c1974095d8db7a73792696bcb4a00853de0d2edeb34a5b2ea6a55871bc864227dace682a0a28de33e1f languageName: node linkType: hard