diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6199f1c14f..494216683d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,9 +20,9 @@ jobs: uses: ./.github/actions/setup - name: Run codegen - run: pnpm codegen + run: pnpm build:codegen - - name: Outdated files, run `pnpm codegen` and commit them + - name: Outdated files, run `pnpm build:codegen` and commit them uses: ./.github/actions/require-empty-diff - name: Generate gas reports diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fc1fc83319..8d6a3edad6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,9 +28,9 @@ jobs: uses: ./.github/actions/setup - name: Run codegen - run: pnpm codegen + run: pnpm build:codegen - - name: Outdated files, run `pnpm codegen` and commit them + - name: Outdated files, run `pnpm build:codegen` and commit them uses: ./.github/actions/require-empty-diff - name: Generate gas reports diff --git a/package.json b/package.json index 1db3a90f68..faf8a5bce1 100644 --- a/package.json +++ b/package.json @@ -8,11 +8,9 @@ "url": "https://github.com/latticexyz/mud.git" }, "scripts": { - "build": "pnpm pnpm recursive run build", + "build": "pnpm recursive run build", + "build:codegen": "pnpm recursive run build:codegen", "build:docs": "pnpm recursive run docs && pnpm prettier --write '**/*.md' && pnpm run --filter docs build:prepare && pnpm run --filter docs build", - "codegen": "pnpm codegen:tablegen && pnpm codegen:worldgen", - "codegen:tablegen": "pnpm recursive run tablegen", - "codegen:worldgen": "pnpm recursive run worldgen", "commit": "cz", "entry:dist": "lerna run prepack", "entry:src": "lerna run postpack", diff --git a/packages/cli/contracts/src/codegen/Types.sol b/packages/cli/contracts/src/codegen/Types.sol index dcde223cd8..85fa534462 100644 --- a/packages/cli/contracts/src/codegen/Types.sol +++ b/packages/cli/contracts/src/codegen/Types.sol @@ -2,7 +2,6 @@ pragma solidity >=0.8.0; /* Autogenerated file. Do not edit manually. */ - enum Enum1 { E1, E2, diff --git a/packages/cli/package.json b/packages/cli/package.json index 9b0dfd6cea..3e4eaa32bf 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -9,26 +9,31 @@ }, "license": "MIT", "type": "module", - "main": "dist/index.js", - "types": "dist/index.d.ts", + "exports": { + ".": "./dist/index.js" + }, + "types": "src/index.ts", "bin": { "mud": "./dist/mud.js", "mud2": "./dist/mud2.js" }, "scripts": { - "build": "tsup", + "build": "pnpm run build:js && chmod +x ./dist/mud.js", + "build:js": "vite build", "codegen": "tsx ./scripts/codegen.ts", - "dev": "tsup --watch", + "dev": "vite build --watch", "lint": "eslint . --ext .ts", "release": "npm publish --access=public", - "test": "tsc --noEmit && pnpm test:contracts", - "test:contracts": "pnpm codegen && forge test" + "test": "pnpm test:typescript && pnpm test:contracts", + "test:contracts": "pnpm codegen && forge test", + "test:typescript": "tsc --noEmit" }, "dependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/providers": "^5.7.2", "@improbable-eng/grpc-web": "^0.15.0", "@improbable-eng/grpc-web-node-http-transport": "^0.15.0", + "@latticexyz/common": "workspace:*", "@latticexyz/config": "workspace:*", "@latticexyz/schema-type": "workspace:*", "@latticexyz/services": "workspace:*", @@ -36,7 +41,6 @@ "@latticexyz/std-contracts": "workspace:*", "@latticexyz/store": "workspace:*", "@latticexyz/world": "workspace:*", - "@solidity-parser/parser": "^0.16.0", "@typechain/ethers-v5": "^10.2.0", "chalk": "^5.0.1", "chokidar": "^3.5.3", @@ -50,8 +54,6 @@ "nice-grpc-web": "^2.0.1", "openurl": "^1.1.1", "path": "^0.12.7", - "prettier": "^2.8.4", - "prettier-plugin-solidity": "^1.1.2", "table": "^6.8.1", "typechain": "^8.1.1", "typescript": "^4.9.5", @@ -64,9 +66,12 @@ "@types/glob": "^7.2.0", "@types/node": "^17.0.34", "@types/openurl": "^1.0.0", + "@types/rollup-plugin-peer-deps-external": "^2.2.1", "@types/yargs": "^17.0.10", - "tsup": "^6.6.3", + "rollup-plugin-peer-deps-external": "^2.2.4", + "rollup-plugin-preserve-shebang": "^1.0.1", "tsx": "^3.12.6", + "vite": "^4.3.0", "vitest": "^0.29.8" }, "gitHead": "914a1e0ae4a573d685841ca2ea921435057deb8f" diff --git a/packages/cli/scripts/codegen.ts b/packages/cli/scripts/codegen.ts index 9e12b4bc79..d46e0723ea 100644 --- a/packages/cli/scripts/codegen.ts +++ b/packages/cli/scripts/codegen.ts @@ -1,8 +1,8 @@ import path from "path"; import { storeConfig, parseStoreConfig } from "@latticexyz/config"; -import { tablegen } from "../src/render-solidity/tablegen.js"; +import { tablegen } from "@latticexyz/store"; import { logError } from "../src/utils/errors.js"; -import { getSrcDirectory } from "../src/utils/foundry.js"; +import { getSrcDirectory } from "@latticexyz/common/foundry"; // This config is used only for tests const config = storeConfig({ diff --git a/packages/cli/src/commands/deploy-v2.ts b/packages/cli/src/commands/deploy-v2.ts index 1719cbca11..2411587150 100644 --- a/packages/cli/src/commands/deploy-v2.ts +++ b/packages/cli/src/commands/deploy-v2.ts @@ -6,7 +6,7 @@ import { loadStoreConfig, loadWorldConfig } from "@latticexyz/config"; import { MUDError } from "@latticexyz/config"; import { deploy } from "../utils/deploy-v2.js"; import { logError } from "../utils/errors.js"; -import { forge, getRpcUrl, getSrcDirectory } from "../utils/foundry.js"; +import { forge, getRpcUrl, getSrcDirectory } from "@latticexyz/common/foundry"; import { mkdirSync, writeFileSync } from "fs"; import { getChainId } from "../utils/getChainId.js"; diff --git a/packages/cli/src/commands/deprecated/call-system.ts b/packages/cli/src/commands/deprecated/call-system.ts index 52aa2c9eac..2159e4141d 100644 --- a/packages/cli/src/commands/deprecated/call-system.ts +++ b/packages/cli/src/commands/deprecated/call-system.ts @@ -1,8 +1,8 @@ +import { getTestDirectory } from "@latticexyz/common/foundry"; import { defaultAbiCoder as abi } from "ethers/lib/utils.js"; import path from "path"; import type { CommandModule } from "yargs"; import { execLog } from "../../utils/deprecated/index.js"; -import { getTestDirectory } from "../../utils/foundry.js"; type Options = { rpc?: string; diff --git a/packages/cli/src/commands/deprecated/deploy-contracts.ts b/packages/cli/src/commands/deprecated/deploy-contracts.ts index e248142eb2..e2fff1ed34 100644 --- a/packages/cli/src/commands/deprecated/deploy-contracts.ts +++ b/packages/cli/src/commands/deprecated/deploy-contracts.ts @@ -2,7 +2,7 @@ import type { CommandModule } from "yargs"; import { DeployOptions, generateAndDeploy, hsr } from "../../utils/deprecated/index.js"; import openurl from "openurl"; import chalk from "chalk"; -import { getSrcDirectory } from "../../utils/foundry.js"; +import { getSrcDirectory } from "@latticexyz/common/foundry"; type Options = DeployOptions & { watch?: boolean; diff --git a/packages/cli/src/commands/deprecated/test.ts b/packages/cli/src/commands/deprecated/test.ts index 537c43c933..7ff61e44a1 100644 --- a/packages/cli/src/commands/deprecated/test.ts +++ b/packages/cli/src/commands/deprecated/test.ts @@ -1,6 +1,6 @@ import type { CommandModule } from "yargs"; import { execLog, generateLibDeploy, resetLibDeploy } from "../../utils/deprecated/index.js"; -import { getTestDirectory } from "../../utils/foundry.js"; +import { getTestDirectory } from "@latticexyz/common/foundry"; type Options = { forgeOpts?: string; diff --git a/packages/cli/src/commands/deprecated/trace.ts b/packages/cli/src/commands/deprecated/trace.ts index a1efedcf03..9974cc596d 100644 --- a/packages/cli/src/commands/deprecated/trace.ts +++ b/packages/cli/src/commands/deprecated/trace.ts @@ -4,7 +4,7 @@ import { readFileSync } from "fs"; import { Contract } from "ethers"; import { JsonRpcProvider } from "@ethersproject/providers"; import WorldAbi from "@latticexyz/solecs/abi/World.json" assert { type: "json" }; -import { getSrcDirectory } from "../../utils/foundry.js"; +import { getSrcDirectory } from "@latticexyz/common/foundry"; import path from "path"; import { componentsDir, systemsDir } from "../../utils/deprecated/constants.js"; diff --git a/packages/cli/src/commands/tablegen.ts b/packages/cli/src/commands/tablegen.ts index ca09adea35..b4ad2c8cd5 100644 --- a/packages/cli/src/commands/tablegen.ts +++ b/packages/cli/src/commands/tablegen.ts @@ -1,8 +1,8 @@ import path from "path"; import type { CommandModule } from "yargs"; import { loadStoreConfig } from "@latticexyz/config"; -import { tablegen } from "../render-solidity/tablegen.js"; -import { getSrcDirectory } from "../utils/index.js"; +import { tablegen } from "@latticexyz/store"; +import { getSrcDirectory } from "@latticexyz/common/foundry"; type Options = { configPath?: string; diff --git a/packages/cli/src/commands/test-v2.ts b/packages/cli/src/commands/test-v2.ts index 17051d3ca3..0a9fc61086 100644 --- a/packages/cli/src/commands/test-v2.ts +++ b/packages/cli/src/commands/test-v2.ts @@ -1,10 +1,9 @@ import type { CommandModule } from "yargs"; import { deployHandler, DeployOptions } from "./deploy-v2.js"; import { yDeployOptions } from "./deploy-v2.js"; -import { anvil, forge, getRpcUrl, getTestDirectory } from "../utils/foundry.js"; +import { anvil, forge, getRpcUrl } from "@latticexyz/common/foundry"; import chalk from "chalk"; import { rmSync, writeFileSync } from "fs"; -import path from "path"; type Options = DeployOptions & { port?: number; worldAddress?: string; forgeOptions?: string }; diff --git a/packages/cli/src/commands/worldgen.ts b/packages/cli/src/commands/worldgen.ts index dc02e5865a..7c8a86e0e3 100644 --- a/packages/cli/src/commands/worldgen.ts +++ b/packages/cli/src/commands/worldgen.ts @@ -1,9 +1,9 @@ import type { CommandModule } from "yargs"; import { loadStoreConfig, loadWorldConfig } from "@latticexyz/config"; -import { getSrcDirectory } from "../utils/foundry.js"; +import { worldgen } from "@latticexyz/world"; +import { getSrcDirectory } from "@latticexyz/common/foundry"; import glob from "glob"; import path, { basename } from "path"; -import { worldgen } from "../render-solidity/worldgen.js"; import { rmSync } from "fs"; type Options = { diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index cb0ff5c3b5..26f4737ada 100755 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1 +1 @@ -export {}; +export * from "./render-ts"; diff --git a/packages/cli/modules.d.ts b/packages/cli/src/modules.d.ts similarity index 89% rename from packages/cli/modules.d.ts rename to packages/cli/src/modules.d.ts index 16136027ad..d3979ddfbf 100644 --- a/packages/cli/modules.d.ts +++ b/packages/cli/src/modules.d.ts @@ -9,3 +9,4 @@ declare module "protobufjs/minimal" { export const Writer: any; export type Writer = any; } +declare module "rollup-plugin-preserve-shebang"; diff --git a/packages/cli/src/render-solidity/index.ts b/packages/cli/src/render-solidity/index.ts deleted file mode 100644 index beea50412d..0000000000 --- a/packages/cli/src/render-solidity/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -export * from "./common.js"; -export * from "./field.js"; -export * from "./record.js"; -export * from "./renderTable.js"; -export * from "./renderTypes.js"; -export * from "./renderTypesFromConfig.js"; -export * from "./tablegen.js"; -export * from "./tableOptions.js"; -export * from "./types.js"; -export * from "./userType.js"; diff --git a/packages/cli/src/render-solidity/renderTypes.ts b/packages/cli/src/render-solidity/renderTypes.ts deleted file mode 100644 index 1024f87e29..0000000000 --- a/packages/cli/src/render-solidity/renderTypes.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { renderArguments, renderList, renderedSolidityHeader } from "./common.js"; -import { RenderTypesOptions } from "./types.js"; - -export function renderTypes(options: RenderTypesOptions) { - const { enums } = options; - - return `${renderedSolidityHeader} - -${renderList( - enums, - ({ name, memberNames }) => ` - enum ${name} { - ${renderArguments(memberNames)} - } -` -)} - -`; -} diff --git a/packages/cli/src/render-solidity/types.ts b/packages/cli/src/render-solidity/types.ts deleted file mode 100644 index 5d62c39281..0000000000 --- a/packages/cli/src/render-solidity/types.ts +++ /dev/null @@ -1,116 +0,0 @@ -export interface RenderTableOptions { - /** List of symbols to import, and their file paths */ - imports: RelativeImportDatum[]; - /** Name of the library to render. */ - libraryName: string; - /** Name of the struct to render. If undefined, struct and its methods aren't rendered. */ - structName?: string; - /** Data used to statically registed the table. If undefined, all methods receive `_tableId` as an argument. */ - staticResourceData?: StaticResourceData; - /** Path for store package imports */ - storeImportPath: string; - primaryKeys: RenderTablePrimaryKey[]; - fields: RenderTableField[]; - staticFields: RenderTableStaticField[]; - dynamicFields: RenderTableDynamicField[]; - /** Whether to render get/set methods for the whole record */ - withRecordMethods: boolean; - /** Whether to render additional methods that accept a manual `IStore` argument */ - storeArgument: boolean; -} - -export interface RelativeImportDatum { - symbol: string; - fromPath: string; - usedInPath: string; -} - -export interface ImportDatum { - symbol: string; - path: string; -} - -export interface StaticResourceData { - /** Name of the table id constant to render. */ - tableIdName: string; - namespace: string; - name: string; -} - -export interface RenderTableType { - typeId: string; - typeWithLocation: string; - /** The name of the enum element in SchemaType to use for schema registration (e.g. "UINT256_ARRAY") */ - enumName: string; - staticByteLength: number; - isDynamic: boolean; - /** Empty for internal types. Custom `wrap` method for user defined types. */ - typeWrap: string; - /** Empty for internal types. Custom `unwrap` method for user defined types. */ - typeUnwrap: string; - /** Data to generate the custom wrapper and unwrapper if necessary. */ - typeWrappingData?: RenderTableTypeWrappingData; - /** Same as typeId for internal types. The underlying `typeId` for user defined types. */ - internalTypeId: string; -} - -export type RenderTableTypeWrappingData = { - kind: "staticArray"; - elementType: string; - staticLength: number; -}; - -export interface RenderTablePrimaryKey extends RenderTableType { - name: string; - isDynamic: false; -} - -export interface RenderTableStaticField extends RenderTableField { - isDynamic: false; -} - -export interface RenderTableDynamicField extends RenderTableField { - isDynamic: true; -} - -export interface RenderTableField extends RenderTableType { - arrayElement: RenderTableType | undefined; - name: string; - methodNameSuffix: string; -} - -export interface RenderTypesOptions { - /** List of enums to render */ - enums: RenderTypesEnum[]; -} - -export interface RenderTypesEnum { - name: string; - memberNames: string[]; -} - -export interface RenderSystemInterfaceOptions { - /** List of symbols to import, and their file paths */ - imports: RelativeImportDatum[]; - name: string; - functionPrefix: string; - functions: RenderSystemInterfaceFunction[]; -} - -export interface RenderSystemInterfaceFunction { - name: string; - parameters: string[]; - stateMutability: string; - returnParameters: string[]; -} - -export interface RenderWorldOptions { - /** List of symbols to import, and their file paths */ - imports: RelativeImportDatum[]; - /** Name of the interface to render */ - interfaceName: string; - /** Path for store package imports */ - storeImportPath: string; - /** Path for world package imports */ - worldImportPath: string; -} diff --git a/packages/cli/src/render-ts/recsV1TableOptions.ts b/packages/cli/src/render-ts/recsV1TableOptions.ts index d21ad49043..ede2a8fa8c 100644 --- a/packages/cli/src/render-ts/recsV1TableOptions.ts +++ b/packages/cli/src/render-ts/recsV1TableOptions.ts @@ -1,5 +1,5 @@ import { StoreConfig } from "@latticexyz/config"; -import { resolveAbiOrUserType } from "../render-solidity/userType.js"; +import { resolveAbiOrUserType } from "@latticexyz/common/codegen"; import { schemaTypesToRecsTypeStrings } from "./schemaTypesToRecsTypeStrings.js"; import { RecsV1TableOptions } from "./types.js"; diff --git a/packages/cli/src/render-ts/tsgen.ts b/packages/cli/src/render-ts/tsgen.ts index 791969851b..2c1855c385 100644 --- a/packages/cli/src/render-ts/tsgen.ts +++ b/packages/cli/src/render-ts/tsgen.ts @@ -1,8 +1,8 @@ import path from "path"; import { StoreConfig } from "@latticexyz/config"; +import { formatAndWriteTypescript } from "@latticexyz/common/codegen"; import { getRecsV1TableOptions } from "../render-ts/recsV1TableOptions.js"; import { renderRecsV1Tables } from "../render-ts/renderRecsV1Tables.js"; -import { formatAndWriteTypescript } from "../utils/formatAndWrite.js"; export async function tsgen(config: StoreConfig, outDirectory: string) { const fullOutputPath = path.join(outDirectory, `contractComponents.ts`); diff --git a/packages/cli/src/utils/deploy-v2.ts b/packages/cli/src/utils/deploy-v2.ts index c42b18aa37..c8547f7100 100644 --- a/packages/cli/src/utils/deploy-v2.ts +++ b/packages/cli/src/utils/deploy-v2.ts @@ -1,21 +1,21 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { existsSync, readFileSync } from "fs"; import path from "path"; +import { resolveAbiOrUserType } from "@latticexyz/common/codegen"; +import { getOutDirectory, getScriptDirectory, cast, forge } from "@latticexyz/common/foundry"; import { MUDConfig, resolveWithContext } from "@latticexyz/config"; import { MUDError } from "@latticexyz/config"; -import { getOutDirectory, getScriptDirectory, cast, forge } from "./foundry.js"; import { BigNumber, ContractInterface, ethers } from "ethers"; import { IBaseWorld } from "@latticexyz/world/types/ethers-contracts/IBaseWorld.js"; import chalk from "chalk"; import { encodeSchema } from "@latticexyz/schema-type"; -import { resolveAbiOrUserType } from "../render-solidity/userType.js"; import { defaultAbiCoder as abi, Fragment } from "ethers/lib/utils.js"; -import WorldData from "@latticexyz/world/abi/World.json" assert { type: "json" }; -import IBaseWorldData from "@latticexyz/world/abi/IBaseWorld.json" assert { type: "json" }; -import CoreModuleData from "@latticexyz/world/abi/CoreModule.json" assert { type: "json" }; -import KeysWithValueModuleData from "@latticexyz/world/abi/KeysWithValueModule.json" assert { type: "json" }; -import UniqueEntityModuleData from "@latticexyz/world/abi/UniqueEntityModule.json" assert { type: "json" }; +import WorldData from "@latticexyz/world/abi/World.sol/World.json" assert { type: "json" }; +import IBaseWorldData from "@latticexyz/world/abi/IBaseWorld.sol/IBaseWorld.json" assert { type: "json" }; +import CoreModuleData from "@latticexyz/world/abi/CoreModule.sol/CoreModule.json" assert { type: "json" }; +import KeysWithValueModuleData from "@latticexyz/world/abi/KeysWithValueModule.sol/KeysWithValueModule.json" assert { type: "json" }; +import UniqueEntityModuleData from "@latticexyz/world/abi/UniqueEntityModule.sol/UniqueEntityModule.json" assert { type: "json" }; export interface DeployConfig { profile?: string; diff --git a/packages/cli/src/utils/deprecated/build.ts b/packages/cli/src/utils/deprecated/build.ts index a3f84abf23..8537f37bba 100644 --- a/packages/cli/src/utils/deprecated/build.ts +++ b/packages/cli/src/utils/deprecated/build.ts @@ -1,7 +1,7 @@ import { execa } from "execa"; import { copyFileSync, mkdirSync, readdirSync, rmSync } from "fs"; import path from "path"; -import { getOutDirectory } from "../foundry.js"; +import { getOutDirectory } from "@latticexyz/common/foundry"; export async function forgeBuild(options?: { clear?: boolean }) { if (options?.clear) { diff --git a/packages/cli/src/utils/deprecated/typegen.ts b/packages/cli/src/utils/deprecated/typegen.ts index b521cac2ed..18bfa42be6 100644 --- a/packages/cli/src/utils/deprecated/typegen.ts +++ b/packages/cli/src/utils/deprecated/typegen.ts @@ -4,7 +4,7 @@ import { extractIdFromFile } from "./ids.js"; import { rmSync, writeFileSync } from "fs"; import path from "path"; import { filterAbi, forgeBuild } from "./build.js"; -import { getOutDirectory, getSrcDirectory } from "../foundry.js"; +import { getOutDirectory, getSrcDirectory } from "@latticexyz/common/foundry"; import { systemsDir } from "./constants.js"; export async function generateAbiTypes( diff --git a/packages/cli/src/utils/execLog.ts b/packages/cli/src/utils/execLog.ts deleted file mode 100644 index 4d064c2849..0000000000 --- a/packages/cli/src/utils/execLog.ts +++ /dev/null @@ -1,22 +0,0 @@ -import chalk from "chalk"; -import { execa, Options } from "execa"; - -/** - * Executes the given command, returns the stdout, and logs the command to the console. - * Throws an error if the command fails. - * @param command The command to execute - * @param args The arguments to pass to the command - * @returns The stdout of the command - */ -export async function execLog(command: string, args: string[], options?: Options): Promise { - const commandString = `${command} ${args.join(" ")}`; - try { - console.log(chalk.gray(`running "${commandString}"`)); - const { stdout } = await execa(command, args, { stdout: "pipe", stderr: "pipe", ...options }); - return stdout; - } catch (error: any) { - let errorMessage = error?.stderr || error?.message || ""; - errorMessage += chalk.red(`\nError running "${commandString}"`); - throw new Error(errorMessage); - } -} diff --git a/packages/cli/src/utils/index.ts b/packages/cli/src/utils/index.ts index 5443daaaae..7eabaac8c2 100644 --- a/packages/cli/src/utils/index.ts +++ b/packages/cli/src/utils/index.ts @@ -1,5 +1,2 @@ export * from "./errors.js"; -export * from "./foundry.js"; -export * from "./format.js"; -export * from "./formatAndWrite.js"; export * from "./deploy-v2.js"; diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index 89099cad5b..fcc4c02d0b 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -2,14 +2,13 @@ "compilerOptions": { /* Visit https://aka.ms/tsconfig.json to read more about this file */ "target": "es2021", + "types": ["node"], "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "declaration": true, "sourceMap": true, - "rootDir": ".", "outDir": "dist", - "importHelpers": false, "isolatedModules": true, "allowSyntheticDefaultImports": true, "esModuleInterop": true, @@ -17,5 +16,5 @@ "strict": true, "skipLibCheck": true }, - "include": ["src", "scripts", "modules.d.ts"] + "include": ["src"] } diff --git a/packages/cli/tsup.config.js b/packages/cli/tsup.config.js deleted file mode 100644 index 15d9c0e9b1..0000000000 --- a/packages/cli/tsup.config.js +++ /dev/null @@ -1,26 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - entry: [ - "src/index.ts", - "src/mud.ts", - "src/mud2.ts", - "src/config/index.ts", - "src/render-table/index.ts", - "src/utils/index.ts", - "src/utils/deprecated/index.ts", - "src/render-solidity/index.ts", - "src/render-ts/index.ts", - ], - outDir: "dist", - platform: "node", - format: ["esm"], - sourcemap: false, - clean: true, - bundle: true, - dts: true, - // both inlined imports are hacks to make esm+esbuild work - // @latticexyz/services: esm imports directly from ts files don't work properly from transpiled js - // @latticexyz/solecs: esm requires import assertions for json, but esbuild doesn't support those (they just get stripped) - noExternal: ["@latticexyz/services", "@latticexyz/solecs", "@latticexyz/schema-type", "@latticexyz/world"], -}); diff --git a/packages/cli/vite.config.ts b/packages/cli/vite.config.ts new file mode 100644 index 0000000000..589cd0bc4c --- /dev/null +++ b/packages/cli/vite.config.ts @@ -0,0 +1,22 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { defineConfig } from "vitest/config"; +import peerDepsExternal from "rollup-plugin-peer-deps-external"; +import shebang from "rollup-plugin-preserve-shebang"; + +/** + * @see https://vitejs.dev/config/ + */ +export default defineConfig({ + build: { + ssr: true, + lib: { + entry: ["src/index.ts", "src/mud.ts", "src/mud2.ts"], + formats: ["es"], + }, + outDir: "dist", + minify: false, + sourcemap: true, + target: "esnext", + }, + plugins: [peerDepsExternal(), shebang()] as any, +}); diff --git a/packages/common-codegen/package.json b/packages/common-codegen/package.json deleted file mode 100644 index 33943b2b45..0000000000 --- a/packages/common-codegen/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "@latticexyz/common-codegen", - "version": "1.42.0", - "private": true, - "description": "Common files for codegen", - "repository": { - "type": "git", - "url": "https://github.com/latticexyz/mud.git", - "directory": "packages/common-codegen" - }, - "license": "MIT", - "type": "module", - "main": "dist/index.js", - "module": "dist/index.mjs", - "types": "dist/index.d.ts", - "scripts": { - "build": "vite build", - "release": "npm publish --access=public", - "test": "vitest typecheck --run --passWithNoTests" - }, - "dependencies": { - "@latticexyz/schema-type": "^1.42.0" - }, - "devDependencies": { - "@rollup/plugin-typescript": "^11.1.0", - "@types/rollup-plugin-peer-deps-external": "^2.2.1", - "rollup-plugin-peer-deps-external": "^2.2.4", - "vite": "^4.2.1", - "vitest": "^0.30.1" - }, - "gitHead": "914a1e0ae4a573d685841ca2ea921435057deb8f" -} diff --git a/packages/common-codegen/src/index.ts b/packages/common-codegen/src/index.ts deleted file mode 100644 index 40ee001760..0000000000 --- a/packages/common-codegen/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// TODO stub -export {}; diff --git a/packages/common-codegen/.gitignore b/packages/common/.gitignore similarity index 100% rename from packages/common-codegen/.gitignore rename to packages/common/.gitignore diff --git a/packages/common-codegen/.npmignore b/packages/common/.npmignore similarity index 100% rename from packages/common-codegen/.npmignore rename to packages/common/.npmignore diff --git a/packages/common-codegen/CHANGELOG.md b/packages/common/CHANGELOG.md similarity index 100% rename from packages/common-codegen/CHANGELOG.md rename to packages/common/CHANGELOG.md diff --git a/packages/common-codegen/README.md b/packages/common/README.md similarity index 100% rename from packages/common-codegen/README.md rename to packages/common/README.md diff --git a/packages/common/package.json b/packages/common/package.json new file mode 100644 index 0000000000..9af5bb11fa --- /dev/null +++ b/packages/common/package.json @@ -0,0 +1,50 @@ +{ + "name": "@latticexyz/common", + "version": "1.42.0", + "description": "Common low level logic shared between packages", + "repository": { + "type": "git", + "url": "https://github.com/latticexyz/mud.git", + "directory": "packages/common" + }, + "license": "MIT", + "type": "module", + "exports": { + "./codegen": "./dist/codegen/index.js", + "./foundry": "./dist/foundry/index.js" + }, + "typesVersions": { + "*": { + "codegen": [ + "./src/codegen/index.ts" + ], + "foundry": [ + "./src/foundry/index.ts" + ] + } + }, + "files": [ + "dist" + ], + "scripts": { + "build": "vite build", + "release": "npm publish --access=public", + "test": "vitest typecheck --run --passWithNoTests" + }, + "dependencies": { + "@latticexyz/config": "workspace:*", + "@latticexyz/schema-type": "workspace:*", + "@latticexyz/solidity-parser": "^0.16.0", + "chalk": "^5.2.0", + "execa": "^7.0.0", + "prettier": "^2.8.4", + "prettier-plugin-solidity": "^1.1.2" + }, + "devDependencies": { + "@types/rollup-plugin-peer-deps-external": "^2.2.1", + "rollup-plugin-peer-deps-external": "^2.2.4", + "vite": "^4.3.0", + "vitest": "^0.30.1" + }, + "gitHead": "914a1e0ae4a573d685841ca2ea921435057deb8f" +} diff --git a/packages/common/src/codegen/index.ts b/packages/common/src/codegen/index.ts new file mode 100644 index 0000000000..f4f8ab17c4 --- /dev/null +++ b/packages/common/src/codegen/index.ts @@ -0,0 +1,3 @@ +export * from "./render-solidity"; +export * from "./render-typescript"; +export * from "./utils"; diff --git a/packages/common/src/codegen/modules.d.ts b/packages/common/src/codegen/modules.d.ts new file mode 100644 index 0000000000..12ea8e2ce5 --- /dev/null +++ b/packages/common/src/codegen/modules.d.ts @@ -0,0 +1 @@ +declare module "prettier-plugin-solidity"; diff --git a/packages/cli/src/render-solidity/common.ts b/packages/common/src/codegen/render-solidity/common.ts similarity index 95% rename from packages/cli/src/render-solidity/common.ts rename to packages/common/src/codegen/render-solidity/common.ts index 5c11a549de..30c23a6c7e 100644 --- a/packages/cli/src/render-solidity/common.ts +++ b/packages/common/src/codegen/render-solidity/common.ts @@ -1,5 +1,5 @@ import path from "path"; -import { ImportDatum, RelativeImportDatum, RenderTableOptions, RenderTableType, StaticResourceData } from "./types.js"; +import { ImportDatum, RelativeImportDatum, StaticResourceData, RenderPrimaryKey, RenderType } from "./types.js"; export const renderedSolidityHeader = `// SPDX-License-Identifier: MIT pragma solidity >=0.8.0; @@ -24,7 +24,10 @@ export function renderArguments(args: (string | undefined)[]) { export function renderCommonData({ staticResourceData, primaryKeys, -}: Pick) { +}: { + staticResourceData?: StaticResourceData; + primaryKeys: RenderPrimaryKey[]; +}) { // static resource means static tableId as well, and no tableId arguments const _tableId = staticResourceData ? "" : "_tableId"; const _typedTableId = staticResourceData ? "" : "bytes32 _tableId"; @@ -124,7 +127,7 @@ export function renderTableId(staticResourceData: StaticResourceData) { }; } -function renderValueTypeToBytes32(name: string, { staticByteLength, typeUnwrap, internalTypeId }: RenderTableType) { +function renderValueTypeToBytes32(name: string, { staticByteLength, typeUnwrap, internalTypeId }: RenderType) { const bits = staticByteLength * 8; const innerText = `${typeUnwrap}(${name})`; diff --git a/packages/common/src/codegen/render-solidity/index.ts b/packages/common/src/codegen/render-solidity/index.ts new file mode 100644 index 0000000000..3148fe6094 --- /dev/null +++ b/packages/common/src/codegen/render-solidity/index.ts @@ -0,0 +1,5 @@ +export * from "./common"; +export * from "./renderEnums"; +export * from "./renderTypeHelpers"; +export * from "./types"; +export * from "./userType"; diff --git a/packages/common/src/codegen/render-solidity/renderEnums.ts b/packages/common/src/codegen/render-solidity/renderEnums.ts new file mode 100644 index 0000000000..37262239c8 --- /dev/null +++ b/packages/common/src/codegen/render-solidity/renderEnums.ts @@ -0,0 +1,17 @@ +import { renderArguments, renderList, renderedSolidityHeader } from "./common.js"; +import { RenderEnum } from "./types.js"; + +export function renderEnums(enums: RenderEnum[]) { + let result = renderedSolidityHeader; + + result += renderList( + enums, + ({ name, memberNames }) => ` + enum ${name} { + ${renderArguments(memberNames)} + } + ` + ); + + return result; +} diff --git a/packages/cli/src/render-solidity/renderTypeHelpers.ts b/packages/common/src/codegen/render-solidity/renderTypeHelpers.ts similarity index 92% rename from packages/cli/src/render-solidity/renderTypeHelpers.ts rename to packages/common/src/codegen/render-solidity/renderTypeHelpers.ts index 58f6223a5b..1baf9ee877 100644 --- a/packages/cli/src/render-solidity/renderTypeHelpers.ts +++ b/packages/common/src/codegen/render-solidity/renderTypeHelpers.ts @@ -1,6 +1,6 @@ -import { RenderTableOptions, RenderTableType } from "./types.js"; +import { RenderField, RenderPrimaryKey, RenderType } from "./types"; -export function renderTypeHelpers(options: RenderTableOptions) { +export function renderTypeHelpers(options: { fields: RenderField[]; primaryKeys: RenderPrimaryKey[] }) { const { fields, primaryKeys } = options; let result = ""; @@ -32,7 +32,7 @@ export function renderTypeHelpers(options: RenderTableOptions) { return result; } -function getWrappingHelpers(array: RenderTableType[]) { +function getWrappingHelpers(array: RenderType[]) { const wrappers = new Map(); const unwrappers = new Map(); for (const { typeWrappingData, typeWrap, typeUnwrap, internalTypeId } of array) { diff --git a/packages/common/src/codegen/render-solidity/types.ts b/packages/common/src/codegen/render-solidity/types.ts new file mode 100644 index 0000000000..54d745bd21 --- /dev/null +++ b/packages/common/src/codegen/render-solidity/types.ts @@ -0,0 +1,64 @@ +export interface ImportDatum { + symbol: string; + path: string; +} + +export interface RelativeImportDatum { + symbol: string; + fromPath: string; + usedInPath: string; +} + +export interface StaticResourceData { + /** Name of the table id constant to render. */ + tableIdName: string; + namespace: string; + name: string; +} + +export interface RenderType { + typeId: string; + typeWithLocation: string; + /** The name of the enum element in SchemaType to use for schema registration (e.g. "UINT256_ARRAY") */ + enumName: string; + staticByteLength: number; + isDynamic: boolean; + /** Empty for internal types. Custom `wrap` method for user defined types. */ + typeWrap: string; + /** Empty for internal types. Custom `unwrap` method for user defined types. */ + typeUnwrap: string; + /** Data to generate the custom wrapper and unwrapper if necessary. */ + typeWrappingData?: RenderFieldTypeWrappingData; + /** Same as typeId for internal types. The underlying `typeId` for user defined types. */ + internalTypeId: string; +} + +export interface RenderPrimaryKey extends RenderType { + name: string; + isDynamic: false; +} + +export interface RenderField extends RenderType { + arrayElement: RenderType | undefined; + name: string; + methodNameSuffix: string; +} + +export interface RenderStaticField extends RenderField { + isDynamic: false; +} + +export interface RenderDynamicField extends RenderField { + isDynamic: true; +} + +export type RenderFieldTypeWrappingData = { + kind: "staticArray"; + elementType: string; + staticLength: number; +}; + +export interface RenderEnum { + name: string; + memberNames: string[]; +} diff --git a/packages/cli/src/render-solidity/userType.ts b/packages/common/src/codegen/render-solidity/userType.ts similarity index 91% rename from packages/cli/src/render-solidity/userType.ts rename to packages/common/src/codegen/render-solidity/userType.ts index d6aa052200..08f7cae328 100644 --- a/packages/cli/src/render-solidity/userType.ts +++ b/packages/common/src/codegen/render-solidity/userType.ts @@ -1,25 +1,25 @@ import { AbiTypeToSchemaType, getStaticByteLength, SchemaType, SchemaTypeToAbiType } from "@latticexyz/schema-type"; import { StoreConfig, parseStaticArray } from "@latticexyz/config"; -import { RelativeImportDatum, RenderTableType } from "./types.js"; +import { RelativeImportDatum, RenderType } from "./types.js"; export type UserTypeInfo = ReturnType; /** - * Resolve an abi or user type into a SchemaType + * Resolve an abi or user type into a SchemaType and RenderType */ export function resolveAbiOrUserType( abiOrUserType: string, config: StoreConfig ): { schemaType: SchemaType; - renderTableType: RenderTableType; + renderType: RenderType; } { // abi types which directly mirror a SchemaType if (abiOrUserType in AbiTypeToSchemaType) { const schemaType = AbiTypeToSchemaType[abiOrUserType]; return { schemaType, - renderTableType: getSchemaTypeInfo(schemaType), + renderType: getSchemaTypeInfo(schemaType), }; } // static arrays @@ -60,7 +60,7 @@ export function importForAbiOrUserType( }; } -export function getSchemaTypeInfo(schemaType: SchemaType): RenderTableType { +export function getSchemaTypeInfo(schemaType: SchemaType): RenderType { const staticByteLength = getStaticByteLength(schemaType); const isDynamic = staticByteLength === 0; const typeId = SchemaTypeToAbiType[schemaType]; @@ -81,7 +81,7 @@ export function getUserTypeInfo( config: StoreConfig ): { schemaType: SchemaType; - renderTableType: RenderTableType; + renderType: RenderType; } { // enums if (userType in config.enums) { @@ -91,7 +91,7 @@ export function getUserTypeInfo( const typeId = userType; return { schemaType, - renderTableType: { + renderType: { typeId, typeWithLocation: typeId, enumName: SchemaType[schemaType], @@ -112,7 +112,7 @@ function getStaticArrayTypeInfo(abiType: string, elementType: string, staticLeng const schemaType = AbiTypeToSchemaType[internalTypeId]; return { schemaType, - renderTableType: { + renderType: { typeId: abiType, typeWithLocation: `${abiType} memory`, enumName: SchemaType[schemaType], diff --git a/packages/common/src/codegen/render-typescript/index.ts b/packages/common/src/codegen/render-typescript/index.ts new file mode 100644 index 0000000000..f58d491523 --- /dev/null +++ b/packages/common/src/codegen/render-typescript/index.ts @@ -0,0 +1 @@ +export * from "./schemaTypesToRecsTypeStrings"; diff --git a/packages/common/src/codegen/render-typescript/schemaTypesToRecsTypeStrings.ts b/packages/common/src/codegen/render-typescript/schemaTypesToRecsTypeStrings.ts new file mode 100644 index 0000000000..3fed086bbe --- /dev/null +++ b/packages/common/src/codegen/render-typescript/schemaTypesToRecsTypeStrings.ts @@ -0,0 +1,202 @@ +import { SchemaType } from "@latticexyz/schema-type"; + +export const schemaTypesToRecsTypeStrings: Record = { + [SchemaType.UINT8]: "RecsType.Number", + [SchemaType.UINT16]: "RecsType.Number", + [SchemaType.UINT24]: "RecsType.Number", + [SchemaType.UINT32]: "RecsType.Number", + [SchemaType.UINT40]: "RecsType.Number", + [SchemaType.UINT48]: "RecsType.Number", + [SchemaType.UINT56]: "RecsType.BigInt", + [SchemaType.UINT64]: "RecsType.BigInt", + [SchemaType.UINT72]: "RecsType.BigInt", + [SchemaType.UINT80]: "RecsType.BigInt", + [SchemaType.UINT88]: "RecsType.BigInt", + [SchemaType.UINT96]: "RecsType.BigInt", + [SchemaType.UINT104]: "RecsType.BigInt", + [SchemaType.UINT112]: "RecsType.BigInt", + [SchemaType.UINT120]: "RecsType.BigInt", + [SchemaType.UINT128]: "RecsType.BigInt", + [SchemaType.UINT136]: "RecsType.BigInt", + [SchemaType.UINT144]: "RecsType.BigInt", + [SchemaType.UINT152]: "RecsType.BigInt", + [SchemaType.UINT160]: "RecsType.BigInt", + [SchemaType.UINT168]: "RecsType.BigInt", + [SchemaType.UINT176]: "RecsType.BigInt", + [SchemaType.UINT184]: "RecsType.BigInt", + [SchemaType.UINT192]: "RecsType.BigInt", + [SchemaType.UINT200]: "RecsType.BigInt", + [SchemaType.UINT208]: "RecsType.BigInt", + [SchemaType.UINT216]: "RecsType.BigInt", + [SchemaType.UINT224]: "RecsType.BigInt", + [SchemaType.UINT232]: "RecsType.BigInt", + [SchemaType.UINT240]: "RecsType.BigInt", + [SchemaType.UINT248]: "RecsType.BigInt", + [SchemaType.UINT256]: "RecsType.BigInt", + [SchemaType.INT8]: "RecsType.Number", + [SchemaType.INT16]: "RecsType.Number", + [SchemaType.INT24]: "RecsType.Number", + [SchemaType.INT32]: "RecsType.Number", + [SchemaType.INT40]: "RecsType.Number", + [SchemaType.INT48]: "RecsType.Number", + [SchemaType.INT56]: "RecsType.BigInt", + [SchemaType.INT64]: "RecsType.BigInt", + [SchemaType.INT72]: "RecsType.BigInt", + [SchemaType.INT80]: "RecsType.BigInt", + [SchemaType.INT88]: "RecsType.BigInt", + [SchemaType.INT96]: "RecsType.BigInt", + [SchemaType.INT104]: "RecsType.BigInt", + [SchemaType.INT112]: "RecsType.BigInt", + [SchemaType.INT120]: "RecsType.BigInt", + [SchemaType.INT128]: "RecsType.BigInt", + [SchemaType.INT136]: "RecsType.BigInt", + [SchemaType.INT144]: "RecsType.BigInt", + [SchemaType.INT152]: "RecsType.BigInt", + [SchemaType.INT160]: "RecsType.BigInt", + [SchemaType.INT168]: "RecsType.BigInt", + [SchemaType.INT176]: "RecsType.BigInt", + [SchemaType.INT184]: "RecsType.BigInt", + [SchemaType.INT192]: "RecsType.BigInt", + [SchemaType.INT200]: "RecsType.BigInt", + [SchemaType.INT208]: "RecsType.BigInt", + [SchemaType.INT216]: "RecsType.BigInt", + [SchemaType.INT224]: "RecsType.BigInt", + [SchemaType.INT232]: "RecsType.BigInt", + [SchemaType.INT240]: "RecsType.BigInt", + [SchemaType.INT248]: "RecsType.BigInt", + [SchemaType.INT256]: "RecsType.BigInt", + [SchemaType.BYTES1]: "RecsType.String", + [SchemaType.BYTES2]: "RecsType.String", + [SchemaType.BYTES3]: "RecsType.String", + [SchemaType.BYTES4]: "RecsType.String", + [SchemaType.BYTES5]: "RecsType.String", + [SchemaType.BYTES6]: "RecsType.String", + [SchemaType.BYTES7]: "RecsType.String", + [SchemaType.BYTES8]: "RecsType.String", + [SchemaType.BYTES9]: "RecsType.String", + [SchemaType.BYTES10]: "RecsType.String", + [SchemaType.BYTES11]: "RecsType.String", + [SchemaType.BYTES12]: "RecsType.String", + [SchemaType.BYTES13]: "RecsType.String", + [SchemaType.BYTES14]: "RecsType.String", + [SchemaType.BYTES15]: "RecsType.String", + [SchemaType.BYTES16]: "RecsType.String", + [SchemaType.BYTES17]: "RecsType.String", + [SchemaType.BYTES18]: "RecsType.String", + [SchemaType.BYTES19]: "RecsType.String", + [SchemaType.BYTES20]: "RecsType.String", + [SchemaType.BYTES21]: "RecsType.String", + [SchemaType.BYTES22]: "RecsType.String", + [SchemaType.BYTES23]: "RecsType.String", + [SchemaType.BYTES24]: "RecsType.String", + [SchemaType.BYTES25]: "RecsType.String", + [SchemaType.BYTES26]: "RecsType.String", + [SchemaType.BYTES27]: "RecsType.String", + [SchemaType.BYTES28]: "RecsType.String", + [SchemaType.BYTES29]: "RecsType.String", + [SchemaType.BYTES30]: "RecsType.String", + [SchemaType.BYTES31]: "RecsType.String", + [SchemaType.BYTES32]: "RecsType.String", + [SchemaType.BOOL]: "RecsType.Boolean", + [SchemaType.ADDRESS]: "RecsType.String", + [SchemaType.UINT8_ARRAY]: "RecsType.NumberArray", + [SchemaType.UINT16_ARRAY]: "RecsType.NumberArray", + [SchemaType.UINT24_ARRAY]: "RecsType.NumberArray", + [SchemaType.UINT32_ARRAY]: "RecsType.NumberArray", + [SchemaType.UINT40_ARRAY]: "RecsType.NumberArray", + [SchemaType.UINT48_ARRAY]: "RecsType.NumberArray", + [SchemaType.UINT56_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT64_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT72_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT80_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT88_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT96_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT104_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT112_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT120_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT128_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT136_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT144_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT152_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT160_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT168_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT176_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT184_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT192_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT200_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT208_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT216_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT224_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT232_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT240_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT248_ARRAY]: "RecsType.BigIntArray", + [SchemaType.UINT256_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT8_ARRAY]: "RecsType.NumberArray", + [SchemaType.INT16_ARRAY]: "RecsType.NumberArray", + [SchemaType.INT24_ARRAY]: "RecsType.NumberArray", + [SchemaType.INT32_ARRAY]: "RecsType.NumberArray", + [SchemaType.INT40_ARRAY]: "RecsType.NumberArray", + [SchemaType.INT48_ARRAY]: "RecsType.NumberArray", + [SchemaType.INT56_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT64_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT72_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT80_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT88_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT96_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT104_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT112_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT120_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT128_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT136_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT144_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT152_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT160_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT168_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT176_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT184_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT192_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT200_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT208_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT216_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT224_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT232_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT240_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT248_ARRAY]: "RecsType.BigIntArray", + [SchemaType.INT256_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES1_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES2_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES3_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES4_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES5_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES6_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES7_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES8_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES9_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES10_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES11_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES12_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES13_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES14_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES15_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES16_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES17_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES18_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES19_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES20_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES21_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES22_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES23_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES24_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES25_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES26_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES27_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES28_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES29_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES30_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES31_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BYTES32_ARRAY]: "RecsType.BigIntArray", + [SchemaType.BOOL_ARRAY]: "RecsType.T", // no boolean array + [SchemaType.ADDRESS_ARRAY]: "RecsType.StringArray", + [SchemaType.BYTES]: "RecsType.String", + [SchemaType.STRING]: "RecsType.String", +}; diff --git a/packages/cli/src/utils/contractToInterface.ts b/packages/common/src/codegen/utils/contractToInterface.ts similarity index 92% rename from packages/cli/src/utils/contractToInterface.ts rename to packages/common/src/codegen/utils/contractToInterface.ts index 462a8b807f..fa48b67ee6 100644 --- a/packages/cli/src/utils/contractToInterface.ts +++ b/packages/common/src/codegen/utils/contractToInterface.ts @@ -1,7 +1,13 @@ -import { parse, visit } from "@solidity-parser/parser"; -import { TypeName, VariableDeclaration } from "@solidity-parser/parser/dist/src/ast-types.js"; +import { parse, visit } from "@latticexyz/solidity-parser"; +import type { TypeName, VariableDeclaration } from "@latticexyz/solidity-parser/dist/src/ast-types"; import { MUDError } from "@latticexyz/config"; -import { RenderSystemInterfaceFunction } from "../render-solidity/types.js"; + +export interface ContractInterfaceFunction { + name: string; + parameters: string[]; + stateMutability: string; + returnParameters: string[]; +} /** * Parse the contract data to get the functions necessary to generate an interface, @@ -15,7 +21,7 @@ export function contractToInterface(data: string, contractName: string) { let withContract = false; let symbols: string[] = []; - const functions: RenderSystemInterfaceFunction[] = []; + const functions: ContractInterfaceFunction[] = []; visit(ast, { ContractDefinition({ name }) { diff --git a/packages/cli/src/utils/format.ts b/packages/common/src/codegen/utils/format.ts similarity index 100% rename from packages/cli/src/utils/format.ts rename to packages/common/src/codegen/utils/format.ts diff --git a/packages/cli/src/utils/formatAndWrite.ts b/packages/common/src/codegen/utils/formatAndWrite.ts similarity index 91% rename from packages/cli/src/utils/formatAndWrite.ts rename to packages/common/src/codegen/utils/formatAndWrite.ts index 815e3399ed..fbe2ffa2a2 100644 --- a/packages/cli/src/utils/formatAndWrite.ts +++ b/packages/common/src/codegen/utils/formatAndWrite.ts @@ -1,6 +1,6 @@ import { mkdirSync, writeFileSync } from "fs"; import { dirname } from "path"; -import { formatSolidity, formatTypescript } from "./format.js"; +import { formatSolidity, formatTypescript } from "./format"; export async function formatAndWriteSolidity(output: string, fullOutputPath: string, logPrefix: string) { const formattedOutput = await formatSolidity(output); diff --git a/packages/common/src/codegen/utils/index.ts b/packages/common/src/codegen/utils/index.ts new file mode 100644 index 0000000000..b037143393 --- /dev/null +++ b/packages/common/src/codegen/utils/index.ts @@ -0,0 +1,3 @@ +export * from "./contractToInterface"; +export * from "./format"; +export * from "./formatAndWrite"; diff --git a/packages/cli/src/utils/foundry.ts b/packages/common/src/foundry/index.ts similarity index 76% rename from packages/cli/src/utils/foundry.ts rename to packages/common/src/foundry/index.ts index 12b71d0ace..2f1c3e46f0 100644 --- a/packages/cli/src/utils/foundry.ts +++ b/packages/common/src/foundry/index.ts @@ -1,5 +1,5 @@ import { execa, Options } from "execa"; -import { execLog } from "./execLog.js"; +import chalk from "chalk"; export interface ForgeConfig { // project @@ -101,3 +101,24 @@ export async function cast(args: string[], options?: { profile?: string }): Prom export async function anvil(args: string[]): Promise { return execLog("anvil", args); } + +/** + * Executes the given command, returns the stdout, and logs the command to the console. + * Throws an error if the command fails. + * @param command The command to execute + * @param args The arguments to pass to the command + * @returns The stdout of the command + */ +async function execLog(command: string, args: string[], options?: Options): Promise { + const commandString = `${command} ${args.join(" ")}`; + try { + console.log(chalk.gray(`running "${commandString}"`)); + const { stdout } = await execa(command, args, { stdout: "pipe", stderr: "pipe", ...options }); + return stdout; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } catch (error: any) { + let errorMessage = error?.stderr || error?.message || ""; + errorMessage += chalk.red(`\nError running "${commandString}"`); + throw new Error(errorMessage); + } +} diff --git a/packages/common-codegen/tsconfig.json b/packages/common/tsconfig.json similarity index 80% rename from packages/common-codegen/tsconfig.json rename to packages/common/tsconfig.json index cdf8d8d2f1..9a1570f06f 100644 --- a/packages/common-codegen/tsconfig.json +++ b/packages/common/tsconfig.json @@ -6,11 +6,13 @@ "moduleResolution": "node", "declaration": true, "sourceMap": true, - "rootDir": "./src", "outDir": "dist", "isolatedModules": true, + "allowSyntheticDefaultImports": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, - } + "skipLibCheck": true + }, + "include": ["src"] } diff --git a/packages/common-codegen/vite.config.ts b/packages/common/vite.config.ts similarity index 56% rename from packages/common-codegen/vite.config.ts rename to packages/common/vite.config.ts index 218ab2caf1..73c577ef79 100644 --- a/packages/common-codegen/vite.config.ts +++ b/packages/common/vite.config.ts @@ -1,5 +1,5 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ import { defineConfig } from "vitest/config"; -import typescript from "@rollup/plugin-typescript"; import peerDepsExternal from "rollup-plugin-peer-deps-external"; /** @@ -9,13 +9,19 @@ export default defineConfig({ build: { ssr: true, lib: { - entry: "src/index.ts", - formats: ["cjs", "es"], + entry: { + "codegen/index": "src/codegen/index.ts", + "foundry/index": "src/foundry/index.ts", + }, + formats: ["es"], }, outDir: "dist", minify: false, sourcemap: true, }, + ssr: { + noExternal: ["execa", "is-stream", "npm-run-path"], + }, /** * @see https://vitest.dev/config/ */ @@ -23,5 +29,5 @@ export default defineConfig({ environment: "node", globals: true, }, - plugins: [(typescript as any)(), peerDepsExternal()], + plugins: [peerDepsExternal()] as any, }); diff --git a/packages/config/package.json b/packages/config/package.json index 8de977969d..16f526a491 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -9,9 +9,10 @@ }, "license": "MIT", "type": "module", - "main": "dist/index.js", - "module": "dist/index.mjs", - "types": "dist/index.d.ts", + "exports": { + ".": "./dist/index.js" + }, + "types": "src/index.ts", "scripts": { "build": "vite build", "release": "npm publish --access=public", @@ -21,16 +22,15 @@ "@latticexyz/schema-type": "^1.42.0", "chalk": "^5.2.0", "esbuild": "^0.17.15", - "ethers": "^6.3.0", + "ethers": "^5.7.2", "find-up": "^6.3.0", "zod": "^3.21.4", "zod-validation-error": "^1.3.0" }, "devDependencies": { - "@rollup/plugin-typescript": "^11.0.0", "@types/rollup-plugin-peer-deps-external": "^2.2.1", "rollup-plugin-peer-deps-external": "^2.2.4", - "vite": "^4.2.1", + "vite": "^4.3.0", "vitest": "^0.29.8" }, "gitHead": "914a1e0ae4a573d685841ca2ea921435057deb8f" diff --git a/packages/config/src/validation.ts b/packages/config/src/validation.ts index f8856b8fbd..cdbcfbf669 100644 --- a/packages/config/src/validation.ts +++ b/packages/config/src/validation.ts @@ -1,4 +1,4 @@ -import { ethers } from "ethers"; +import { utils } from "ethers"; import { ZodIssueCode, RefinementCtx } from "zod"; export function validateName(name: string, ctx: RefinementCtx) { @@ -117,7 +117,7 @@ export const validateBaseRoute = _factoryForValidateRoute(false, false); export const validateSingleLevelRoute = _factoryForValidateRoute(true, true); export function validateEthereumAddress(address: string, ctx: RefinementCtx) { - if (!ethers.utils.isAddress(address)) { + if (!utils.isAddress(address)) { ctx.addIssue({ code: ZodIssueCode.custom, message: `Address must be a valid Ethereum address`, diff --git a/packages/config/tsconfig.json b/packages/config/tsconfig.json index cdf8d8d2f1..6a3788b830 100644 --- a/packages/config/tsconfig.json +++ b/packages/config/tsconfig.json @@ -6,11 +6,12 @@ "moduleResolution": "node", "declaration": true, "sourceMap": true, - "rootDir": "./src", "outDir": "dist", "isolatedModules": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, - } + "skipLibCheck": true + }, + "include": ["src"] } diff --git a/packages/config/vite.config.ts b/packages/config/vite.config.ts index 218ab2caf1..b048861c0e 100644 --- a/packages/config/vite.config.ts +++ b/packages/config/vite.config.ts @@ -1,5 +1,5 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ import { defineConfig } from "vitest/config"; -import typescript from "@rollup/plugin-typescript"; import peerDepsExternal from "rollup-plugin-peer-deps-external"; /** @@ -10,7 +10,7 @@ export default defineConfig({ ssr: true, lib: { entry: "src/index.ts", - formats: ["cjs", "es"], + formats: ["es"], }, outDir: "dist", minify: false, @@ -23,5 +23,5 @@ export default defineConfig({ environment: "node", globals: true, }, - plugins: [(typescript as any)(), peerDepsExternal()], + plugins: [peerDepsExternal()] as any, }); diff --git a/packages/network/jest.config.js b/packages/network/jest.config.js index ec0ed8de90..a62f363b5b 100644 --- a/packages/network/jest.config.js +++ b/packages/network/jest.config.js @@ -7,5 +7,7 @@ export default { moduleNameMapper: { // fix TS build issues "^(..?/.*).js$": "$1", + // jest can't handle esm imports, so we import the typescript source instead + "^@latticexyz/schema-type$": "/../schema-type/src/typescript/index.ts", }, }; diff --git a/packages/network/src/v2/schemas/tableMetadata.ts b/packages/network/src/v2/schemas/tableMetadata.ts index 0543e93089..fc73bbf5ec 100644 --- a/packages/network/src/v2/schemas/tableMetadata.ts +++ b/packages/network/src/v2/schemas/tableMetadata.ts @@ -3,7 +3,7 @@ import { Contract, utils } from "ethers"; import { metadataTableId, schemaTableId, TableMetadata } from "../common"; import { decodeData } from "./decodeData"; import { registerSchema } from "./tableSchemas"; -import { IStore } from "@latticexyz/store/types/ethers-contracts/IStore"; +import { IStore } from "@latticexyz/store/types/ethers-contracts/IStore.sol/IStore"; // worldAddress:tableId => metadata // TODO: add chain ID to namespace? diff --git a/packages/network/src/v2/schemas/tableSchemas.ts b/packages/network/src/v2/schemas/tableSchemas.ts index cc582351f0..f7f0b4ca6f 100644 --- a/packages/network/src/v2/schemas/tableSchemas.ts +++ b/packages/network/src/v2/schemas/tableSchemas.ts @@ -2,7 +2,7 @@ import { Contract } from "ethers"; import { TableId } from "@latticexyz/utils"; import { TableSchema } from "../common"; import { decodeSchema } from "./decodeSchema"; -import { IStore } from "@latticexyz/store/types/ethers-contracts/IStore"; +import { IStore } from "@latticexyz/store/types/ethers-contracts/IStore.sol/IStore"; // worldAddress:tableId => schema // TODO: add chain ID to namespace? diff --git a/packages/network/src/workers/SyncWorker.ts b/packages/network/src/workers/SyncWorker.ts index 0878443274..1cd3b0f391 100644 --- a/packages/network/src/workers/SyncWorker.ts +++ b/packages/network/src/workers/SyncWorker.ts @@ -49,7 +49,7 @@ import { createBlockNumberStream } from "../createBlockNumberStream"; import { SingletonID, SyncState } from "./constants"; import { debug as parentDebug } from "./debug"; import { fetchStoreEvents } from "../v2/fetchStoreEvents"; -import { abi as IStoreAbi } from "@latticexyz/store/abi/IStore.json"; +import { abi as IStoreAbi } from "@latticexyz/store/abi/IStore.sol/IStore.json"; import { Contract } from "ethers"; import { createModeClient } from "../v2/mode/createModeClient"; import { syncTablesFromMode } from "../v2/mode/syncTablesFromMode"; diff --git a/packages/schema-type/package.json b/packages/schema-type/package.json index c2cb1b6cbc..95e1048574 100644 --- a/packages/schema-type/package.json +++ b/packages/schema-type/package.json @@ -9,8 +9,10 @@ }, "license": "MIT", "type": "module", - "main": "src/typescript/index.ts", - "source": "src/typescript/index.ts", + "exports": { + ".": "./dist/typescript/index.js" + }, + "types": "src/typescript/index.ts", "scripts": { "build": "pnpm build:solidity && pnpm build:typescript", "build:solidity": "echo 'removing previous output' && rimraf out && echo 'build solidity' && forge build", diff --git a/packages/schema-type/tsconfig.json b/packages/schema-type/tsconfig.json index af1ef4730a..56a734a697 100644 --- a/packages/schema-type/tsconfig.json +++ b/packages/schema-type/tsconfig.json @@ -13,6 +13,5 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true - }, - "include": ["src/typescript"] + } } diff --git a/packages/services/tsconfig.json b/packages/services/tsconfig.json index ba80048e16..41ba198034 100644 --- a/packages/services/tsconfig.json +++ b/packages/services/tsconfig.json @@ -5,6 +5,7 @@ "moduleResolution": "node", "isolatedModules": true, "allowSyntheticDefaultImports": true, - "esModuleInterop": true + "esModuleInterop": true, + "skipLibCheck": true } } diff --git a/packages/std-client/scripts/codegen.mts b/packages/std-client/scripts/codegen.mts index 805e0f2224..d9c9c9deb1 100644 --- a/packages/std-client/scripts/codegen.mts +++ b/packages/std-client/scripts/codegen.mts @@ -1,8 +1,8 @@ import { parseStoreConfig } from "@latticexyz/config"; -import { tsgen } from "@latticexyz/cli/dist/render-ts"; +import { tsgen } from "@latticexyz/cli"; -import storeMudConfig from "@latticexyz/store/mud.config.mjs"; -import worldMudConfig from "@latticexyz/world/mud.config.mjs"; +import storeMudConfig from "@latticexyz/store/mud.config.js"; +import worldMudConfig from "@latticexyz/world/mud.config.js"; -await tsgen(parseStoreConfig(storeMudConfig), "src/mud-definitions/store") -await tsgen(parseStoreConfig(worldMudConfig), "src/mud-definitions/world") \ No newline at end of file +await tsgen(parseStoreConfig(storeMudConfig), "src/mud-definitions/store"); +await tsgen(parseStoreConfig(worldMudConfig), "src/mud-definitions/world"); diff --git a/packages/std-client/src/setup/setupMUDV2Network.ts b/packages/std-client/src/setup/setupMUDV2Network.ts index 69bb5f639a..a6d57c53e7 100644 --- a/packages/std-client/src/setup/setupMUDV2Network.ts +++ b/packages/std-client/src/setup/setupMUDV2Network.ts @@ -13,7 +13,7 @@ import { Components, defineComponent, Type, World } from "@latticexyz/recs"; import { computed } from "mobx"; import { keccak256, TableId } from "@latticexyz/utils"; import { World as WorldContract } from "@latticexyz/world/types/ethers-contracts/World"; -import { abi as WorldAbi } from "@latticexyz/world/abi/World.json"; +import { abi as WorldAbi } from "@latticexyz/world/abi/World.sol/World.json"; import { defineStringComponent } from "../components"; import { ContractComponent, ContractComponents, SetupContractConfig } from "./types"; import { applyNetworkUpdates, createEncoders } from "./utils"; diff --git a/packages/store/.npmignore b/packages/store/.npmignore index 501cd328f4..06f700c628 100644 --- a/packages/store/.npmignore +++ b/packages/store/.npmignore @@ -2,6 +2,7 @@ !abi/** !src/** +!ts/** !types/** !package.json !README.md diff --git a/packages/store/index.ts b/packages/store/index.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/packages/store/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/store/mud.config.mts b/packages/store/mud.config.ts similarity index 100% rename from packages/store/mud.config.mts rename to packages/store/mud.config.ts diff --git a/packages/store/package.json b/packages/store/package.json index 3205cc2656..7710598dfa 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -8,43 +8,57 @@ "directory": "packages/store" }, "license": "MIT", + "type": "module", "exports": { - "./mud.config.mjs": "./dist/mud.config.mjs", - "./*": "./*" + ".": "./dist/index.js", + "./*": "./dist/*", + "./abi/*": "./abi/*" }, - "types": "./types/ethers-contracts/", + "types": "ts/index.ts", "scripts": { - "build": "pnpm codegen && rimraf out && forge build && pnpm dist && pnpm types && tsup", - "codegen": "tsx ./scripts/codegen.ts && prettier --write '**/*.sol'", - "dist": "rimraf abi && mkdir abi && cp -rf out/*.sol/*.json abi/ && pnpm rimraf abi/*.metadata.json", + "build": "pnpm run build:js && pnpm run build:tightcoder && pnpm run build:codegen && pnpm run build:abi && pnpm run build:typechain", + "build:abi": "forge build --out abi --skip test script", + "build:codegen": "node ./dist/tablegen.js", + "build:js": "vite build", + "build:tightcoder": "tsx ./ts/scripts/codegenTightcoder.ts && prettier --write '**/*.sol'", + "build:typechain": "typechain --target ethers-v5 'abi/**/*.sol/!(*.abi).json'", + "clean": "pnpm run clean:abi && pnpm run clean:typechain && pnpm run clean:js", + "clean:abi": "rimraf abi", + "clean:js": "rimraf dist", + "clean:typechain": "rimraf types", "docs": "rimraf API && hardhat docgen", "gas-report": "../cli/dist/mud.js gas-report --path test/* --path test/**/* --save gas-report.json", "lint": "solhint --config ./.solhint.json 'src/**/*.sol'", "release": "npm publish --access=public", - "tablegen": "../cli/dist/mud.js tablegen", - "test": "pnpm codegen && forge test", - "types": "rimraf types && typechain --target=ethers-v5 abi/*.json" + "test": "pnpm run test:solidity && pnpm run test:typescript", + "test:solidity": "forge test", + "test:typescript": "tsc --noEmit" }, "devDependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/providers": "^5.7.2", + "@latticexyz/common": "workspace:*", "@latticexyz/config": "workspace:*", "@latticexyz/schema-type": "workspace:*", "@typechain/ethers-v5": "^10.2.0", "@types/ejs": "^3.1.1", "@types/mocha": "^9.1.1", + "@types/node": "^18.15.11", + "@types/rollup-plugin-peer-deps-external": "^2.2.1", "ds-test": "https://github.com/dapphub/ds-test.git#c9ce3f25bde29fc5eb9901842bf02850dfd2d084", "ejs": "^3.1.8", "ethers": "^5.7.2", "forge-std": "https://github.com/foundry-rs/forge-std.git#b4f121555729b3afb3c5ffccb62ff4b6e2818fd3", "hardhat": "^2.10.1", "rimraf": "^3.0.2", + "rollup-plugin-peer-deps-external": "^2.2.4", "solhint": "^3.3.7", "solidity-docgen": "^0.6.0-beta.22", - "tsup": "^6.7.0", "tsx": "^3.12.6", "typechain": "^8.1.1", - "typedoc": "^0.23.10" + "typedoc": "^0.23.10", + "vite": "^4.3.0", + "vitest": "^0.30.1" }, "peerDependencies": { "@ethersproject/abi": "^5.7.0", diff --git a/packages/store/ts/index.ts b/packages/store/ts/index.ts new file mode 100644 index 0000000000..3fea3930b7 --- /dev/null +++ b/packages/store/ts/index.ts @@ -0,0 +1 @@ +export * from "./render-solidity"; diff --git a/packages/store/ts/modules.d.ts b/packages/store/ts/modules.d.ts new file mode 100644 index 0000000000..12ea8e2ce5 --- /dev/null +++ b/packages/store/ts/modules.d.ts @@ -0,0 +1 @@ +declare module "prettier-plugin-solidity"; diff --git a/packages/cli/src/render-solidity/field.ts b/packages/store/ts/render-solidity/field.ts similarity index 91% rename from packages/cli/src/render-solidity/field.ts rename to packages/store/ts/render-solidity/field.ts index 6a3ca0b71d..68e38b6fff 100644 --- a/packages/cli/src/render-solidity/field.ts +++ b/packages/store/ts/render-solidity/field.ts @@ -1,5 +1,11 @@ -import { renderArguments, renderCommonData, renderWithStore } from "./common.js"; -import { RenderTableField, RenderTableOptions, RenderTableType } from "./types.js"; +import { + renderArguments, + renderCommonData, + RenderField, + RenderType, + renderWithStore, +} from "@latticexyz/common/codegen"; +import { RenderTableOptions } from "./types"; export function renderFieldMethods(options: RenderTableOptions) { const storeArgument = options.storeArgument; @@ -87,7 +93,7 @@ export function renderFieldMethods(options: RenderTableOptions) { return result; } -export function renderEncodeField(field: RenderTableField) { +export function renderEncodeField(field: RenderField) { let func; if (field.arrayElement) { func = "EncodeArray.encode"; @@ -99,7 +105,7 @@ export function renderEncodeField(field: RenderTableField) { return `${func}(${field.typeUnwrap}(${field.name}))`; } -export function renderDecodeValueType(field: RenderTableType, offset: number) { +export function renderDecodeValueType(field: RenderType, offset: number) { const { staticByteLength, internalTypeId } = field; const innerSlice = `Bytes.slice${staticByteLength}(_blob, ${offset})`; @@ -121,7 +127,7 @@ export function renderDecodeValueType(field: RenderTableType, offset: number) { } /** bytes/string are dynamic, but aren't really arrays */ -function fieldPortionData(field: RenderTableField) { +function fieldPortionData(field: RenderField) { const methodNameSuffix = ""; if (field.arrayElement) { const name = "_element"; @@ -144,7 +150,7 @@ function fieldPortionData(field: RenderTableField) { } } -function renderDecodeFieldSingle(field: RenderTableField) { +function renderDecodeFieldSingle(field: RenderField) { const { isDynamic, arrayElement } = field; if (arrayElement) { // arrays diff --git a/packages/store/ts/render-solidity/index.ts b/packages/store/ts/render-solidity/index.ts new file mode 100644 index 0000000000..8401199c00 --- /dev/null +++ b/packages/store/ts/render-solidity/index.ts @@ -0,0 +1,7 @@ +export * from "./field"; +export * from "./record"; +export * from "./renderTable"; +export * from "./renderTypesFromConfig"; +export * from "./tablegen"; +export * from "./tableOptions"; +export * from "./types"; diff --git a/packages/cli/src/render-solidity/record.ts b/packages/store/ts/render-solidity/record.ts similarity index 94% rename from packages/cli/src/render-solidity/record.ts rename to packages/store/ts/render-solidity/record.ts index 635096ec2b..1b530f52cc 100644 --- a/packages/cli/src/render-solidity/record.ts +++ b/packages/store/ts/render-solidity/record.ts @@ -1,6 +1,12 @@ -import { renderList, renderArguments, renderCommonData, renderWithStore } from "./common.js"; -import { renderDecodeValueType } from "./field.js"; -import { RenderTableDynamicField, RenderTableOptions } from "./types.js"; +import { + renderList, + renderArguments, + renderCommonData, + renderWithStore, + RenderDynamicField, +} from "@latticexyz/common/codegen"; +import { renderDecodeValueType } from "./field"; +import { RenderTableOptions } from "./types"; export function renderRecordMethods(options: RenderTableOptions) { const { structName, storeArgument } = options; @@ -140,7 +146,7 @@ function renderDecodedRecord({ structName, fields }: RenderTableOptions) { } } -function renderDecodeDynamicFieldPartial(field: RenderTableDynamicField) { +function renderDecodeDynamicFieldPartial(field: RenderDynamicField) { const { typeId, arrayElement, typeWrap } = field; if (arrayElement) { // arrays diff --git a/packages/cli/src/render-solidity/renderTable.ts b/packages/store/ts/render-solidity/renderTable.ts similarity index 93% rename from packages/cli/src/render-solidity/renderTable.ts rename to packages/store/ts/render-solidity/renderTable.ts index f76405ad10..9fa1b61834 100644 --- a/packages/cli/src/render-solidity/renderTable.ts +++ b/packages/store/ts/render-solidity/renderTable.ts @@ -6,11 +6,12 @@ import { renderRelativeImports, renderTableId, renderWithStore, -} from "./common.js"; -import { renderEncodeField, renderFieldMethods } from "./field.js"; -import { renderRecordMethods } from "./record.js"; -import { renderTypeHelpers } from "./renderTypeHelpers.js"; -import { RenderTableDynamicField, RenderTableOptions } from "./types.js"; + renderTypeHelpers, + RenderDynamicField, +} from "@latticexyz/common/codegen"; +import { renderEncodeField, renderFieldMethods } from "./field"; +import { renderRecordMethods } from "./record"; +import { RenderTableOptions } from "./types"; export function renderTable(options: RenderTableOptions) { const { @@ -145,7 +146,7 @@ ${renderTypeHelpers(options)} `; } -function renderEncodedLengths(dynamicFields: RenderTableDynamicField[]) { +function renderEncodedLengths(dynamicFields: RenderDynamicField[]) { if (dynamicFields.length > 0) { return ` uint16[] memory _counters = new uint16[](${dynamicFields.length}); diff --git a/packages/cli/src/render-solidity/renderTableIndex.ts b/packages/store/ts/render-solidity/renderTableIndex.ts similarity index 76% rename from packages/cli/src/render-solidity/renderTableIndex.ts rename to packages/store/ts/render-solidity/renderTableIndex.ts index 109671688b..fc617688a6 100644 --- a/packages/cli/src/render-solidity/renderTableIndex.ts +++ b/packages/store/ts/render-solidity/renderTableIndex.ts @@ -1,5 +1,5 @@ -import { renderList, renderedSolidityHeader } from "./common.js"; -import { TableOptions } from "./tableOptions.js"; +import { renderList, renderedSolidityHeader } from "@latticexyz/common/codegen"; +import { TableOptions } from "./tableOptions"; export function renderTableIndex(options: TableOptions[]) { return `${renderedSolidityHeader} diff --git a/packages/cli/src/render-solidity/renderTypesFromConfig.ts b/packages/store/ts/render-solidity/renderTypesFromConfig.ts similarity index 72% rename from packages/cli/src/render-solidity/renderTypesFromConfig.ts rename to packages/store/ts/render-solidity/renderTypesFromConfig.ts index aec8e2bce2..42ff1984ad 100644 --- a/packages/cli/src/render-solidity/renderTypesFromConfig.ts +++ b/packages/store/ts/render-solidity/renderTypesFromConfig.ts @@ -1,5 +1,5 @@ import { StoreConfig } from "@latticexyz/config"; -import { renderTypes } from "./renderTypes.js"; +import { renderEnums } from "@latticexyz/common/codegen"; export function renderTypesFromConfig(config: StoreConfig) { const enums = Object.keys(config.enums).map((name) => ({ @@ -7,7 +7,5 @@ export function renderTypesFromConfig(config: StoreConfig) { memberNames: config.enums[name], })); - return renderTypes({ - enums, - }); + return renderEnums(enums); } diff --git a/packages/cli/src/render-solidity/tableOptions.ts b/packages/store/ts/render-solidity/tableOptions.ts similarity index 82% rename from packages/cli/src/render-solidity/tableOptions.ts rename to packages/store/ts/render-solidity/tableOptions.ts index 570f894b12..5cfb943682 100644 --- a/packages/cli/src/render-solidity/tableOptions.ts +++ b/packages/store/ts/render-solidity/tableOptions.ts @@ -2,14 +2,16 @@ import path from "path"; import { SchemaTypeArrayToElement } from "@latticexyz/schema-type"; import { StoreConfig } from "@latticexyz/config"; import { + getSchemaTypeInfo, RelativeImportDatum, - RenderTableDynamicField, - RenderTableField, - RenderTableOptions, - RenderTablePrimaryKey, - RenderTableStaticField, -} from "./types.js"; -import { getSchemaTypeInfo, importForAbiOrUserType, resolveAbiOrUserType } from "./userType.js"; + importForAbiOrUserType, + RenderDynamicField, + RenderField, + RenderPrimaryKey, + RenderStaticField, + resolveAbiOrUserType, +} from "@latticexyz/common/codegen"; +import { RenderTableOptions } from "./types"; export interface TableOptions { outputPath: string; @@ -35,16 +37,16 @@ export function getTableOptions(config: StoreConfig): TableOptions[] { const primaryKeys = Object.keys(tableData.primaryKeys).map((name) => { const abiOrUserType = tableData.primaryKeys[name]; - const { renderTableType } = resolveAbiOrUserType(abiOrUserType, config); + const { renderType } = resolveAbiOrUserType(abiOrUserType, config); const importDatum = importForAbiOrUserType(abiOrUserType, tableData.directory, config); if (importDatum) imports.push(importDatum); - if (renderTableType.isDynamic) + if (renderType.isDynamic) throw new Error(`Parsing error: found dynamic primary key ${name} in table ${tableName}`); - const primaryKey: RenderTablePrimaryKey = { - ...renderTableType, + const primaryKey: RenderPrimaryKey = { + ...renderType, name, isDynamic: false, }; @@ -53,14 +55,14 @@ export function getTableOptions(config: StoreConfig): TableOptions[] { const fields = Object.keys(tableData.schema).map((name) => { const abiOrUserType = tableData.schema[name]; - const { renderTableType, schemaType } = resolveAbiOrUserType(abiOrUserType, config); + const { renderType, schemaType } = resolveAbiOrUserType(abiOrUserType, config); const importDatum = importForAbiOrUserType(abiOrUserType, tableData.directory, config); if (importDatum) imports.push(importDatum); const elementType = SchemaTypeArrayToElement[schemaType]; - const field: RenderTableField = { - ...renderTableType, + const field: RenderField = { + ...renderType, arrayElement: elementType !== undefined ? getSchemaTypeInfo(elementType) : undefined, name, methodNameSuffix: noFieldMethodSuffix ? "" : `${name[0].toUpperCase()}${name.slice(1)}`, @@ -68,8 +70,8 @@ export function getTableOptions(config: StoreConfig): TableOptions[] { return field; }); - const staticFields = fields.filter(({ isDynamic }) => !isDynamic) as RenderTableStaticField[]; - const dynamicFields = fields.filter(({ isDynamic }) => isDynamic) as RenderTableDynamicField[]; + const staticFields = fields.filter(({ isDynamic }) => !isDynamic) as RenderStaticField[]; + const dynamicFields = fields.filter(({ isDynamic }) => isDynamic) as RenderDynamicField[]; // With tableIdArgument: tableId is a dynamic argument for each method // Without tableIdArgument: tableId is a file-level constant generated from `staticResourceData` diff --git a/packages/cli/src/render-solidity/tablegen.ts b/packages/store/ts/render-solidity/tablegen.ts similarity index 66% rename from packages/cli/src/render-solidity/tablegen.ts rename to packages/store/ts/render-solidity/tablegen.ts index 09baf2f7b5..a36ff9cf84 100644 --- a/packages/cli/src/render-solidity/tablegen.ts +++ b/packages/store/ts/render-solidity/tablegen.ts @@ -1,10 +1,10 @@ import path from "path"; import { StoreConfig } from "@latticexyz/config"; -import { getTableOptions } from "./tableOptions.js"; -import { renderTable } from "./renderTable.js"; -import { renderTypesFromConfig } from "./renderTypesFromConfig.js"; -import { formatAndWriteSolidity } from "../utils/formatAndWrite.js"; -import { renderTableIndex } from "./renderTableIndex.js"; +import { formatAndWriteSolidity } from "@latticexyz/common/codegen"; +import { getTableOptions } from "./tableOptions"; +import { renderTable } from "./renderTable"; +import { renderTypesFromConfig } from "./renderTypesFromConfig"; +import { renderTableIndex } from "./renderTableIndex"; import { rmSync } from "fs"; export async function tablegen(config: StoreConfig, outputBaseDirectory: string) { @@ -19,17 +19,17 @@ export async function tablegen(config: StoreConfig, outputBaseDirectory: string) for (const { outputPath, renderOptions } of allTableOptions) { const fullOutputPath = path.join(outputBaseDirectory, outputPath); const output = renderTable(renderOptions); - formatAndWriteSolidity(output, fullOutputPath, "Generated table"); + await formatAndWriteSolidity(output, fullOutputPath, "Generated table"); } // write types to file if (Object.keys(config.enums).length > 0) { const fullOutputPath = path.join(outputBaseDirectory, `${config.userTypesPath}.sol`); const output = renderTypesFromConfig(config); - formatAndWriteSolidity(output, fullOutputPath, "Generated types file"); + await formatAndWriteSolidity(output, fullOutputPath, "Generated types file"); } const fullOutputPath = path.join(outputBaseDirectory, `Tables.sol`); const output = renderTableIndex(allTableOptions); - formatAndWriteSolidity(output, fullOutputPath, "Generated table index"); + await formatAndWriteSolidity(output, fullOutputPath, "Generated table index"); } diff --git a/packages/store/ts/render-solidity/types.ts b/packages/store/ts/render-solidity/types.ts new file mode 100644 index 0000000000..5012abe979 --- /dev/null +++ b/packages/store/ts/render-solidity/types.ts @@ -0,0 +1,29 @@ +import { + RelativeImportDatum, + RenderDynamicField, + RenderField, + RenderPrimaryKey, + RenderStaticField, + StaticResourceData, +} from "@latticexyz/common/codegen"; + +export interface RenderTableOptions { + /** List of symbols to import, and their file paths */ + imports: RelativeImportDatum[]; + /** Name of the library to render. */ + libraryName: string; + /** Name of the struct to render. If undefined, struct and its methods aren't rendered. */ + structName?: string; + /** Data used to statically registed the table. If undefined, all methods receive `_tableId` as an argument. */ + staticResourceData?: StaticResourceData; + /** Path for store package imports */ + storeImportPath: string; + primaryKeys: RenderPrimaryKey[]; + fields: RenderField[]; + staticFields: RenderStaticField[]; + dynamicFields: RenderDynamicField[]; + /** Whether to render get/set methods for the whole record */ + withRecordMethods: boolean; + /** Whether to render additional methods that accept a manual `IStore` argument */ + storeArgument: boolean; +} diff --git a/packages/store/scripts/codegen.ts b/packages/store/ts/scripts/codegenTightcoder.ts similarity index 100% rename from packages/store/scripts/codegen.ts rename to packages/store/ts/scripts/codegenTightcoder.ts diff --git a/packages/store/ts/scripts/tablegen.ts b/packages/store/ts/scripts/tablegen.ts new file mode 100644 index 0000000000..1c8d361bf8 --- /dev/null +++ b/packages/store/ts/scripts/tablegen.ts @@ -0,0 +1,9 @@ +import path from "path"; +import { loadStoreConfig } from "@latticexyz/config"; +import { getSrcDirectory } from "@latticexyz/common/foundry"; +import { tablegen } from "../render-solidity"; + +const config = await loadStoreConfig(); +const srcDir = await getSrcDirectory(); + +await tablegen(config, path.join(srcDir, config.codegenDirectory)); diff --git a/packages/store/tsconfig.json b/packages/store/tsconfig.json index 415b6eddb6..51d0b2f642 100644 --- a/packages/store/tsconfig.json +++ b/packages/store/tsconfig.json @@ -1,9 +1,20 @@ { "compilerOptions": { /* Visit https://aka.ms/tsconfig.json to read more about this file */ - "target": "es2019", + "target": "es2021", + "types": ["node"], + "module": "esnext", "moduleResolution": "node", - "types": ["node", "mocha"], - "esModuleInterop": true - } + "declaration": true, + "sourceMap": true, + "rootDir": ".", + "outDir": "dist", + "isolatedModules": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true + }, + "include": ["mud.config.ts", "ts"] } diff --git a/packages/store/tsup.config.js b/packages/store/tsup.config.js deleted file mode 100644 index ef47484bd8..0000000000 --- a/packages/store/tsup.config.js +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - entry: ["mud.config.mts"], - outDir: "dist", - format: ["esm"], - sourcemap: false, - clean: true, - bundle: false, -}); diff --git a/packages/store/vite.config.ts b/packages/store/vite.config.ts new file mode 100644 index 0000000000..d251a3ccf9 --- /dev/null +++ b/packages/store/vite.config.ts @@ -0,0 +1,21 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { defineConfig } from "vitest/config"; +import peerDepsExternal from "rollup-plugin-peer-deps-external"; + +/** + * @see https://vitejs.dev/config/ + */ +export default defineConfig({ + build: { + ssr: true, + lib: { + entry: ["mud.config.ts", "ts/scripts/tablegen.ts", "ts/index.ts"], + formats: ["es"], + }, + outDir: "dist", + minify: false, + sourcemap: true, + target: "esnext", + }, + plugins: [peerDepsExternal()] as any, +}); diff --git a/packages/world/.npmignore b/packages/world/.npmignore index 501cd328f4..06f700c628 100644 --- a/packages/world/.npmignore +++ b/packages/world/.npmignore @@ -2,6 +2,7 @@ !abi/** !src/** +!ts/** !types/** !package.json !README.md diff --git a/packages/world/index.ts b/packages/world/index.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/packages/world/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/world/mud.config.mts b/packages/world/mud.config.ts similarity index 100% rename from packages/world/mud.config.mts rename to packages/world/mud.config.ts diff --git a/packages/world/package.json b/packages/world/package.json index a00d67198b..5fa74c83ba 100644 --- a/packages/world/package.json +++ b/packages/world/package.json @@ -8,41 +8,62 @@ "directory": "packages/world" }, "license": "MIT", + "type": "module", "exports": { - "./mud.config.mjs": "./dist/mud.config.mjs", - "./*": "./*" + ".": "./dist/index.js", + "./mud.config.js": "./dist/mud.config.js", + "./abi/*": "./abi/*" }, - "types": "./types/ethers-contracts/", + "types": "ts/index.ts", "scripts": { - "build": "rimraf out && forge build && pnpm dist && pnpm types && tsup", - "dist": "rimraf abi && mkdir abi && cp -rf out/*.sol/*.json abi/ && pnpm rimraf abi/*.metadata.json", + "build": "pnpm run build:js && pnpm run build:codegen && pnpm run build:abi && pnpm run build:typechain", + "build:abi": "forge build --out abi --skip test script", + "build:codegen": "node ./dist/tablegen.js && node ./dist/worldgen.js", + "build:js": "vite build", + "build:typechain": "typechain --target ethers-v5 'abi/**/*.sol/!(*.abi).json'", + "clean": "pnpm run clean:abi && pnpm run clean:typechain && pnpm run clean:js", + "clean:abi": "rimraf abi", + "clean:js": "rimraf dist", + "clean:typechain": "rimraf types", "docs": "rimraf API && hardhat docgen", "gas-report": "../cli/dist/mud.js gas-report --path test/* --path test/**/* --save gas-report.json", "lint": "solhint --config ./.solhint.json 'src/**/*.sol'", "release": "npm publish --access=public", - "tablegen": "../cli/dist/mud.js tablegen", - "test": "forge test", - "types": "rimraf types && typechain --target=ethers-v5 abi/*.json", - "worldgen": "../cli/dist/mud.js worldgen" + "test": "pnpm run test:solidity && pnpm run test:typescript", + "test:solidity": "forge test", + "test:typescript": "tsc --noEmit" + }, + "dependencies": { + "@solidity-parser/parser": "^0.16.0" }, "devDependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/providers": "^5.7.2", + "@latticexyz/common": "workspace:*", "@latticexyz/config": "workspace:*", "@latticexyz/schema-type": "workspace:*", "@latticexyz/store": "workspace:*", "@typechain/ethers-v5": "^10.2.0", + "@types/ejs": "^3.1.1", + "@types/glob": "^7.2.0", "@types/mocha": "^9.1.1", + "@types/node": "^18.15.11", + "@types/rollup-plugin-peer-deps-external": "^2.2.1", "ds-test": "https://github.com/dapphub/ds-test.git#c9ce3f25bde29fc5eb9901842bf02850dfd2d084", + "ejs": "^3.1.8", "ethers": "^5.7.2", "forge-std": "https://github.com/foundry-rs/forge-std.git#b4f121555729b3afb3c5ffccb62ff4b6e2818fd3", + "glob": "^8.0.3", "hardhat": "^2.10.1", "rimraf": "^3.0.2", + "rollup-plugin-peer-deps-external": "^2.2.4", "solhint": "^3.3.7", "solidity-docgen": "^0.6.0-beta.22", - "tsup": "^6.7.0", + "tsx": "^3.12.6", "typechain": "^8.1.1", - "typedoc": "^0.23.10" + "typedoc": "^0.23.10", + "vite": "^4.3.0", + "vitest": "^0.30.1" }, "peerDependencies": { "@ethersproject/abi": "^5.7.0", diff --git a/packages/world/src/Types.sol b/packages/world/src/Types.sol index 101e4c0667..6c4b0ff193 100644 --- a/packages/world/src/Types.sol +++ b/packages/world/src/Types.sol @@ -2,7 +2,6 @@ pragma solidity >=0.8.0; /* Autogenerated file. Do not edit manually. */ - enum Resource { NONE, NAMESPACE, diff --git a/packages/world/ts/index.ts b/packages/world/ts/index.ts new file mode 100644 index 0000000000..3fea3930b7 --- /dev/null +++ b/packages/world/ts/index.ts @@ -0,0 +1 @@ +export * from "./render-solidity"; diff --git a/packages/world/ts/modules.d.ts b/packages/world/ts/modules.d.ts new file mode 100644 index 0000000000..12ea8e2ce5 --- /dev/null +++ b/packages/world/ts/modules.d.ts @@ -0,0 +1 @@ +declare module "prettier-plugin-solidity"; diff --git a/packages/world/ts/render-solidity/index.ts b/packages/world/ts/render-solidity/index.ts new file mode 100644 index 0000000000..9411b7acef --- /dev/null +++ b/packages/world/ts/render-solidity/index.ts @@ -0,0 +1,4 @@ +export * from "./renderSystemInterface"; +export * from "./renderWorld"; +export * from "./types"; +export * from "./worldgen"; diff --git a/packages/cli/src/render-solidity/renderSystemInterface.ts b/packages/world/ts/render-solidity/renderSystemInterface.ts similarity index 93% rename from packages/cli/src/render-solidity/renderSystemInterface.ts rename to packages/world/ts/render-solidity/renderSystemInterface.ts index f7dd1bc44a..ce05084c58 100644 --- a/packages/cli/src/render-solidity/renderSystemInterface.ts +++ b/packages/world/ts/render-solidity/renderSystemInterface.ts @@ -1,4 +1,4 @@ -import { renderArguments, renderList, renderedSolidityHeader, renderRelativeImports } from "./common.js"; +import { renderArguments, renderList, renderedSolidityHeader, renderRelativeImports } from "@latticexyz/common/codegen"; import { RenderSystemInterfaceOptions } from "./types.js"; export function renderSystemInterface(options: RenderSystemInterfaceOptions) { diff --git a/packages/cli/src/render-solidity/renderWorld.ts b/packages/world/ts/render-solidity/renderWorld.ts similarity index 81% rename from packages/cli/src/render-solidity/renderWorld.ts rename to packages/world/ts/render-solidity/renderWorld.ts index b87cb21bac..08db158ea6 100644 --- a/packages/cli/src/render-solidity/renderWorld.ts +++ b/packages/world/ts/render-solidity/renderWorld.ts @@ -1,6 +1,11 @@ -import { renderImports } from "./common.js"; -import { renderArguments, renderedSolidityHeader, renderRelativeImports } from "./common.js"; -import { ImportDatum, RenderWorldOptions } from "./types.js"; +import { + renderArguments, + renderedSolidityHeader, + renderImports, + renderRelativeImports, + type ImportDatum, +} from "@latticexyz/common/codegen"; +import type { RenderWorldOptions } from "./types"; export function renderWorld(options: RenderWorldOptions) { const { interfaceName, storeImportPath, worldImportPath, imports } = options; diff --git a/packages/world/ts/render-solidity/types.ts b/packages/world/ts/render-solidity/types.ts new file mode 100644 index 0000000000..1a3f37cd7e --- /dev/null +++ b/packages/world/ts/render-solidity/types.ts @@ -0,0 +1,20 @@ +import type { RelativeImportDatum, ContractInterfaceFunction } from "@latticexyz/common/codegen"; + +export interface RenderSystemInterfaceOptions { + /** List of symbols to import, and their file paths */ + imports: RelativeImportDatum[]; + name: string; + functionPrefix: string; + functions: ContractInterfaceFunction[]; +} + +export interface RenderWorldOptions { + /** List of symbols to import, and their file paths */ + imports: RelativeImportDatum[]; + /** Name of the interface to render */ + interfaceName: string; + /** Path for store package imports */ + storeImportPath: string; + /** Path for world package imports */ + worldImportPath: string; +} diff --git a/packages/cli/src/render-solidity/worldgen.ts b/packages/world/ts/render-solidity/worldgen.ts similarity index 91% rename from packages/cli/src/render-solidity/worldgen.ts rename to packages/world/ts/render-solidity/worldgen.ts index 6dc7eb3519..3440ecfb01 100644 --- a/packages/cli/src/render-solidity/worldgen.ts +++ b/packages/world/ts/render-solidity/worldgen.ts @@ -1,11 +1,9 @@ import { readFileSync } from "fs"; import path from "path"; import { MUDConfig } from "@latticexyz/config"; -import { contractToInterface } from "../utils/contractToInterface.js"; -import { formatAndWriteSolidity } from "../utils/formatAndWrite.js"; +import { formatAndWriteSolidity, contractToInterface, type RelativeImportDatum } from "@latticexyz/common/codegen"; import { renderSystemInterface } from "./renderSystemInterface.js"; import { renderWorld } from "./renderWorld.js"; -import { RelativeImportDatum } from "./types.js"; export async function worldgen( config: MUDConfig, diff --git a/packages/world/ts/scripts/codegenTightcoder.ts b/packages/world/ts/scripts/codegenTightcoder.ts new file mode 100644 index 0000000000..ec09fc3505 --- /dev/null +++ b/packages/world/ts/scripts/codegenTightcoder.ts @@ -0,0 +1,17 @@ +import { renderFile } from "ejs"; +import { writeFileSync } from "fs"; +import { extname, basename, join, dirname } from "path"; + +function renderEjsToSol(file: string, data: object) { + renderFile(file, data, {}, (err, str) => { + if (err) throw err; + const solFile = basename(file, extname(file)) + ".sol"; + const outFullPath = join(dirname(file), solFile); + writeFileSync(outFullPath, str); + console.log(`generated: ${outFullPath}`); + }); +} + +renderEjsToSol("src/tightcoder/DecodeSlice.ejs", {}); +renderEjsToSol("src/tightcoder/EncodeArray.ejs", {}); +renderEjsToSol("test/tightcoder/TightCoderAuto.t.ejs", {}); diff --git a/packages/world/ts/scripts/tablegen.ts b/packages/world/ts/scripts/tablegen.ts new file mode 100644 index 0000000000..7ad6027445 --- /dev/null +++ b/packages/world/ts/scripts/tablegen.ts @@ -0,0 +1,9 @@ +import path from "path"; +import { loadStoreConfig } from "@latticexyz/config"; +import { tablegen } from "@latticexyz/store"; +import { getSrcDirectory } from "@latticexyz/common/foundry"; + +const config = await loadStoreConfig(); +const srcDir = await getSrcDirectory(); + +await tablegen(config, path.join(srcDir, config.codegenDirectory)); diff --git a/packages/world/ts/scripts/worldgen.ts b/packages/world/ts/scripts/worldgen.ts new file mode 100644 index 0000000000..c6301f03f5 --- /dev/null +++ b/packages/world/ts/scripts/worldgen.ts @@ -0,0 +1,33 @@ +import glob from "glob"; +import path, { basename } from "path"; +import { rmSync } from "fs"; +import { loadStoreConfig, loadWorldConfig } from "@latticexyz/config"; +import { worldgen } from "../render-solidity/worldgen"; +import { getSrcDirectory } from "@latticexyz/common/foundry"; + +// TODO dedupe this and cli's worldgen command +const configPath = undefined; +const clean = false; +const srcDir = await getSrcDirectory(); + +// Get a list of all contract names +const existingContracts = glob.sync(`${srcDir}/**/*.sol`).map((path) => ({ + path, + basename: basename(path, ".sol"), +})); + +// Load and resolve the config +const worldConfig = await loadWorldConfig( + configPath, + existingContracts.map(({ basename }) => basename) +); +const storeConfig = await loadStoreConfig(configPath); +const mudConfig = { ...worldConfig, ...storeConfig }; + +const outputBaseDirectory = path.join(srcDir, mudConfig.codegenDirectory); + +// clear the worldgen directory +if (clean) rmSync(path.join(outputBaseDirectory, mudConfig.worldgenDirectory), { recursive: true, force: true }); + +// generate new interfaces +await worldgen(mudConfig, existingContracts, outputBaseDirectory); diff --git a/packages/world/tsconfig.json b/packages/world/tsconfig.json index 56dd7ad152..0600b17e05 100644 --- a/packages/world/tsconfig.json +++ b/packages/world/tsconfig.json @@ -1,9 +1,19 @@ { "compilerOptions": { /* Visit https://aka.ms/tsconfig.json to read more about this file */ - "target": "es2019", + "target": "es2021", + "types": ["node"], + "module": "esnext", "moduleResolution": "node", - "types": ["mocha"], - "esModuleInterop": true - } + "declaration": true, + "sourceMap": true, + "outDir": "dist", + "isolatedModules": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true + }, + "include": ["ts"] } diff --git a/packages/world/tsup.config.js b/packages/world/tsup.config.js deleted file mode 100644 index ef47484bd8..0000000000 --- a/packages/world/tsup.config.js +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - entry: ["mud.config.mts"], - outDir: "dist", - format: ["esm"], - sourcemap: false, - clean: true, - bundle: false, -}); diff --git a/packages/world/vite.config.ts b/packages/world/vite.config.ts new file mode 100644 index 0000000000..003733fe07 --- /dev/null +++ b/packages/world/vite.config.ts @@ -0,0 +1,21 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { defineConfig } from "vitest/config"; +import peerDepsExternal from "rollup-plugin-peer-deps-external"; + +/** + * @see https://vitejs.dev/config/ + */ +export default defineConfig({ + build: { + ssr: true, + lib: { + entry: ["ts/scripts/worldgen.ts", "ts/scripts/tablegen.ts", "ts/index.ts", "mud.config.ts"], + formats: ["es"], + }, + outDir: "dist", + minify: false, + sourcemap: true, + target: "esnext", + }, + plugins: [peerDepsExternal()] as any, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f962e5f8d4..ea998af744 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ importers: devDependencies: '@commitlint/cli': specifier: ^16.2.4 - version: 16.3.0 + version: 16.2.4 '@commitlint/config-conventional': specifier: ^16.2.4 version: 16.2.4 @@ -24,16 +24,16 @@ importers: version: 2.8.3(@parcel/core@2.8.3)(typescript@4.9.5) '@typescript-eslint/eslint-plugin': specifier: ^5.46.1 - version: 5.55.0(@typescript-eslint/parser@5.55.0)(eslint@8.22.0)(typescript@4.9.5) + version: 5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.22.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.46.1 - version: 5.55.0(eslint@8.22.0)(typescript@4.9.5) + version: 5.46.1(eslint@8.22.0)(typescript@4.9.5) chalk: specifier: ^5.2.0 version: 5.2.0 commitizen: specifier: ^4.2.4 - version: 4.2.5 + version: 4.2.4 cz-conventional-changelog: specifier: 3.3.0 version: 3.3.0 @@ -42,7 +42,7 @@ importers: version: 8.22.0 husky: specifier: '>=6' - version: 8.0.1 + version: 6.0.0 jq-cli-wrapper: specifier: ^1.6.1 version: 1.6.1 @@ -51,7 +51,7 @@ importers: version: 6.6.1 lint-staged: specifier: '>=10' - version: 13.0.3 + version: 10.0.0 prettier: specifier: ^2.8.4 version: 2.8.4 @@ -102,10 +102,13 @@ importers: version: 5.7.2 '@improbable-eng/grpc-web': specifier: ^0.15.0 - version: 0.15.0(google-protobuf@3.21.0) + version: 0.15.0(google-protobuf@3.21.2) '@improbable-eng/grpc-web-node-http-transport': specifier: ^0.15.0 version: 0.15.0(@improbable-eng/grpc-web@0.15.0) + '@latticexyz/common': + specifier: workspace:* + version: link:../common '@latticexyz/config': specifier: workspace:* version: link:../config @@ -127,9 +130,6 @@ importers: '@latticexyz/world': specifier: workspace:* version: link:../world - '@solidity-parser/parser': - specifier: ^0.16.0 - version: 0.16.0 '@typechain/ethers-v5': specifier: ^10.2.0 version: 10.2.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@8.1.1)(typescript@4.9.5) @@ -162,19 +162,13 @@ importers: version: 8.0.3 nice-grpc-web: specifier: ^2.0.1 - version: 2.0.1(google-protobuf@3.21.0) + version: 2.0.1(google-protobuf@3.21.2) openurl: specifier: ^1.1.1 version: 1.1.1 path: specifier: ^0.12.7 version: 0.12.7 - prettier: - specifier: ^2.8.4 - version: 2.8.4 - prettier-plugin-solidity: - specifier: ^1.1.2 - version: 1.1.2(prettier@2.8.4) table: specifier: ^6.8.1 version: 6.8.1 @@ -206,28 +200,52 @@ importers: '@types/openurl': specifier: ^1.0.0 version: 1.0.0 + '@types/rollup-plugin-peer-deps-external': + specifier: ^2.2.1 + version: 2.2.1 '@types/yargs': specifier: ^17.0.10 version: 17.0.23 - tsup: - specifier: ^6.6.3 - version: 6.6.3(typescript@4.9.5) + rollup-plugin-peer-deps-external: + specifier: ^2.2.4 + version: 2.2.4(rollup@2.79.1) + rollup-plugin-preserve-shebang: + specifier: ^1.0.1 + version: 1.0.1 tsx: specifier: ^3.12.6 version: 3.12.6 + vite: + specifier: ^4.3.0 + version: 4.3.0(@types/node@17.0.34) vitest: specifier: ^0.29.8 version: 0.29.8 - packages/common-codegen: + packages/common: dependencies: + '@latticexyz/config': + specifier: workspace:* + version: link:../config '@latticexyz/schema-type': - specifier: ^1.42.0 + specifier: workspace:* version: link:../schema-type + '@latticexyz/solidity-parser': + specifier: ^0.16.0 + version: 0.16.0 + chalk: + specifier: ^5.2.0 + version: 5.2.0 + execa: + specifier: ^7.0.0 + version: 7.0.0 + prettier: + specifier: ^2.8.4 + version: 2.8.4 + prettier-plugin-solidity: + specifier: ^1.1.2 + version: 1.1.2(prettier@2.8.4) devDependencies: - '@rollup/plugin-typescript': - specifier: ^11.1.0 - version: 11.1.0(rollup@2.79.1)(typescript@4.9.5) '@types/rollup-plugin-peer-deps-external': specifier: ^2.2.1 version: 2.2.1 @@ -235,8 +253,8 @@ importers: specifier: ^2.2.4 version: 2.2.4(rollup@2.79.1) vite: - specifier: ^4.2.1 - version: 4.2.1(@types/node@17.0.34) + specifier: ^4.3.0 + version: 4.3.0(@types/node@17.0.34) vitest: specifier: ^0.30.1 version: 0.30.1 @@ -253,8 +271,8 @@ importers: specifier: ^0.17.15 version: 0.17.15 ethers: - specifier: ^6.3.0 - version: 6.3.0 + specifier: ^5.7.2 + version: 5.7.2 find-up: specifier: ^6.3.0 version: 6.3.0 @@ -265,9 +283,6 @@ importers: specifier: ^1.3.0 version: 1.3.0(zod@3.21.4) devDependencies: - '@rollup/plugin-typescript': - specifier: ^11.0.0 - version: 11.0.0(rollup@2.79.1)(tslib@2.5.0)(typescript@4.9.5) '@types/rollup-plugin-peer-deps-external': specifier: ^2.2.1 version: 2.2.1 @@ -275,8 +290,8 @@ importers: specifier: ^2.2.4 version: 2.2.4(rollup@2.79.1) vite: - specifier: ^4.2.1 - version: 4.2.1(@types/node@17.0.34) + specifier: ^4.3.0 + version: 4.3.0(@types/node@17.0.34) vitest: specifier: ^0.29.8 version: 0.29.8 @@ -292,7 +307,7 @@ importers: version: 17.0.34 tsup: specifier: ^5.12.1 - version: 5.12.1(typescript@4.9.5) + version: 5.12.1(ts-node@10.9.1)(typescript@4.9.5) typescript: specifier: ^4.9.5 version: 4.9.5 @@ -301,7 +316,7 @@ importers: dependencies: goober: specifier: ^2.1.11 - version: 2.1.11(csstype@3.1.1) + version: 2.1.11(csstype@3.1.2) shiki: specifier: ^0.11.1 version: 0.11.1 @@ -371,7 +386,7 @@ importers: version: 2.5.0 tsup: specifier: ^6.5.0 - version: 6.6.3(typescript@4.9.5) + version: 6.6.3(ts-node@10.9.1)(typescript@4.9.5) typescript: specifier: ^4.9.5 version: 4.9.5 @@ -380,7 +395,7 @@ importers: dependencies: debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@8.1.1) + version: 4.3.4 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -553,7 +568,7 @@ importers: version: 2.8.3 ts-jest: specifier: ^28.0.8 - version: 28.0.8(@babel/core@7.21.3)(jest@28.1.3)(typescript@4.9.5) + version: 28.0.8(@babel/core@7.21.4)(jest@28.1.3)(typescript@4.9.5) ttypescript: specifier: ^1.5.13 version: 1.5.13(ts-node@10.9.1)(typescript@4.9.5) @@ -587,7 +602,7 @@ importers: version: 27.4.1 jest: specifier: ^27.5.1 - version: 27.5.1 + version: 27.5.1(ts-node@10.9.1) mobx: specifier: ^6.4.2 version: 6.5.0 @@ -608,7 +623,7 @@ importers: version: 7.5.6 ts-jest: specifier: ^27.1.3 - version: 27.1.3(@babel/core@7.21.3)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.3(@babel/core@7.21.4)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.9.5) tslib: specifier: ^2.3.1 version: 2.5.0 @@ -651,13 +666,13 @@ importers: version: 18.0.29 eslint-plugin-react: specifier: ^7.31.11 - version: 7.32.2(eslint@8.22.0) + version: 7.32.2(eslint@8.38.0) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.22.0) + version: 4.6.0(eslint@8.38.0) jest: specifier: ^29.3.1 - version: 29.5.0(@types/node@17.0.34) + version: 29.5.0(@types/node@17.0.34)(ts-node@10.9.1) mobx: specifier: ^6.4.2 version: 6.9.0 @@ -684,7 +699,7 @@ importers: version: 7.5.6 ts-jest: specifier: ^29.0.5 - version: 29.0.5(@babel/core@7.21.3)(jest@29.5.0)(typescript@4.9.5) + version: 29.0.5(@babel/core@7.21.4)(jest@29.5.0)(typescript@4.9.5) tslib: specifier: ^2.5.0 version: 2.5.0 @@ -720,7 +735,7 @@ importers: version: 8.3.4 jest: specifier: ^27.5.1 - version: 27.5.1 + version: 27.5.1(ts-node@10.9.1) mobx: specifier: ^6.4.2 version: 6.5.0 @@ -741,7 +756,7 @@ importers: version: 7.5.6 ts-jest: specifier: ^27.1.3 - version: 27.1.3(@babel/core@7.21.3)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.3(@babel/core@7.21.4)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.9.5) tslib: specifier: ^2.3.1 version: 2.5.0 @@ -1001,6 +1016,9 @@ importers: '@ethersproject/providers': specifier: ^5.7.2 version: 5.7.2 + '@latticexyz/common': + specifier: workspace:* + version: link:../common '@latticexyz/config': specifier: workspace:* version: link:../config @@ -1016,6 +1034,12 @@ importers: '@types/mocha': specifier: ^9.1.1 version: 9.1.1 + '@types/node': + specifier: ^18.15.11 + version: 18.15.11 + '@types/rollup-plugin-peer-deps-external': + specifier: ^2.2.1 + version: 2.2.1 ds-test: specifier: https://github.com/dapphub/ds-test.git#c9ce3f25bde29fc5eb9901842bf02850dfd2d084 version: github.com/dapphub/ds-test/c9ce3f25bde29fc5eb9901842bf02850dfd2d084 @@ -1034,15 +1058,15 @@ importers: rimraf: specifier: ^3.0.2 version: 3.0.2 + rollup-plugin-peer-deps-external: + specifier: ^2.2.4 + version: 2.2.4(rollup@2.79.1) solhint: specifier: ^3.3.7 version: 3.3.7 solidity-docgen: specifier: ^0.6.0-beta.22 version: 0.6.0-beta.22(hardhat@2.10.2) - tsup: - specifier: ^6.7.0 - version: 6.7.0(typescript@4.9.5) tsx: specifier: ^3.12.6 version: 3.12.6 @@ -1052,6 +1076,12 @@ importers: typedoc: specifier: ^0.23.10 version: 0.23.21(typescript@4.9.5) + vite: + specifier: ^4.3.0 + version: 4.3.0(@types/node@18.15.11) + vitest: + specifier: ^0.30.1 + version: 0.30.1 packages/utils: dependencies: @@ -1076,7 +1106,7 @@ importers: version: 5.7.2 jest: specifier: ^27.5.1 - version: 27.5.1 + version: 27.5.1(ts-node@10.9.1) mobx: specifier: ^6.5.0 version: 6.5.0 @@ -1100,7 +1130,7 @@ importers: version: 7.5.6 ts-jest: specifier: ^27.1.3 - version: 27.1.3(@babel/core@7.21.3)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.3(@babel/core@7.21.4)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.9.5) tslib: specifier: ^2.3.1 version: 2.5.0 @@ -1115,6 +1145,10 @@ importers: version: 1.8.0 packages/world: + dependencies: + '@solidity-parser/parser': + specifier: ^0.16.0 + version: 0.16.0 devDependencies: '@ethersproject/abi': specifier: ^5.7.0 @@ -1122,6 +1156,9 @@ importers: '@ethersproject/providers': specifier: ^5.7.2 version: 5.7.2 + '@latticexyz/common': + specifier: workspace:* + version: link:../common '@latticexyz/config': specifier: workspace:* version: link:../config @@ -1134,46 +1171,69 @@ importers: '@typechain/ethers-v5': specifier: ^10.2.0 version: 10.2.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@8.1.1)(typescript@4.9.5) + '@types/ejs': + specifier: ^3.1.1 + version: 3.1.1 + '@types/glob': + specifier: ^7.2.0 + version: 7.2.0 '@types/mocha': specifier: ^9.1.1 version: 9.1.1 + '@types/node': + specifier: ^18.15.11 + version: 18.15.11 + '@types/rollup-plugin-peer-deps-external': + specifier: ^2.2.1 + version: 2.2.1 ds-test: specifier: https://github.com/dapphub/ds-test.git#c9ce3f25bde29fc5eb9901842bf02850dfd2d084 version: github.com/dapphub/ds-test/c9ce3f25bde29fc5eb9901842bf02850dfd2d084 + ejs: + specifier: ^3.1.8 + version: 3.1.8 ethers: specifier: ^5.7.2 version: 5.7.2 forge-std: specifier: https://github.com/foundry-rs/forge-std.git#b4f121555729b3afb3c5ffccb62ff4b6e2818fd3 version: github.com/foundry-rs/forge-std/b4f121555729b3afb3c5ffccb62ff4b6e2818fd3 + glob: + specifier: ^8.0.3 + version: 8.0.3 hardhat: specifier: ^2.10.1 version: 2.10.2(ts-node@10.9.1)(typescript@4.9.5) rimraf: specifier: ^3.0.2 version: 3.0.2 + rollup-plugin-peer-deps-external: + specifier: ^2.2.4 + version: 2.2.4(rollup@2.79.1) solhint: specifier: ^3.3.7 version: 3.3.7 solidity-docgen: specifier: ^0.6.0-beta.22 version: 0.6.0-beta.22(hardhat@2.10.2) - tsup: - specifier: ^6.7.0 - version: 6.7.0(typescript@4.9.5) + tsx: + specifier: ^3.12.6 + version: 3.12.6 typechain: specifier: ^8.1.1 version: 8.1.1(typescript@4.9.5) typedoc: specifier: ^0.23.10 version: 0.23.21(typescript@4.9.5) + vite: + specifier: ^4.3.0 + version: 4.3.0(@types/node@18.15.11) + vitest: + specifier: ^0.30.1 + version: 0.30.1 packages: - /@adraffy/ens-normalize@1.9.0: - resolution: {integrity: sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ==} - dev: false - /@ampproject/remapping@2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} @@ -1182,6 +1242,14 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + /@babel/code-frame@7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} @@ -1189,11 +1257,23 @@ packages: '@babel/highlight': 7.18.6 dev: true + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + /@babel/compat-data@7.21.0: resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} engines: {node: '>=6.9.0'} dev: true + /@babel/compat-data@7.21.4: + resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/core@7.21.3: resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} engines: {node: '>=6.9.0'} @@ -1204,11 +1284,34 @@ packages: '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/template': 7.20.7 '@babel/traverse': 7.21.3 '@babel/types': 7.21.3 convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core@7.21.4: + resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-module-transforms': 7.21.2 + '@babel/helpers': 7.21.0 + '@babel/parser': 7.21.4 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + convert-source-map: 1.9.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 @@ -1227,6 +1330,16 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.21.4: + resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} @@ -1241,6 +1354,20 @@ packages: semver: 6.3.0 dev: true + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + /@babel/helper-environment-visitor@7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} @@ -1338,8 +1465,8 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.21.3: - resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} + /@babel/parser@7.21.4: + resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: @@ -1355,6 +1482,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: @@ -1364,6 +1500,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.3): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: @@ -1373,6 +1518,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: @@ -1382,6 +1536,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -1391,6 +1554,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} @@ -1410,6 +1582,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -1419,6 +1600,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.3): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -1428,6 +1618,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -1437,6 +1636,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -1446,6 +1654,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -1455,6 +1672,15 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.3): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -1465,6 +1691,16 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.3): resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} @@ -1475,6 +1711,16 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/runtime@7.21.0: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} @@ -1486,7 +1732,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/types': 7.21.3 dev: true @@ -1500,8 +1746,26 @@ packages: '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/types': 7.21.3 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/traverse@7.21.4: + resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: @@ -1517,12 +1781,21 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types@7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@commitlint/cli@16.3.0: - resolution: {integrity: sha512-P+kvONlfsuTMnxSwWE1H+ZcPMY3STFaHb2kAacsqoIkNx66O0T7sTpBxpxkMrFPyhkJiLJnJWMhk4bbvYD3BMA==} + /@commitlint/cli@16.2.4: + resolution: {integrity: sha512-rbvqvz9JI+uiKxV2nH65BtSU01fsADd3bxe9fWtO3rM0c+CI/H9FfzKkDLvSRmXjvk1G2/wXlCGeqO9IBT4X9g==} engines: {node: '>=v12'} hasBin: true dependencies: @@ -1555,11 +1828,11 @@ packages: ajv: 6.12.6 dev: true - /@commitlint/config-validator@17.0.3: - resolution: {integrity: sha512-3tLRPQJKapksGE7Kee9axv+9z5I2GDHitDH4q63q7NmNA0wkB+DAorJ0RHz2/K00Zb1/MVdHzhCga34FJvDihQ==} + /@commitlint/config-validator@17.4.4: + resolution: {integrity: sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.0.0 + '@commitlint/types': 17.4.4 ajv: 8.12.0 dev: true optional: true @@ -1577,8 +1850,8 @@ packages: engines: {node: '>=v12'} dev: true - /@commitlint/execute-rule@17.0.0: - resolution: {integrity: sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==} + /@commitlint/execute-rule@17.4.0: + resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} engines: {node: '>=v14'} dev: true optional: true @@ -1629,21 +1902,24 @@ packages: - '@swc/wasm' dev: true - /@commitlint/load@17.0.3: - resolution: {integrity: sha512-3Dhvr7GcKbKa/ey4QJ5MZH3+J7QFlARohUow6hftQyNjzoXXROm+RwpBes4dDFrXG1xDw9QPXA7uzrOShCd4bw==} + /@commitlint/load@17.5.0: + resolution: {integrity: sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q==} engines: {node: '>=v14'} requiresBuild: true dependencies: - '@commitlint/config-validator': 17.0.3 - '@commitlint/execute-rule': 17.0.0 - '@commitlint/resolve-extends': 17.0.3 - '@commitlint/types': 17.0.0 + '@commitlint/config-validator': 17.4.4 + '@commitlint/execute-rule': 17.4.0 + '@commitlint/resolve-extends': 17.4.4 + '@commitlint/types': 17.4.4 '@types/node': 17.0.34 chalk: 4.1.2 - cosmiconfig: 7.0.1 - cosmiconfig-typescript-loader: 2.0.2(@types/node@17.0.34)(cosmiconfig@7.0.1)(typescript@4.9.5) - lodash: 4.17.21 + cosmiconfig: 8.1.3 + cosmiconfig-typescript-loader: 4.3.0(@types/node@17.0.34)(cosmiconfig@8.1.3)(ts-node@10.9.1)(typescript@4.9.5) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 resolve-from: 5.0.0 + ts-node: 10.9.1(@types/node@17.0.34)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@swc/core' @@ -1687,14 +1963,14 @@ packages: resolve-global: 1.0.0 dev: true - /@commitlint/resolve-extends@17.0.3: - resolution: {integrity: sha512-H/RFMvrcBeJCMdnVC4i8I94108UDccIHrTke2tyQEg9nXQnR5/Hd6MhyNWkREvcrxh9Y+33JLb+PiPiaBxCtBA==} + /@commitlint/resolve-extends@17.4.4: + resolution: {integrity: sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.0.3 - '@commitlint/types': 17.0.0 + '@commitlint/config-validator': 17.4.4 + '@commitlint/types': 17.4.4 import-fresh: 3.3.0 - lodash: 4.17.21 + lodash.mergewith: 4.6.2 resolve-from: 5.0.0 resolve-global: 1.0.0 dev: true @@ -1730,8 +2006,8 @@ packages: chalk: 4.1.2 dev: true - /@commitlint/types@17.0.0: - resolution: {integrity: sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==} + /@commitlint/types@17.4.4: + resolution: {integrity: sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==} engines: {node: '>=v14'} dependencies: chalk: 4.1.2 @@ -1771,7 +2047,7 @@ packages: /@esbuild-kit/core-utils@3.1.0: resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} dependencies: - esbuild: 0.17.15 + esbuild: 0.17.17 source-map-support: 0.5.21 dev: true @@ -1797,6 +2073,16 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm64@0.17.17: + resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true optional: true /@esbuild/android-arm@0.17.14: @@ -1814,6 +2100,16 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm@0.17.17: + resolution: {integrity: sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true optional: true /@esbuild/android-x64@0.17.14: @@ -1831,6 +2127,16 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: false + optional: true + + /@esbuild/android-x64@0.17.17: + resolution: {integrity: sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true optional: true /@esbuild/darwin-arm64@0.17.14: @@ -1848,6 +2154,16 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-arm64@0.17.17: + resolution: {integrity: sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true /@esbuild/darwin-x64@0.17.14: @@ -1865,6 +2181,16 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-x64@0.17.17: + resolution: {integrity: sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true /@esbuild/freebsd-arm64@0.17.14: @@ -1882,6 +2208,16 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-arm64@0.17.17: + resolution: {integrity: sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true optional: true /@esbuild/freebsd-x64@0.17.14: @@ -1899,6 +2235,16 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.17.17: + resolution: {integrity: sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true /@esbuild/linux-arm64@0.17.14: @@ -1916,6 +2262,16 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm64@0.17.17: + resolution: {integrity: sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true /@esbuild/linux-arm@0.17.14: @@ -1933,6 +2289,16 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm@0.17.17: + resolution: {integrity: sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true /@esbuild/linux-ia32@0.17.14: @@ -1941,15 +2307,25 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.17.15: + resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false optional: true - /@esbuild/linux-ia32@0.17.15: - resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==} + /@esbuild/linux-ia32@0.17.17: + resolution: {integrity: sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-loong64@0.14.54: @@ -1976,6 +2352,16 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-loong64@0.17.17: + resolution: {integrity: sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true optional: true /@esbuild/linux-mips64el@0.17.14: @@ -1993,6 +2379,16 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-mips64el@0.17.17: + resolution: {integrity: sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true optional: true /@esbuild/linux-ppc64@0.17.14: @@ -2010,6 +2406,16 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ppc64@0.17.17: + resolution: {integrity: sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true optional: true /@esbuild/linux-riscv64@0.17.14: @@ -2027,6 +2433,16 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-riscv64@0.17.17: + resolution: {integrity: sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true optional: true /@esbuild/linux-s390x@0.17.14: @@ -2044,6 +2460,16 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-s390x@0.17.17: + resolution: {integrity: sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true optional: true /@esbuild/linux-x64@0.17.14: @@ -2061,6 +2487,16 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-x64@0.17.17: + resolution: {integrity: sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true /@esbuild/netbsd-x64@0.17.14: @@ -2078,6 +2514,16 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: false + optional: true + + /@esbuild/netbsd-x64@0.17.17: + resolution: {integrity: sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true optional: true /@esbuild/openbsd-x64@0.17.14: @@ -2095,6 +2541,16 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-x64@0.17.17: + resolution: {integrity: sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true optional: true /@esbuild/sunos-x64@0.17.14: @@ -2112,6 +2568,16 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: false + optional: true + + /@esbuild/sunos-x64@0.17.17: + resolution: {integrity: sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true optional: true /@esbuild/win32-arm64@0.17.14: @@ -2129,6 +2595,16 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-arm64@0.17.17: + resolution: {integrity: sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true /@esbuild/win32-ia32@0.17.14: @@ -2146,6 +2622,16 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-ia32@0.17.17: + resolution: {integrity: sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true /@esbuild/win32-x64@0.17.14: @@ -2163,20 +2649,30 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-x64@0.17.17: + resolution: {integrity: sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - /@eslint-community/eslint-utils@4.2.0(eslint@8.22.0): - resolution: {integrity: sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.38.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.22.0 - eslint-visitor-keys: 3.3.0 + eslint: 8.38.0 + eslint-visitor-keys: 3.4.0 dev: true - /@eslint-community/regexpp@4.4.0: - resolution: {integrity: sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==} + /@eslint-community/regexpp@4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -2197,6 +2693,28 @@ packages: - supports-color dev: true + /@eslint/eslintrc@2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.5.1 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.38.0: + resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@ethereumjs/block@3.6.3: resolution: {integrity: sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==} dependencies: @@ -2586,10 +3104,26 @@ packages: - supports-color dev: true + /@humanwhocodes/config-array@0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /@humanwhocodes/gitignore-to-minimatch@1.0.2: resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} dev: true + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true @@ -2604,7 +3138,7 @@ packages: peerDependencies: '@improbable-eng/grpc-web': '>=0.13.0' dependencies: - '@improbable-eng/grpc-web': 0.15.0(google-protobuf@3.21.0) + '@improbable-eng/grpc-web': 0.15.0(google-protobuf@3.21.2) dev: false /@improbable-eng/grpc-web@0.15.0(google-protobuf@3.21.0): @@ -2614,6 +3148,16 @@ packages: dependencies: browser-headers: 0.4.1 google-protobuf: 3.21.0 + dev: true + + /@improbable-eng/grpc-web@0.15.0(google-protobuf@3.21.2): + resolution: {integrity: sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg==} + peerDependencies: + google-protobuf: ^3.14.0 + dependencies: + browser-headers: 0.4.1 + google-protobuf: 3.21.2 + dev: false /@isaacs/string-locale-compare@1.1.0: resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} @@ -2716,6 +3260,51 @@ packages: - utf-8-validate dev: true + /@jest/core@27.5.1(ts-node@10.9.1): + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 17.0.34 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.10 + jest-changed-files: 27.5.1 + jest-config: 27.5.1(ts-node@10.9.1) + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.5 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + /@jest/core@28.1.3(ts-node@10.9.1): resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -2735,7 +3324,7 @@ packages: chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-changed-files: 28.1.3 jest-config: 28.1.3(@types/node@17.0.34)(ts-node@10.9.1) jest-haste-map: 28.1.3 @@ -2759,7 +3348,7 @@ packages: - ts-node dev: true - /@jest/core@29.5.0: + /@jest/core@29.5.0(ts-node@10.9.1): resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2780,7 +3369,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 29.5.0 - jest-config: 29.5.0(@types/node@17.0.34) + jest-config: 29.5.0(@types/node@17.0.34)(ts-node@10.9.1) jest-haste-map: 29.5.0 jest-message-util: 29.5.0 jest-regex-util: 29.4.3 @@ -2985,13 +3574,13 @@ packages: '@jest/test-result': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 '@types/node': 17.0.34 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.0 istanbul-lib-instrument: 5.2.1 istanbul-lib-report: 3.0.0 @@ -3065,7 +3654,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: callsites: 3.1.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 source-map: 0.6.1 dev: true @@ -3073,9 +3662,9 @@ packages: resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 callsites: 3.1.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /@jest/source-map@29.4.3: @@ -3084,7 +3673,7 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.17 callsites: 3.1.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /@jest/test-result@27.5.1: @@ -3122,7 +3711,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/test-result': 27.5.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-haste-map: 27.5.1 jest-runtime: 27.5.1 transitivePeerDependencies: @@ -3134,7 +3723,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/test-result': 28.1.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-haste-map: 28.1.3 slash: 3.0.0 dev: true @@ -3144,7 +3733,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.5.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-haste-map: 29.5.0 slash: 3.0.0 dev: true @@ -3176,14 +3765,14 @@ packages: resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 1.9.0 fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-haste-map: 28.1.3 jest-regex-util: 28.0.2 jest-util: 28.1.3 @@ -3237,7 +3826,7 @@ packages: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 '@types/node': 17.0.34 - '@types/yargs': 17.0.23 + '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -3249,7 +3838,7 @@ packages: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 '@types/node': 17.0.34 - '@types/yargs': 17.0.23 + '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -3258,7 +3847,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@jridgewell/gen-mapping@0.3.2: @@ -3266,10 +3855,19 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.17 dev: true + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} @@ -3291,6 +3889,10 @@ packages: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + /@jridgewell/trace-mapping@0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: @@ -3298,13 +3900,26 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /@latticexyz/solidity-parser@0.16.0: + resolution: {integrity: sha512-e238MilrmTekLw6uQyBGu4El5PgmWU7ARd7oGUjRGhErFnIEiUabb6W5Ml+tE5sViu8Mr0okZ8qzGWS+HjYm8w==} + dependencies: + antlr4ts: 0.5.0-alpha.4 + dev: false + /@lerna/child-process@6.6.1: resolution: {integrity: sha512-yUCDCcRNNbI9UUsUB6FYEmDHpo5Tn/f0q5D7vhDP4i6Or8kBj82y7+e31hwfLvK2ykOYlDVs2MxAluH/+QUBOQ==} engines: {node: ^14.15.0 || >=16.0.0} @@ -3326,7 +3941,7 @@ packages: p-reduce: 2.1.0 pacote: 13.6.2 pify: 5.0.0 - semver: 7.3.8 + semver: 7.5.0 slash: 3.0.0 validate-npm-package-license: 3.0.4 validate-npm-package-name: 4.0.0 @@ -3545,48 +4160,48 @@ packages: typescript: 4.9.5 uuid: 7.0.3 - /@msgpackr-extract/msgpackr-extract-darwin-arm64@2.1.2: - resolution: {integrity: sha512-TyVLn3S/+ikMDsh0gbKv2YydKClN8HaJDDpONlaZR+LVJmsxLFUgA+O7zu59h9+f9gX1aj/ahw9wqa6rosmrYQ==} + /@msgpackr-extract/msgpackr-extract-darwin-arm64@2.2.0: + resolution: {integrity: sha512-Z9LFPzfoJi4mflGWV+rv7o7ZbMU5oAU9VmzCgL240KnqDW65Y2HFCT3MW06/ITJSnbVLacmcEJA8phywK7JinQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@msgpackr-extract/msgpackr-extract-darwin-x64@2.1.2: - resolution: {integrity: sha512-YPXtcVkhmVNoMGlqp81ZHW4dMxK09msWgnxtsDpSiZwTzUBG2N+No2bsr7WMtBKCVJMSD6mbAl7YhKUqkp/Few==} + /@msgpackr-extract/msgpackr-extract-darwin-x64@2.2.0: + resolution: {integrity: sha512-vq0tT8sjZsy4JdSqmadWVw6f66UXqUCabLmUVHZwUFzMgtgoIIQjT4VVRHKvlof3P/dMCkbMJ5hB1oJ9OWHaaw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@msgpackr-extract/msgpackr-extract-linux-arm64@2.1.2: - resolution: {integrity: sha512-vHZ2JiOWF2+DN9lzltGbhtQNzDo8fKFGrf37UJrgqxU0yvtERrzUugnfnX1wmVfFhSsF8OxrfqiNOUc5hko1Zg==} + /@msgpackr-extract/msgpackr-extract-linux-arm64@2.2.0: + resolution: {integrity: sha512-hlxxLdRmPyq16QCutUtP8Tm6RDWcyaLsRssaHROatgnkOxdleMTgetf9JsdncL8vLh7FVy/RN9i3XR5dnb9cRA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@msgpackr-extract/msgpackr-extract-linux-arm@2.1.2: - resolution: {integrity: sha512-42R4MAFeIeNn+L98qwxAt360bwzX2Kf0ZQkBBucJ2Ircza3asoY4CDbgiu9VWklq8gWJVSJSJBwDI+c/THiWkA==} + /@msgpackr-extract/msgpackr-extract-linux-arm@2.2.0: + resolution: {integrity: sha512-SaJ3Qq4lX9Syd2xEo9u3qPxi/OB+5JO/ngJKK97XDpa1C587H9EWYO6KD8995DAjSinWvdHKRrCOXVUC5fvGOg==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@msgpackr-extract/msgpackr-extract-linux-x64@2.1.2: - resolution: {integrity: sha512-RjRoRxg7Q3kPAdUSC5EUUPlwfMkIVhmaRTIe+cqHbKrGZ4M6TyCA/b5qMaukQ/1CHWrqYY2FbKOAU8Hg0pQFzg==} + /@msgpackr-extract/msgpackr-extract-linux-x64@2.2.0: + resolution: {integrity: sha512-94y5PJrSOqUNcFKmOl7z319FelCLAE0rz/jPCWS+UtdMZvpa4jrQd+cJPQCLp2Fes1yAW/YUQj/Di6YVT3c3Iw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@msgpackr-extract/msgpackr-extract-win32-x64@2.1.2: - resolution: {integrity: sha512-rIZVR48zA8hGkHIK7ED6+ZiXsjRCcAVBJbm8o89OKAMTmEAQ2QvoOxoiu3w2isAaWwzgtQIOFIqHwvZDyLKCvw==} + /@msgpackr-extract/msgpackr-extract-win32-x64@2.2.0: + resolution: {integrity: sha512-XrC0JzsqQSvOyM3t04FMLO6z5gCuhPE6k4FXuLK5xf52ZbdvcFe1yBmo7meCew9B8G2f0T9iu9t3kfTYRYROgA==} cpu: [x64] os: [win32] requiresBuild: true @@ -3806,10 +4421,6 @@ packages: '@noble/hashes': 1.3.0 dev: true - /@noble/hashes@1.1.2: - resolution: {integrity: sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==} - dev: false - /@noble/hashes@1.2.0: resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} dev: true @@ -3820,6 +4431,7 @@ packages: /@noble/secp256k1@1.7.1: resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + dev: true /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -3837,7 +4449,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.13.0 + fastq: 1.15.0 /@nomicfoundation/hardhat-chai-matchers@1.0.3(@nomiclabs/hardhat-ethers@2.1.1)(chai@4.3.7)(ethers@5.7.2)(hardhat@2.10.2): resolution: {integrity: sha512-qEE7Drs2HSY+krH09TXm6P9LFogs0BqbUq6wPD7nQRhmJ+p5zoDaIZjM5WL1pHqU5MpGqya3y+BdwmTYBfU5UA==} @@ -3878,7 +4490,7 @@ packages: '@npmcli/fs': 3.1.0 '@npmcli/installed-package-contents': 2.0.2 '@npmcli/map-workspaces': 3.0.3 - '@npmcli/metavuln-calculator': 5.0.0 + '@npmcli/metavuln-calculator': 5.0.1 '@npmcli/name-from-folder': 2.0.0 '@npmcli/node-gyp': 3.0.0 '@npmcli/package-json': 3.0.0 @@ -3892,10 +4504,10 @@ packages: json-stringify-nice: 1.1.4 minimatch: 6.2.0 nopt: 7.1.0 - npm-install-checks: 6.1.0 + npm-install-checks: 6.1.1 npm-package-arg: 10.1.0 npm-pick-manifest: 8.0.1 - npm-registry-fetch: 14.0.3 + npm-registry-fetch: 14.0.4 npmlog: 7.0.1 pacote: 15.1.1 parse-conflict-json: 3.0.1 @@ -3903,8 +4515,8 @@ packages: promise-all-reject-late: 1.0.1 promise-call-limit: 1.0.2 read-package-json-fast: 3.0.2 - semver: 7.3.8 - ssri: 10.0.2 + semver: 7.5.0 + ssri: 10.0.3 treeverse: 3.0.0 walk-up-path: 1.0.0 transitivePeerDependencies: @@ -3917,14 +4529,14 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@gar/promisify': 1.1.3 - semver: 7.3.8 + semver: 7.5.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.3.8 + semver: 7.5.0 dev: true /@npmcli/git@3.0.2: @@ -3938,7 +4550,7 @@ packages: proc-log: 2.0.1 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.3.8 + semver: 7.5.0 which: 2.0.2 transitivePeerDependencies: - bluebird @@ -3954,7 +4566,7 @@ packages: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.3.8 + semver: 7.5.0 which: 3.0.0 transitivePeerDependencies: - bluebird @@ -3983,19 +4595,19 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/name-from-folder': 2.0.0 - glob: 9.3.4 - minimatch: 7.4.5 + glob: 9.3.5 + minimatch: 7.4.6 read-package-json-fast: 3.0.2 dev: true - /@npmcli/metavuln-calculator@5.0.0: - resolution: {integrity: sha512-BBFQx4M12wiEuVwCgtX/Depx0B/+NHMwDWOlXT41/Pdy5W/1Fenk+hibUlMSrFWwASbX+fY90UbILAEIYH02/A==} + /@npmcli/metavuln-calculator@5.0.1: + resolution: {integrity: sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: cacache: 17.0.5 json-parse-even-better-errors: 3.0.0 pacote: 15.1.1 - semver: 7.3.8 + semver: 7.5.0 transitivePeerDependencies: - bluebird - supports-color @@ -4097,7 +4709,7 @@ packages: nx: '>= 14.1 <= 16' dependencies: ejs: 3.1.8 - ignore: 5.2.0 + ignore: 5.2.4 nx: 15.9.2 semver: 7.3.4 tmp: 0.2.1 @@ -4212,7 +4824,7 @@ packages: '@octokit/request': 6.2.3 '@octokit/request-error': 3.0.3 '@octokit/types': 9.0.0 - before-after-hook: 2.2.2 + before-after-hook: 2.2.3 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -4300,7 +4912,7 @@ packages: '@octokit/request-error': 3.0.3 '@octokit/types': 9.0.0 is-plain-object: 5.0.0 - node-fetch: 2.6.7 + node-fetch: 2.6.9 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -5175,25 +5787,6 @@ packages: typescript: 4.9.5 dev: true - /@rollup/plugin-typescript@11.1.0(rollup@2.79.1)(typescript@4.9.5): - resolution: {integrity: sha512-86flrfE+bSHB69znnTV6kVjkncs2LBMhcTCyxWgRxLyfXfQrxg4UwlAqENnjrrxnSNS/XKCDJCl8EkdFJVHOxw==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.14.0||^3.0.0 - tslib: '*' - typescript: '>=3.7.0' - peerDependenciesMeta: - rollup: - optional: true - tslib: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) - resolve: 1.22.1 - rollup: 2.79.1 - typescript: 4.9.5 - dev: true - /@rollup/pluginutils@3.1.0(rollup@2.79.1): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} @@ -5215,10 +5808,28 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 2.79.1 + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true + + /@samverschueren/stream-to-observable@0.3.1(rxjs@6.6.7): + resolution: {integrity: sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==} + engines: {node: '>=6'} + peerDependencies: + rxjs: '*' + zen-observable: '*' + peerDependenciesMeta: + rxjs: + optional: true + zen-observable: + optional: true + dependencies: + any-observable: 0.3.0(rxjs@6.6.7) + rxjs: 6.6.7 + transitivePeerDependencies: + - zenObservable dev: true /@scure/base@1.1.1: @@ -5448,11 +6059,17 @@ packages: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} dev: true - /@tufjs/models@1.0.1: - resolution: {integrity: sha512-AY0VoG/AXdlSOocuREfPoEW4SNhOPp/7fw6mpAxfVIny1uZ+0fEtMoCi7NhELSlqQIRLMu7RgfKhkxT+AJ+EXg==} + /@tufjs/canonical-json@1.0.0: + resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@tufjs/models@1.0.2: + resolution: {integrity: sha512-uxarDtxTIK3f8hJS4yFhW/lvTa3tsiQU5iDCRut+NCnOXvNtEul0Ct58NIIcIx9Rkt7OFEK31Ndpqsd663nsew==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 7.4.5 + '@tufjs/canonical-json': 1.0.0 + minimatch: 8.0.4 dev: true /@typechain/ethers-v5@10.2.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@8.1.1)(typescript@4.9.5): @@ -5487,7 +6104,7 @@ packages: /@types/babel__core@7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/types': 7.21.3 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 @@ -5503,7 +6120,7 @@ packages: /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/types': 7.21.3 dev: true @@ -5697,6 +6314,10 @@ packages: /@types/node@17.0.34: resolution: {integrity: sha512-XImEz7XwTvDBtzlTnm8YvMqGW/ErMWBsKZ+hMTvnDIjGCKxwK5Xpc+c/oQjOauwq8M4OS11hEkpjX8rrI/eEgA==} + /@types/node@18.15.11: + resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} + dev: true + /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true @@ -5795,7 +6416,7 @@ packages: /@types/yargs-interactive@2.1.3: resolution: {integrity: sha512-bYB8ah0JPR6/lpHlxUzeHsrb3RK5OW7N8Hnth2nefnr6zQ5KFoDQ6wM5x58dTLEDYrwikFy3EPTf/O0HKLNaIg==} dependencies: - '@types/yargs': 17.0.23 + '@types/yargs': 17.0.24 dev: false /@types/yargs-parser@21.0.0: @@ -5811,9 +6432,15 @@ packages: resolution: {integrity: sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==} dependencies: '@types/yargs-parser': 21.0.0 + dev: true + + /@types/yargs@17.0.24: + resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + dependencies: + '@types/yargs-parser': 21.0.0 - /@typescript-eslint/eslint-plugin@5.55.0(@typescript-eslint/parser@5.55.0)(eslint@8.22.0)(typescript@4.9.5): - resolution: {integrity: sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg==} + /@typescript-eslint/eslint-plugin@5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.22.0)(typescript@4.9.5): + resolution: {integrity: sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -5823,16 +6450,15 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.55.0(eslint@8.22.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.55.0 - '@typescript-eslint/type-utils': 5.55.0(eslint@8.22.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.55.0(eslint@8.22.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.46.1(eslint@8.22.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.46.1 + '@typescript-eslint/type-utils': 5.46.1(eslint@8.22.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.46.1(eslint@8.22.0)(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) eslint: 8.22.0 - grapheme-splitter: 1.0.4 ignore: 5.2.0 natural-compare-lite: 1.4.0 + regexpp: 3.2.0 semver: 7.3.8 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 @@ -5840,8 +6466,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.55.0(eslint@8.22.0)(typescript@4.9.5): - resolution: {integrity: sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==} + /@typescript-eslint/parser@5.46.1(eslint@8.22.0)(typescript@4.9.5): + resolution: {integrity: sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -5850,9 +6476,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.55.0 - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/typescript-estree': 5.55.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.46.1 + '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/typescript-estree': 5.46.1(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) eslint: 8.22.0 typescript: 4.9.5 @@ -5860,16 +6486,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@5.55.0: - resolution: {integrity: sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==} + /@typescript-eslint/scope-manager@5.46.1: + resolution: {integrity: sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/visitor-keys': 5.55.0 + '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/visitor-keys': 5.46.1 dev: true - /@typescript-eslint/type-utils@5.55.0(eslint@8.22.0)(typescript@4.9.5): - resolution: {integrity: sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA==} + /@typescript-eslint/type-utils@5.46.1(eslint@8.22.0)(typescript@4.9.5): + resolution: {integrity: sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -5878,8 +6504,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.55.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.55.0(eslint@8.22.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.46.1(typescript@4.9.5) + '@typescript-eslint/utils': 5.46.1(eslint@8.22.0)(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) eslint: 8.22.0 tsutils: 3.21.0(typescript@4.9.5) @@ -5888,13 +6514,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@5.55.0: - resolution: {integrity: sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==} + /@typescript-eslint/types@5.46.1: + resolution: {integrity: sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.55.0(typescript@4.9.5): - resolution: {integrity: sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==} + /@typescript-eslint/typescript-estree@5.46.1(typescript@4.9.5): + resolution: {integrity: sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -5902,8 +6528,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/visitor-keys': 5.55.0 + '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/visitor-keys': 5.46.1 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -5914,31 +6540,31 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.55.0(eslint@8.22.0)(typescript@4.9.5): - resolution: {integrity: sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw==} + /@typescript-eslint/utils@5.46.1(eslint@8.22.0)(typescript@4.9.5): + resolution: {integrity: sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.2.0(eslint@8.22.0) '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.55.0 - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/typescript-estree': 5.55.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.46.1 + '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/typescript-estree': 5.46.1(typescript@4.9.5) eslint: 8.22.0 eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@8.22.0) semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.55.0: - resolution: {integrity: sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==} + /@typescript-eslint/visitor-keys@5.46.1: + resolution: {integrity: sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.55.0 + '@typescript-eslint/types': 5.46.1 eslint-visitor-keys: 3.3.0 dev: true @@ -6195,25 +6821,21 @@ packages: /aes-js@3.0.0: resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} - /aes-js@4.0.0-beta.3: - resolution: {integrity: sha512-/xJX0/VTPcbc5xQE2VUP91y1xN8q/rDfhEzLm+vLc3hYvb5+qHCnpJRuFcrKn63zumK/sCwYYzhG8HP78JYSTA==} - dev: false - /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true - /agentkeepalive@4.2.1: - resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} + /agentkeepalive@4.3.0: + resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} engines: {node: '>= 8.0.0'} dependencies: debug: 4.3.4(supports-color@8.1.1) - depd: 1.1.2 + depd: 2.0.0 humanize-ms: 1.2.1 transitivePeerDependencies: - supports-color @@ -6320,8 +6942,8 @@ packages: engines: {node: '>=10'} dev: true - /ansi-styles@6.1.0: - resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} dev: true @@ -6337,6 +6959,21 @@ packages: /antlr4ts@0.5.0-alpha.4: resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} + /any-observable@0.3.0(rxjs@6.6.7): + resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==} + engines: {node: '>=6'} + peerDependencies: + rxjs: '*' + zenObservable: '*' + peerDependenciesMeta: + rxjs: + optional: true + zenObservable: + optional: true + dependencies: + rxjs: 6.6.7 + dev: true + /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true @@ -6550,6 +7187,7 @@ packages: /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} + dev: false /astring@1.8.4: resolution: {integrity: sha512-97a+l2LBU3Op3bBQEff79i/E4jMD2ZLFD8rHx9B6mXyB2uQwhJQYfiDqUwtfjF4QA1F2qs//N6Cw8LetMbQjcw==} @@ -6590,8 +7228,8 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /axios@1.3.4: - resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==} + /axios@1.3.5: + resolution: {integrity: sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==} dependencies: follow-redirects: 1.15.2(debug@4.3.4) form-data: 4.0.0 @@ -6613,25 +7251,25 @@ packages: babel-plugin-istanbul: 6.1.1 babel-preset-jest: 27.5.1(@babel/core@7.21.3) chalk: 4.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color dev: true - /babel-jest@28.1.3(@babel/core@7.21.3): + /babel-jest@28.1.3(@babel/core@7.21.4): resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@jest/transform': 28.1.3 '@types/babel__core': 7.20.0 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 28.1.3(@babel/core@7.21.3) + babel-preset-jest: 28.1.3(@babel/core@7.21.4) chalk: 4.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color @@ -6649,7 +7287,7 @@ packages: babel-plugin-istanbul: 6.1.1 babel-preset-jest: 29.5.0(@babel/core@7.21.3) chalk: 4.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color @@ -6683,7 +7321,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@babel/template': 7.20.7 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 '@types/babel__core': 7.20.0 '@types/babel__traverse': 7.18.3 dev: true @@ -6718,6 +7356,26 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.3) dev: true + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.4): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) + dev: true + /babel-preset-jest@27.5.1(@babel/core@7.21.3): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -6729,15 +7387,15 @@ packages: babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.3) dev: true - /babel-preset-jest@28.1.3(@babel/core@7.21.3): + /babel-preset-jest@28.1.3(@babel/core@7.21.4): resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 babel-plugin-jest-hoist: 28.1.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.3) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.4) dev: true /babel-preset-jest@29.5.0(@babel/core@7.21.3): @@ -6796,8 +7454,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /before-after-hook@2.2.2: - resolution: {integrity: sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==} + /before-after-hook@2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true /big-integer@1.6.36: @@ -6832,7 +7490,7 @@ packages: hasBin: true dependencies: bin-version: 1.0.4 - minimist: 1.2.7 + minimist: 1.2.8 semver: 4.3.6 semver-truncate: 1.1.2 dev: true @@ -6873,7 +7531,7 @@ packages: /bl@1.2.3: resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 safe-buffer: 5.2.1 dev: true @@ -7028,7 +7686,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: file-type: 3.9.0 - readable-stream: 2.3.7 + readable-stream: 2.3.8 uuid: 2.0.3 vinyl: 1.2.0 dev: true @@ -7069,7 +7727,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.3.8 + semver: 7.5.0 dev: true /bundle-require@3.1.2(esbuild@0.14.54): @@ -7092,16 +7750,6 @@ packages: load-tsconfig: 0.2.5 dev: true - /bundle-require@4.0.1(esbuild@0.17.15): - resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.17' - dependencies: - esbuild: 0.17.15 - load-tsconfig: 0.2.5 - dev: true - /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -7134,7 +7782,7 @@ packages: glob: 8.0.3 infer-owner: 1.0.4 lru-cache: 7.18.3 - minipass: 3.3.4 + minipass: 3.3.6 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 @@ -7155,23 +7803,23 @@ packages: dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.1 - glob: 9.3.4 + glob: 9.3.5 lru-cache: 7.18.3 - minipass: 4.2.5 + minipass: 4.2.8 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 promise-inflight: 1.0.1 - ssri: 10.0.2 + ssri: 10.0.3 tar: 6.1.11 unique-filename: 3.0.0 transitivePeerDependencies: - bluebird dev: true - /cachedir@2.3.0: - resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + /cachedir@2.2.0: + resolution: {integrity: sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==} engines: {node: '>=6'} dev: true @@ -7314,6 +7962,14 @@ packages: escape-string-regexp: 1.0.5 supports-color: 5.5.0 + /chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + /chalk@4.1.0: resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} engines: {node: '>=10'} @@ -7439,17 +8095,17 @@ packages: engines: {node: '>=6'} dev: true - /cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + /cli-spinners@2.8.0: + resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==} engines: {node: '>=6'} dev: true - /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + /cli-truncate@0.2.1: + resolution: {integrity: sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==} + engines: {node: '>=0.10.0'} dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 + slice-ansi: 0.0.4 + string-width: 1.0.2 dev: true /cli-truncate@3.1.0: @@ -7556,6 +8212,11 @@ packages: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + /code-point-at@1.1.0: + resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} + engines: {node: '>=0.10.0'} + dev: true + /collect-v8-coverage@1.0.1: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true @@ -7582,10 +8243,6 @@ packages: hasBin: true dev: true - /colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true - /columnify@1.6.0: resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} engines: {node: '>=8.0.0'} @@ -7654,30 +8311,25 @@ packages: engines: {node: '>= 12'} dev: false - /commander@9.4.0: - resolution: {integrity: sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==} - engines: {node: ^12.20.0 || >=14} - dev: true - - /commitizen@4.2.5: - resolution: {integrity: sha512-9sXju8Qrz1B4Tw7kC5KhnvwYQN88qs2zbiB8oyMsnXZyJ24PPGiNM3nHr73d32dnE3i8VJEXddBFIbOgYSEXtQ==} - engines: {node: '>= 12'} + /commitizen@4.2.4: + resolution: {integrity: sha512-LlZChbDzg3Ir3O2S7jSo/cgWp5/QwylQVr59K4xayVq8S4/RdKzSyJkghAiZZHfhh5t4pxunUoyeg0ml1q/7aw==} + engines: {node: '>= 10'} hasBin: true dependencies: - cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0 + cachedir: 2.2.0 + cz-conventional-changelog: 3.2.0 dedent: 0.7.0 - detect-indent: 6.1.0 + detect-indent: 6.0.0 find-node-modules: 2.1.3 find-root: 1.1.0 - fs-extra: 9.1.0 - glob: 7.2.3 - inquirer: 8.2.4 + fs-extra: 8.1.0 + glob: 7.1.4 + inquirer: 6.5.2 is-utf8: 0.2.1 lodash: 4.17.21 - minimist: 1.2.6 + minimist: 1.2.5 strip-bom: 4.0.0 - strip-json-comments: 3.1.1 + strip-json-comments: 3.0.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -7711,7 +8363,7 @@ packages: dependencies: buffer-from: 1.1.2 inherits: 2.0.4 - readable-stream: 2.3.7 + readable-stream: 2.3.8 typedarray: 0.0.6 dev: true @@ -7735,7 +8387,7 @@ packages: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.3.8 + semver: 7.5.0 well-known-symbols: 2.0.0 dev: true @@ -7901,6 +8553,22 @@ packages: - '@swc/wasm' dev: true + /cosmiconfig-typescript-loader@4.3.0(@types/node@17.0.34)(cosmiconfig@8.1.3)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=7' + ts-node: '>=10' + typescript: '>=3' + dependencies: + '@types/node': 17.0.34 + cosmiconfig: 8.1.3 + ts-node: 10.9.1(@types/node@17.0.34)(typescript@4.9.5) + typescript: 4.9.5 + dev: true + optional: true + /cosmiconfig@5.2.1: resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} engines: {node: '>=4'} @@ -7911,6 +8579,17 @@ packages: parse-json: 4.0.0 dev: true + /cosmiconfig@6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: true + /cosmiconfig@7.0.0: resolution: {integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==} engines: {node: '>=10'} @@ -7933,6 +8612,17 @@ packages: yaml: 1.10.2 dev: true + /cosmiconfig@8.1.3: + resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} + engines: {node: '>=14'} + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + dev: true + optional: true + /crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} engines: {node: '>=0.8'} @@ -8069,6 +8759,10 @@ packages: /csstype@3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false + /currently-unhandled@0.4.1: resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} engines: {node: '>=0.10.0'} @@ -8076,18 +8770,35 @@ packages: array-find-index: 1.0.2 dev: true + /cz-conventional-changelog@3.2.0: + resolution: {integrity: sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==} + engines: {node: '>= 10'} + dependencies: + chalk: 2.4.2 + commitizen: 4.2.4 + conventional-commit-types: 3.0.0 + lodash.map: 4.6.0 + longest: 2.0.1 + word-wrap: 1.2.3 + optionalDependencies: + '@commitlint/load': 17.5.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + /cz-conventional-changelog@3.3.0: resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.2.5 + commitizen: 4.2.4 conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.3 optionalDependencies: - '@commitlint/load': 17.0.3 + '@commitlint/load': 17.5.0 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -8118,6 +8829,10 @@ packages: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true + /date-fns@1.30.1: + resolution: {integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==} + dev: true + /date-time@3.1.0: resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} engines: {node: '>=6'} @@ -8144,6 +8859,17 @@ packages: ms: 2.0.0 dev: true + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -8156,8 +8882,8 @@ packages: ms: 2.1.2 supports-color: 8.1.1 - /decamelize-keys@1.1.0: - resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 @@ -8272,8 +8998,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /defaults@1.0.3: - resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true @@ -8304,7 +9030,7 @@ packages: engines: {node: '>=10'} dependencies: globby: 11.1.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 is-glob: 4.0.3 is-path-cwd: 2.2.0 is-path-inside: 3.0.3 @@ -8322,11 +9048,6 @@ packages: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: true - /depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - dev: true - /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -8351,8 +9072,8 @@ packages: engines: {node: '>=4'} dev: true - /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + /detect-indent@6.0.0: + resolution: {integrity: sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==} engines: {node: '>=8'} dev: true @@ -8503,7 +9224,7 @@ packages: is-url: 1.2.4 object-assign: 4.1.1 read-all-stream: 3.1.0 - readable-stream: 2.3.7 + readable-stream: 2.3.8 stream-combiner2: 1.1.1 vinyl: 1.2.0 vinyl-fs: 2.4.4 @@ -8525,7 +9246,7 @@ packages: /duplexer2@0.1.4: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 dev: true /duplexer@0.1.2: @@ -8537,7 +9258,7 @@ packages: dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 - readable-stream: 2.3.7 + readable-stream: 2.3.8 stream-shift: 1.0.1 dev: true @@ -8564,6 +9285,11 @@ packages: resolution: {integrity: sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg==} dev: true + /elegant-spinner@1.0.1: + resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} + engines: {node: '>=0.10.0'} + dev: true + /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: @@ -8655,7 +9381,7 @@ packages: dependencies: chalk: 4.1.2 envinfo: 7.8.1 - node-fetch: 2.6.7 + node-fetch: 2.6.9 pkg-up: 3.1.0 transitivePeerDependencies: - encoding @@ -9025,6 +9751,37 @@ packages: '@esbuild/win32-arm64': 0.17.15 '@esbuild/win32-ia32': 0.17.15 '@esbuild/win32-x64': 0.17.15 + dev: false + + /esbuild@0.17.17: + resolution: {integrity: sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.17 + '@esbuild/android-arm64': 0.17.17 + '@esbuild/android-x64': 0.17.17 + '@esbuild/darwin-arm64': 0.17.17 + '@esbuild/darwin-x64': 0.17.17 + '@esbuild/freebsd-arm64': 0.17.17 + '@esbuild/freebsd-x64': 0.17.17 + '@esbuild/linux-arm': 0.17.17 + '@esbuild/linux-arm64': 0.17.17 + '@esbuild/linux-ia32': 0.17.17 + '@esbuild/linux-loong64': 0.17.17 + '@esbuild/linux-mips64el': 0.17.17 + '@esbuild/linux-ppc64': 0.17.17 + '@esbuild/linux-riscv64': 0.17.17 + '@esbuild/linux-s390x': 0.17.17 + '@esbuild/linux-x64': 0.17.17 + '@esbuild/netbsd-x64': 0.17.17 + '@esbuild/openbsd-x64': 0.17.17 + '@esbuild/sunos-x64': 0.17.17 + '@esbuild/win32-arm64': 0.17.17 + '@esbuild/win32-ia32': 0.17.17 + '@esbuild/win32-x64': 0.17.17 + dev: true /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -9062,16 +9819,16 @@ packages: source-map: 0.6.1 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.22.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.38.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.22.0 + eslint: 8.38.0 dev: true - /eslint-plugin-react@7.32.2(eslint@8.22.0): + /eslint-plugin-react@7.32.2(eslint@8.38.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -9081,7 +9838,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.22.0 + eslint: 8.38.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -9119,6 +9876,14 @@ packages: estraverse: 5.3.0 dev: true + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-utils@1.4.3: resolution: {integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==} engines: {node: '>=6'} @@ -9151,6 +9916,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /eslint-visitor-keys@3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint@5.16.0: resolution: {integrity: sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==} engines: {node: ^6.14.0 || ^8.10.0 || >=9.10.0} @@ -9244,6 +10014,55 @@ packages: - supports-color dev: true + /eslint@8.38.0: + resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.38.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /esm@3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} engines: {node: '>=6'} @@ -9268,6 +10087,15 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /espree@9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.0 + dev: true + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -9280,6 +10108,13 @@ packages: estraverse: 5.3.0 dev: true + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -9462,21 +10297,6 @@ packages: - bufferutil - utf-8-validate - /ethers@6.3.0: - resolution: {integrity: sha512-CKFYvTne1YT4S1glTiu7TgGsj0t6c6GAD7evrIk8zbeUb6nK8dcUPAiAWM8uDX/1NmRTvLM9+1Vnn49hwKtEzw==} - engines: {node: '>=14.0.0'} - dependencies: - '@adraffy/ens-normalize': 1.9.0 - '@noble/hashes': 1.1.2 - '@noble/secp256k1': 1.7.1 - aes-js: 4.0.0-beta.3 - tslib: 2.4.0 - ws: 8.5.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - /ethjs-unit@0.1.6: resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} engines: {node: '>=6.5.0', npm: '>=3'} @@ -9534,6 +10354,22 @@ packages: strip-eof: 1.0.0 dev: false + /execa@3.4.0: + resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + /execa@5.0.0: resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==} engines: {node: '>=10'} @@ -9563,21 +10399,6 @@ packages: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 3.0.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: true - /execa@7.0.0: resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} @@ -9723,8 +10544,8 @@ packages: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} dev: true - /fast-glob@3.2.11: - resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -9752,8 +10573,8 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fastq@1.13.0: - resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 @@ -9769,6 +10590,14 @@ packages: pend: 1.2.0 dev: true + /figures@1.7.0: + resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + object-assign: 4.1.1 + dev: true + /figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -10052,7 +10881,7 @@ packages: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -10065,6 +10894,15 @@ packages: jsonfile: 4.0.0 universalify: 0.1.2 + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + /fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -10079,14 +10917,14 @@ packages: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /fs-minipass@3.0.1: resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 4.2.8 dev: true /fs.realpath@1.0.0: @@ -10170,6 +11008,10 @@ packages: has-symbols: 1.0.3 dev: true + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -10213,6 +11055,13 @@ packages: engines: {node: '>=4'} dev: false + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + /get-stream@6.0.0: resolution: {integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==} engines: {node: '>=10'} @@ -10419,14 +11268,14 @@ packages: minimatch: 5.1.6 once: 1.4.0 - /glob@9.3.4: - resolution: {integrity: sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==} + /glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} dependencies: fs.realpath: 1.0.0 - minimatch: 8.0.3 - minipass: 4.2.5 - path-scurry: 1.6.3 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.7.0 dev: true /global-dirs@0.1.1: @@ -10468,14 +11317,21 @@ packages: type-fest: 0.20.2 dev: true + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.11 - ignore: 5.2.0 + fast-glob: 3.2.12 + ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 @@ -10486,16 +11342,21 @@ packages: sparkles: 1.0.1 dev: true - /goober@2.1.11(csstype@3.1.1): + /goober@2.1.11(csstype@3.1.2): resolution: {integrity: sha512-5SS2lmxbhqH0u9ABEWq7WPU69a4i2pYcHeCxqaNq6Cw3mnrF0ghWNM4tEGid4dKy8XNIAUbuThuozDHHKJVh3A==} peerDependencies: csstype: ^3.0.10 dependencies: - csstype: 3.1.1 + csstype: 3.1.2 dev: false /google-protobuf@3.21.0: resolution: {integrity: sha512-byR7MBTK4tZ5PZEb+u5ZTzpt4SfrTxv5682MjPlHN16XeqgZE2/8HOIWeiXe8JKnT9OVbtBGhbq8mtvkK8cd5g==} + dev: true + + /google-protobuf@3.21.2: + resolution: {integrity: sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==} + dev: false /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -10520,7 +11381,7 @@ packages: parse-json: 2.2.0 pinkie-promise: 2.0.1 read-all-stream: 3.1.0 - readable-stream: 2.3.7 + readable-stream: 2.3.8 timed-out: 3.1.3 unzip-response: 1.0.2 url-parse-lax: 1.0.0 @@ -10529,6 +11390,10 @@ packages: /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + requiresBuild: true + /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true @@ -10550,7 +11415,7 @@ packages: archive-type: 3.2.0 decompress: 3.0.0 gulp-util: 3.0.8 - readable-stream: 2.3.7 + readable-stream: 2.3.8 dev: true /gulp-rename@1.4.0: @@ -10562,7 +11427,7 @@ packages: resolution: {integrity: sha512-NjRy6+Qb5K1xbwOvPviD3uA4KSq2zsalPL+4vxPQPuL+kKzHjXJL10/kLaESic3LmBto8VIBHr3gIN3F9AjnhA==} dependencies: convert-source-map: 1.9.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 strip-bom: 2.0.0 through2: 2.0.5 vinyl: 1.2.0 @@ -10585,7 +11450,7 @@ packages: lodash._reevaluate: 3.0.0 lodash._reinterpolate: 3.0.0 lodash.template: 3.6.2 - minimist: 1.2.7 + minimist: 1.2.8 multipipe: 0.1.2 object-assign: 3.0.0 replace-ext: 0.0.1 @@ -10605,12 +11470,12 @@ packages: engines: {node: '>=0.4.7'} hasBin: true dependencies: - minimist: 1.2.7 + minimist: 1.2.8 neo-async: 2.6.2 source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.17.0 + uglify-js: 3.17.4 /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} @@ -10974,7 +11839,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -10995,20 +11860,20 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} - dev: true - /human-signals@4.3.1: resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} @@ -11020,9 +11885,8 @@ packages: ms: 2.1.3 dev: true - /husky@8.0.1: - resolution: {integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==} - engines: {node: '>=14'} + /husky@6.0.0: + resolution: {integrity: sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==} hasBin: true dev: true @@ -11074,7 +11938,7 @@ packages: resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 7.4.5 + minimatch: 7.4.6 dev: true /ignore@4.0.6: @@ -11085,6 +11949,11 @@ packages: /ignore@5.2.0: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} /immediate@3.2.3: resolution: {integrity: sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==} @@ -11135,6 +12004,11 @@ packages: repeating: 2.0.1 dev: true + /indent-string@3.2.0: + resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} + engines: {node: '>=4'} + dev: true + /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} @@ -11169,7 +12043,7 @@ packages: promzard: 0.3.0 read: 1.0.7 read-package-json: 5.0.1 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-license: 3.0.4 validate-npm-package-name: 4.0.0 dev: true @@ -11230,7 +12104,28 @@ packages: mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 - rxjs: 7.5.6 + rxjs: 7.8.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /inquirer@8.2.5: + resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.0 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 @@ -11346,6 +12241,12 @@ packages: has: 1.0.3 dev: true + /is-core-module@2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + dependencies: + has: 1.0.3 + dev: true + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -11398,6 +12299,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-fullwidth-code-point@1.0.0: + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} + engines: {node: '>=0.10.0'} + dependencies: + number-is-nan: 1.0.1 + dev: true + /is-fullwidth-code-point@2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} engines: {node: '>=4'} @@ -11514,6 +12422,13 @@ packages: engines: {node: '>=12'} dev: false + /is-observable@1.1.0: + resolution: {integrity: sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==} + engines: {node: '>=4'} + dependencies: + symbol-observable: 1.2.0 + dev: true + /is-observable@2.1.0: resolution: {integrity: sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==} engines: {node: '>=8'} @@ -11577,7 +12492,6 @@ packages: /is-promise@2.2.2: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: false /is-redirect@1.0.0: resolution: {integrity: sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==} @@ -11604,6 +12518,11 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true + /is-relative@0.1.3: resolution: {integrity: sha512-wBOr+rNM4gkAZqoLRJI4myw5WzzIdQosFAAbnvfXP5z1LyzgAI3ivOKehC5KfqlQJZoihVhirgtCBj378Eg8GA==} engines: {node: '>=0.10.0'} @@ -11641,6 +12560,7 @@ packages: /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -11758,7 +12678,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.21.3 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -11779,7 +12699,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: @@ -11941,6 +12861,36 @@ packages: - utf-8-validate dev: true + /jest-cli@27.5.1(ts-node@10.9.1): + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1(ts-node@10.9.1) + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.10 + import-local: 3.1.0 + jest-config: 27.5.1(ts-node@10.9.1) + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + /jest-cli@28.1.3(@types/node@17.0.34)(ts-node@10.9.1): resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -11956,7 +12906,7 @@ packages: '@jest/types': 28.1.3 chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 import-local: 3.1.0 jest-config: 28.1.3(@types/node@17.0.34)(ts-node@10.9.1) jest-util: 28.1.3 @@ -11969,7 +12919,7 @@ packages: - ts-node dev: true - /jest-cli@29.5.0(@types/node@17.0.34): + /jest-cli@29.5.0(@types/node@17.0.34)(ts-node@10.9.1): resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -11979,14 +12929,14 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.5.0 + '@jest/core': 29.5.0(ts-node@10.9.1) '@jest/test-result': 29.5.0 '@jest/types': 29.5.0 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 29.5.0(@types/node@17.0.34) + jest-config: 29.5.0(@types/node@17.0.34)(ts-node@10.9.1) jest-util: 29.5.0 jest-validate: 29.5.0 prompts: 2.4.2 @@ -12037,6 +12987,47 @@ packages: - utf-8-validate dev: true + /jest-config@27.5.1(ts-node@10.9.1): + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + dependencies: + '@babel/core': 7.21.3 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1(@babel/core@7.21.3) + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.1(@types/node@17.0.34)(typescript@4.9.5) + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + /jest-config@28.1.3(@types/node@17.0.34)(ts-node@10.9.1): resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -12049,16 +13040,16 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@jest/test-sequencer': 28.1.3 '@jest/types': 28.1.3 '@types/node': 17.0.34 - babel-jest: 28.1.3(@babel/core@7.21.3) + babel-jest: 28.1.3(@babel/core@7.21.4) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-circus: 28.1.3 jest-environment-node: 28.1.3 jest-get-type: 28.0.2 @@ -12077,7 +13068,7 @@ packages: - supports-color dev: true - /jest-config@29.5.0(@types/node@17.0.34): + /jest-config@29.5.0(@types/node@17.0.34)(ts-node@10.9.1): resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -12112,6 +13103,7 @@ packages: pretty-format: 29.5.0 slash: 3.0.0 strip-json-comments: 3.1.1 + ts-node: 10.9.1(@types/node@17.0.34)(typescript@4.9.5) transitivePeerDependencies: - supports-color dev: true @@ -12298,7 +13290,7 @@ packages: '@types/node': 17.0.34 anymatch: 3.1.3 fb-watchman: 2.0.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-regex-util: 28.0.2 jest-util: 28.1.3 jest-worker: 28.1.3 @@ -12425,11 +13417,11 @@ packages: resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 '@jest/types': 28.1.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 micromatch: 4.0.5 pretty-format: 28.1.3 slash: 3.0.0 @@ -12579,12 +13571,12 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: chalk: 4.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-haste-map: 28.1.3 jest-pnp-resolver: 1.2.3(jest-resolve@28.1.3) jest-util: 28.1.3 jest-validate: 28.1.3 - resolve: 1.22.1 + resolve: 1.22.2 resolve.exports: 1.1.1 slash: 3.0.0 dev: true @@ -12648,7 +13640,7 @@ packages: '@types/node': 17.0.34 chalk: 4.1.2 emittery: 0.10.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-docblock: 28.1.1 jest-environment-node: 28.1.3 jest-haste-map: 28.1.3 @@ -12740,7 +13732,7 @@ packages: collect-v8-coverage: 1.0.1 execa: 5.1.1 glob: 7.2.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-haste-map: 28.1.3 jest-message-util: 28.1.3 jest-mock: 28.1.3 @@ -12789,7 +13781,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@types/node': 17.0.34 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jest-snapshot@27.5.1: @@ -12817,7 +13809,7 @@ packages: jest-util: 27.5.1 natural-compare: 1.4.0 pretty-format: 27.5.1 - semver: 7.3.8 + semver: 7.5.0 transitivePeerDependencies: - supports-color dev: true @@ -12826,20 +13818,20 @@ packages: resolution: {integrity: sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@babel/core': 7.21.3 - '@babel/generator': 7.21.3 - '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.3) - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/core': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.4) + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 '@jest/expect-utils': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 '@types/babel__traverse': 7.18.3 '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.3) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.4) chalk: 4.1.2 expect: 28.1.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jest-diff: 28.1.3 jest-get-type: 28.0.2 jest-haste-map: 28.1.3 @@ -12848,7 +13840,7 @@ packages: jest-util: 28.1.3 natural-compare: 1.4.0 pretty-format: 28.1.3 - semver: 7.3.8 + semver: 7.5.0 transitivePeerDependencies: - supports-color dev: true @@ -12879,7 +13871,7 @@ packages: jest-util: 29.5.0 natural-compare: 1.4.0 pretty-format: 29.5.0 - semver: 7.3.8 + semver: 7.5.0 transitivePeerDependencies: - supports-color dev: true @@ -13046,6 +14038,27 @@ packages: - utf-8-validate dev: true + /jest@27.5.1(ts-node@10.9.1): + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1(ts-node@10.9.1) + import-local: 3.1.0 + jest-cli: 27.5.1(ts-node@10.9.1) + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + /jest@28.1.3(@types/node@17.0.34)(ts-node@10.9.1): resolution: {integrity: sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -13066,7 +14079,7 @@ packages: - ts-node dev: true - /jest@29.5.0(@types/node@17.0.34): + /jest@29.5.0(@types/node@17.0.34)(ts-node@10.9.1): resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -13076,10 +14089,10 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.5.0 + '@jest/core': 29.5.0(ts-node@10.9.1) '@jest/types': 29.5.0 import-local: 3.1.0 - jest-cli: 29.5.0(@types/node@17.0.34) + jest-cli: 29.5.0(@types/node@17.0.34)(ts-node@10.9.1) transitivePeerDependencies: - '@types/node' - supports-color @@ -13111,6 +14124,10 @@ packages: resolution: {integrity: sha512-8DdCSAOACpF8WDAjyDFBC2rj8OS4HUP9mNZBDfl8jCiPCnJG+2bkuycalxwZh6heFy6PrMvoWTp47lp6gzT65A==} dev: true + /js-sdsl@4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: true + /js-sha256@0.9.0: resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} dev: true @@ -13235,20 +14252,20 @@ packages: /jsonfile@2.4.0: resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonparse@1.3.1: @@ -13279,8 +14296,8 @@ packages: commander: 8.3.0 dev: false - /katex@0.16.4: - resolution: {integrity: sha512-WudRKUj8yyBeVDI4aYMNxhx5Vhh2PjpzQw1GRu/LVGqL4m1AxwD1GcUp0IMbdJaf5zsjtj8ghP0DOQRYhroNkw==} + /katex@0.16.6: + resolution: {integrity: sha512-XVB7X8jEogjJ+OY+a9JdE+VOk9i7znela0HP6WaDbpB4sUh8ghrG0Ccluu2MA2tcJbFAViBC9aVXus2UvkEr8A==} hasBin: true dependencies: commander: 8.3.0 @@ -13319,7 +14336,7 @@ packages: /klaw@1.3.1: resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /kleur@3.0.3: @@ -13341,7 +14358,7 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 dev: true /lerna@6.6.1: @@ -13381,7 +14398,7 @@ packages: has-unicode: 2.0.1 import-local: 3.1.0 init-package-json: 3.0.2 - inquirer: 8.2.4 + inquirer: 8.2.5 is-ci: 2.0.0 is-stream: 2.0.0 js-yaml: 4.1.0 @@ -13394,7 +14411,7 @@ packages: node-fetch: 2.6.7 npm-package-arg: 8.1.1 npm-packlist: 5.1.1 - npm-registry-fetch: 14.0.3 + npm-registry-fetch: 14.0.4 npmlog: 6.0.2 nx: 15.9.2 p-map: 4.0.0 @@ -13531,7 +14548,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: aproba: 2.0.0 - minipass: 3.3.4 + minipass: 3.3.6 npm-package-arg: 9.1.2 npm-registry-fetch: 13.3.1 transitivePeerDependencies: @@ -13546,7 +14563,7 @@ packages: normalize-package-data: 4.0.1 npm-package-arg: 9.1.2 npm-registry-fetch: 13.3.1 - semver: 7.3.8 + semver: 7.5.0 ssri: 9.0.1 transitivePeerDependencies: - bluebird @@ -13662,46 +14679,76 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lint-staged@13.0.3: - resolution: {integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==} - engines: {node: ^14.13.1 || >=16.0.0} + /lint-staged@10.0.0: + resolution: {integrity: sha512-/MrZOLMnljjMHakxlRd1Z5Kr8wWWlrWFasye7HaTv5tx56icwzT/STRty8flMKsyzBGTfTa9QszNVPsDS/yOug==} hasBin: true dependencies: - cli-truncate: 3.1.0 - colorette: 2.0.19 - commander: 9.4.0 + chalk: 3.0.0 + commander: 4.1.1 + cosmiconfig: 6.0.0 debug: 4.3.4(supports-color@8.1.1) - execa: 6.1.0 - lilconfig: 2.0.5 - listr2: 4.0.5 + dedent: 0.7.0 + execa: 3.4.0 + listr: 0.14.3 + log-symbols: 3.0.0 micromatch: 4.0.5 normalize-path: 3.0.0 - object-inspect: 1.12.2 - pidtree: 0.6.0 - string-argv: 0.3.1 - yaml: 2.1.1 + please-upgrade-node: 3.2.0 + stringify-object: 3.3.0 transitivePeerDependencies: - - enquirer - supports-color + - zen-observable + - zenObservable dev: true - /listr2@4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} + /listr-silent-renderer@1.1.1: + resolution: {integrity: sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==} + engines: {node: '>=4'} + dev: true + + /listr-update-renderer@0.5.0(listr@0.14.3): + resolution: {integrity: sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==} + engines: {node: '>=6'} peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + listr: ^0.14.2 dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.19 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.5.6 - through: 2.3.8 - wrap-ansi: 7.0.0 + chalk: 1.1.3 + cli-truncate: 0.2.1 + elegant-spinner: 1.0.1 + figures: 1.7.0 + indent-string: 3.2.0 + listr: 0.14.3 + log-symbols: 1.0.2 + log-update: 2.3.0 + strip-ansi: 3.0.1 + dev: true + + /listr-verbose-renderer@0.5.0: + resolution: {integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==} + engines: {node: '>=4'} + dependencies: + chalk: 2.4.2 + cli-cursor: 2.1.0 + date-fns: 1.30.1 + figures: 2.0.0 + dev: true + + /listr@0.14.3: + resolution: {integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==} + engines: {node: '>=6'} + dependencies: + '@samverschueren/stream-to-observable': 0.3.1(rxjs@6.6.7) + is-observable: 1.1.0 + is-promise: 2.2.2 + is-stream: 1.1.0 + listr-silent-renderer: 1.1.1 + listr-update-renderer: 0.5.0(listr@0.14.3) + listr-verbose-renderer: 0.5.0 + p-map: 2.1.0 + rxjs: 6.6.7 + transitivePeerDependencies: + - zen-observable + - zenObservable dev: true /lmdb@2.5.2: @@ -13726,7 +14773,7 @@ packages: resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} engines: {node: '>=0.10.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 parse-json: 2.2.0 pify: 2.3.0 pinkie-promise: 2.0.1 @@ -13737,7 +14784,7 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -13865,6 +14912,11 @@ packages: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} dev: true + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + optional: true + /lodash.keys@3.1.2: resolution: {integrity: sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==} dependencies: @@ -13885,6 +14937,11 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true + /lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true + optional: true + /lodash.restparam@3.6.1: resolution: {integrity: sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==} dev: true @@ -13918,9 +14975,28 @@ packages: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} dev: false + /lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: true + optional: true + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + /log-symbols@1.0.2: + resolution: {integrity: sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==} + engines: {node: '>=0.10.0'} + dependencies: + chalk: 1.1.3 + dev: true + + /log-symbols@3.0.0: + resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} + engines: {node: '>=8'} + dependencies: + chalk: 2.4.2 + dev: true + /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} @@ -13929,14 +15005,13 @@ packages: is-unicode-supported: 0.1.0 dev: true - /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + /log-update@2.3.0: + resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} + engines: {node: '>=4'} dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 + ansi-escapes: 3.2.0 + cli-cursor: 2.1.0 + wrap-ansi: 3.0.1 dev: true /long@4.0.0: @@ -14004,6 +15079,11 @@ packages: engines: {node: '>=12'} dev: true + /lru-cache@9.0.3: + resolution: {integrity: sha512-cyjNRew29d4kbgnz1sjDqxg7qg8NW4s+HQzCGjeon7DV5T2yDije16W9HaUFV1dhVEMh+SjrOcK0TomBmf3Egg==} + engines: {node: 14 || >=16.14} + dev: true + /lru-queue@0.1.0: resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} dependencies: @@ -14031,7 +15111,7 @@ packages: resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} engines: {node: '>=12'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@2.1.0: @@ -14057,14 +15137,14 @@ packages: resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - agentkeepalive: 4.2.1 + agentkeepalive: 4.3.0 cacache: 16.1.3 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 - minipass: 3.3.4 + minipass: 3.3.6 minipass-collect: 1.0.2 minipass-fetch: 2.1.2 minipass-flush: 1.0.5 @@ -14078,25 +15158,25 @@ packages: - supports-color dev: true - /make-fetch-happen@11.0.3: - resolution: {integrity: sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==} + /make-fetch-happen@11.1.0: + resolution: {integrity: sha512-7ChuOzCb1LzdQZrTy0ky6RsCoMYeM+Fh4cY0+4zsJVhNcH5Q3OJojLY1mGkD0xAhWB29lskECVb6ZopofwjldA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - agentkeepalive: 4.2.1 + agentkeepalive: 4.3.0 cacache: 17.0.5 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 - minipass: 4.2.5 - minipass-fetch: 3.0.1 + minipass: 4.2.8 + minipass-fetch: 3.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 negotiator: 0.6.3 promise-retry: 2.0.1 socks-proxy-agent: 7.0.0 - ssri: 10.0.2 + ssri: 10.0.3 transitivePeerDependencies: - bluebird - supports-color @@ -14399,7 +15479,7 @@ packages: decamelize: 1.2.0 loud-rejection: 1.6.0 map-obj: 1.0.1 - minimist: 1.2.7 + minimist: 1.2.8 normalize-package-data: 2.5.0 object-assign: 4.1.1 read-pkg-up: 1.0.1 @@ -14413,7 +15493,7 @@ packages: dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 - decamelize-keys: 1.1.0 + decamelize-keys: 1.1.1 hard-rejection: 2.1.0 minimist-options: 4.1.0 normalize-package-data: 3.0.3 @@ -14427,7 +15507,7 @@ packages: /merge-stream@1.0.1: resolution: {integrity: sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==} dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 dev: true /merge-stream@2.0.0: @@ -14550,7 +15630,7 @@ packages: resolution: {integrity: sha512-WH+fJkveMvM3ZN+deb/jT3UW623x8xO9ycfJNDC+UQXX+V72RO6hT9KqxA7c8XFwozAFJ7tufOeG+x/CVSXHUw==} dependencies: '@types/katex': 0.16.0 - katex: 0.16.4 + katex: 0.16.6 micromark-factory-space: 1.0.0 micromark-util-character: 1.1.0 micromark-util-symbol: 1.0.1 @@ -14860,6 +15940,7 @@ packages: /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + dev: false /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -14903,15 +15984,15 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.5: - resolution: {integrity: sha512-OzOamaOmNBJZUv2qqY1OSWa+++4YPpOkLgkc0w30Oov5ufKlWWXnFUl0l4dgmSv5Shq/zRVkEOXAe2NaqO4l5Q==} + /minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true - /minimatch@8.0.3: - resolution: {integrity: sha512-tEEvU9TkZgnFDCtpnrEYnPsjT7iUx42aXfs4bzmQ5sMA09/6hZY0jeZcGkXyDagiBOvkUjNo8Viom+Me6+2x7g==} + /minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -14926,36 +16007,36 @@ packages: kind-of: 6.0.3 dev: true - /minimist@1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + /minimist@1.2.5: + resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} dev: true - /minimist@1.2.7: - resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} /minipass-collect@1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} engines: {node: '>= 8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /minipass-fetch@2.1.2: resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 dev: true - /minipass-fetch@3.0.1: - resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==} + /minipass-fetch@3.0.2: + resolution: {integrity: sha512-/ZpF1CQaWYqjbhfFgKNt3azxztEpc/JUPuMkqOgrnMQqcU8CbE409AUdJYTIWryl3PP5CBaTJZT71N49MXP/YA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 4.2.8 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -14966,39 +16047,44 @@ packages: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} engines: {node: '>= 8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /minipass-json-stream@1.0.1: resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} dependencies: jsonparse: 1.3.1 - minipass: 3.3.4 + minipass: 3.3.6 dev: true /minipass-pipeline@1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} engines: {node: '>=8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /minipass-sized@1.0.3: resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} engines: {node: '>=8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true - /minipass@3.3.4: - resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} + /minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} dependencies: yallist: 4.0.0 dev: true - /minipass@4.2.5: - resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} + /minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + dev: true + + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: true @@ -15006,7 +16092,7 @@ packages: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 yallist: 4.0.0 dev: true @@ -15023,7 +16109,7 @@ packages: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: - minimist: 1.2.7 + minimist: 1.2.8 dev: true /mkdirp@1.0.4: @@ -15122,26 +16208,26 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /msgpackr-extract@2.1.2: - resolution: {integrity: sha512-cmrmERQFb19NX2JABOGtrKdHMyI6RUyceaPBQ2iRz9GnDkjBWFjNJC0jyyoOfZl2U/LZE3tQCCQc4dlRyA8mcA==} + /msgpackr-extract@2.2.0: + resolution: {integrity: sha512-0YcvWSv7ZOGl9Od6Y5iJ3XnPww8O7WLcpYMDwX+PAA/uXLDtyw94PJv9GLQV/nnp3cWlDhMoyKZIQLrx33sWog==} hasBin: true requiresBuild: true dependencies: node-gyp-build-optional-packages: 5.0.3 optionalDependencies: - '@msgpackr-extract/msgpackr-extract-darwin-arm64': 2.1.2 - '@msgpackr-extract/msgpackr-extract-darwin-x64': 2.1.2 - '@msgpackr-extract/msgpackr-extract-linux-arm': 2.1.2 - '@msgpackr-extract/msgpackr-extract-linux-arm64': 2.1.2 - '@msgpackr-extract/msgpackr-extract-linux-x64': 2.1.2 - '@msgpackr-extract/msgpackr-extract-win32-x64': 2.1.2 + '@msgpackr-extract/msgpackr-extract-darwin-arm64': 2.2.0 + '@msgpackr-extract/msgpackr-extract-darwin-x64': 2.2.0 + '@msgpackr-extract/msgpackr-extract-linux-arm': 2.2.0 + '@msgpackr-extract/msgpackr-extract-linux-arm64': 2.2.0 + '@msgpackr-extract/msgpackr-extract-linux-x64': 2.2.0 + '@msgpackr-extract/msgpackr-extract-win32-x64': 2.2.0 dev: true optional: true /msgpackr@1.6.2: resolution: {integrity: sha512-bqSQ0DYJbXbrJcrZFmMygUZmqQiDfI2ewFVWcrZY12w5XHWtPuW4WppDT/e63Uu311ajwkRRXSoF0uILroBeTA==} optionalDependencies: - msgpackr-extract: 2.1.2 + msgpackr-extract: 2.2.0 dev: true /multimatch@5.0.0: @@ -15176,8 +16262,8 @@ packages: thenify-all: 1.6.0 dev: true - /nan@2.16.0: - resolution: {integrity: sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==} + /nan@2.17.0: + resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} dev: true /nano-base32@1.0.1: @@ -15340,7 +16426,7 @@ packages: github-slugger: 2.0.0 graceful-fs: 4.2.10 gray-matter: 4.0.3 - katex: 0.16.4 + katex: 0.16.6 lodash.get: 4.4.2 next: 13.3.0(react-dom@18.2.0)(react@18.2.0) next-mdx-remote: 4.4.1(react-dom@18.2.0)(react@18.2.0) @@ -15373,15 +16459,27 @@ packages: ts-error: 1.0.6 dev: false - /nice-grpc-web@2.0.1(google-protobuf@3.21.0): + /nice-grpc-web@2.0.1(google-protobuf@3.21.0): + resolution: {integrity: sha512-r8jy0TJY6ZO9qWtujiqmtRkqgItAChoJxJyYv+CHacP9G5kRIH03M+sQqtieXNNDUAKfFT/z5yroSy1cPFX0sA==} + dependencies: + '@improbable-eng/grpc-web': 0.15.0(google-protobuf@3.21.0) + abort-controller-x: 0.4.1 + js-base64: 3.7.5 + nice-grpc-common: 2.0.0 + transitivePeerDependencies: + - google-protobuf + dev: true + + /nice-grpc-web@2.0.1(google-protobuf@3.21.2): resolution: {integrity: sha512-r8jy0TJY6ZO9qWtujiqmtRkqgItAChoJxJyYv+CHacP9G5kRIH03M+sQqtieXNNDUAKfFT/z5yroSy1cPFX0sA==} dependencies: - '@improbable-eng/grpc-web': 0.15.0(google-protobuf@3.21.0) + '@improbable-eng/grpc-web': 0.15.0(google-protobuf@3.21.2) abort-controller-x: 0.4.1 js-base64: 3.7.5 nice-grpc-common: 2.0.0 transitivePeerDependencies: - google-protobuf + dev: false /nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -15409,6 +16507,18 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 + dev: true + + /node-fetch@2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 /node-gyp-build-optional-packages@5.0.3: resolution: {integrity: sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==} @@ -15427,12 +16537,12 @@ packages: dependencies: env-paths: 2.2.1 glob: 7.2.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 make-fetch-happen: 10.2.1 nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.3.8 + semver: 7.5.0 tar: 6.1.11 which: 2.0.2 transitivePeerDependencies: @@ -15448,7 +16558,7 @@ packages: resolution: {integrity: sha512-JTdtUS0Im/yRsWJSx7yiW9rtpfmxqxolrtnyKwPLI+6XqTAPW/O2MjS8FYL4I5TsMbH2lVgDb2VMjp+9LoQGNg==} requiresBuild: true dependencies: - nan: 2.16.0 + nan: 2.17.0 dev: true /node-releases@2.0.10: @@ -15491,7 +16601,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.10.0 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-license: 3.0.4 dev: true @@ -15501,7 +16611,7 @@ packages: dependencies: hosted-git-info: 5.2.1 is-core-module: 2.10.0 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-license: 3.0.4 dev: true @@ -15511,7 +16621,7 @@ packages: dependencies: hosted-git-info: 6.1.1 is-core-module: 2.10.0 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-license: 3.0.4 dev: true @@ -15543,14 +16653,14 @@ packages: resolution: {integrity: sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - semver: 7.3.8 + semver: 7.5.0 dev: true - /npm-install-checks@6.1.0: - resolution: {integrity: sha512-udSGENih/5xKh3Ex+L0PtZcOt0Pa+6ppDLnpG5D49/EhMja3LupaY9E/DtJTxyFBwE09ot7Fc+H4DywnZNWTVA==} + /npm-install-checks@6.1.1: + resolution: {integrity: sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.3.8 + semver: 7.5.0 dev: true /npm-normalize-package-bin@1.0.1: @@ -15573,7 +16683,7 @@ packages: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-name: 5.0.0 dev: true @@ -15582,7 +16692,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 3.0.8 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-name: 3.0.0 dev: true @@ -15592,7 +16702,7 @@ packages: dependencies: hosted-git-info: 5.2.1 proc-log: 2.0.1 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-name: 4.0.0 dev: true @@ -15621,17 +16731,17 @@ packages: npm-install-checks: 5.0.0 npm-normalize-package-bin: 2.0.0 npm-package-arg: 9.1.2 - semver: 7.3.8 + semver: 7.5.0 dev: true /npm-pick-manifest@8.0.1: resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-install-checks: 6.1.0 + npm-install-checks: 6.1.1 npm-normalize-package-bin: 3.0.0 npm-package-arg: 10.1.0 - semver: 7.3.8 + semver: 7.5.0 dev: true /npm-registry-fetch@13.3.1: @@ -15639,7 +16749,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: make-fetch-happen: 10.2.1 - minipass: 3.3.4 + minipass: 3.3.6 minipass-fetch: 2.1.2 minipass-json-stream: 1.0.1 minizlib: 2.1.2 @@ -15654,9 +16764,25 @@ packages: resolution: {integrity: sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - make-fetch-happen: 11.0.3 - minipass: 4.2.5 - minipass-fetch: 3.0.1 + make-fetch-happen: 11.1.0 + minipass: 4.2.8 + minipass-fetch: 3.0.2 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 10.1.0 + proc-log: 3.0.0 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /npm-registry-fetch@14.0.4: + resolution: {integrity: sha512-pMS2DRkwg+M44ct65zrN/Cr9IHK1+n6weuefAo6Er4lc+/8YBCU0Czq04H3ZiSigluh7pb2rMM5JpgcytctB+Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + make-fetch-happen: 11.1.0 + minipass: 4.2.8 + minipass-fetch: 3.0.2 minipass-json-stream: 1.0.1 minizlib: 2.1.2 npm-package-arg: 10.1.0 @@ -15684,6 +16810,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 + dev: false /npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} @@ -15715,6 +16842,11 @@ packages: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} dev: true + /number-is-nan@1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} + engines: {node: '>=0.10.0'} + dev: true + /number-to-bn@1.7.0: resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} engines: {node: '>=6.5.0', npm: '>=3'} @@ -15746,7 +16878,7 @@ packages: '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.42 '@zkochan/js-yaml': 0.0.6 - axios: 1.3.4 + axios: 1.3.5 chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -15758,7 +16890,7 @@ packages: flat: 5.0.2 fs-extra: 11.1.1 glob: 7.1.4 - ignore: 5.2.0 + ignore: 5.2.4 js-yaml: 4.1.0 jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 @@ -15924,6 +17056,7 @@ packages: engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 + dev: false /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} @@ -15969,7 +17102,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.8.0 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -15985,7 +17118,7 @@ packages: resolution: {integrity: sha512-xQvd8qvx9U1iYY9aVqPpoF5V9uaWJKV6ZGljkh/jkiNX0DiQsjbWvRumbh10QTMDE8DheaOEU8xi0szbrgjzcw==} dependencies: is-stream: 1.1.0 - readable-stream: 2.3.7 + readable-stream: 2.3.8 dev: true /ordinal@1.0.3: @@ -16005,6 +17138,11 @@ packages: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: true + /p-limit@1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} @@ -16070,6 +17208,11 @@ packages: engines: {node: '>=8'} dev: true + /p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -16131,7 +17274,7 @@ packages: chownr: 2.0.0 fs-minipass: 2.1.0 infer-owner: 1.0.4 - minipass: 3.3.4 + minipass: 3.3.6 mkdirp: 1.0.4 npm-package-arg: 9.1.2 npm-packlist: 5.1.1 @@ -16160,17 +17303,17 @@ packages: '@npmcli/run-script': 6.0.0 cacache: 17.0.5 fs-minipass: 3.0.1 - minipass: 4.2.5 + minipass: 4.2.8 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 npm-pick-manifest: 8.0.1 - npm-registry-fetch: 14.0.3 + npm-registry-fetch: 14.0.4 proc-log: 3.0.0 promise-retry: 2.0.1 read-package-json: 6.0.1 read-package-json-fast: 3.0.2 sigstore: 1.2.0 - ssri: 10.0.2 + ssri: 10.0.3 tar: 6.1.11 transitivePeerDependencies: - bluebird @@ -16344,24 +17487,25 @@ packages: /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} + dev: false /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.6.3: - resolution: {integrity: sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g==} + /path-scurry@1.7.0: + resolution: {integrity: sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 7.18.3 - minipass: 4.2.5 + lru-cache: 9.0.3 + minipass: 5.0.0 dev: true /path-type@1.1.0: resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} engines: {node: '>=0.10.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 pify: 2.3.0 pinkie-promise: 2.0.1 dev: true @@ -16428,12 +17572,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - dev: true - /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -16492,7 +17630,13 @@ packages: find-up: 3.0.0 dev: false - /postcss-load-config@3.1.4: + /please-upgrade-node@3.2.0: + resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} + dependencies: + semver-compare: 1.0.0 + dev: true + + /postcss-load-config@3.1.4(ts-node@10.9.1): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -16505,6 +17649,7 @@ packages: optional: true dependencies: lilconfig: 2.0.5 + ts-node: 10.9.1(@types/node@17.0.34)(typescript@4.9.5) yaml: 1.10.2 dev: true @@ -16529,8 +17674,8 @@ packages: source-map-js: 1.0.2 dev: false - /postcss@8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + /postcss@8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -16788,6 +17933,13 @@ packages: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + /punycode@2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} @@ -16851,7 +18003,7 @@ packages: dependencies: deep-extend: 0.6.0 ini: 1.3.8 - minimist: 1.2.7 + minimist: 1.2.8 strip-json-comments: 2.0.1 dev: true @@ -16935,7 +18087,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: pinkie-promise: 2.0.1 - readable-stream: 2.3.7 + readable-stream: 2.3.8 dev: true /read-cmd-shim@3.0.0: @@ -16978,7 +18130,7 @@ packages: resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 9.3.4 + glob: 9.3.5 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 npm-normalize-package-bin: 3.0.0 @@ -17062,8 +18214,8 @@ packages: string_decoder: 0.10.31 dev: true - /readable-stream@2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -17369,6 +18521,15 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /resolve@2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true @@ -17407,10 +18568,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - dev: true - /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} hasBin: true @@ -17437,7 +18594,7 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - glob: 9.3.4 + glob: 9.3.5 dev: true /ripemd160-min@0.0.6: @@ -17481,6 +18638,12 @@ packages: rollup: 2.79.1 dev: true + /rollup-plugin-preserve-shebang@1.0.1: + resolution: {integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg==} + dependencies: + magic-string: 0.25.9 + dev: true + /rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: @@ -17511,6 +18674,14 @@ packages: fsevents: 2.3.2 dev: true + /rollup@3.20.6: + resolution: {integrity: sha512-2yEB3nQXp/tBQDN0hJScJQheXdvU2wFhh6ld7K/aiZ1vYcak6N/BKjY1QrU6BvO2JWYS8bEs14FRaxXosxy2zw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -17543,6 +18714,12 @@ packages: dependencies: tslib: 2.5.0 + /rxjs@7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + dependencies: + tslib: 2.5.0 + dev: true + /sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -17620,6 +18797,10 @@ packages: engines: {node: '>=4.1'} dev: true + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + dev: true + /semver-regex@1.0.0: resolution: {integrity: sha512-1vZcoRC+LPtHFkLUPyrabsATDSHerxW+hJBN8h04HZOZBuewbXaNROtUVdEPrTdZsWNq6sfsXDhd48GB2xTG4g==} engines: {node: '>=0.10.0'} @@ -17670,6 +18851,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.5.0: + resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /serialize-javascript@6.0.0: resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} dependencies: @@ -17780,8 +18969,8 @@ packages: hasBin: true dependencies: '@sigstore/protobuf-specs': 0.1.0 - make-fetch-happen: 11.0.3 - tuf-js: 1.1.2 + make-fetch-happen: 11.1.0 + tuf-js: 1.1.3 transitivePeerDependencies: - bluebird - supports-color @@ -17795,6 +18984,11 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + /slice-ansi@0.0.4: + resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} + engines: {node: '>=0.10.0'} + dev: true + /slice-ansi@2.1.0: resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} engines: {node: '>=6'} @@ -17804,15 +18998,6 @@ packages: is-fullwidth-code-point: 2.0.0 dev: true - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -17820,12 +19005,13 @@ packages: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 + dev: false /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} dependencies: - ansi-styles: 6.1.0 + ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true @@ -17840,13 +19026,13 @@ packages: dependencies: agent-base: 6.0.2 debug: 4.3.4(supports-color@8.1.1) - socks: 2.7.0 + socks: 2.7.1 transitivePeerDependencies: - supports-color dev: true - /socks@2.7.0: - resolution: {integrity: sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==} + /socks@2.7.1: + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} dependencies: ip: 2.0.0 @@ -17973,11 +19159,11 @@ packages: engines: {node: '>= 0.10'} dev: true - /spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.11 + spdx-license-ids: 3.0.13 dev: true /spdx-exceptions@2.3.0: @@ -17988,11 +19174,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.11 + spdx-license-ids: 3.0.13 dev: true - /spdx-license-ids@3.0.11: - resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} dev: true /split2@3.2.2: @@ -18015,18 +19201,18 @@ packages: engines: {node: '>=12'} dev: true - /ssri@10.0.2: - resolution: {integrity: sha512-LWMXUSh7fEfCXNBq4UnRzC4Qc5Y1PPg5ogmb+6HX837i2cKzjB133aYmQ4lgO0shVTcTQHquKp3v5bn898q3Sw==} + /ssri@10.0.3: + resolution: {integrity: sha512-lJtX/BFPI/VEtxZmLfeh7pzisIs6micwZ3eruD3+ds9aPsXKlYpwDS2Q7omD6WC42WO9+bnUSzlMmfv8uK8meg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 4.2.8 dev: true /ssri@9.0.1: resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /stable@0.1.8: @@ -18069,7 +19255,7 @@ packages: resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} dependencies: duplexer2: 0.1.4 - readable-stream: 2.3.7 + readable-stream: 2.3.8 dev: true /stream-shift@1.0.1: @@ -18080,11 +19266,6 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - /string-argv@0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} - engines: {node: '>=0.6.19'} - dev: true - /string-format@2.0.0: resolution: {integrity: sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==} @@ -18096,6 +19277,15 @@ packages: strip-ansi: 6.0.1 dev: true + /string-width@1.0.2: + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} + engines: {node: '>=0.10.0'} + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + dev: true + /string-width@2.1.1: resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} engines: {node: '>=4'} @@ -18186,6 +19376,15 @@ packages: character-entities-legacy: 3.0.0 dev: false + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + /strip-ansi@3.0.1: resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} engines: {node: '>=0.10.0'} @@ -18257,7 +19456,7 @@ packages: get-stdin: 4.0.1 is-absolute: 0.1.7 is-natural-number: 2.1.1 - minimist: 1.2.7 + minimist: 1.2.8 sum-up: 1.0.3 dev: true @@ -18273,6 +19472,7 @@ packages: /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + dev: false /strip-hex-prefix@1.0.0: resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} @@ -18301,6 +19501,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /strip-json-comments@3.0.1: + resolution: {integrity: sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==} + engines: {node: '>=8'} + dev: true + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -18325,7 +19530,7 @@ packages: hasBin: true dependencies: duplexer: 0.1.2 - minimist: 1.2.7 + minimist: 1.2.8 through: 2.3.8 dev: true @@ -18428,6 +19633,11 @@ packages: stable: 0.1.8 dev: true + /symbol-observable@1.2.0: + resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} + engines: {node: '>=0.10.0'} + dev: true + /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true @@ -18470,7 +19680,7 @@ packages: buffer-alloc: 1.2.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 - readable-stream: 2.3.7 + readable-stream: 2.3.8 to-buffer: 1.1.1 xtend: 4.0.2 dev: true @@ -18492,7 +19702,7 @@ packages: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 3.3.4 + minipass: 3.3.6 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -18578,7 +19788,7 @@ packages: resolution: {integrity: sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==} dependencies: callsites: 3.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 is-observable: 2.1.0 observable-fns: 0.6.1 optionalDependencies: @@ -18615,7 +19825,7 @@ packages: /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 xtend: 4.0.2 dev: true @@ -18872,7 +20082,42 @@ packages: yargs-parser: 20.2.9 dev: true - /ts-jest@28.0.8(@babel/core@7.21.3)(jest@28.1.3)(typescript@4.9.5): + /ts-jest@27.1.3(@babel/core@7.21.4)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.9.5): + resolution: {integrity: sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@types/jest': ^27.0.0 + babel-jest: '>=27.0.0 <28' + esbuild: ~0.14.0 + jest: ^27.0.0 + typescript: '>=3.8 <5.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/jest': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + '@babel/core': 7.21.4 + '@types/jest': 27.4.1 + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 27.5.1(ts-node@10.9.1) + jest-util: 27.5.1 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.3.8 + typescript: 4.9.5 + yargs-parser: 20.2.9 + dev: true + + /ts-jest@28.0.8(@babel/core@7.21.4)(jest@28.1.3)(typescript@4.9.5): resolution: {integrity: sha512-5FaG0lXmRPzApix8oFG8RKjAz4ehtm8yMKOTy5HX3fY6W8kmvOrmcY0hKDElW52FJov+clhUbrKAqofnj4mXTg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true @@ -18893,7 +20138,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 28.1.3(@types/node@17.0.34)(ts-node@10.9.1) @@ -18906,7 +20151,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.0.5(@babel/core@7.21.3)(jest@29.5.0)(typescript@4.9.5): + /ts-jest@29.0.5(@babel/core@7.21.4)(jest@29.5.0)(typescript@4.9.5): resolution: {integrity: sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -18927,10 +20172,10 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.5.0(@types/node@17.0.34) + jest: 29.5.0(@types/node@17.0.34)(ts-node@10.9.1) jest-util: 29.5.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -19002,17 +20247,13 @@ packages: engines: {node: '>=6'} dependencies: json5: 2.2.3 - minimist: 1.2.7 + minimist: 1.2.8 strip-bom: 3.0.0 dev: true /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - dev: false - /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} @@ -19020,7 +20261,7 @@ packages: resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} dev: true - /tsup@5.12.1(typescript@4.9.5): + /tsup@5.12.1(ts-node@10.9.1)(typescript@4.9.5): resolution: {integrity: sha512-vI7E4T6+6n5guQ9UKUOkQmzd1n4V9abGK71lbnzJMLJspbkNby5zlwWvgvHafLdYCb1WXpjFuqqmNLjBA0Wz3g==} hasBin: true peerDependencies: @@ -19037,7 +20278,7 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 3.1.4 + postcss-load-config: 3.1.4(ts-node@10.9.1) resolve-from: 5.0.0 rollup: 2.79.1 source-map: 0.7.4 @@ -19050,7 +20291,7 @@ packages: - ts-node dev: true - /tsup@6.6.3(typescript@4.9.5): + /tsup@6.6.3(ts-node@10.9.1)(typescript@4.9.5): resolution: {integrity: sha512-OLx/jFllYlVeZQ7sCHBuRVEQBBa1tFbouoc/gbYakyipjVQdWy/iQOvmExUA/ewap9iQ7tbJf9pW0PgcEFfJcQ==} engines: {node: '>=14.18'} hasBin: true @@ -19074,43 +20315,7 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 3.1.4 - resolve-from: 5.0.0 - rollup: 3.20.2 - source-map: 0.8.0-beta.0 - sucrase: 3.31.0 - tree-kill: 1.2.2 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - - /tsup@6.7.0(typescript@4.9.5): - resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} - engines: {node: '>=14.18'} - hasBin: true - peerDependencies: - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.1.0' - peerDependenciesMeta: - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - dependencies: - bundle-require: 4.0.1(esbuild@0.17.15) - cac: 6.7.14 - chokidar: 3.5.3 - debug: 4.3.4(supports-color@8.1.1) - esbuild: 0.17.15 - execa: 5.1.1 - globby: 11.1.0 - joycon: 3.1.1 - postcss-load-config: 3.1.4 + postcss-load-config: 3.1.4(ts-node@10.9.1) resolve-from: 5.0.0 rollup: 3.20.2 source-map: 0.8.0-beta.0 @@ -19155,12 +20360,12 @@ packages: typescript: 4.9.5 dev: true - /tuf-js@1.1.2: - resolution: {integrity: sha512-gBfbnS6khluxjvoFCpRV0fhWT265xNfpiNXOcBX0Ze6HGbPhe93UG5V5DdKcgm/aXsMadnY76l/h6j63GmJS5g==} + /tuf-js@1.1.3: + resolution: {integrity: sha512-jGYi5nG/kqgfTFQSdoN6PW9eIn+XRZqdXku+fSwNk6UpWIsWaV7pzAqPgFr85edOPhoyJDyBqCS+DCnHroMvrw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@tufjs/models': 1.0.1 - make-fetch-happen: 11.0.3 + '@tufjs/models': 1.0.2 + make-fetch-happen: 11.1.0 transitivePeerDependencies: - bluebird - supports-color @@ -19338,8 +20543,8 @@ packages: resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} dev: true - /uglify-js@3.17.0: - resolution: {integrity: sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==} + /uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true @@ -19635,7 +20840,7 @@ packages: /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: - spdx-correct: 3.1.1 + spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 dev: true @@ -19715,7 +20920,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: object-assign: 4.1.1 - readable-stream: 2.3.7 + readable-stream: 2.3.8 dev: true /vinyl-fs@2.4.4: @@ -19724,7 +20929,7 @@ packages: dependencies: duplexify: 3.7.1 glob-stream: 5.3.5 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 gulp-sourcemaps: 1.6.0 is-valid-glob: 0.3.0 lazystream: 1.0.1 @@ -19732,7 +20937,7 @@ packages: merge-stream: 1.0.1 mkdirp: 0.5.6 object-assign: 4.1.1 - readable-stream: 2.3.7 + readable-stream: 2.3.8 strip-bom: 2.0.0 strip-bom-stream: 1.0.0 through2: 2.0.5 @@ -19777,7 +20982,7 @@ packages: mlly: 1.2.0 pathe: 1.1.0 picocolors: 1.0.0 - vite: 4.2.1(@types/node@17.0.34) + vite: 4.3.0(@types/node@17.0.34) transitivePeerDependencies: - '@types/node' - less @@ -19798,7 +21003,7 @@ packages: mlly: 1.2.0 pathe: 1.1.0 picocolors: 1.0.0 - vite: 4.2.1(@types/node@17.0.34) + vite: 4.3.0(@types/node@17.0.34) transitivePeerDependencies: - '@types/node' - less @@ -19809,8 +21014,8 @@ packages: - terser dev: true - /vite@4.2.1(@types/node@17.0.34): - resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} + /vite@4.3.0(@types/node@17.0.34): + resolution: {integrity: sha512-JTGFgDh3dVxeGBpuQX04Up+JZmuG6wu9414Ei36vQzaEruY/M4K0AgwtuB2b4HaBgB7R8l+LHxjB0jcgz4d2qQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -19835,10 +21040,42 @@ packages: optional: true dependencies: '@types/node': 17.0.34 - esbuild: 0.17.15 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 3.20.2 + esbuild: 0.17.17 + postcss: 8.4.23 + rollup: 3.20.6 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vite@4.3.0(@types/node@18.15.11): + resolution: {integrity: sha512-JTGFgDh3dVxeGBpuQX04Up+JZmuG6wu9414Ei36vQzaEruY/M4K0AgwtuB2b4HaBgB7R8l+LHxjB0jcgz4d2qQ==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.15.11 + esbuild: 0.17.17 + postcss: 8.4.23 + rollup: 3.20.6 optionalDependencies: fsevents: 2.3.2 dev: true @@ -19895,7 +21132,7 @@ packages: tinybench: 2.4.0 tinypool: 0.4.0 tinyspy: 1.1.1 - vite: 4.2.1(@types/node@17.0.34) + vite: 4.3.0(@types/node@17.0.34) vite-node: 0.29.8(@types/node@17.0.34) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -19961,7 +21198,7 @@ packages: strip-literal: 1.0.1 tinybench: 2.4.0 tinypool: 0.4.0 - vite: 4.2.1(@types/node@17.0.34) + vite: 4.3.0(@types/node@17.0.34) vite-node: 0.30.1(@types/node@17.0.34) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -20016,7 +21253,7 @@ packages: /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: - defaults: 1.0.3 + defaults: 1.0.4 dev: true /weak-lru-cache@1.2.2: @@ -20164,6 +21401,14 @@ packages: resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} dev: true + /wrap-ansi@3.0.1: + resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==} + engines: {node: '>=4'} + dependencies: + string-width: 2.1.1 + strip-ansi: 4.0.0 + dev: true + /wrap-ansi@5.1.0: resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} engines: {node: '>=6'} @@ -20173,15 +21418,6 @@ packages: strip-ansi: 5.2.0 dev: false - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -20202,7 +21438,7 @@ packages: /write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 imurmurhash: 0.1.4 signal-exit: 3.0.7 dev: true @@ -20245,7 +21481,7 @@ packages: engines: {node: '>=6'} dependencies: detect-indent: 5.0.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 make-dir: 2.1.0 pify: 4.0.1 sort-keys: 2.0.0 @@ -20306,19 +21542,6 @@ packages: optional: true dev: true - /ws@8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - /xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: true @@ -20360,11 +21583,6 @@ packages: engines: {node: '>= 6'} dev: true - /yaml@2.1.1: - resolution: {integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==} - engines: {node: '>= 14'} - dev: true - /yargs-interactive@3.0.1: resolution: {integrity: sha512-Jnp88uiuz+ZRpM10Lwvs0nRetWPog+6lcgQrhwKsyEanAe3wgTlaPPzcYlZWp53aOMTzOcR5wEpEsFOMOPmLlw==} engines: {node: '>=8', npm: '>=6'}