diff --git a/package.json b/package.json index 380ab8665..2b6c4faeb 100644 --- a/package.json +++ b/package.json @@ -38,13 +38,13 @@ "@automerge/automerge": "^2.1.10", "@manypkg/cli": "^0.21.2", "@types/debug": "^4.1.12", - "@types/node": "^20.11.15", - "@types/react": "^18.2.50", + "@types/node": "^20.11.16", + "@types/react": "^18.2.55", "@types/react-dom": "^18.2.18", "@types/uuid": "^8.3.4", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-react": "^3.1.0", "@vitest/coverage-v8": "^1.2.2", "@vitest/ui": "^1.2.2", diff --git a/packages/automerge-repo/src/Repo.ts b/packages/automerge-repo/src/Repo.ts index 07f2fccd6..4f6e4d6ba 100644 --- a/packages/automerge-repo/src/Repo.ts +++ b/packages/automerge-repo/src/Repo.ts @@ -2,18 +2,18 @@ import { next as Automerge } from "@automerge/automerge" import debug from "debug" import { EventEmitter } from "eventemitter3" import { - generateAutomergeUrl, - interpretAsDocumentId, - parseAutomergeUrl, + generateAutomergeUrl, + interpretAsDocumentId, + parseAutomergeUrl, } from "./AutomergeUrl.js" import { DocHandle, DocHandleEncodedChangePayload } from "./DocHandle.js" import { RemoteHeadsSubscriptions } from "./RemoteHeadsSubscriptions.js" import { headsAreSame } from "./helpers/headsAreSame.js" import { throttle } from "./helpers/throttle.js" -import { NetworkAdapter, type PeerMetadata } from "./network/NetworkAdapter.js" +import { NetworkAdapterInterface, type PeerMetadata } from "./network/NetworkAdapterInterface.js" import { NetworkSubsystem } from "./network/NetworkSubsystem.js" import { RepoMessage } from "./network/messages.js" -import { StorageAdapter } from "./storage/StorageAdapter.js" +import { StorageAdapterInterface } from "./storage/StorageAdapterInterface.js" import { StorageSubsystem } from "./storage/StorageSubsystem.js" import { StorageId } from "./storage/types.js" import { CollectionSynchronizer } from "./synchronizer/CollectionSynchronizer.js" @@ -513,10 +513,10 @@ export interface RepoConfig { isEphemeral?: boolean /** A storage adapter can be provided, or not */ - storage?: StorageAdapter + storage?: StorageAdapterInterface /** One or more network adapters must be provided */ - network: NetworkAdapter[] + network: NetworkAdapterInterface[] /** * Normal peers typically share generously with everyone (meaning we sync all our documents with diff --git a/packages/automerge-repo/src/helpers/tests/network-adapter-tests.ts b/packages/automerge-repo/src/helpers/tests/network-adapter-tests.ts index b5d8c1ad3..d5c89189f 100644 --- a/packages/automerge-repo/src/helpers/tests/network-adapter-tests.ts +++ b/packages/automerge-repo/src/helpers/tests/network-adapter-tests.ts @@ -1,12 +1,7 @@ import assert from "assert" import { describe, expect, it } from "vitest" -import { - PeerId, - Repo, - type NetworkAdapter, - StorageId, - PeerMetadata, -} from "../../index.js" +import { PeerId, PeerMetadata, Repo, StorageId } from "../../index.js" +import type { NetworkAdapterInterface } from "../../network/NetworkAdapterInterface.js" import { eventPromise, eventPromises } from "../eventPromise.js" import { pause } from "../pause.js" @@ -35,7 +30,10 @@ export function runAdapterTests(_setup: SetupFn, title?: string): void { describe(`Adapter acceptance tests ${title ? `(${title})` : ""}`, () => { it("can sync 2 repos", async () => { - const doTest = async (a: NetworkAdapter[], b: NetworkAdapter[]) => { + const doTest = async ( + a: NetworkAdapterInterface[], + b: NetworkAdapterInterface[] + ) => { const aliceRepo = new Repo({ network: a, peerId: alice }) const bobRepo = new Repo({ network: b, peerId: bob }) @@ -174,7 +172,7 @@ export function runAdapterTests(_setup: SetupFn, title?: string): void { const NO_OP = () => {} -type Network = NetworkAdapter | NetworkAdapter[] +type Network = NetworkAdapterInterface | NetworkAdapterInterface[] export type SetupFn = () => Promise<{ adapters: [Network, Network, Network] diff --git a/packages/automerge-repo/src/index.ts b/packages/automerge-repo/src/index.ts index 9f72c5131..aa0a5c1b5 100644 --- a/packages/automerge-repo/src/index.ts +++ b/packages/automerge-repo/src/index.ts @@ -34,8 +34,10 @@ export { } from "./AutomergeUrl.js" export { Repo } from "./Repo.js" export { NetworkAdapter } from "./network/NetworkAdapter.js" +export type { NetworkAdapterInterface } from "./network/NetworkAdapterInterface.js" export { isRepoMessage } from "./network/messages.js" export { StorageAdapter } from "./storage/StorageAdapter.js" +export type { StorageAdapterInterface } from "./storage/StorageAdapterInterface.js" /** @hidden **/ export * as cbor from "./helpers/cbor.js" @@ -68,7 +70,7 @@ export type { PeerCandidatePayload, PeerDisconnectedPayload, PeerMetadata, -} from "./network/NetworkAdapter.js" +} from "./network/NetworkAdapterInterface.js" export type { DocumentUnavailableMessage, diff --git a/packages/automerge-repo/src/network/NetworkAdapter.ts b/packages/automerge-repo/src/network/NetworkAdapter.ts index 4881e5db4..23d41450d 100644 --- a/packages/automerge-repo/src/network/NetworkAdapter.ts +++ b/packages/automerge-repo/src/network/NetworkAdapter.ts @@ -1,29 +1,23 @@ /* c8 ignore start */ import { EventEmitter } from "eventemitter3" +import { NetworkAdapterEvents, PeerMetadata } from "../index.js" import { PeerId } from "../types.js" import { Message } from "./messages.js" -import { StorageId } from "../storage/types.js" - -/** - * Describes a peer intent to the system - * storageId: the key for syncState to decide what the other peer already has - * isEphemeral: to decide if we bother recording this peer's sync state - * - */ -export interface PeerMetadata { - storageId?: StorageId - isEphemeral?: boolean -} +import { NetworkAdapterInterface } from "./NetworkAdapterInterface.js" /** An interface representing some way to connect to other peers + * @deprecated use {@link NetworkAdapterInterface} * * @remarks * The {@link Repo} uses one or more `NetworkAdapter`s to connect to other peers. * Because the network may take some time to be ready the {@link Repo} will wait * until the adapter emits a `ready` event before it starts trying to use it */ -export abstract class NetworkAdapter extends EventEmitter { +export abstract class NetworkAdapter + extends EventEmitter + implements NetworkAdapterInterface +{ peerId?: PeerId peerMetadata?: PeerMetadata @@ -43,35 +37,3 @@ export abstract class NetworkAdapter extends EventEmitter /** Called by the {@link Repo} to disconnect from the network */ abstract disconnect(): void } - -// events & payloads - -export interface NetworkAdapterEvents { - /** Emitted when the network is ready to be used */ - ready: (payload: OpenPayload) => void - - /** Emitted when the network is closed */ - close: () => void - - /** Emitted when the network adapter learns about a new peer */ - "peer-candidate": (payload: PeerCandidatePayload) => void - - /** Emitted when the network adapter learns that a peer has disconnected */ - "peer-disconnected": (payload: PeerDisconnectedPayload) => void - - /** Emitted when the network adapter receives a message from a peer */ - message: (payload: Message) => void -} - -export interface OpenPayload { - network: NetworkAdapter -} - -export interface PeerCandidatePayload { - peerId: PeerId - peerMetadata: PeerMetadata -} - -export interface PeerDisconnectedPayload { - peerId: PeerId -} diff --git a/packages/automerge-repo/src/network/NetworkAdapterInterface.ts b/packages/automerge-repo/src/network/NetworkAdapterInterface.ts new file mode 100644 index 000000000..976302eee --- /dev/null +++ b/packages/automerge-repo/src/network/NetworkAdapterInterface.ts @@ -0,0 +1,77 @@ +/* c8 ignore start */ + +import { EventEmitter } from "eventemitter3" +import { PeerId } from "../types.js" +import { Message } from "./messages.js" +import { StorageId } from "../storage/types.js" + +/** + * Describes a peer intent to the system + * storageId: the key for syncState to decide what the other peer already has + * isEphemeral: to decide if we bother recording this peer's sync state + * + */ +export interface PeerMetadata { + storageId?: StorageId + isEphemeral?: boolean +} + +/** An interface representing some way to connect to other peers + * + * @remarks + * The {@link Repo} uses one or more `NetworkAdapter`s to connect to other peers. + * Because the network may take some time to be ready the {@link Repo} will wait + * until the adapter emits a `ready` event before it starts trying to use it + */ +export interface NetworkAdapterInterface extends EventEmitter { + peerId?: PeerId + peerMetadata?: PeerMetadata + + /** Called by the {@link Repo} to start the connection process + * + * @argument peerId - the peerId of this repo + * @argument peerMetadata - how this adapter should present itself to other peers + */ + connect(peerId: PeerId, peerMetadata?: PeerMetadata): void + + /** Called by the {@link Repo} to send a message to a peer + * + * @argument message - the message to send + */ + send(message: Message): void + + /** Called by the {@link Repo} to disconnect from the network */ + disconnect(): void +} + +// events & payloads + +export interface NetworkAdapterEvents { + /** Emitted when the network is ready to be used */ + ready: (payload: OpenPayload) => void + + /** Emitted when the network is closed */ + close: () => void + + /** Emitted when the network adapter learns about a new peer */ + "peer-candidate": (payload: PeerCandidatePayload) => void + + /** Emitted when the network adapter learns that a peer has disconnected */ + "peer-disconnected": (payload: PeerDisconnectedPayload) => void + + /** Emitted when the network adapter receives a message from a peer */ + message: (payload: Message) => void +} + +export interface OpenPayload { + network: NetworkAdapterInterface +} + +export interface PeerCandidatePayload { + peerId: PeerId + peerMetadata: PeerMetadata +} + +export interface PeerDisconnectedPayload { + peerId: PeerId +} diff --git a/packages/automerge-repo/src/network/NetworkSubsystem.ts b/packages/automerge-repo/src/network/NetworkSubsystem.ts index 1ce9096de..d7b5d32a8 100644 --- a/packages/automerge-repo/src/network/NetworkSubsystem.ts +++ b/packages/automerge-repo/src/network/NetworkSubsystem.ts @@ -2,10 +2,10 @@ import debug from "debug" import { EventEmitter } from "eventemitter3" import { PeerId, SessionId } from "../types.js" import type { - NetworkAdapter, + NetworkAdapterInterface, PeerDisconnectedPayload, PeerMetadata, -} from "./NetworkAdapter.js" +} from "./NetworkAdapterInterface.js" import { EphemeralMessage, MessageContents, @@ -21,16 +21,16 @@ const getEphemeralMessageSource = (message: EphemeralMessage) => export class NetworkSubsystem extends EventEmitter { #log: debug.Debugger - #adaptersByPeer: Record = {} + #adaptersByPeer: Record = {} #count = 0 #sessionId: SessionId = Math.random().toString(36).slice(2) as SessionId #ephemeralSessionCounts: Record = {} #readyAdapterCount = 0 - #adapters: NetworkAdapter[] = [] + #adapters: NetworkAdapterInterface[] = [] constructor( - adapters: NetworkAdapter[], + adapters: NetworkAdapterInterface[], public peerId = randomPeerId(), private peerMetadata: Promise ) { @@ -39,7 +39,7 @@ export class NetworkSubsystem extends EventEmitter { adapters.forEach(a => this.addNetworkAdapter(a)) } - addNetworkAdapter(networkAdapter: NetworkAdapter) { + addNetworkAdapter(networkAdapter: NetworkAdapterInterface) { this.#adapters.push(networkAdapter) networkAdapter.once("ready", () => { this.#readyAdapterCount++ @@ -105,11 +105,13 @@ export class NetworkSubsystem extends EventEmitter { }) }) - this.peerMetadata.then(peerMetadata => { - networkAdapter.connect(this.peerId, peerMetadata) - }).catch(err => { - this.#log("error connecting to network", err) - }) + this.peerMetadata + .then(peerMetadata => { + networkAdapter.connect(this.peerId, peerMetadata) + }) + .catch(err => { + this.#log("error connecting to network", err) + }) } send(message: MessageContents) { diff --git a/packages/automerge-repo/src/storage/StorageAdapter.ts b/packages/automerge-repo/src/storage/StorageAdapter.ts index 60e846cdd..5d7a4fefc 100644 --- a/packages/automerge-repo/src/storage/StorageAdapter.ts +++ b/packages/automerge-repo/src/storage/StorageAdapter.ts @@ -1,12 +1,14 @@ +import { StorageAdapterInterface } from "./StorageAdapterInterface.js" import { StorageKey, Chunk } from "./types.js" /** A storage adapter represents some way of storing binary data for a {@link Repo} + * @deprecated use {@link StorageAdapterInterface} * * @remarks * `StorageAdapter`s provide a key/value storage interface. The keys are arrays of strings * ({@link StorageKey}) and the values are binary blobs. */ -export abstract class StorageAdapter { +export abstract class StorageAdapter implements StorageAdapterInterface { /** Load the single value corresponding to `key` */ abstract load(key: StorageKey): Promise diff --git a/packages/automerge-repo/src/storage/StorageAdapterInterface.ts b/packages/automerge-repo/src/storage/StorageAdapterInterface.ts new file mode 100644 index 000000000..82d026a84 --- /dev/null +++ b/packages/automerge-repo/src/storage/StorageAdapterInterface.ts @@ -0,0 +1,34 @@ +import { StorageKey, Chunk } from "./types.js" + +/** A storage adapter represents some way of storing binary data for a {@link Repo} + * + * @remarks + * `StorageAdapter`s provide a key/value storage interface. The keys are arrays of strings + * ({@link StorageKey}) and the values are binary blobs. + */ +export interface StorageAdapterInterface { + /** Load the single value corresponding to `key` */ + load(key: StorageKey): Promise + + /** Save the value `data` to the key `key` */ + save(key: StorageKey, data: Uint8Array): Promise + + /** Remove the value corresponding to `key` */ + remove(key: StorageKey): Promise + + /** + * Load all values with keys that start with `keyPrefix`. + * + * @remarks + * The `keyprefix` will match any key that starts with the given array. For example: + * - `[documentId, "incremental"]` will match all incremental saves + * - `[documentId]` will match all data for a given document. + * + * Be careful! `[documentId]` would also match something like `[documentId, "syncState"]`! We + * aren't using this yet but keep it in mind.) + */ + loadRange(keyPrefix: StorageKey): Promise + + /** Remove all values with keys that start with `keyPrefix` */ + removeRange(keyPrefix: StorageKey): Promise +} diff --git a/packages/automerge-repo/src/storage/StorageSubsystem.ts b/packages/automerge-repo/src/storage/StorageSubsystem.ts index 6f202f82f..95d3240f5 100644 --- a/packages/automerge-repo/src/storage/StorageSubsystem.ts +++ b/packages/automerge-repo/src/storage/StorageSubsystem.ts @@ -3,7 +3,7 @@ import debug from "debug" import { headsAreSame } from "../helpers/headsAreSame.js" import { mergeArrays } from "../helpers/mergeArrays.js" import { type DocumentId } from "../types.js" -import { StorageAdapter } from "./StorageAdapter.js" +import { StorageAdapterInterface } from "./StorageAdapterInterface.js" import { ChunkInfo, StorageKey, StorageId } from "./types.js" import { keyHash, headsHash } from "./keyHash.js" import { chunkTypeFromKey } from "./chunkTypeFromKey.js" @@ -15,7 +15,7 @@ import * as Uuid from "uuid" */ export class StorageSubsystem { /** The storage adapter to use for saving and loading documents */ - #storageAdapter: StorageAdapter + #storageAdapter: StorageAdapterInterface /** Record of the latest heads we've loaded or saved for each document */ #storedHeads: Map = new Map() @@ -28,7 +28,7 @@ export class StorageSubsystem { #log = debug(`automerge-repo:storage-subsystem`) - constructor(storageAdapter: StorageAdapter) { + constructor(storageAdapter: StorageAdapterInterface) { this.#storageAdapter = storageAdapter } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index db59d77d4..372e4b331 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,11 +18,11 @@ importers: specifier: ^4.1.12 version: 4.1.12 '@types/node': - specifier: ^20.11.15 - version: 20.11.15 + specifier: ^20.11.16 + version: 20.11.16 '@types/react': - specifier: ^18.2.50 - version: 18.2.50 + specifier: ^18.2.55 + version: 18.2.55 '@types/react-dom': specifier: ^18.2.18 version: 18.2.18 @@ -33,11 +33,11 @@ importers: specifier: ^8.5.10 version: 8.5.10 '@typescript-eslint/eslint-plugin': - specifier: ^6.20.0 - version: 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: ^6.20.0 - version: 6.20.0(eslint@8.56.0)(typescript@5.3.3) + specifier: ^6.21.0 + version: 6.21.0(eslint@8.56.0)(typescript@5.3.3) '@vitejs/plugin-react': specifier: ^3.1.0 version: 3.1.0(vite@5.0.12) @@ -64,7 +64,7 @@ importers: version: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.56.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0) eslint-plugin-jsx-a11y: specifier: ^6.8.0 version: 6.8.0(eslint@8.56.0) @@ -91,7 +91,7 @@ importers: version: 2.8.8 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.15)(typescript@5.3.3) + version: 10.9.2(@types/node@20.11.16)(typescript@5.3.3) typedoc: specifier: ^0.25.7 version: 0.25.7(typescript@5.3.3) @@ -100,7 +100,7 @@ importers: version: 5.3.3 vite: specifier: ^5.0.12 - version: 5.0.12(@types/node@20.11.15) + version: 5.0.12(@types/node@20.11.16) vite-plugin-top-level-await: specifier: ^1.4.1 version: 1.4.1(vite@5.0.12) @@ -109,7 +109,7 @@ importers: version: 3.3.0(vite@5.0.12) vitest: specifier: ^1.2.2 - version: 1.2.2(@types/node@20.11.15)(@vitest/ui@1.2.2) + version: 1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2) examples/react-counter: dependencies: @@ -293,7 +293,7 @@ importers: version: 2.1.0 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.11.15)(typescript@5.3.3) + version: 10.9.1(@types/node@20.11.16)(typescript@5.3.3) uuid: specifier: ^9.0.0 version: 9.0.1 @@ -306,7 +306,7 @@ importers: version: 14.1.1(debug@4.3.4) vite: specifier: ^5.0.8 - version: 5.0.10(@types/node@20.11.15) + version: 5.0.10(@types/node@20.11.16) packages/automerge-repo-network-broadcastchannel: dependencies: @@ -379,7 +379,7 @@ importers: version: 5.11.0 vite-plugin-dts: specifier: ^3.6.4 - version: 3.6.4(@types/node@20.11.15)(typescript@5.3.3)(vite@5.0.12) + version: 3.6.4(@types/node@20.11.16)(typescript@5.3.3)(vite@5.0.12) packages/automerge-repo-storage-indexeddb: dependencies: @@ -1529,7 +1529,7 @@ packages: p-reduce: 2.1.0 pacote: 15.1.1 pify: 5.0.0 - semver: 7.5.4 + semver: 7.6.0 slash: 3.0.0 validate-npm-package-license: 3.0.4 validate-npm-package-name: 4.0.0 @@ -1659,24 +1659,24 @@ packages: read-yaml-file: 1.1.0 dev: true - /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.15): + /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.16): resolution: {integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.62.0(@types/node@20.11.15) + '@rushstack/node-core-library': 3.62.0(@types/node@20.11.16) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.38.5(@types/node@20.11.15): + /@microsoft/api-extractor@7.38.5(@types/node@20.11.16): resolution: {integrity: sha512-c/w2zfqBcBJxaCzpJNvFoouWewcYrUOfeu5ZkWCCIXTF9a/gXM85RGevEzlMAIEGM/kssAAZSXRJIZ3Q5vLFow==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.15) + '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.16) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.62.0(@types/node@20.11.15) + '@rushstack/node-core-library': 3.62.0(@types/node@20.11.16) '@rushstack/rig-package': 0.5.1 '@rushstack/ts-command-line': 4.17.1 colors: 1.2.5 @@ -1762,7 +1762,7 @@ packages: promise-all-reject-late: 1.0.1 promise-call-limit: 1.0.2 read-package-json-fast: 3.0.2 - semver: 7.5.4 + semver: 7.6.0 ssri: 10.0.5 treeverse: 3.0.0 walk-up-path: 1.0.0 @@ -1776,14 +1776,14 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@gar/promisify': 1.1.3 - semver: 7.5.4 + semver: 7.6.0 dev: true /@npmcli/fs@3.1.0: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /@npmcli/git@4.1.0: @@ -1796,7 +1796,7 @@ packages: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.5.4 + semver: 7.6.0 which: 3.0.1 transitivePeerDependencies: - bluebird @@ -1828,7 +1828,7 @@ packages: cacache: 17.1.4 json-parse-even-better-errors: 3.0.1 pacote: 15.1.1 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - bluebird - supports-color @@ -2446,7 +2446,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@3.62.0(@types/node@20.11.15): + /@rushstack/node-core-library@3.62.0(@types/node@20.11.16): resolution: {integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==} peerDependencies: '@types/node': '*' @@ -2454,7 +2454,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.15 + '@types/node': 20.11.16 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -2533,7 +2533,7 @@ packages: '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@3.59.2)(vite@4.5.2) debug: 4.3.4 svelte: 3.59.2 - vite: 4.5.2(@types/node@20.11.15) + vite: 4.5.2(@types/node@20.11.16) transitivePeerDependencies: - supports-color dev: true @@ -2552,7 +2552,7 @@ packages: magic-string: 0.30.5 svelte: 3.59.2 svelte-hmr: 0.15.3(svelte@3.59.2) - vite: 4.5.2(@types/node@20.11.15) + vite: 4.5.2(@types/node@20.11.16) vitefu: 0.2.5(vite@4.5.2) transitivePeerDependencies: - supports-color @@ -2567,8 +2567,8 @@ packages: dev: true optional: true - /@swc/core-darwin-arm64@1.3.107: - resolution: {integrity: sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==} + /@swc/core-darwin-arm64@1.4.0: + resolution: {integrity: sha512-UTJ/Vz+s7Pagef6HmufWt6Rs0aUu+EJF4Pzuwvr7JQQ5b1DZeAAUeUtkUTFx/PvCbM8Xfw4XdKBUZfrIKCfW8A==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -2585,8 +2585,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.107: - resolution: {integrity: sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==} + /@swc/core-darwin-x64@1.4.0: + resolution: {integrity: sha512-f8v58u2GsGak8EtZFN9guXqE0Ep10Suny6xriaW2d8FGqESPyNrnBzli3aqkSeQk5gGqu2zJ7WiiKp3XoUOidA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -2594,8 +2594,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.107: - resolution: {integrity: sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==} + /@swc/core-linux-arm-gnueabihf@1.4.0: + resolution: {integrity: sha512-q2KAkBzmPcTnRij/Y1fgHCKAGevUX/H4uUESrw1J5gmUg9Qip6onKV80lTumA1/aooGJ18LOsB31qdbwmZk9OA==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -2612,8 +2612,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.107: - resolution: {integrity: sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==} + /@swc/core-linux-arm64-gnu@1.4.0: + resolution: {integrity: sha512-SknGu96W0mzHtLHWm+62fk5+Omp9fMPFO7AWyGFmz2tr8EgRRXtTSrBUnWhAbgcalnhen48GsvtMdxf1KNputg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -2630,8 +2630,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.107: - resolution: {integrity: sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==} + /@swc/core-linux-arm64-musl@1.4.0: + resolution: {integrity: sha512-/k3TDvpBRMDNskHooNN1KqwUhcwkfBlIYxRTnJvsfT2C7My4pffR+4KXmt0IKynlTTbCdlU/4jgX4801FSuliw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -2648,8 +2648,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.107: - resolution: {integrity: sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==} + /@swc/core-linux-x64-gnu@1.4.0: + resolution: {integrity: sha512-GYsTMvNt5+WTVlwwQzOOWsPMw6P/F41u5PGHWmfev8Nd4QJ1h3rWPySKk4mV42IJwH9MgQCVSl3ygwNqwl6kFg==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -2666,8 +2666,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.107: - resolution: {integrity: sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==} + /@swc/core-linux-x64-musl@1.4.0: + resolution: {integrity: sha512-jGVPdM/VwF7kK/uYRW5N6FwzKf/FnDjGIR3RPvQokjYJy7Auk+3Oj21C0Jev7sIT9RYnO/TrFEoEozKeD/z2Qw==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -2684,8 +2684,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.107: - resolution: {integrity: sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==} + /@swc/core-win32-arm64-msvc@1.4.0: + resolution: {integrity: sha512-biHYm1AronEKlt47O/H8sSOBM2BKXMmWT+ApvlxUw50m1RGNnVnE0bgY7tylFuuSiWyXsQPJbmUV708JqORXVg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -2702,8 +2702,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.107: - resolution: {integrity: sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==} + /@swc/core-win32-ia32-msvc@1.4.0: + resolution: {integrity: sha512-TL5L2tFQb19kJwv6+elToGBj74QXCn9j+hZfwQatvZEJRA5rDK16eH6oAE751dGUArhnWlW3Vj65hViPvTuycw==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -2720,8 +2720,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.107: - resolution: {integrity: sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==} + /@swc/core-win32-x64-msvc@1.4.0: + resolution: {integrity: sha512-e2xVezU7XZ2Stzn4i7TOQe2Kn84oYdG0M3A7XI7oTdcpsKCcKwgiMoroiAhqCv+iN20KNqhnWwJiUiTj/qN5AA==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -2753,8 +2753,8 @@ packages: '@swc/core-win32-x64-msvc': 1.3.100 dev: true - /@swc/core@1.3.107: - resolution: {integrity: sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==} + /@swc/core@1.4.0: + resolution: {integrity: sha512-wc5DMI5BJftnK0Fyx9SNJKkA0+BZSJQx8430yutWmsILkHMBD3Yd9GhlMaxasab9RhgKqZp7Ht30hUYO5ZDvQg==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -2763,25 +2763,29 @@ packages: '@swc/helpers': optional: true dependencies: - '@swc/counter': 0.1.2 + '@swc/counter': 0.1.3 '@swc/types': 0.1.5 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.107 - '@swc/core-darwin-x64': 1.3.107 - '@swc/core-linux-arm-gnueabihf': 1.3.107 - '@swc/core-linux-arm64-gnu': 1.3.107 - '@swc/core-linux-arm64-musl': 1.3.107 - '@swc/core-linux-x64-gnu': 1.3.107 - '@swc/core-linux-x64-musl': 1.3.107 - '@swc/core-win32-arm64-msvc': 1.3.107 - '@swc/core-win32-ia32-msvc': 1.3.107 - '@swc/core-win32-x64-msvc': 1.3.107 + '@swc/core-darwin-arm64': 1.4.0 + '@swc/core-darwin-x64': 1.4.0 + '@swc/core-linux-arm-gnueabihf': 1.4.0 + '@swc/core-linux-arm64-gnu': 1.4.0 + '@swc/core-linux-arm64-musl': 1.4.0 + '@swc/core-linux-x64-gnu': 1.4.0 + '@swc/core-linux-x64-musl': 1.4.0 + '@swc/core-win32-arm64-msvc': 1.4.0 + '@swc/core-win32-ia32-msvc': 1.4.0 + '@swc/core-win32-x64-msvc': 1.4.0 dev: true /@swc/counter@0.1.2: resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} dev: true + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: true + /@swc/types@0.1.5: resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: true @@ -2867,13 +2871,13 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.15 + '@types/node': 20.11.16 dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.11.15 + '@types/node': 20.11.16 dev: true /@types/debug@4.1.12: @@ -2889,7 +2893,7 @@ packages: /@types/express-serve-static-core@4.17.41: resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 20.11.15 + '@types/node': 20.11.16 '@types/qs': 6.9.10 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -2944,8 +2948,8 @@ packages: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: true - /@types/node@20.11.15: - resolution: {integrity: sha512-gscmuADZfvNULx1eyirVbr3kVOVZtpQtzKMCZpeSZcN6MfbkRXAR4s9/gsQ4CzxLHw6EStDtKLNtSDL3vbq05A==} + /@types/node@20.11.16: + resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} dependencies: undici-types: 5.26.5 @@ -2976,11 +2980,11 @@ packages: /@types/react-dom@18.2.18: resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} dependencies: - '@types/react': 18.2.50 + '@types/react': 18.2.55 dev: true - /@types/react@18.2.50: - resolution: {integrity: sha512-y0XIDJkqp9HynS1VBktZG9mUziHTK5WZTAFDP/UfzSq+poV1drUKsr4VkjMyHTbqMz26BwgLZVYdx/EgPm7EkQ==} + /@types/react@18.2.55: + resolution: {integrity: sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 @@ -3010,7 +3014,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.15 + '@types/node': 20.11.16 dev: true /@types/serve-static@1.15.5: @@ -3018,7 +3022,7 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.11.15 + '@types/node': 20.11.16 dev: true /@types/uuid@8.3.4: @@ -3028,11 +3032,11 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.15 + '@types/node': 20.11.16 dev: true - /@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -3043,25 +3047,25 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/type-utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==} + /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3070,10 +3074,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.56.0 typescript: 5.3.3 @@ -3081,16 +3085,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.20.0: - resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==} + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 dev: true - /@typescript-eslint/type-utils@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==} + /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3099,23 +3103,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4 eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.3.3) + ts-api-utils: 1.2.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.20.0: - resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.20.0(typescript@5.3.3): - resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -3123,21 +3127,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==} + /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3145,21 +3149,21 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) eslint: 8.56.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.20.0: - resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true @@ -3173,7 +3177,7 @@ packages: vite: ^4 || ^5 dependencies: '@swc/core': 1.3.100 - vite: 5.0.12(@types/node@20.11.15) + vite: 5.0.12(@types/node@20.11.16) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -3189,7 +3193,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 5.0.12(@types/node@20.11.15) + vite: 5.0.12(@types/node@20.11.16) transitivePeerDependencies: - supports-color dev: true @@ -3206,13 +3210,13 @@ packages: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - magic-string: 0.30.6 + magic-string: 0.30.7 magicast: 0.3.3 picocolors: 1.0.0 std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.2.2(@types/node@20.11.15)(@vitest/ui@1.2.2) + vitest: 1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2) transitivePeerDependencies: - supports-color dev: true @@ -3236,7 +3240,7 @@ packages: /@vitest/snapshot@1.2.2: resolution: {integrity: sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==} dependencies: - magic-string: 0.30.6 + magic-string: 0.30.7 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -3259,7 +3263,7 @@ packages: pathe: 1.1.2 picocolors: 1.0.0 sirv: 2.0.4 - vitest: 1.2.2(@types/node@20.11.15)(@vitest/ui@1.2.2) + vitest: 1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2) dev: true /@vitest/utils@1.2.2: @@ -3557,6 +3561,14 @@ packages: is-array-buffer: 3.0.2 dev: true + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.6 + is-array-buffer: 3.0.4 + dev: true + /array-differ@3.0.0: resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} engines: {node: '>=8'} @@ -3574,10 +3586,10 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -3586,22 +3598,33 @@ packages: engines: {node: '>=8'} dev: true - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + /array.prototype.filter@1.0.3: + resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + dev: true + + /array.prototype.findlastindex@1.2.4: + resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 dev: true /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 @@ -3611,32 +3634,33 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 dev: true - /array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + /array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.2 dev: true @@ -3830,8 +3854,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001582 - electron-to-chromium: 1.4.653 + caniuse-lite: 1.0.30001584 + electron-to-chromium: 1.4.657 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.3) dev: true @@ -3871,7 +3895,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /byte-size@7.0.0: @@ -3977,6 +4001,16 @@ packages: get-intrinsic: 1.2.2 set-function-length: 1.1.1 + /call-bind@1.0.6: + resolution: {integrity: sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.0 + dev: true + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -4005,8 +4039,8 @@ packages: resolution: {integrity: sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==} dev: false - /caniuse-lite@1.0.30001582: - resolution: {integrity: sha512-vsJG3V5vgfduaQGVxL53uSX/HUzxyr2eA8xCo36OLal7sRcSZbibJtLeh0qja4sFOr/QQGt4opB4tOy+eOgAxg==} + /caniuse-lite@1.0.30001584: + resolution: {integrity: sha512-LOz7CCQ9M1G7OjJOF9/mzmqmj3jE/7VOmrfw6Mgs0E8cjOsbRXQJHsPBfmBOXDskXKrHLyyW3n7kpDW/4BsfpQ==} dev: true /cbor-extract@2.2.0: @@ -4631,6 +4665,16 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.1 + /define-data-property@1.1.2: + resolution: {integrity: sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -4796,8 +4840,8 @@ packages: resolution: {integrity: sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==} dev: false - /electron-to-chromium@1.4.653: - resolution: {integrity: sha512-wA2A2LQCqnEwQAvwADQq3KpMpNwgAUBnRmrFgRzHnPhbQUFArTR32Ab46f4p0MovDLcg4uqd4nCsN2hTltslpA==} + /electron-to-chromium@1.4.657: + resolution: {integrity: sha512-On2ymeleg6QbRuDk7wNgDdXtNqlJLM2w4Agx1D/RiTmItiL+a9oq5p7HUa2ZtkAtGBe/kil2dq/7rPfkbe0r5w==} dev: true /emoji-regex@8.0.0: @@ -4842,8 +4886,8 @@ packages: engines: {node: '>=6'} dev: true - /envinfo@7.11.0: - resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} + /envinfo@7.11.1: + resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==} engines: {node: '>=4'} hasBin: true dev: true @@ -4862,29 +4906,29 @@ packages: resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 available-typed-arrays: 1.0.6 - call-bind: 1.0.5 + call-bind: 1.0.6 es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.1 globalthis: 1.0.3 gopd: 1.0.1 has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 hasown: 2.0.0 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 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.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 @@ -4900,7 +4944,16 @@ packages: typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 + dev: true + + /es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} dev: true /es-get-iterator@1.1.3: @@ -4921,17 +4974,17 @@ packages: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 es-set-tostringtag: 2.0.2 function-bind: 1.1.2 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 globalthis: 1.0.3 has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.6 + internal-slot: 1.0.7 iterator.prototype: 1.1.2 safe-array-concat: 1.1.0 dev: true @@ -4940,8 +4993,8 @@ packages: resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 hasown: 2.0.0 dev: true @@ -5060,6 +5113,11 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} dev: false @@ -5083,7 +5141,7 @@ packages: dependencies: confusing-browser-globals: 1.0.11 eslint: 8.56.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0) object.assign: 4.1.5 object.entries: 1.1.7 semver: 6.3.1 @@ -5101,7 +5159,7 @@ packages: dependencies: eslint: 8.56.0 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) eslint-plugin-react: 7.33.2(eslint@8.56.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) @@ -5119,7 +5177,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5140,7 +5198,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7(supports-color@5.5.0) eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 @@ -5148,7 +5206,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.20.0)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -5158,22 +5216,22 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + array.prototype.findlastindex: 1.2.4 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@5.5.0) doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.7 - object.groupby: 1.0.1 + object.groupby: 1.0.2 object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.15.0 @@ -5225,7 +5283,7 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 + array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 eslint: 8.56.0 @@ -5727,7 +5785,7 @@ packages: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 functions-have-names: 1.2.3 @@ -5787,6 +5845,17 @@ packages: has-symbols: 1.0.3 hasown: 2.0.0 + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + /get-pkg-repo@4.2.1: resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} engines: {node: '>=6.9.0'} @@ -5818,12 +5887,12 @@ packages: engines: {node: '>=16'} dev: true - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + /get-symbol-description@1.0.1: + resolution: {integrity: sha512-KmuibvwbWaM4BHcBRYwJfZ1JxyJeBwB8ct9YYu67SvYdbEIlcQ2e56dHxfbobqW38GXo8/zDFqJeGtHiVbWyQw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.6 + es-errors: 1.3.0 dev: true /git-raw-commits@2.0.11: @@ -6070,6 +6139,13 @@ packages: has-symbols: 1.0.3 dev: true + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: true @@ -6324,7 +6400,7 @@ packages: promzard: 0.3.0 read: 1.0.7 read-package-json: 5.0.1 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-license: 3.0.4 validate-npm-package-name: 4.0.0 dev: true @@ -6380,6 +6456,15 @@ packages: side-channel: 1.0.4 dev: true + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + /ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} dev: true @@ -6405,6 +6490,14 @@ packages: is-typed-array: 1.1.12 dev: true + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.6 + get-intrinsic: 1.2.4 + dev: true + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true @@ -6413,7 +6506,7 @@ packages: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-bigint@1.0.4: @@ -6476,7 +6569,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 dev: true /is-fullwidth-code-point@3.0.0: @@ -6487,7 +6580,7 @@ packages: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-glob@4.0.3: @@ -6625,6 +6718,13 @@ packages: which-typed-array: 1.1.13 dev: true + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.14 + dev: true + /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} @@ -6637,7 +6737,7 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 dev: true /is-weakset@2.0.2: @@ -6715,9 +6815,9 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 + reflect.getprototypeof: 1.0.5 set-function-name: 2.0.1 dev: true @@ -6958,7 +7058,7 @@ packages: cosmiconfig: 7.0.0 dedent: 0.7.0 dot-prop: 6.0.1 - envinfo: 7.11.0 + envinfo: 7.11.1 execa: 5.0.0 fs-extra: 9.1.0 get-port: 5.1.1 @@ -6998,7 +7098,7 @@ packages: read-package-json: 5.0.1 resolve-from: 5.0.0 rimraf: 4.4.1 - semver: 7.5.4 + semver: 7.6.0 signal-exit: 3.0.7 slash: 3.0.0 ssri: 9.0.1 @@ -7053,7 +7153,7 @@ packages: npm-package-arg: 10.1.0 npm-registry-fetch: 14.0.5 proc-log: 3.0.0 - semver: 7.5.4 + semver: 7.6.0 sigstore: 1.9.0 ssri: 10.0.5 transitivePeerDependencies: @@ -7232,8 +7332,8 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.30.6: - resolution: {integrity: sha512-n62qCLbPjNjyo+owKtveQxZFZTBm+Ms6YoGD23Wew6Vw337PElFNifQpknPruVRQV57kVShPnLGo9vWxVhpPvA==} + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -7266,7 +7366,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /make-error@1.3.6: @@ -7714,7 +7814,7 @@ packages: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.5.4 + semver: 7.6.0 tar: 6.1.11 which: 2.0.2 transitivePeerDependencies: @@ -7780,7 +7880,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-license: 3.0.4 dev: true @@ -7790,7 +7890,7 @@ packages: dependencies: hosted-git-info: 5.2.1 is-core-module: 2.13.1 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-license: 3.0.4 dev: true @@ -7800,7 +7900,7 @@ packages: dependencies: hosted-git-info: 6.1.1 is-core-module: 2.13.1 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-license: 3.0.4 dev: true @@ -7836,7 +7936,7 @@ packages: resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /npm-normalize-package-bin@1.0.1: @@ -7854,7 +7954,7 @@ packages: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-name: 5.0.0 dev: true @@ -7863,7 +7963,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 3.0.8 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-name: 3.0.0 dev: true @@ -7873,7 +7973,7 @@ packages: dependencies: hosted-git-info: 5.2.1 proc-log: 2.0.1 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-name: 4.0.0 dev: true @@ -7902,7 +8002,7 @@ packages: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 - semver: 7.5.4 + semver: 7.6.0 dev: true /npm-registry-fetch@13.3.1: @@ -8115,7 +8215,7 @@ packages: resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -8124,18 +8224,19 @@ packages: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + /object.groupby@1.0.2: + resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} dependencies: - call-bind: 1.0.5 + array.prototype.filter: 1.0.3 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-errors: 1.3.0 dev: true /object.hasown@1.1.3: @@ -8149,7 +8250,7 @@ packages: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -8347,7 +8448,7 @@ packages: got: 12.6.1 registry-auth-token: 5.0.2 registry-url: 6.0.1 - semver: 7.5.4 + semver: 7.6.0 dev: true /pacote@15.1.1: @@ -8610,7 +8711,7 @@ packages: dependencies: lilconfig: 3.0.0 postcss: 8.4.32 - ts-node: 10.9.2(@types/node@20.11.15)(typescript@5.3.3) + ts-node: 10.9.2(@types/node@20.11.16)(typescript@5.3.3) yaml: 2.3.4 dev: true @@ -8651,8 +8752,8 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + /postcss@8.4.34: + resolution: {integrity: sha512-4eLTO36woPSocqZ1zIrFD2K1v6wH7pY1uBh0JIM2KKfrVtGvPFiAku6aNOP0W1Wr9qwnaCsF0Z+CrVnryB2A8Q==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -9023,14 +9124,15 @@ packages: strip-indent: 3.0.0 dev: true - /reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + /reflect.getprototypeof@1.0.5: + resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 globalthis: 1.0.3 which-builtin-type: 1.1.3 dev: true @@ -9276,8 +9378,8 @@ packages: resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.6 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 dev: true @@ -9293,8 +9395,8 @@ packages: resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.6 + get-intrinsic: 1.2.4 is-regex: 1.1.4 dev: true @@ -9374,6 +9476,14 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -9420,6 +9530,17 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.1 + /set-function-length@1.2.0: + resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.2 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + /set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} @@ -9692,12 +9813,12 @@ packages: /string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - internal-slot: 1.0.6 + internal-slot: 1.0.7 regexp.prototype.flags: 1.5.1 set-function-name: 2.0.1 side-channel: 1.0.4 @@ -9707,7 +9828,7 @@ packages: resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -9716,7 +9837,7 @@ packages: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -9724,7 +9845,7 @@ packages: /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -9732,7 +9853,7 @@ packages: /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -10159,9 +10280,9 @@ packages: engines: {node: '>=8'} dev: true - /ts-api-utils@1.0.3(typescript@5.3.3): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + /ts-api-utils@1.2.0(typescript@5.3.3): + resolution: {integrity: sha512-d+3WxW4r8WQy2cZWpNRPPGExX8ffOLGcIhheUANKbL5Sqjbhkneki76fRAWeXkaslV2etTb4tSJBSxOsH5+CJw==} + engines: {node: '>=18'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -10172,7 +10293,7 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-node@10.9.1(@types/node@20.11.15)(typescript@5.3.3): + /ts-node@10.9.1(@types/node@20.11.16)(typescript@5.3.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -10191,7 +10312,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.15 + '@types/node': 20.11.16 acorn: 8.11.2 acorn-walk: 8.3.0 arg: 4.1.3 @@ -10203,7 +10324,7 @@ packages: yn: 3.1.1 dev: false - /ts-node@10.9.2(@types/node@20.11.15)(typescript@5.3.3): + /ts-node@10.9.2(@types/node@20.11.16)(typescript@5.3.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -10222,7 +10343,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.15 + '@types/node': 20.11.16 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -10326,19 +10447,19 @@ packages: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.6 + get-intrinsic: 1.2.4 + is-typed-array: 1.1.13 dev: true /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 for-each: 0.3.3 has-proto: 1.0.1 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 dev: true /typed-array-byte-offset@1.0.0: @@ -10346,18 +10467,18 @@ packages: engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.6 - call-bind: 1.0.5 + call-bind: 1.0.6 for-each: 0.3.3 has-proto: 1.0.1 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 dev: true /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 for-each: 0.3.3 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 dev: true /typedarray@0.0.6: @@ -10410,7 +10531,7 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -10604,7 +10725,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.2.2(@types/node@20.11.15): + /vite-node@1.2.2(@types/node@20.11.16): resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10613,7 +10734,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.0.12(@types/node@20.11.15) + vite: 5.0.12(@types/node@20.11.16) transitivePeerDependencies: - '@types/node' - less @@ -10625,7 +10746,7 @@ packages: - terser dev: true - /vite-plugin-dts@3.6.4(@types/node@20.11.15)(typescript@5.3.3)(vite@5.0.12): + /vite-plugin-dts@3.6.4(@types/node@20.11.16)(typescript@5.3.3)(vite@5.0.12): resolution: {integrity: sha512-yOVhUI/kQhtS6lCXRYYLv2UUf9bftcwQK9ROxCX2ul17poLQs02ctWX7+vXB8GPRzH8VCK3jebEFtPqqijXx6w==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -10635,13 +10756,13 @@ packages: vite: optional: true dependencies: - '@microsoft/api-extractor': 7.38.5(@types/node@20.11.15) + '@microsoft/api-extractor': 7.38.5(@types/node@20.11.16) '@rollup/pluginutils': 5.1.0 '@vue/language-core': 1.8.25(typescript@5.3.3) debug: 4.3.4 kolorist: 1.8.0 typescript: 5.3.3 - vite: 5.0.12(@types/node@20.11.15) + vite: 5.0.12(@types/node@20.11.16) vue-tsc: 1.8.25(typescript@5.3.3) transitivePeerDependencies: - '@types/node' @@ -10655,9 +10776,9 @@ packages: vite: '>=2.8' dependencies: '@rollup/plugin-virtual': 3.0.2 - '@swc/core': 1.3.107 + '@swc/core': 1.4.0 uuid: 9.0.1 - vite: 5.0.12(@types/node@20.11.15) + vite: 5.0.12(@types/node@20.11.16) transitivePeerDependencies: - '@swc/helpers' - rollup @@ -10668,10 +10789,10 @@ packages: peerDependencies: vite: ^2 || ^3 || ^4 || ^5 dependencies: - vite: 5.0.12(@types/node@20.11.15) + vite: 5.0.12(@types/node@20.11.16) dev: true - /vite@4.5.2(@types/node@20.11.15): + /vite@4.5.2(@types/node@20.11.16): resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -10699,15 +10820,15 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.15 + '@types/node': 20.11.16 esbuild: 0.18.20 - postcss: 8.4.33 + postcss: 8.4.34 rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 dev: true - /vite@5.0.10(@types/node@20.11.15): + /vite@5.0.10(@types/node@20.11.16): resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10735,7 +10856,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.15 + '@types/node': 20.11.16 esbuild: 0.19.10 postcss: 8.4.32 rollup: 4.9.1 @@ -10743,7 +10864,7 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.0.12(@types/node@20.11.15): + /vite@5.0.12(@types/node@20.11.16): resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10771,9 +10892,9 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.15 + '@types/node': 20.11.16 esbuild: 0.19.12 - postcss: 8.4.33 + postcss: 8.4.34 rollup: 4.9.6 optionalDependencies: fsevents: 2.3.3 @@ -10787,10 +10908,10 @@ packages: vite: optional: true dependencies: - vite: 4.5.2(@types/node@20.11.15) + vite: 4.5.2(@types/node@20.11.16) dev: true - /vitest@1.2.2(@types/node@20.11.15)(@vitest/ui@1.2.2): + /vitest@1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2): resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10815,7 +10936,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.15 + '@types/node': 20.11.16 '@vitest/expect': 1.2.2 '@vitest/runner': 1.2.2 '@vitest/snapshot': 1.2.2 @@ -10828,15 +10949,15 @@ packages: debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.6 + magic-string: 0.30.7 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.0.12(@types/node@20.11.15) - vite-node: 1.2.2(@types/node@20.11.15) + vite: 5.0.12(@types/node@20.11.16) + vite-node: 1.2.2(@types/node@20.11.16) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -10943,7 +11064,7 @@ packages: engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.0.5 is-finalizationregistry: 1.0.2 @@ -10953,7 +11074,7 @@ packages: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /which-collection@1.0.1: @@ -10976,6 +11097,17 @@ packages: has-tostringtag: 1.0.0 dev: true + /which-typed-array@1.1.14: + resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.6 + call-bind: 1.0.6 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + dev: true + /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -11168,7 +11300,7 @@ packages: engines: {node: '>=10'} dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3