diff --git a/eslint.config.mjs b/eslint.config.mjs index d1ee22436..e7fcdc1cd 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,13 +1,14 @@ import eslint from "@eslint/js"; import tsparser from "@typescript-eslint/parser"; -import esimport from "eslint-plugin-import"; +import importPlugin from "eslint-plugin-import"; import prettier from "eslint-plugin-prettier"; import unusedImports from "eslint-plugin-unused-imports"; import vitest from "eslint-plugin-vitest"; import globals from "globals"; -import tseslint from "typescript-eslint"; +import { config as tsLintConfig, configs, plugin } from "typescript-eslint"; -const config = tseslint.config( +/** @type {import("typescript-eslint").ConfigArray} */ +const config = tsLintConfig( { ignores: [ "**/.env", @@ -30,11 +31,17 @@ const config = tseslint.config( ], }, eslint.configs.recommended, - tseslint.configs.strict, + configs.strict, + importPlugin.flatConfigs.recommended, + importPlugin.flatConfigs.typescript, { + settings: { + "import/resolver": { + typescript: {}, + }, + }, plugins: { - "@typescript-eslint": tseslint.plugin, - "import": esimport, + "@typescript-eslint": plugin, "prettier": prettier, "unused-imports": unusedImports, "vitest": vitest, @@ -82,6 +89,13 @@ const config = tseslint.config( }, }, ], + "import/no-unresolved": [ + "error", + { + ignore: ["@libp2p/bootstrap", "@libp2p/pubsub-peer-discovery"], + }, + ], + "import/no-cycle": "error", }, } ); diff --git a/examples/canvas/package.json b/examples/canvas/package.json index 6840b9ce1..8c3ec0261 100644 --- a/examples/canvas/package.json +++ b/examples/canvas/package.json @@ -10,7 +10,8 @@ }, "dependencies": { "@ts-drp/node": "0.8.5", - "@ts-drp/object": "0.8.5" + "@ts-drp/object": "0.8.5", + "@ts-drp/types": "0.8.5" }, "devDependencies": { "@types/node": "^22.5.4", diff --git a/examples/canvas/src/objects/canvas.ts b/examples/canvas/src/objects/canvas.ts index c9bf009cc..6a2d458d0 100644 --- a/examples/canvas/src/objects/canvas.ts +++ b/examples/canvas/src/objects/canvas.ts @@ -1,4 +1,5 @@ -import { ActionType, type DRP, type ResolveConflictsType, SemanticsType } from "@ts-drp/object"; +import { type DRP, type ResolveConflictsType } from "@ts-drp/object"; +import { ActionType, SemanticsType } from "@ts-drp/types"; import { Pixel } from "./pixel"; diff --git a/examples/chat/package.json b/examples/chat/package.json index e0902795d..a223c09c5 100644 --- a/examples/chat/package.json +++ b/examples/chat/package.json @@ -10,7 +10,8 @@ }, "dependencies": { "@ts-drp/node": "0.8.5", - "@ts-drp/object": "0.8.5" + "@ts-drp/object": "0.8.5", + "@ts-drp/types": "0.8.5" }, "devDependencies": { "@types/node": "^22.5.4", diff --git a/examples/chat/src/objects/chat.ts b/examples/chat/src/objects/chat.ts index 949e87723..5ee96a0eb 100644 --- a/examples/chat/src/objects/chat.ts +++ b/examples/chat/src/objects/chat.ts @@ -1,4 +1,5 @@ -import { ActionType, type DRP, type ResolveConflictsType, SemanticsType } from "@ts-drp/object"; +import { type DRP, type ResolveConflictsType } from "@ts-drp/object"; +import { ActionType, SemanticsType } from "@ts-drp/types"; export class Chat implements DRP { semanticsType: SemanticsType = SemanticsType.pair; diff --git a/examples/grid/src/objects/grid.ts b/examples/grid/src/objects/grid.ts index 90dd1a282..3a6a334c8 100644 --- a/examples/grid/src/objects/grid.ts +++ b/examples/grid/src/objects/grid.ts @@ -1,5 +1,6 @@ -import { ActionType, type DRP, type ResolveConflictsType, SemanticsType } from "@ts-drp/object"; -import { type Vertex } from "@ts-drp/types"; +import { type DRP, type ResolveConflictsType } from "@ts-drp/object"; +import { ActionType, SemanticsType, type Vertex } from "@ts-drp/types"; + export class Grid implements DRP { semanticsType: SemanticsType = SemanticsType.pair; positions: Map; diff --git a/package.json b/package.json index dc84b1c94..fe1f49737 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "assemblyscript": "^0.27.29", "eslint": "^9.19.0", "eslint-config-prettier": "^10.0.1", + "eslint-import-resolver-typescript": "^3.8.3", "eslint-plugin-import": "^2.31.0", "eslint-plugin-prettier": "^5.2.3", "eslint-plugin-unused-imports": "^4.1.4", diff --git a/packages/blueprints/src/AddMul/index.ts b/packages/blueprints/src/AddMul/index.ts index e548d0c4b..5cfcbd81f 100644 --- a/packages/blueprints/src/AddMul/index.ts +++ b/packages/blueprints/src/AddMul/index.ts @@ -1,5 +1,5 @@ -import { ActionType, type DRP, type ResolveConflictsType, SemanticsType } from "@ts-drp/object"; -import { type Vertex } from "@ts-drp/types"; +import { type DRP, type ResolveConflictsType } from "@ts-drp/object"; +import { ActionType, SemanticsType, type Vertex } from "@ts-drp/types"; export class AddMulDRP implements DRP { semanticsType = SemanticsType.pair; diff --git a/packages/blueprints/src/Map/index.ts b/packages/blueprints/src/Map/index.ts index 7244d109d..2631ab75c 100644 --- a/packages/blueprints/src/Map/index.ts +++ b/packages/blueprints/src/Map/index.ts @@ -1,5 +1,5 @@ -import { ActionType, type DRP, type ResolveConflictsType, SemanticsType } from "@ts-drp/object"; -import { type Vertex } from "@ts-drp/types"; +import { type DRP, type ResolveConflictsType } from "@ts-drp/object"; +import { ActionType, SemanticsType, type Vertex } from "@ts-drp/types"; export enum MapConflictResolution { SetWins = 0, diff --git a/packages/blueprints/src/Set/index.ts b/packages/blueprints/src/Set/index.ts index f0377559b..194008735 100644 --- a/packages/blueprints/src/Set/index.ts +++ b/packages/blueprints/src/Set/index.ts @@ -1,4 +1,5 @@ -import { type DRP, SemanticsType } from "@ts-drp/object"; +import { type DRP } from "@ts-drp/object"; +import { SemanticsType } from "@ts-drp/types"; export class SetDRP implements DRP { semanticsType = SemanticsType.pair; diff --git a/packages/blueprints/tests/AddMul.test.ts b/packages/blueprints/tests/AddMul.test.ts index cfad3eeca..3d2d5b28c 100644 --- a/packages/blueprints/tests/AddMul.test.ts +++ b/packages/blueprints/tests/AddMul.test.ts @@ -1,4 +1,4 @@ -import { ActionType } from "@ts-drp/object"; +import { ActionType } from "@ts-drp/types"; import { beforeEach, describe, expect, test } from "vitest"; import { AddMulDRP } from "../src/AddMul/index.js"; diff --git a/packages/blueprints/tests/Map.test.ts b/packages/blueprints/tests/Map.test.ts index 38354c6b4..244b6c5c6 100644 --- a/packages/blueprints/tests/Map.test.ts +++ b/packages/blueprints/tests/Map.test.ts @@ -1,4 +1,4 @@ -import { ActionType } from "@ts-drp/object"; +import { ActionType } from "@ts-drp/types"; import { beforeEach, describe, expect, test } from "vitest"; import { MapDRP } from "../src/index.js"; diff --git a/packages/keychain/package.json b/packages/keychain/package.json index 1ef3b1943..dfc274b9d 100644 --- a/packages/keychain/package.json +++ b/packages/keychain/package.json @@ -36,12 +36,6 @@ "uint8arrays": "^5.1.0" }, "devDependencies": { - "@eslint/js": "^9.18.0", - "@types/object-inspect": "^1.13.0", - "@typescript-eslint/eslint-plugin": "^8.20.0", - "@typescript-eslint/parser": "^8.20.0", - "eslint": "^9.18.0", - "typescript": "^5.7.3", - "typescript-eslint": "^8.20.0" + "@types/object-inspect": "^1.13.0" } } diff --git a/packages/keychain/src/keychain.ts b/packages/keychain/src/keychain.ts index 24ba20dcb..4da5b1cd5 100644 --- a/packages/keychain/src/keychain.ts +++ b/packages/keychain/src/keychain.ts @@ -1,4 +1,4 @@ -import bls from "@chainsafe/bls/herumi"; +import { bls } from "@chainsafe/bls/herumi"; import type { SecretKey as BlsSecretKey } from "@chainsafe/bls/types"; import { deriveKeyFromEntropy } from "@chainsafe/bls-keygen"; import { generateKeyPair, generateKeyPairFromSeed } from "@libp2p/crypto/keys"; diff --git a/packages/logger/src/index.ts b/packages/logger/src/index.ts index 0ea7bb0f4..8d0e93e1b 100644 --- a/packages/logger/src/index.ts +++ b/packages/logger/src/index.ts @@ -5,6 +5,14 @@ export interface LoggerOptions { level?: loglevel.LogLevelDesc; } +export interface ILogger { + trace: (...args: unknown[]) => void; + debug: (...args: unknown[]) => void; + info: (...args: unknown[]) => void; + warn: (...args: unknown[]) => void; + error: (...args: unknown[]) => void; +} + export class Logger { private log: loglevel.Logger; // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/node/src/handlers.ts b/packages/node/src/handlers.ts index 94c3165b9..fa23220c5 100644 --- a/packages/node/src/handlers.ts +++ b/packages/node/src/handlers.ts @@ -17,9 +17,9 @@ import { } from "@ts-drp/types"; import { fromString as uint8ArrayFromString } from "uint8arrays/from-string"; -import { type DRPNode, log } from "./index.js"; +import { type DRPNode } from "./index.js"; +import { log } from "./logger.js"; import { deserializeStateMessage, serializeStateMessage } from "./utils.js"; - /* Handler for all DRP messages, including pubsub messages and direct messages You need to setup stream xor data diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index 37a6f33c4..c751e1c21 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -8,9 +8,9 @@ import { IMetrics } from "@ts-drp/tracer"; import { Message, MessageType } from "@ts-drp/types"; import { drpMessagesHandler } from "./handlers.js"; +import { log } from "./logger.js"; import * as operations from "./operations.js"; import { DRPObjectStore } from "./store/index.js"; - // snake_casing to match the JSON config export interface DRPNodeConfig { log_config?: LoggerOptions; @@ -18,8 +18,6 @@ export interface DRPNodeConfig { keychain_config?: KeychainConfig; } -export let log: Logger; - export class DRPNode { config?: DRPNodeConfig; objectStore: DRPObjectStore; @@ -28,7 +26,12 @@ export class DRPNode { constructor(config?: DRPNodeConfig) { this.config = config; - log = new Logger("drp::node", config?.log_config); + const newLogger = new Logger("drp::node", config?.log_config); + log.trace = newLogger.trace; + log.debug = newLogger.debug; + log.info = newLogger.info; + log.warn = newLogger.warn; + log.error = newLogger.error; this.networkNode = new DRPNetworkNode(config?.network_config); this.objectStore = new DRPObjectStore(); this.keychain = new Keychain(config?.keychain_config); diff --git a/packages/node/src/logger.ts b/packages/node/src/logger.ts new file mode 100644 index 000000000..e4401ae87 --- /dev/null +++ b/packages/node/src/logger.ts @@ -0,0 +1,10 @@ +import { ILogger } from "@ts-drp/logger"; + +// TODO: replace with the actual logger in each place that need a logger this is just a hack by the mean time to fix the circular dependency +export const log: ILogger = { + trace: () => {}, + debug: () => {}, + info: () => {}, + warn: () => {}, + error: () => {}, +}; diff --git a/packages/node/src/operations.ts b/packages/node/src/operations.ts index 500a570ef..a61e2c44d 100644 --- a/packages/node/src/operations.ts +++ b/packages/node/src/operations.ts @@ -4,7 +4,8 @@ import { IMetrics } from "@ts-drp/tracer"; import { FetchState, Message, MessageType, Sync } from "@ts-drp/types"; import { drpMessagesHandler, drpObjectChangesHandler } from "./handlers.js"; -import { type DRPNode, log } from "./index.js"; +import { type DRPNode } from "./index.js"; +import { log } from "./logger.js"; export function createObject(node: DRPNode, object: DRPObject) { node.objectStore.put(object.id, object); diff --git a/packages/node/src/rpc/index.ts b/packages/node/src/rpc/index.ts index 9c6660e4a..079697741 100644 --- a/packages/node/src/rpc/index.ts +++ b/packages/node/src/rpc/index.ts @@ -5,7 +5,8 @@ import * as reflection from "@grpc/reflection"; import path, { dirname } from "node:path"; import { fileURLToPath } from "node:url"; -import { type DRPNode, log } from "../index.js"; +import { type DRPNode } from "../index.js"; +import { log } from "../logger.js"; import { DrpRpcService } from "../proto/drp/node/v1/rpc_grpc_pb.js"; import type { AddCustomGroupRequest, diff --git a/packages/node/tests/node.test.ts b/packages/node/tests/node.test.ts index 66afbba3b..268b8ff7e 100644 --- a/packages/node/tests/node.test.ts +++ b/packages/node/tests/node.test.ts @@ -1,4 +1,4 @@ -import bls from "@chainsafe/bls/herumi"; +import { bls } from "@chainsafe/bls/herumi"; import { SetDRP } from "@ts-drp/blueprints"; import { ACLGroup, ObjectACL } from "@ts-drp/object"; import { type DRP, DRPObject, DrpType } from "@ts-drp/object"; diff --git a/packages/object/src/acl/index.ts b/packages/object/src/acl/index.ts index 03cb95a42..54e51a743 100644 --- a/packages/object/src/acl/index.ts +++ b/packages/object/src/acl/index.ts @@ -1,9 +1,8 @@ -import { type Vertex } from "@ts-drp/types"; +import { type Vertex, ActionType, SemanticsType } from "@ts-drp/types"; -import { ActionType, type ResolveConflictsType, SemanticsType } from "../index.js"; +import { type ResolveConflictsType } from "../index.js"; import type { DRPPublicCredential } from "../interface.js"; -import type { PeerPermissions } from "./interface.js"; -import { type ACL, ACLConflictResolution, ACLGroup } from "./interface.js"; +import { type ACL, ACLConflictResolution, type PeerPermissions, ACLGroup } from "./interface.js"; export class ObjectACL implements ACL { semanticsType = SemanticsType.pair; diff --git a/packages/object/src/acl/interface.ts b/packages/object/src/acl/interface.ts index c520cace2..7a60b154e 100644 --- a/packages/object/src/acl/interface.ts +++ b/packages/object/src/acl/interface.ts @@ -1,5 +1,4 @@ -import type { DRPPublicCredential } from "../interface.js"; -import type { DRP } from "../interface.js"; +import type { DRPPublicCredential, DRP } from "../interface.js"; export interface ACL extends DRP { permissionless: boolean; diff --git a/packages/object/src/finality/index.ts b/packages/object/src/finality/index.ts index 5341b8db3..7c588feeb 100644 --- a/packages/object/src/finality/index.ts +++ b/packages/object/src/finality/index.ts @@ -1,10 +1,11 @@ -import bls from "@chainsafe/bls/herumi"; +import { bls } from "@chainsafe/bls/herumi"; +import { Logger, LoggerOptions } from "@ts-drp/logger"; import { AggregatedAttestation, Attestation } from "@ts-drp/types"; import { fromString as uint8ArrayFromString } from "uint8arrays/from-string"; import { BitSet } from "../hashgraph/bitset.js"; import type { Hash } from "../hashgraph/index.js"; -import { type DRPPublicCredential, log } from "../index.js"; +import { type DRPPublicCredential } from "../index.js"; const DEFAULT_FINALITY_THRESHOLD = 0.51; @@ -97,9 +98,13 @@ export class FinalityStore { states: Map; finalityThreshold: number; - constructor(config?: FinalityConfig) { + private log: Logger; + + constructor(config?: FinalityConfig, logConfig?: LoggerOptions) { this.states = new Map(); this.finalityThreshold = config?.finality_threshold ?? DEFAULT_FINALITY_THRESHOLD; + + this.log = new Logger("drp::finality", logConfig); } initializeState(hash: Hash, signers: Map) { @@ -153,7 +158,7 @@ export class FinalityStore { try { this.states.get(attestation.data)?.addSignature(peerId, attestation.signature, verify); } catch (e) { - log.error("::finality::addSignatures", e); + this.log.error("::finality::addSignatures", e); } } } @@ -176,7 +181,7 @@ export class FinalityStore { try { this.states.get(attestation.data)?.merge(attestation); } catch (e) { - log.error("::finality::mergeSignatures", e); + this.log.error("::finality::mergeSignatures", e); } } } diff --git a/packages/object/src/hashgraph/index.ts b/packages/object/src/hashgraph/index.ts index e66223729..0d5e4897c 100644 --- a/packages/object/src/hashgraph/index.ts +++ b/packages/object/src/hashgraph/index.ts @@ -1,6 +1,6 @@ -import { Operation, Vertex } from "@ts-drp/types"; +import { Logger, LoggerOptions } from "@ts-drp/logger"; +import { Operation, Vertex, ActionType, SemanticsType } from "@ts-drp/types"; -import { log } from "../index.js"; import { BitSet } from "./bitset.js"; import { linearizeMultipleSemantics } from "../linearize/multipleSemantics.js"; import { linearizePairSemantics } from "../linearize/pairSemantics.js"; @@ -13,19 +13,6 @@ export enum OperationType { NOP = "-1", } -export enum ActionType { - Nop = 0, - DropLeft = 1, - DropRight = 2, - Swap = 3, - Drop = 4, -} - -export enum SemanticsType { - pair = 0, - multiple = 1, -} - // In the case of multi-vertex semantics, we are returning an array of vertices (their hashes) to be reduced. export type ResolveConflictsType = { action: ActionType; @@ -46,6 +33,9 @@ export class HashGraph { vertices: Map = new Map(); frontier: Hash[] = []; forwardEdges: Map = new Map(); + + private log: Logger; + /* computeHash( "", @@ -67,12 +57,14 @@ export class HashGraph { peerId: string, resolveConflictsACL?: (vertices: Vertex[]) => ResolveConflictsType, resolveConflictsDRP?: (vertices: Vertex[]) => ResolveConflictsType, - semanticsTypeDRP?: SemanticsType + semanticsTypeDRP?: SemanticsType, + logConfig?: LoggerOptions ) { this.peerId = peerId; this.resolveConflictsACL = resolveConflictsACL; this.resolveConflictsDRP = resolveConflictsDRP; this.semanticsTypeDRP = semanticsTypeDRP; + this.log = new Logger("drp::hashgraph", logConfig); const rootVertex: Vertex = { hash: HashGraph.rootHash, @@ -300,18 +292,18 @@ export class HashGraph { while (currentHash1 !== currentHash2) { const distance1 = this.vertexDistances.get(currentHash1); if (!distance1) { - log.error("::hashgraph::LCA: Vertex not found"); + this.log.error("::hashgraph::LCA: Vertex not found"); return; } const distance2 = this.vertexDistances.get(currentHash2); if (!distance2) { - log.error("::hashgraph::LCA: Vertex not found"); + this.log.error("::hashgraph::LCA: Vertex not found"); return; } if (distance1.distance > distance2.distance) { if (!distance1.closestDependency) { - log.error("::hashgraph::LCA: Closest dependency not found"); + this.log.error("::hashgraph::LCA: Closest dependency not found"); return; } for (const dep of this.vertices.get(currentHash1)?.dependencies || []) { @@ -326,7 +318,7 @@ export class HashGraph { visited.add(currentHash1); } else { if (!distance2.closestDependency) { - log.error("::hashgraph::LCA: Closest dependency not found"); + this.log.error("::hashgraph::LCA: Closest dependency not found"); return; } for (const dep of this.vertices.get(currentHash2)?.dependencies || []) { diff --git a/packages/object/src/interface.ts b/packages/object/src/interface.ts index c724c95ee..e724f4a4d 100644 --- a/packages/object/src/interface.ts +++ b/packages/object/src/interface.ts @@ -1,8 +1,8 @@ import { LoggerOptions } from "@ts-drp/logger"; import { IMetrics } from "@ts-drp/tracer"; -import { Operation, Vertex } from "@ts-drp/types"; +import { Operation, SemanticsType, Vertex } from "@ts-drp/types"; -import type { ResolveConflictsType, SemanticsType } from "./hashgraph/index.js"; +import type { ResolveConflictsType } from "./hashgraph/index.js"; import type { DRPObject } from "./index.js"; export enum DrpType { diff --git a/packages/object/src/linearize/multipleSemantics.ts b/packages/object/src/linearize/multipleSemantics.ts index ba2501ce3..8137b9638 100644 --- a/packages/object/src/linearize/multipleSemantics.ts +++ b/packages/object/src/linearize/multipleSemantics.ts @@ -1,6 +1,6 @@ -import { Operation, Vertex } from "@ts-drp/types"; +import { ActionType, Operation, Vertex } from "@ts-drp/types"; -import { ActionType, type Hash, type HashGraph } from "../hashgraph/index.js"; +import { type Hash, type HashGraph } from "../hashgraph/index.js"; import type { ObjectSet } from "../utils/objectSet.js"; export function linearizeMultipleSemantics( diff --git a/packages/object/src/linearize/pairSemantics.ts b/packages/object/src/linearize/pairSemantics.ts index 4908f7659..1b8f50fd2 100644 --- a/packages/object/src/linearize/pairSemantics.ts +++ b/packages/object/src/linearize/pairSemantics.ts @@ -1,6 +1,6 @@ -import { Operation } from "@ts-drp/types"; +import { ActionType, Operation } from "@ts-drp/types"; -import { ActionType, type Hash, type HashGraph } from "../hashgraph/index.js"; +import { type Hash, type HashGraph } from "../hashgraph/index.js"; import type { ObjectSet } from "../utils/objectSet.js"; export function linearizePairSemantics( diff --git a/packages/object/tests/ACL.test.ts b/packages/object/tests/ACL.test.ts index 686dda667..78c160693 100644 --- a/packages/object/tests/ACL.test.ts +++ b/packages/object/tests/ACL.test.ts @@ -1,4 +1,4 @@ -import { ActionType } from "@ts-drp/object"; +import { ActionType } from "@ts-drp/types"; import { beforeEach, describe, expect, test } from "vitest"; import { DrpType } from "../dist/src/interface.js"; diff --git a/packages/object/tests/drpobject.test.ts b/packages/object/tests/drpobject.test.ts index 4f6cfe834..c50064e3d 100644 --- a/packages/object/tests/drpobject.test.ts +++ b/packages/object/tests/drpobject.test.ts @@ -1,9 +1,7 @@ import { SetDRP } from "@ts-drp/blueprints/src/index.js"; -import { type Vertex } from "@ts-drp/types"; +import { type Vertex, ActionType, SemanticsType } from "@ts-drp/types"; import { beforeEach, describe, expect, it, test, vi } from "vitest"; -import { SemanticsType } from "../dist/src/hashgraph/index.js"; -import { ActionType } from "../dist/src/hashgraph/index.js"; import { DRP, DRPObject, ObjectACL, ResolveConflictsType } from "../src/index.js"; const acl = new ObjectACL({ diff --git a/packages/object/tests/finality.test.ts b/packages/object/tests/finality.test.ts index b0551c5d8..7d0838dde 100644 --- a/packages/object/tests/finality.test.ts +++ b/packages/object/tests/finality.test.ts @@ -1,4 +1,4 @@ -import bls from "@chainsafe/bls/herumi"; +import { bls } from "@chainsafe/bls/herumi"; import { SetDRP } from "@ts-drp/blueprints/src/index.js"; import { Keychain } from "@ts-drp/keychain/src/keychain.js"; import { toString as uint8ArrayToString } from "uint8arrays"; diff --git a/packages/object/tests/hashgraph.bench.ts b/packages/object/tests/hashgraph.bench.ts index 150212977..160fcac50 100644 --- a/packages/object/tests/hashgraph.bench.ts +++ b/packages/object/tests/hashgraph.bench.ts @@ -1,5 +1,4 @@ -import { MapDRP } from "@ts-drp/blueprints/src/index.js"; -import { SetDRP } from "@ts-drp/blueprints/src/index.js"; +import { MapDRP, SetDRP } from "@ts-drp/blueprints/src/index.js"; import Benchmark from "benchmark"; import { DRP, DRPObject, ObjectACL } from "../src/index.js"; diff --git a/packages/object/tests/hashgraph.test.ts b/packages/object/tests/hashgraph.test.ts index 6b831e646..de2071c16 100644 --- a/packages/object/tests/hashgraph.test.ts +++ b/packages/object/tests/hashgraph.test.ts @@ -1,10 +1,9 @@ import { MapConflictResolution, MapDRP } from "@ts-drp/blueprints/src/Map/index.js"; import { SetDRP } from "@ts-drp/blueprints/src/Set/index.js"; -import { type Vertex, Operation } from "@ts-drp/types"; +import { type Vertex, Operation, ActionType, SemanticsType } from "@ts-drp/types"; import { beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; import { ObjectACL } from "../src/acl/index.js"; -import { ActionType, SemanticsType } from "../src/hashgraph/index.js"; import { ACLGroup, DRP, DRPObject, DrpType, Hash, HashGraph, newVertex } from "../src/index.js"; import { ObjectSet } from "../src/utils/objectSet.js"; diff --git a/packages/object/tests/linearize.test.ts b/packages/object/tests/linearize.test.ts index dae463657..d46db3b8d 100644 --- a/packages/object/tests/linearize.test.ts +++ b/packages/object/tests/linearize.test.ts @@ -1,8 +1,6 @@ -import { type Vertex } from "@ts-drp/types"; +import { type Vertex, ActionType, SemanticsType } from "@ts-drp/types"; import { describe, expect, test, vi, beforeEach, afterEach } from "vitest"; -import { ActionType } from "../dist/src/hashgraph/index.js"; -import { SemanticsType } from "../dist/src/hashgraph/index.js"; import { DrpType, HashGraph, newVertex } from "../src/index.js"; import { linearizeMultipleSemantics } from "../src/linearize/multipleSemantics.js"; import { linearizePairSemantics } from "../src/linearize/pairSemantics.js"; diff --git a/packages/types/src/hashgraph.ts b/packages/types/src/hashgraph.ts new file mode 100644 index 000000000..b749b35ab --- /dev/null +++ b/packages/types/src/hashgraph.ts @@ -0,0 +1,12 @@ +export enum ActionType { + Nop = 0, + DropLeft = 1, + DropRight = 2, + Swap = 3, + Drop = 4, +} + +export enum SemanticsType { + pair = 0, + multiple = 1, +} diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index fb13bae6c..ad702fd45 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -20,3 +20,5 @@ export { SyncAccept, SyncReject, } from "./proto/drp/v1/messages_pb.js"; + +export * from "./hashgraph.js"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50a0b1a69..13d513169 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: dependencies: '@types/node': specifier: ^22.5.4 - version: 22.13.5 + version: 22.13.8 typescript: specifier: ^5.7.3 - version: 5.7.3 + version: 5.8.2 devDependencies: '@eslint/js': specifier: ^9.18.0 @@ -23,13 +23,13 @@ importers: version: 1.50.1 '@release-it-plugins/workspaces': specifier: ^4.2.0 - version: 4.2.0(release-it@17.11.0(typescript@5.7.3)) + version: 4.2.0(release-it@17.11.0(typescript@5.8.2)) '@typescript-eslint/parser': specifier: ^8.21.0 - version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) + version: 8.25.0(eslint@9.21.0)(typescript@5.8.2) '@vitest/coverage-v8': specifier: 3.0.5 - version: 3.0.5(vitest@3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) + version: 3.0.5(vitest@3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) assemblyscript: specifier: ^0.27.29 version: 0.27.34 @@ -39,18 +39,21 @@ importers: eslint-config-prettier: specifier: ^10.0.1 version: 10.0.2(eslint@9.21.0) + eslint-import-resolver-typescript: + specifier: ^3.8.3 + version: 3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0) + version: 2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0) eslint-plugin-prettier: specifier: ^5.2.3 version: 5.2.3(eslint-config-prettier@10.0.2(eslint@9.21.0))(eslint@9.21.0)(prettier@3.5.2) eslint-plugin-unused-imports: specifier: ^4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0) eslint-plugin-vitest: specifier: ^0.5.4 - version: 0.5.4(@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3)(vitest@3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) + version: 0.5.4(@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2)(vitest@3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) globals: specifier: ^16.0.0 version: 16.0.0 @@ -59,10 +62,10 @@ importers: version: 3.5.2 release-it: specifier: ^17.6.0 - version: 17.11.0(typescript@5.7.3) + version: 17.11.0(typescript@5.8.2) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.13.5)(typescript@5.7.3) + version: 10.9.2(@types/node@22.13.8)(typescript@5.8.2) ts-proto: specifier: ^2.2.4 version: 2.6.1 @@ -71,19 +74,19 @@ importers: version: 4.19.1 typedoc: specifier: ^0.26.6 - version: 0.26.11(typescript@5.7.3) + version: 0.26.11(typescript@5.8.2) typescript-eslint: specifier: ^8.21.0 - version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) + version: 8.25.0(eslint@9.21.0)(typescript@5.8.2) vite: specifier: ^6.0.9 - version: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + version: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.0.1 - version: 5.1.4(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) vitest: specifier: ^3.0.5 - version: 3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + version: 3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) examples/canvas: dependencies: @@ -93,19 +96,22 @@ importers: '@ts-drp/object': specifier: 0.8.5 version: link:../../packages/object + '@ts-drp/types': + specifier: 0.8.5 + version: link:../../packages/types devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.13.5 + version: 22.13.8 typescript: specifier: ^5.5.4 - version: 5.7.3 + version: 5.8.2 vite: specifier: ^6.0.9 - version: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + version: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) + version: 0.22.0(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) examples/chat: dependencies: @@ -115,19 +121,22 @@ importers: '@ts-drp/object': specifier: 0.8.5 version: link:../../packages/object + '@ts-drp/types': + specifier: 0.8.5 + version: link:../../packages/types devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.13.5 + version: 22.13.8 typescript: specifier: ^5.5.4 - version: 5.7.3 + version: 5.8.2 vite: specifier: ^6.0.9 - version: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + version: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) + version: 0.22.0(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) examples/grid: dependencies: @@ -146,16 +155,16 @@ importers: devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.13.5 + version: 22.13.8 typescript: specifier: ^5.5.4 - version: 5.7.3 + version: 5.8.2 vite: specifier: ^6.0.9 - version: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + version: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) + version: 0.22.0(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) examples/local-bootstrap: dependencies: @@ -165,16 +174,16 @@ importers: devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.13.5 + version: 22.13.8 typescript: specifier: ^5.5.4 - version: 5.7.3 + version: 5.8.2 vite: specifier: ^6.0.9 - version: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + version: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) + version: 0.22.0(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) packages/blueprints: dependencies: @@ -212,27 +221,9 @@ importers: specifier: ^5.1.0 version: 5.1.0 devDependencies: - '@eslint/js': - specifier: ^9.18.0 - version: 9.21.0 '@types/object-inspect': specifier: ^1.13.0 version: 1.13.0 - '@typescript-eslint/eslint-plugin': - specifier: ^8.20.0 - version: 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3) - '@typescript-eslint/parser': - specifier: ^8.20.0 - version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) - eslint: - specifier: ^9.18.0 - version: 9.21.0 - typescript: - specifier: ^5.7.3 - version: 5.7.3 - typescript-eslint: - specifier: ^8.20.0 - version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) packages/logger: dependencies: @@ -380,7 +371,7 @@ importers: version: link:../types '@types/node': specifier: ^22.5.4 - version: 22.13.5 + version: 22.13.8 commander: specifier: ^13.0.0 version: 13.1.0 @@ -399,7 +390,7 @@ importers: version: 4.19.1 vitest: specifier: ^3.0.5 - version: 3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + version: 3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) packages/object: dependencies: @@ -420,7 +411,7 @@ importers: version: link:../types '@types/node': specifier: ^22.5.4 - version: 22.13.5 + version: 22.13.8 es-toolkit: specifier: 1.30.1 version: 1.30.1 @@ -494,16 +485,16 @@ importers: version: 1.13.0 '@typescript-eslint/eslint-plugin': specifier: ^8.20.0 - version: 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3) + version: 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2) '@typescript-eslint/parser': specifier: ^8.20.0 - version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) + version: 8.25.0(eslint@9.21.0)(typescript@5.8.2) eslint: specifier: ^9.18.0 version: 9.21.0 typescript-eslint: specifier: ^8.20.0 - version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) + version: 8.25.0(eslint@9.21.0)(typescript@5.8.2) packages/types: dependencies: @@ -516,16 +507,16 @@ importers: version: 1.13.0 '@typescript-eslint/eslint-plugin': specifier: ^8.20.0 - version: 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3) + version: 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2) '@typescript-eslint/parser': specifier: ^8.20.0 - version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) + version: 8.25.0(eslint@9.21.0)(typescript@5.8.2) eslint: specifier: ^9.18.0 version: 9.21.0 typescript-eslint: specifier: ^8.20.0 - version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) + version: 8.25.0(eslint@9.21.0)(typescript@5.8.2) packages: @@ -1796,6 +1787,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + '@octokit/auth-token@4.0.0': resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} engines: {node: '>= 18'} @@ -2116,98 +2111,98 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.34.8': - resolution: {integrity: sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==} + '@rollup/rollup-android-arm-eabi@4.34.9': + resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.34.8': - resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==} + '@rollup/rollup-android-arm64@4.34.9': + resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.34.8': - resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==} + '@rollup/rollup-darwin-arm64@4.34.9': + resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.34.8': - resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==} + '@rollup/rollup-darwin-x64@4.34.9': + resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.34.8': - resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==} + '@rollup/rollup-freebsd-arm64@4.34.9': + resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.34.8': - resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==} + '@rollup/rollup-freebsd-x64@4.34.9': + resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.34.8': - resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==} + '@rollup/rollup-linux-arm-gnueabihf@4.34.9': + resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.34.8': - resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==} + '@rollup/rollup-linux-arm-musleabihf@4.34.9': + resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.34.8': - resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==} + '@rollup/rollup-linux-arm64-gnu@4.34.9': + resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.34.8': - resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==} + '@rollup/rollup-linux-arm64-musl@4.34.9': + resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.34.8': - resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.34.9': + resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': - resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': + resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.34.8': - resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==} + '@rollup/rollup-linux-riscv64-gnu@4.34.9': + resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.34.8': - resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==} + '@rollup/rollup-linux-s390x-gnu@4.34.9': + resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.34.8': - resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} + '@rollup/rollup-linux-x64-gnu@4.34.9': + resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.34.8': - resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==} + '@rollup/rollup-linux-x64-musl@4.34.9': + resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.34.8': - resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==} + '@rollup/rollup-win32-arm64-msvc@4.34.9': + resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.34.8': - resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==} + '@rollup/rollup-win32-ia32-msvc@4.34.9': + resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.34.8': - resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==} + '@rollup/rollup-win32-x64-msvc@4.34.9': + resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==} cpu: [x64] os: [win32] @@ -2336,8 +2331,8 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@22.13.5': - resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} + '@types/node@22.13.8': + resolution: {integrity: sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==} '@types/object-inspect@1.13.0': resolution: {integrity: sha512-lwGTVESDDV+XsQ1pH4UifpJ1f7OtXzQ6QBOX2Afq2bM/T3oOt8hF6exJMjjIjtEWeAN2YAo25J7HxWh97CCz9w==} @@ -3230,8 +3225,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.105: - resolution: {integrity: sha512-ccp7LocdXx3yBhwiG0qTQ7XFrK48Ua2pxIxBdJO8cbddp/MvbBtPFzvnTchtyHQTsgqqczO8cdmAIbpMa0u2+g==} + electron-to-chromium@1.5.109: + resolution: {integrity: sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ==} elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -3259,6 +3254,10 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + ensure-posix-path@1.1.1: resolution: {integrity: sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==} @@ -3353,6 +3352,19 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-typescript@3.8.3: + resolution: {integrity: sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + eslint-module-utils@2.12.0: resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} @@ -3510,8 +3522,8 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} - expect-type@1.1.0: - resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + expect-type@1.2.0: + resolution: {integrity: sha512-80F22aiJ3GLyVnS/B3HzgR6RelZVumzj9jkL0Rhz4h0xYbNW9PjlQz5h3J/SShErbXBc295vseR4/MIbVmUbeA==} engines: {node: '>=12.0.0'} exponential-backoff@3.1.2: @@ -3547,6 +3559,14 @@ packages: fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -3592,8 +3612,8 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - flow-parser@0.261.2: - resolution: {integrity: sha512-RtunoakA3YjtpAxPSOBVW6lmP5NYmETwkpAfNkdr8Ovf86ENkbD3mtPWnswFTIUtRvjwv0i8ZSkHK+AzsUg1JA==} + flow-parser@0.262.0: + resolution: {integrity: sha512-K3asSw4s2/sRoUC4xD2OfGi04gdYCCFRgkcwEXi5JyfFhS0HrFWLcDPp55ttv95OY5970WKl4T+7hWrnuOAUMQ==} engines: {node: '>=0.4.0'} for-each@0.3.5: @@ -3940,6 +3960,9 @@ packages: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} + is-bun-module@1.3.0: + resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -4591,8 +4614,8 @@ packages: micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - micromark-util-types@2.0.1: - resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -4694,8 +4717,8 @@ packages: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - nan@2.22.1: - resolution: {integrity: sha512-pfRR4ZcNTSm2ZFHaztuvbICf+hyiG6ecA06SfAxoPmuHjvMu0KUIae7Y8GyVkbBqeEIidsmXeYooWIX9+qjfRQ==} + nan@2.22.2: + resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} @@ -5368,8 +5391,8 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - rollup@4.34.8: - resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==} + rollup@4.34.9: + resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -5577,6 +5600,9 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + stable-hash@0.0.4: + resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -5696,6 +5722,10 @@ packages: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + tar-fs@2.1.2: resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} @@ -5742,6 +5772,10 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} + tinypool@1.0.2: resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5872,8 +5906,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.35.0: - resolution: {integrity: sha512-2/AwEFQDFEy30iOLjrvHDIH7e4HEWH+f1Yl1bI5XMqzuoCUqwYCdxachgsgv0og/JdVZUhbfjcJAoHj5L1753A==} + type-fest@4.36.0: + resolution: {integrity: sha512-3T/PUdKTCnkUmhQU6FFJEHsLwadsRegktX3TNHk+2JJB9HlA8gp1/VXblXVDI93kSnXF2rdPx0GMbHtJIV2LPg==} engines: {node: '>=16'} typed-array-buffer@1.0.3: @@ -5906,8 +5940,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true @@ -5972,8 +6006,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.1.2: - resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -7468,14 +7502,14 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.5 + '@types/node': 22.13.8 jest-mock: 29.7.0 '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.13.5 + '@types/node': 22.13.8 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -7509,7 +7543,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.13.5 + '@types/node': 22.13.8 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -7936,6 +7970,8 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 + '@nolyfill/is-core-module@1.0.39': {} + '@octokit/auth-token@4.0.0': {} '@octokit/core@5.2.0': @@ -8370,88 +8406,88 @@ snapshots: react: 19.0.0 react-native: 0.78.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(react@19.0.0) - '@release-it-plugins/workspaces@4.2.0(release-it@17.11.0(typescript@5.7.3))': + '@release-it-plugins/workspaces@4.2.0(release-it@17.11.0(typescript@5.8.2))': dependencies: detect-indent: 6.1.0 detect-newline: 3.1.0 - release-it: 17.11.0(typescript@5.7.3) + release-it: 17.11.0(typescript@5.8.2) semver: 7.7.1 url-join: 4.0.1 validate-peer-dependencies: 1.2.0 walk-sync: 2.2.0 yaml: 2.7.0 - '@rollup/plugin-inject@5.0.5(rollup@4.34.8)': + '@rollup/plugin-inject@5.0.5(rollup@4.34.9)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.34.8) + '@rollup/pluginutils': 5.1.4(rollup@4.34.9) estree-walker: 2.0.2 magic-string: 0.30.17 optionalDependencies: - rollup: 4.34.8 + rollup: 4.34.9 - '@rollup/pluginutils@5.1.4(rollup@4.34.8)': + '@rollup/pluginutils@5.1.4(rollup@4.34.9)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.34.8 + rollup: 4.34.9 - '@rollup/rollup-android-arm-eabi@4.34.8': + '@rollup/rollup-android-arm-eabi@4.34.9': optional: true - '@rollup/rollup-android-arm64@4.34.8': + '@rollup/rollup-android-arm64@4.34.9': optional: true - '@rollup/rollup-darwin-arm64@4.34.8': + '@rollup/rollup-darwin-arm64@4.34.9': optional: true - '@rollup/rollup-darwin-x64@4.34.8': + '@rollup/rollup-darwin-x64@4.34.9': optional: true - '@rollup/rollup-freebsd-arm64@4.34.8': + '@rollup/rollup-freebsd-arm64@4.34.9': optional: true - '@rollup/rollup-freebsd-x64@4.34.8': + '@rollup/rollup-freebsd-x64@4.34.9': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.34.8': + '@rollup/rollup-linux-arm-gnueabihf@4.34.9': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.34.8': + '@rollup/rollup-linux-arm-musleabihf@4.34.9': optional: true - '@rollup/rollup-linux-arm64-gnu@4.34.8': + '@rollup/rollup-linux-arm64-gnu@4.34.9': optional: true - '@rollup/rollup-linux-arm64-musl@4.34.8': + '@rollup/rollup-linux-arm64-musl@4.34.9': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.34.8': + '@rollup/rollup-linux-loongarch64-gnu@4.34.9': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': + '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.34.8': + '@rollup/rollup-linux-riscv64-gnu@4.34.9': optional: true - '@rollup/rollup-linux-s390x-gnu@4.34.8': + '@rollup/rollup-linux-s390x-gnu@4.34.9': optional: true - '@rollup/rollup-linux-x64-gnu@4.34.8': + '@rollup/rollup-linux-x64-gnu@4.34.9': optional: true - '@rollup/rollup-linux-x64-musl@4.34.8': + '@rollup/rollup-linux-x64-musl@4.34.9': optional: true - '@rollup/rollup-win32-arm64-msvc@4.34.8': + '@rollup/rollup-win32-arm64-msvc@4.34.9': optional: true - '@rollup/rollup-win32-ia32-msvc@4.34.8': + '@rollup/rollup-win32-ia32-msvc@4.34.9': optional: true - '@rollup/rollup-win32-x64-msvc@4.34.8': + '@rollup/rollup-win32-x64-msvc@4.34.9': optional: true '@rtsao/scc@1.1.0': {} @@ -8556,13 +8592,13 @@ snapshots: '@types/dns-packet@5.6.5': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 '@types/estree@1.0.6': {} '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 '@types/hast@3.0.4': dependencies: @@ -8590,9 +8626,9 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 - '@types/node@22.13.5': + '@types/node@22.13.8': dependencies: undici-types: 6.20.0 @@ -8606,7 +8642,7 @@ snapshots: '@types/ws@8.5.14': dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 '@types/yargs-parser@21.0.3': {} @@ -8614,32 +8650,32 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.8.2) '@typescript-eslint/scope-manager': 8.25.0 - '@typescript-eslint/type-utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3) - '@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/type-utils': 8.25.0(eslint@9.21.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.8.2) '@typescript-eslint/visitor-keys': 8.25.0 eslint: 9.21.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2)': dependencies: '@typescript-eslint/scope-manager': 8.25.0 '@typescript-eslint/types': 8.25.0 - '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.8.2) '@typescript-eslint/visitor-keys': 8.25.0 debug: 4.4.0 eslint: 9.21.0 - typescript: 5.7.3 + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -8653,14 +8689,14 @@ snapshots: '@typescript-eslint/types': 8.25.0 '@typescript-eslint/visitor-keys': 8.25.0 - '@typescript-eslint/type-utils@8.25.0(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/type-utils@8.25.0(eslint@9.21.0)(typescript@5.8.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) - '@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.8.2) + '@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.8.2) debug: 4.4.0 eslint: 9.21.0 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -8668,7 +8704,7 @@ snapshots: '@typescript-eslint/types@8.25.0': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.2)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 @@ -8677,13 +8713,13 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.1 - ts-api-utils: 1.4.3(typescript@5.7.3) + ts-api-utils: 1.4.3(typescript@5.8.2) optionalDependencies: - typescript: 5.7.3 + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.25.0(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.25.0(typescript@5.8.2)': dependencies: '@typescript-eslint/types': 8.25.0 '@typescript-eslint/visitor-keys': 8.25.0 @@ -8692,30 +8728,30 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.1 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/utils@7.18.0(eslint@9.21.0)(typescript@5.8.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.2) eslint: 9.21.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.25.0(eslint@9.21.0)(typescript@5.7.3)': + '@typescript-eslint/utils@8.25.0(eslint@9.21.0)(typescript@5.8.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0) '@typescript-eslint/scope-manager': 8.25.0 '@typescript-eslint/types': 8.25.0 - '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.8.2) eslint: 9.21.0 - typescript: 5.7.3 + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -8731,7 +8767,7 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitest/coverage-v8@3.0.5(vitest@3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0))': + '@vitest/coverage-v8@3.0.5(vitest@3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -8745,7 +8781,7 @@ snapshots: std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + vitest: 3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -8756,13 +8792,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.7(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0))': + '@vitest/mocker@3.0.7(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.0.7 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) '@vitest/pretty-format@3.0.7': dependencies: @@ -9109,7 +9145,7 @@ snapshots: chalk: 5.4.1 cli-boxes: 3.0.0 string-width: 7.2.0 - type-fest: 4.35.0 + type-fest: 4.36.0 widest-line: 5.0.0 wrap-ansi: 9.0.0 @@ -9180,9 +9216,9 @@ snapshots: browserslist@4.24.4: dependencies: caniuse-lite: 1.0.30001701 - electron-to-chromium: 1.5.105 + electron-to-chromium: 1.5.109 node-releases: 2.0.19 - update-browserslist-db: 1.1.2(browserslist@4.24.4) + update-browserslist-db: 1.1.3(browserslist@4.24.4) bser@2.1.1: dependencies: @@ -9282,7 +9318,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -9291,7 +9327,7 @@ snapshots: chromium-edge-launcher@0.2.0: dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -9401,14 +9437,14 @@ snapshots: js-yaml: 3.14.1 parse-json: 4.0.0 - cosmiconfig@9.0.0(typescript@5.7.3): + cosmiconfig@9.0.0(typescript@5.8.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.7.3 + typescript: 5.8.2 create-ecdh@4.0.4: dependencies: @@ -9605,7 +9641,7 @@ snapshots: dot-prop@9.0.0: dependencies: - type-fest: 4.35.0 + type-fest: 4.36.0 dotenv@16.4.7: {} @@ -9623,7 +9659,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.105: {} + electron-to-chromium@1.5.109: {} elliptic@6.6.1: dependencies: @@ -9651,6 +9687,11 @@ snapshots: dependencies: once: 1.4.0 + enhanced-resolve@5.18.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + ensure-posix-path@1.1.1: {} entities@4.5.0: {} @@ -9833,17 +9874,33 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.21.0): + eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.4.0 + enhanced-resolve: 5.18.1 + eslint: 9.21.0 + get-tsconfig: 4.10.0 + is-bun-module: 1.3.0 + stable-hash: 0.0.4 + tinyglobby: 0.2.12 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0) + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.8.2) eslint: 9.21.0 eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -9854,7 +9911,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.21.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.21.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -9866,7 +9923,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.8.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -9881,19 +9938,19 @@ snapshots: optionalDependencies: eslint-config-prettier: 10.0.2(eslint@9.21.0) - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0): dependencies: eslint: 9.21.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2) - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3)(vitest@3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)): + eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2)(vitest@3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)): dependencies: - '@typescript-eslint/utils': 7.18.0(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.21.0)(typescript@5.8.2) eslint: 9.21.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3) - vitest: 3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2) + vitest: 3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript @@ -10015,7 +10072,7 @@ snapshots: expand-template@2.0.3: {} - expect-type@1.1.0: {} + expect-type@1.2.0: {} exponential-backoff@3.1.2: {} @@ -10051,6 +10108,10 @@ snapshots: dependencies: bser: 2.1.1 + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -10104,7 +10165,7 @@ snapshots: flow-enums-runtime@0.0.6: {} - flow-parser@0.261.2: {} + flow-parser@0.262.0: {} for-each@0.3.5: dependencies: @@ -10497,6 +10558,10 @@ snapshots: call-bound: 1.0.3 has-tostringtag: 1.0.2 + is-bun-module@1.3.0: + dependencies: + semver: 7.7.1 + is-callable@1.2.7: {} is-core-module@2.16.1: @@ -10823,7 +10888,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.5 + '@types/node': 22.13.8 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -10833,7 +10898,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.13.5 + '@types/node': 22.13.8 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -10860,7 +10925,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.5 + '@types/node': 22.13.8 jest-util: 29.7.0 jest-regex-util@29.6.3: {} @@ -10868,7 +10933,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.5 + '@types/node': 22.13.8 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -10885,7 +10950,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10917,7 +10982,7 @@ snapshots: '@babel/preset-flow': 7.25.9(@babel/core@7.26.9) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.9) '@babel/register': 7.25.9(@babel/core@7.26.9) - flow-parser: 0.261.2 + flow-parser: 0.262.0 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 @@ -11334,7 +11399,7 @@ snapshots: micromark-util-character@2.1.1: dependencies: micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-encode@2.0.1: {} @@ -11346,7 +11411,7 @@ snapshots: micromark-util-symbol@2.0.1: {} - micromark-util-types@2.0.1: {} + micromark-util-types@2.0.2: {} micromatch@4.0.8: dependencies: @@ -11423,7 +11488,7 @@ snapshots: mute-stream@1.0.0: {} - nan@2.22.1: {} + nan@2.22.2: {} nanoid@3.3.8: {} @@ -11716,7 +11781,7 @@ snapshots: ky: 1.7.5 registry-auth-token: 5.1.0 registry-url: 6.0.1 - semver: 7.6.3 + semver: 7.7.1 pako@1.0.11: {} @@ -11838,7 +11903,7 @@ snapshots: bindings: 1.5.0 delay: 5.0.0 findit2: 2.2.3 - nan: 2.22.1 + nan: 2.22.2 p-limit: 3.1.0 protobufjs: 7.2.6 source-map: 0.8.0-beta.0 @@ -11902,7 +11967,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.13.5 + '@types/node': 22.13.8 long: 5.3.1 protobufjs@7.4.0: @@ -11917,7 +11982,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.13.5 + '@types/node': 22.13.8 long: 5.3.1 protocols@2.0.2: {} @@ -12177,14 +12242,14 @@ snapshots: dependencies: jsesc: 3.0.2 - release-it@17.11.0(typescript@5.7.3): + release-it@17.11.0(typescript@5.8.2): dependencies: '@iarna/toml': 2.2.5 '@octokit/rest': 20.1.1 async-retry: 1.3.3 chalk: 5.4.1 ci-info: 4.1.0 - cosmiconfig: 9.0.0(typescript@5.7.3) + cosmiconfig: 9.0.0(typescript@5.8.2) execa: 8.0.0 git-url-parse: 14.0.0 globby: 14.0.2 @@ -12253,29 +12318,29 @@ snapshots: hash-base: 3.0.5 inherits: 2.0.4 - rollup@4.34.8: + rollup@4.34.9: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.34.8 - '@rollup/rollup-android-arm64': 4.34.8 - '@rollup/rollup-darwin-arm64': 4.34.8 - '@rollup/rollup-darwin-x64': 4.34.8 - '@rollup/rollup-freebsd-arm64': 4.34.8 - '@rollup/rollup-freebsd-x64': 4.34.8 - '@rollup/rollup-linux-arm-gnueabihf': 4.34.8 - '@rollup/rollup-linux-arm-musleabihf': 4.34.8 - '@rollup/rollup-linux-arm64-gnu': 4.34.8 - '@rollup/rollup-linux-arm64-musl': 4.34.8 - '@rollup/rollup-linux-loongarch64-gnu': 4.34.8 - '@rollup/rollup-linux-powerpc64le-gnu': 4.34.8 - '@rollup/rollup-linux-riscv64-gnu': 4.34.8 - '@rollup/rollup-linux-s390x-gnu': 4.34.8 - '@rollup/rollup-linux-x64-gnu': 4.34.8 - '@rollup/rollup-linux-x64-musl': 4.34.8 - '@rollup/rollup-win32-arm64-msvc': 4.34.8 - '@rollup/rollup-win32-ia32-msvc': 4.34.8 - '@rollup/rollup-win32-x64-msvc': 4.34.8 + '@rollup/rollup-android-arm-eabi': 4.34.9 + '@rollup/rollup-android-arm64': 4.34.9 + '@rollup/rollup-darwin-arm64': 4.34.9 + '@rollup/rollup-darwin-x64': 4.34.9 + '@rollup/rollup-freebsd-arm64': 4.34.9 + '@rollup/rollup-freebsd-x64': 4.34.9 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.9 + '@rollup/rollup-linux-arm-musleabihf': 4.34.9 + '@rollup/rollup-linux-arm64-gnu': 4.34.9 + '@rollup/rollup-linux-arm64-musl': 4.34.9 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.9 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.9 + '@rollup/rollup-linux-riscv64-gnu': 4.34.9 + '@rollup/rollup-linux-s390x-gnu': 4.34.9 + '@rollup/rollup-linux-x64-gnu': 4.34.9 + '@rollup/rollup-linux-x64-musl': 4.34.9 + '@rollup/rollup-win32-arm64-msvc': 4.34.9 + '@rollup/rollup-win32-ia32-msvc': 4.34.9 + '@rollup/rollup-win32-x64-msvc': 4.34.9 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -12507,6 +12572,8 @@ snapshots: sprintf-js@1.1.3: {} + stable-hash@0.0.4: {} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -12630,6 +12697,8 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.1 + tapable@2.2.1: {} + tar-fs@2.1.2: dependencies: chownr: 1.1.4 @@ -12691,6 +12760,11 @@ snapshots: tinyexec@0.3.2: {} + tinyglobby@0.2.12: + dependencies: + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@1.0.2: {} tinyrainbow@2.0.0: {} @@ -12719,29 +12793,29 @@ snapshots: trim-lines@3.0.1: {} - ts-api-utils@1.4.3(typescript@5.7.3): + ts-api-utils@1.4.3(typescript@5.8.2): dependencies: - typescript: 5.7.3 + typescript: 5.8.2 - ts-api-utils@2.0.1(typescript@5.7.3): + ts-api-utils@2.0.1(typescript@5.8.2): dependencies: - typescript: 5.7.3 + typescript: 5.8.2 - ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3): + ts-node@10.9.2(@types/node@22.13.8)(typescript@5.8.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.13.5 + '@types/node': 22.13.8 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.7.3 + typescript: 5.8.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -12760,9 +12834,9 @@ snapshots: ts-poet: 6.11.0 ts-proto-descriptors: 2.0.0 - tsconfck@3.1.5(typescript@5.7.3): + tsconfck@3.1.5(typescript@5.8.2): optionalDependencies: - typescript: 5.7.3 + typescript: 5.8.2 tsconfig-paths@3.15.0: dependencies: @@ -12804,7 +12878,7 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.35.0: {} + type-fest@4.36.0: {} typed-array-buffer@1.0.3: dependencies: @@ -12839,26 +12913,26 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typedoc@0.26.11(typescript@5.7.3): + typedoc@0.26.11(typescript@5.8.2): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 shiki: 1.29.2 - typescript: 5.7.3 + typescript: 5.8.2 yaml: 2.7.0 - typescript-eslint@8.25.0(eslint@9.21.0)(typescript@5.7.3): + typescript-eslint@8.25.0(eslint@9.21.0)(typescript@5.8.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3) - '@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3) - '@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3) + '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2) + '@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.8.2) eslint: 9.21.0 - typescript: 5.7.3 + typescript: 5.8.2 transitivePeerDependencies: - supports-color - typescript@5.7.3: {} + typescript@5.8.2: {} uc.micro@2.1.0: {} @@ -12924,7 +12998,7 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.1.2(browserslist@4.24.4): + update-browserslist-db@1.1.3(browserslist@4.24.4): dependencies: browserslist: 4.24.4 escalade: 3.2.0 @@ -12985,13 +13059,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0): + vite-node@3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -13006,41 +13080,41 @@ snapshots: - tsx - yaml - vite-plugin-node-polyfills@0.22.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)): + vite-plugin-node-polyfills@0.22.0(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.34.8) + '@rollup/plugin-inject': 5.0.5(rollup@4.34.9) node-stdlib-browser: 1.3.1 - vite: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) transitivePeerDependencies: - rollup - vite-tsconfig-paths@5.1.4(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.2)(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 - tsconfck: 3.1.5(typescript@5.7.3) + tsconfck: 3.1.5(typescript@5.8.2) optionalDependencies: - vite: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0): + vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0): dependencies: esbuild: 0.25.0 postcss: 8.5.3 - rollup: 4.34.8 + rollup: 4.34.9 optionalDependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 fsevents: 2.3.3 terser: 5.39.0 tsx: 4.19.1 yaml: 2.7.0 - vitest@3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0): + vitest@3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0): dependencies: '@vitest/expect': 3.0.7 - '@vitest/mocker': 3.0.7(vite@6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) + '@vitest/mocker': 3.0.7(vite@6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0)) '@vitest/pretty-format': 3.0.7 '@vitest/runner': 3.0.7 '@vitest/snapshot': 3.0.7 @@ -13048,7 +13122,7 @@ snapshots: '@vitest/utils': 3.0.7 chai: 5.2.0 debug: 4.4.0 - expect-type: 1.1.0 + expect-type: 1.2.0 magic-string: 0.30.17 pathe: 2.0.3 std-env: 3.8.0 @@ -13056,11 +13130,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.2.0(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) - vite-node: 3.0.7(@types/node@22.13.5)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) + vite-node: 3.0.7(@types/node@22.13.8)(terser@5.39.0)(tsx@4.19.1)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.8 transitivePeerDependencies: - jiti - less