From 4ef5252f55b4a8239899b8c17d15d85d3e9b2ac5 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 14 Jun 2024 15:23:26 -0700 Subject: [PATCH 01/45] feat: bump pnpm version --- package.json | 4 +-- pnpm-lock.yaml | 76 +++++++++++++++++++------------------------------- 2 files changed, 31 insertions(+), 49 deletions(-) diff --git a/package.json b/package.json index 280b63fb54..c2e517752f 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,8 @@ "name": "@near-js/monorepo", "private": true, "engines": { - "node": ">=16.14.0", - "pnpm": ">=7" + "node": ">=18.18.0", + "pnpm": ">=8" }, "scripts": { "preinstall": "npx only-allow pnpm", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ef65e6113..54abda454e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,7 +1,7 @@ lockfileVersion: '9.0' settings: - autoInstallPeers: false + autoInstallPeers: true excludeLinksFromLockfile: false overrides: @@ -257,10 +257,10 @@ importers: devDependencies: jest: specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(typescript@4.9.4)) + version: 26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) ts-jest: specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(typescript@4.9.4)))(typescript@4.9.4) + version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -5531,7 +5531,7 @@ snapshots: - ts-node - utf-8-validate - '@jest/core@26.6.3(ts-node@10.9.2(typescript@4.9.4))': + '@jest/core@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4))': dependencies: '@jest/console': 26.6.2 '@jest/reporters': 26.6.2 @@ -5544,14 +5544,14 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 26.6.2 - jest-config: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-config: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-haste-map: 26.6.2 jest-message-util: 26.6.2 jest-regex-util: 26.0.0 jest-resolve: 26.6.2 jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) - jest-runtime: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-runner: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-snapshot: 26.6.2 jest-util: 26.6.2 jest-validate: 26.6.2 @@ -5648,13 +5648,13 @@ snapshots: - ts-node - utf-8-validate - '@jest/test-sequencer@26.6.3(ts-node@10.9.2(typescript@4.9.4))': + '@jest/test-sequencer@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4))': dependencies: '@jest/test-result': 26.6.2 graceful-fs: 4.2.11 jest-haste-map: 26.6.2 - jest-runner: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) - jest-runtime: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-runner: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) transitivePeerDependencies: - bufferutil - canvas @@ -8214,9 +8214,9 @@ snapshots: - ts-node - utf-8-validate - jest-cli@26.6.3(ts-node@10.9.2(typescript@4.9.4)): + jest-cli@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: - '@jest/core': 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + '@jest/core': 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 chalk: 4.1.1 @@ -8224,7 +8224,7 @@ snapshots: graceful-fs: 4.2.11 import-local: 3.1.0 is-ci: 2.0.0 - jest-config: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-config: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-util: 26.6.2 jest-validate: 26.6.2 prompts: 2.4.2 @@ -8264,10 +8264,10 @@ snapshots: - supports-color - utf-8-validate - jest-config@26.6.3(ts-node@10.9.2(typescript@4.9.4)): + jest-config@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: '@babel/core': 7.24.4 - '@jest/test-sequencer': 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + '@jest/test-sequencer': 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) '@jest/types': 26.6.2 babel-jest: 26.6.3(@babel/core@7.24.4) chalk: 4.1.1 @@ -8277,7 +8277,7 @@ snapshots: jest-environment-jsdom: 26.6.2 jest-environment-node: 26.6.2 jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-jasmine2: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-regex-util: 26.0.0 jest-resolve: 26.6.2 jest-util: 26.6.2 @@ -8285,7 +8285,7 @@ snapshots: micromatch: 4.0.5 pretty-format: 26.6.2 optionalDependencies: - ts-node: 10.9.2(typescript@4.9.4) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.4) transitivePeerDependencies: - bufferutil - canvas @@ -8384,7 +8384,7 @@ snapshots: - ts-node - utf-8-validate - jest-jasmine2@26.6.3(ts-node@10.9.2(typescript@4.9.4)): + jest-jasmine2@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: '@babel/traverse': 7.24.1 '@jest/environment': 26.6.2 @@ -8399,7 +8399,7 @@ snapshots: jest-each: 26.6.2 jest-matcher-utils: 26.6.2 jest-message-util: 26.6.2 - jest-runtime: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-snapshot: 26.6.2 jest-util: 26.6.2 pretty-format: 26.6.2 @@ -8494,7 +8494,7 @@ snapshots: - ts-node - utf-8-validate - jest-runner@26.6.3(ts-node@10.9.2(typescript@4.9.4)): + jest-runner@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: '@jest/console': 26.6.2 '@jest/environment': 26.6.2 @@ -8505,13 +8505,13 @@ snapshots: emittery: 0.7.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-config: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-docblock: 26.0.0 jest-haste-map: 26.6.2 jest-leak-detector: 26.6.2 jest-message-util: 26.6.2 jest-resolve: 26.6.2 - jest-runtime: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-util: 26.6.2 jest-worker: 26.6.2 source-map-support: 0.5.21 @@ -8559,7 +8559,7 @@ snapshots: - ts-node - utf-8-validate - jest-runtime@26.6.3(ts-node@10.9.2(typescript@4.9.4)): + jest-runtime@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: '@jest/console': 26.6.2 '@jest/environment': 26.6.2 @@ -8576,7 +8576,7 @@ snapshots: exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - jest-config: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-config: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-haste-map: 26.6.2 jest-message-util: 26.6.2 jest-mock: 26.6.2 @@ -8667,11 +8667,11 @@ snapshots: - ts-node - utf-8-validate - jest@26.0.1(ts-node@10.9.2(typescript@4.9.4)): + jest@26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: - '@jest/core': 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + '@jest/core': 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) import-local: 3.1.0 - jest-cli: 26.6.3(ts-node@10.9.2(typescript@4.9.4)) + jest-cli: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) transitivePeerDependencies: - bufferutil - canvas @@ -10141,12 +10141,12 @@ snapshots: typescript: 4.9.4 yargs-parser: 20.2.9 - ts-jest@26.5.6(jest@26.0.1(ts-node@10.9.2(typescript@4.9.4)))(typescript@4.9.4): + ts-jest@26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)))(typescript@4.9.4): dependencies: bs-logger: 0.2.6 buffer-from: 1.1.2 fast-json-stable-stringify: 2.1.0 - jest: 26.0.1(ts-node@10.9.2(typescript@4.9.4)) + jest: 26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) jest-util: 26.6.2 json5: 2.2.3 lodash: 4.17.21 @@ -10193,24 +10193,6 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(typescript@4.9.4): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - acorn: 8.11.3 - acorn-walk: 8.3.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.9.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optional: true - tslib@1.14.1: {} tslib@2.6.2: {} From 702606ae694d23c1533fab12b1e27f63f942717b Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 14 Jun 2024 15:42:45 -0700 Subject: [PATCH 02/45] feat: isomorphic fetch for providers --- packages/providers/package.json | 3 +- packages/providers/src/fetch.ts | 21 ---- packages/providers/src/fetch_json.ts | 105 +++++++++++--------- packages/providers/src/index.ts | 1 - packages/providers/src/json-rpc-provider.ts | 4 +- packages/providers/tsconfig.json | 2 +- pnpm-lock.yaml | 72 +++++++++++++- 7 files changed, 133 insertions(+), 75 deletions(-) delete mode 100644 packages/providers/src/fetch.ts diff --git a/packages/providers/package.json b/packages/providers/package.json index 918e995e8c..3bdfe5db47 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -20,7 +20,8 @@ "@near-js/types": "workspace:*", "@near-js/utils": "workspace:*", "borsh": "1.0.0", - "http-errors": "1.7.2" + "exponential-backoff": "^3.1.1", + "isomorphic-unfetch": "^4.0.2" }, "devDependencies": { "@types/node": "18.11.18", diff --git a/packages/providers/src/fetch.ts b/packages/providers/src/fetch.ts deleted file mode 100644 index bd9660e068..0000000000 --- a/packages/providers/src/fetch.ts +++ /dev/null @@ -1,21 +0,0 @@ -import fetch from 'node-fetch'; -import http from 'http'; -import https from 'https'; - -const httpAgent = new http.Agent({ keepAlive: true }); -const httpsAgent = new https.Agent({ keepAlive: true }); - -function agent(_parsedURL) { - if (_parsedURL.protocol === 'http:') { - return httpAgent; - } else { - return httpsAgent; - } -} - -export default function (resource, init) { - return fetch(resource, { - agent: agent(new URL(resource.toString())), - ...init, - }); -} diff --git a/packages/providers/src/fetch_json.ts b/packages/providers/src/fetch_json.ts index 376767eeab..4f0b249d58 100644 --- a/packages/providers/src/fetch_json.ts +++ b/packages/providers/src/fetch_json.ts @@ -1,65 +1,78 @@ import { TypedError } from '@near-js/types'; -import { Logger } from '@near-js/utils'; -import createError from 'http-errors'; +import { backOff } from 'exponential-backoff'; +import unfetch from 'isomorphic-unfetch'; -import { exponentialBackoff } from './exponential-backoff'; - -const START_WAIT_TIME_MS = 1000; const BACKOFF_MULTIPLIER = 1.5; const RETRY_NUMBER = 10; +const retryConfig = { + numOfAttempts: RETRY_NUMBER, + timeMultiple: BACKOFF_MULTIPLIER, + retry: (e: ProviderError) => { + if ([503, 408].includes(e.cause)) { + return true; + } + + if (['FetchError', 'Failed to fetch'].includes(e.toString())) { + return true; + } + + return false; + } +}; + export interface ConnectionInfo { url: string; - user?: string; - password?: string; - allowInsecure?: boolean; - timeout?: number; headers?: { [key: string]: string | number }; } +class ProviderError extends Error { + cause: number; + constructor(message: string, options: any) { + // @ts-expect-error ok + super(message, options); + } +} + +interface JsonRpcRequest { + id: number; + jsonrpc: string; + method: string; + params: object; +} + /** - * Performs an HTTP request to a specified URL or connection and returns the parsed JSON response. - * @param connectionInfoOrUrl The connection information or URL for the HTTP request. - * @param json The JSON payload to be included in the request body for POST requests. - * @returns A Promise that resolves to the parsed JSON response from the HTTP request. + * Performs an HTTP request to an RPC endpoint + * @param url URL for the HTTP request + * @param json Request body + * @param headers HTTP headers to include with the request + * @returns Promise }arsed JSON response from the HTTP request. */ -export async function fetchJson(connectionInfoOrUrl: string | ConnectionInfo, json?: string): Promise { - let connectionInfo: ConnectionInfo = { url: null }; - if (typeof (connectionInfoOrUrl) === 'string') { - connectionInfo.url = connectionInfoOrUrl; - } else { - connectionInfo = connectionInfoOrUrl as ConnectionInfo; - } +export async function fetchJsonRpc(url: string, json: JsonRpcRequest, headers: object): Promise { + const response = await backOff(async () => { + const res = await unfetch(url, { + method: 'POST', + body: JSON.stringify(json), + headers: { ...headers, 'Content-Type': 'application/json' } + }); - const response = await exponentialBackoff(START_WAIT_TIME_MS, RETRY_NUMBER, BACKOFF_MULTIPLIER, async () => { - try { + const { ok, status } = res; + if (!ok) { + throw new ProviderError(await res.text(), { cause: status }) + } - const response = await (global.fetch ?? (await import('./fetch')).default)(connectionInfo.url, { - method: json ? 'POST' : 'GET', - body: json ? json : undefined, - headers: { ...connectionInfo.headers, 'Content-Type': 'application/json' } - }); - if (!response.ok) { - if (response.status === 503) { - Logger.warn(`Retrying HTTP request for ${connectionInfo.url} as it's not available now`); - return null; - } else if (response.status === 408) { - Logger.warn(`Retrying HTTP request for ${connectionInfo.url} as the previous connection was unused for some time`); - return null; - } - throw createError(response.status, await response.text()); - } - return response; - } catch (error) { - if (error.toString().includes('FetchError') || error.toString().includes('Failed to fetch')) { - Logger.warn(`Retrying HTTP request for ${connectionInfo.url} because of error: ${error}`); - return null; - } - throw error; + if (status === 503) { + throw new ProviderError(`${url} unavailable`, { cause: status }); + } else if (status === 408) { + throw new ProviderError('Unused connection', { cause: status }); } - }); + + return res; + }, retryConfig); + if (!response) { - throw new TypedError(`Exceeded ${RETRY_NUMBER} attempts for ${connectionInfo.url}.`, 'RetriesExceeded'); + throw new TypedError(`Exceeded ${RETRY_NUMBER} attempts for ${url}.`, 'RetriesExceeded'); } + return await response.json(); } diff --git a/packages/providers/src/index.ts b/packages/providers/src/index.ts index 98ce912fdb..ff4d791ed1 100644 --- a/packages/providers/src/index.ts +++ b/packages/providers/src/index.ts @@ -2,4 +2,3 @@ export { exponentialBackoff } from './exponential-backoff'; export { JsonRpcProvider } from './json-rpc-provider'; export { FailoverRpcProvider } from './failover-rpc-provider'; export { Provider } from './provider'; -export { fetchJson } from './fetch_json'; diff --git a/packages/providers/src/json-rpc-provider.ts b/packages/providers/src/json-rpc-provider.ts index c12ed55f53..040045cc4c 100644 --- a/packages/providers/src/json-rpc-provider.ts +++ b/packages/providers/src/json-rpc-provider.ts @@ -41,7 +41,7 @@ import { import { exponentialBackoff } from './exponential-backoff'; import { Provider } from './provider'; -import { ConnectionInfo, fetchJson } from './fetch_json'; +import { ConnectionInfo, fetchJsonRpc } from './fetch_json'; import { TxExecutionStatus } from '@near-js/types'; /** @hidden */ @@ -386,7 +386,7 @@ export class JsonRpcProvider extends Provider { id: (_nextId++), jsonrpc: '2.0' }; - const response = await fetchJson(this.connection, JSON.stringify(request)); + const response = await fetchJsonRpc(this.connection.url, request, this.connection.headers); if (response.error) { if (typeof response.error.data === 'object') { if (typeof response.error.data.error_message === 'string' && typeof response.error.data.error_type === 'string') { diff --git a/packages/providers/tsconfig.json b/packages/providers/tsconfig.json index ae42955e48..a59a60a900 100644 --- a/packages/providers/tsconfig.json +++ b/packages/providers/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.node.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54abda454e..85b932e271 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -407,9 +407,12 @@ importers: borsh: specifier: 1.0.0 version: 1.0.0 - http-errors: - specifier: 1.7.2 - version: 1.7.2 + exponential-backoff: + specifier: ^3.1.1 + version: 3.1.1 + isomorphic-unfetch: + specifier: ^4.0.2 + version: 4.0.2 optionalDependencies: node-fetch: specifier: 2.6.7 @@ -1925,6 +1928,10 @@ packages: dash-ast@1.0.0: resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + data-urls@2.0.0: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} @@ -2306,6 +2313,9 @@ packages: resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} engines: {node: '>= 10.14.2'} + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -2353,6 +2363,10 @@ packages: fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + fido2-lib@3.4.1: resolution: {integrity: sha512-efNrRbckp48AW7Q43o6gcp8/wnoBM7hwKikQntdiR2/NqVMPaCXFQs8kJ9wQqfv5V3PxZdg4kD9DpxdqYl6jxQ==} engines: {node: '>=10'} @@ -2410,6 +2424,10 @@ packages: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + fragment-cache@0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} engines: {node: '>=0.10.0'} @@ -2982,6 +3000,9 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} + isomorphic-unfetch@4.0.2: + resolution: {integrity: sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==} + istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -3568,6 +3589,10 @@ packages: node-cleanup@2.1.2: resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + node-fetch@1.7.3: resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} @@ -3580,6 +3605,10 @@ packages: encoding: optional: true + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-gyp-build-optional-packages@5.1.1: resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} hasBin: true @@ -4698,6 +4727,9 @@ packages: resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} hasBin: true + unfetch@5.0.0: + resolution: {integrity: sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==} + union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} @@ -4794,6 +4826,10 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + webcrypto-core@1.7.9: resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} @@ -6982,6 +7018,8 @@ snapshots: dash-ast@1.0.0: {} + data-uri-to-buffer@4.0.1: {} + data-urls@2.0.0: dependencies: abab: 2.0.6 @@ -7440,6 +7478,8 @@ snapshots: jest-message-util: 26.6.2 jest-regex-util: 26.0.0 + exponential-backoff@3.1.1: {} + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -7498,6 +7538,11 @@ snapshots: dependencies: bser: 2.1.1 + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + fido2-lib@3.4.1: dependencies: '@hexagon/base64': 1.1.26 @@ -7572,6 +7617,10 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + fragment-cache@0.2.1: dependencies: map-cache: 0.2.2 @@ -8146,6 +8195,11 @@ snapshots: isobject@3.0.1: {} + isomorphic-unfetch@4.0.2: + dependencies: + node-fetch: 3.3.2 + unfetch: 5.0.0 + istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@4.0.3: @@ -9178,6 +9232,8 @@ snapshots: node-cleanup@2.1.2: {} + node-domexception@1.0.0: {} + node-fetch@1.7.3: dependencies: encoding: 0.1.13 @@ -9189,6 +9245,12 @@ snapshots: optionalDependencies: encoding: 0.1.13 + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + node-gyp-build-optional-packages@5.1.1: dependencies: detect-libc: 2.0.3 @@ -10364,6 +10426,8 @@ snapshots: simple-concat: 1.0.1 xtend: 4.0.2 + unfetch@5.0.0: {} + union-value@1.0.1: dependencies: arr-union: 3.1.0 @@ -10459,6 +10523,8 @@ snapshots: dependencies: defaults: 1.0.4 + web-streams-polyfill@3.3.3: {} + webcrypto-core@1.7.9: dependencies: '@peculiar/asn1-schema': 2.3.8 From cd88aaf623625471db9832578ac93d165030e7d7 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Thu, 13 Jun 2024 17:10:11 -0700 Subject: [PATCH 03/45] feat: use isomorphic fetch in accounts package --- packages/accounts/package.json | 1 + packages/accounts/src/account_2fa.ts | 19 ++++++++++++++----- packages/accounts/src/account_creator.ts | 7 +++++-- pnpm-lock.yaml | 3 +++ 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/packages/accounts/package.json b/packages/accounts/package.json index c43fe6e6ea..27d4bec1aa 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -25,6 +25,7 @@ "borsh": "1.0.0", "depd": "2.0.0", "is-my-json-valid": "^2.20.6", + "isomorphic-unfetch": "^4.0.2", "lru_map": "0.4.1", "near-abi": "0.1.1" }, diff --git a/packages/accounts/src/account_2fa.ts b/packages/accounts/src/account_2fa.ts index 78533fbee9..26ce031c46 100644 --- a/packages/accounts/src/account_2fa.ts +++ b/packages/accounts/src/account_2fa.ts @@ -1,8 +1,8 @@ import { PublicKey } from '@near-js/crypto'; import { FinalExecutionOutcome, TypedError, FunctionCallPermissionView } from '@near-js/types'; -import { fetchJson } from '@near-js/providers'; import { actionCreators } from '@near-js/transactions'; import { Logger } from '@near-js/utils' +import unfetch from 'isomorphic-unfetch'; import { SignAndSendTransactionOptions } from './account'; import { AccountMultisig } from './account_multisig'; @@ -75,6 +75,7 @@ export class Account2FA extends AccountMultisig { const { accountId } = this; const seedOrLedgerKey = (await this.getRecoveryMethods()).data + // @ts-ignore .filter(({ kind, publicKey }) => (kind === 'phrase' || kind === 'ledger') && publicKey !== null) .map((rm) => rm.publicKey); @@ -83,6 +84,7 @@ export class Account2FA extends AccountMultisig { .map((ak) => ak.public_key) .map(toPK); + // @ts-ignore const confirmOnlyKey = toPK((await this.postSignedJson('/2fa/getAccessKey', { accountId })).publicKey); const newArgs = Buffer.from(JSON.stringify({ 'num_confirmations': 2 })); @@ -177,6 +179,7 @@ export class Account2FA extends AccountMultisig { perm.method_names.length === 4 && perm.method_names.includes('add_request_and_confirm'); }); + // @ts-ignore const confirmOnlyKey = PublicKey.from((await this.postSignedJson('/2fa/getAccessKey', { accountId })).publicKey); return [ deleteKey(confirmOnlyKey), @@ -298,10 +301,13 @@ export class Account2FA extends AccountMultisig { */ async get2faMethod() { let { data } = await this.getRecoveryMethods(); + // @ts-ignore if (data && data.length) { + // @ts-ignore data = data.find((m) => m.kind.indexOf('2fa-') === 0); } if (!data) return null; + // @ts-ignore const { kind, detail } = data; return { kind, detail }; } @@ -326,10 +332,13 @@ export class Account2FA extends AccountMultisig { * @returns {Promise} - A promise that resolves to the response from the helper. */ async postSignedJson(path, body) { - return await fetchJson(this.helperUrl + path, JSON.stringify({ - ...body, - ...(await this.signatureFor()) - })); + return await unfetch(this.helperUrl + path, { + body: JSON.stringify({ + ...body, + ...(await this.signatureFor()), + }), + method: 'POST', + }); } } diff --git a/packages/accounts/src/account_creator.ts b/packages/accounts/src/account_creator.ts index 62fac47fdb..40cadf8127 100644 --- a/packages/accounts/src/account_creator.ts +++ b/packages/accounts/src/account_creator.ts @@ -1,5 +1,5 @@ import { PublicKey } from '@near-js/crypto'; -import { fetchJson } from '@near-js/providers'; +import unfetch from 'isomorphic-unfetch'; import { Connection } from './connection'; import { Account } from './account'; @@ -50,6 +50,9 @@ export class UrlAccountCreator extends AccountCreator { * @returns {Promise} */ async createAccount(newAccountId: string, publicKey: PublicKey): Promise { - await fetchJson(`${this.helperUrl}/account`, JSON.stringify({ newAccountId, newAccountPublicKey: publicKey.toString() })); + await unfetch(`${this.helperUrl}/account`, { + body: JSON.stringify({ newAccountId, newAccountPublicKey: publicKey.toString() }), + method: 'POST', + }); } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85b932e271..71e594243a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,6 +81,9 @@ importers: is-my-json-valid: specifier: ^2.20.6 version: 2.20.6 + isomorphic-unfetch: + specifier: ^4.0.2 + version: 4.0.2 lru_map: specifier: 0.4.1 version: 0.4.1 From 693c912505ccb816ea7891dc61193faa08a2bf63 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Thu, 13 Jun 2024 17:10:30 -0700 Subject: [PATCH 04/45] feat: remove fetching utils in near-api-js --- packages/near-api-js/src/utils/index.ts | 2 -- .../near-api-js/src/utils/setup-node-fetch.ts | 21 ------------------- packages/near-api-js/src/utils/web.ts | 1 - 3 files changed, 24 deletions(-) delete mode 100644 packages/near-api-js/src/utils/setup-node-fetch.ts delete mode 100644 packages/near-api-js/src/utils/web.ts diff --git a/packages/near-api-js/src/utils/index.ts b/packages/near-api-js/src/utils/index.ts index 43f784c3da..be8119f592 100644 --- a/packages/near-api-js/src/utils/index.ts +++ b/packages/near-api-js/src/utils/index.ts @@ -1,7 +1,6 @@ import * as key_pair from './key_pair'; import * as serialize from './serialize'; -import * as web from './web'; import * as enums from './enums'; import * as format from './format'; import * as rpc_errors from './rpc_errors'; @@ -13,7 +12,6 @@ import { Logger } from './logger'; export { key_pair, serialize, - web, enums, format, PublicKey, diff --git a/packages/near-api-js/src/utils/setup-node-fetch.ts b/packages/near-api-js/src/utils/setup-node-fetch.ts deleted file mode 100644 index bd9660e068..0000000000 --- a/packages/near-api-js/src/utils/setup-node-fetch.ts +++ /dev/null @@ -1,21 +0,0 @@ -import fetch from 'node-fetch'; -import http from 'http'; -import https from 'https'; - -const httpAgent = new http.Agent({ keepAlive: true }); -const httpsAgent = new https.Agent({ keepAlive: true }); - -function agent(_parsedURL) { - if (_parsedURL.protocol === 'http:') { - return httpAgent; - } else { - return httpsAgent; - } -} - -export default function (resource, init) { - return fetch(resource, { - agent: agent(new URL(resource.toString())), - ...init, - }); -} diff --git a/packages/near-api-js/src/utils/web.ts b/packages/near-api-js/src/utils/web.ts deleted file mode 100644 index ba8d09f15b..0000000000 --- a/packages/near-api-js/src/utils/web.ts +++ /dev/null @@ -1 +0,0 @@ -export { fetchJson } from '@near-js/providers'; From 0ea2171e51247069529ea7fc595ff97c9dc1d0b9 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 14 Jun 2024 09:53:49 -0700 Subject: [PATCH 05/45] feat: remove process reference --- packages/utils/src/logger/logger.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/utils/src/logger/logger.ts b/packages/utils/src/logger/logger.ts index d528a6792d..e23ae8c2a7 100644 --- a/packages/utils/src/logger/logger.ts +++ b/packages/utils/src/logger/logger.ts @@ -10,10 +10,7 @@ const DEFAULT_LOG_LEVELS: LogLevel[] = [ 'fatal', ]; -const DEFAULT_LOGGER = - typeof process === 'object' && process.env.NEAR_NO_LOGS - ? undefined - : new ConsoleLogger(DEFAULT_LOG_LEVELS); +const DEFAULT_LOGGER = new ConsoleLogger(DEFAULT_LOG_LEVELS); /** * Used to log the library messages From 73e8fd0a4c716c455ce151605dd71af5175d336a Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 14 Jun 2024 15:55:22 -0700 Subject: [PATCH 06/45] feat: modules --- packages/accounts/package.json | 1 + packages/biometric-ed25519/package.json | 1 + packages/crypto/package.json | 1 + packages/iframe-rpc/package.json | 1 + packages/keystores-browser/package.json | 1 + packages/keystores-node/package.json | 1 + packages/keystores/package.json | 1 + packages/near-api-js/package.json | 1 + packages/providers/package.json | 1 + packages/signers/package.json | 3 ++- packages/transactions/package.json | 1 + packages/types/package.json | 1 + packages/types/tsconfig.json | 2 +- packages/utils/package.json | 1 + packages/wallet-account/package.json | 3 ++- tsconfig.base.json | 4 ++-- 16 files changed, 19 insertions(+), 5 deletions(-) diff --git a/packages/accounts/package.json b/packages/accounts/package.json index 27d4bec1aa..c862df194d 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -3,6 +3,7 @@ "version": "1.2.2", "description": "Classes encapsulating account-specific functionality", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/biometric-ed25519/package.json b/packages/biometric-ed25519/package.json index 0ad0de4ed3..09d6b9ae28 100644 --- a/packages/biometric-ed25519/package.json +++ b/packages/biometric-ed25519/package.json @@ -4,6 +4,7 @@ "version": "1.2.5", "main": "lib/index.js", "types": "lib/index.d.ts", + "type": "module", "scripts": { "build": "tsc -p ./tsconfig.json", "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 60ad6f7abe..ceaef8678b 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -3,6 +3,7 @@ "version": "1.3.0", "description": "Abstractions around NEAR-compatible elliptical curves and cryptographic keys", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/iframe-rpc/package.json b/packages/iframe-rpc/package.json index b5ceed78ef..f2ee2782ed 100644 --- a/packages/iframe-rpc/package.json +++ b/packages/iframe-rpc/package.json @@ -4,6 +4,7 @@ "description": "IFrame RPC client/server implementation", "main": "lib/index.js", "types": "lib/index.d.ts", + "type": "module", "scripts": { "build": "tsc -p ./tsconfig.json" }, diff --git a/packages/keystores-browser/package.json b/packages/keystores-browser/package.json index b3cdfa586d..9317466eb7 100644 --- a/packages/keystores-browser/package.json +++ b/packages/keystores-browser/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "description": "KeyStore implementation for working with keys in browser LocalStorage", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index a4f77406d3..cbd7e5bc3e 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -3,6 +3,7 @@ "version": "0.0.13", "description": "KeyStore implementation for working with keys in the local filesystem", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/keystores/package.json b/packages/keystores/package.json index 70d0527b46..4fd0d875eb 100644 --- a/packages/keystores/package.json +++ b/packages/keystores/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "description": "Key storage and management implementations", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index e4518a456a..722a558242 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -10,6 +10,7 @@ "main": "lib/index.js", "browser": "lib/browser-index.js", "types": "lib/index.d.ts", + "type": "module", "dependencies": { "@near-js/accounts": "workspace:*", "@near-js/crypto": "workspace:*", diff --git a/packages/providers/package.json b/packages/providers/package.json index 3bdfe5db47..b1ca885d2f 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -3,6 +3,7 @@ "version": "0.2.3", "description": "Library of implementations for interfacing with the NEAR blockchain", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/signers/package.json b/packages/signers/package.json index b6366bcf8a..eedd7efbcb 100644 --- a/packages/signers/package.json +++ b/packages/signers/package.json @@ -1,8 +1,9 @@ { "name": "@near-js/signers", "version": "0.1.5", - "description": "Core dependencies for the NEAR API JavaScript client", + "description": "Modules for cryptographically signing messages", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/transactions/package.json b/packages/transactions/package.json index cb5772d1c3..1b795fe6db 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -3,6 +3,7 @@ "version": "1.2.3", "description": "Functions and data types for transactions on NEAR", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/types/package.json b/packages/types/package.json index 3a04145cf3..38acd2fcc9 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -3,6 +3,7 @@ "version": "0.2.1", "description": "TypeScript types for working with the Near JS API", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index ae42955e48..a59a60a900 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.node.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/utils/package.json b/packages/utils/package.json index 61320c09d0..ba20672147 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -3,6 +3,7 @@ "version": "0.3.0", "description": "Common methods and constants for the NEAR API JavaScript client", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", diff --git a/packages/wallet-account/package.json b/packages/wallet-account/package.json index e6cc155637..e176e4146f 100644 --- a/packages/wallet-account/package.json +++ b/packages/wallet-account/package.json @@ -3,6 +3,7 @@ "version": "1.2.3", "description": "Dependencies for the NEAR API JavaScript client in the browser", "main": "lib/index.js", + "type": "module", "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", @@ -15,11 +16,11 @@ "@near-js/accounts": "workspace:*", "@near-js/crypto": "workspace:*", "@near-js/keystores": "workspace:*", + "@near-js/providers": "workspace:*", "@near-js/signers": "workspace:*", "@near-js/transactions": "workspace:*", "@near-js/types": "workspace:*", "@near-js/utils": "workspace:*", - "@near-js/providers": "workspace:*", "borsh": "1.0.0" }, "devDependencies": { diff --git a/tsconfig.base.json b/tsconfig.base.json index bdf0a92ecc..9e49a72e0e 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,8 +1,8 @@ { "compilerOptions": { "esModuleInterop": true, - "module": "commonjs", - "target": "es2016", + "module": "esnext", + "target": "esnext", "moduleResolution": "node", "alwaysStrict": true, "declaration": true, From d29d80b2ebb2ded55025f73a0fd73c2094f76508 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 14 Jun 2024 16:29:33 -0700 Subject: [PATCH 07/45] feat: bundles --- packages/accounts/package.json | 3 +- .../src/local-view-execution/runtime.ts | 6 +- packages/near-api-js/browser-exports.js | 1 - packages/near-api-js/esbuild.inject.js | 2 + packages/near-api-js/package.json | 19 +- packages/providers/package.json | 2 +- packages/providers/src/fetch_json.ts | 1 - pnpm-lock.yaml | 1070 ++++++++++------- 8 files changed, 662 insertions(+), 442 deletions(-) create mode 100644 packages/near-api-js/esbuild.inject.js diff --git a/packages/accounts/package.json b/packages/accounts/package.json index c862df194d..716f676b95 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -23,10 +23,11 @@ "@near-js/transactions": "workspace:*", "@near-js/types": "workspace:*", "@near-js/utils": "workspace:*", + "@noble/hashes": "1.3.3", "borsh": "1.0.0", "depd": "2.0.0", "is-my-json-valid": "^2.20.6", - "isomorphic-unfetch": "^4.0.2", + "isomorphic-unfetch": "^3.1.0", "lru_map": "0.4.1", "near-abi": "0.1.1" }, diff --git a/packages/accounts/src/local-view-execution/runtime.ts b/packages/accounts/src/local-view-execution/runtime.ts index d684348052..34311d2ee1 100644 --- a/packages/accounts/src/local-view-execution/runtime.ts +++ b/packages/accounts/src/local-view-execution/runtime.ts @@ -1,4 +1,4 @@ -import { createHash } from 'crypto'; +import { sha256 } from '@noble/hashes/sha256'; import { ContractState } from './types'; const notImplemented = @@ -269,9 +269,7 @@ export class Runtime { private sha256 (valueLen: bigint, valuePtr: bigint, registerId: bigint) { const value = new Uint8Array(this.memory.buffer, Number(valuePtr), Number(valueLen)); - const hash = createHash('sha256'); - hash.update(value); - this.registers[registerId.toString()] = hash.digest(); + this.registers[registerId.toString()] = sha256(value); } private returnValue (valueLen: bigint, valuePtr: bigint) { diff --git a/packages/near-api-js/browser-exports.js b/packages/near-api-js/browser-exports.js index 7ea92149e6..60d12ac115 100644 --- a/packages/near-api-js/browser-exports.js +++ b/packages/near-api-js/browser-exports.js @@ -1,2 +1 @@ window.nearApi = require('./lib/browser-index'); -window.Buffer = Buffer; diff --git a/packages/near-api-js/esbuild.inject.js b/packages/near-api-js/esbuild.inject.js new file mode 100644 index 0000000000..fc50ac3a68 --- /dev/null +++ b/packages/near-api-js/esbuild.inject.js @@ -0,0 +1,2 @@ +exports.Buffer = require('buffer').Buffer; +exports.process = require('process/browser'); diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index 722a558242..04d77ae09b 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -26,37 +26,40 @@ "borsh": "1.0.0", "depd": "2.0.0", "http-errors": "1.7.2", - "near-abi": "0.1.1", - "node-fetch": "2.6.7", - "@noble/curves": "1.2.0" + "near-abi": "0.1.1" }, "devDependencies": { "@types/http-errors": "1.6.1", "@types/node": "18.11.18", "browserify": "16.2.3", "bs58": "4.0.0", + "buffer": "6.0.3", "bundlewatch": "0.3.1", "concurrently": "7.3.0", "danger": "11.1.1", "danger-plugin-yarn": "1.3.2", + "esbuild": "^0.21.5", "in-publish": "2.0.0", "jest": "26.0.1", "localstorage-memory": "1.0.3", "near-hello": "0.5.1", + "near-workspaces": "3.5.0", + "process": "^0.11.10", "rimraf": "3.0.2", "semver": "7.1.1", "ts-jest": "26.5.6", - "uglifyify": "5.0.1", - "near-workspaces": "3.5.0" + "uglifyify": "5.0.1" }, "keywords": [], "license": "(MIT AND Apache-2.0)", "scripts": { - "dist": "pnpm browserify", - "browserify": "browserify browser-exports.js -i node-fetch -i http -i https -o dist/near-api-js.js && browserify browser-exports.js -i node-fetch -g uglifyify -o dist/near-api-js.min.js", + "dist": "pnpm bundle:all", + "bundle:all": "pnpm bundle && pnpm bundle:minified", + "bundle": "esbuild browser-exports.js --bundle --outfile=dist/near-api-js.js --define:global=window --inject:esbuild.inject.js", + "bundle:minified": "esbuild browser-exports.js --bundle --minify --outfile=dist/near-api-js.min.js --define:global=window --inject:esbuild.inject.js", "compile": "tsc -p ./tsconfig.json", "dev": "pnpm compile -w", - "build": "pnpm compile && pnpm browserify", + "build": "pnpm compile && pnpm bundle:all", "test": "jest test --passWithNoTests", "lint": "concurrently \"pnpm:lint:*(!fix) --no-error-on-unmatched-pattern\"", "lint:src": "eslint --ext .ts src", diff --git a/packages/providers/package.json b/packages/providers/package.json index b1ca885d2f..97949b0278 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -22,7 +22,7 @@ "@near-js/utils": "workspace:*", "borsh": "1.0.0", "exponential-backoff": "^3.1.1", - "isomorphic-unfetch": "^4.0.2" + "isomorphic-unfetch": "^3.1.0" }, "devDependencies": { "@types/node": "18.11.18", diff --git a/packages/providers/src/fetch_json.ts b/packages/providers/src/fetch_json.ts index 4f0b249d58..ed7672f978 100644 --- a/packages/providers/src/fetch_json.ts +++ b/packages/providers/src/fetch_json.ts @@ -29,7 +29,6 @@ export interface ConnectionInfo { class ProviderError extends Error { cause: number; constructor(message: string, options: any) { - // @ts-expect-error ok super(message, options); } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 71e594243a..fb9a5b65a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,6 +72,9 @@ importers: '@near-js/utils': specifier: workspace:* version: link:../utils + '@noble/hashes': + specifier: 1.3.3 + version: 1.3.3 borsh: specifier: 1.0.0 version: 1.0.0 @@ -82,8 +85,8 @@ importers: specifier: ^2.20.6 version: 2.20.6 isomorphic-unfetch: - specifier: ^4.0.2 - version: 4.0.2 + specifier: ^3.1.0 + version: 3.1.0(encoding@0.1.13) lru_map: specifier: 0.4.1 version: 0.4.1 @@ -325,9 +328,6 @@ importers: '@near-js/wallet-account': specifier: workspace:* version: link:../wallet-account - '@noble/curves': - specifier: 1.2.0 - version: 1.2.0 borsh: specifier: 1.0.0 version: 1.0.0 @@ -340,9 +340,6 @@ importers: near-abi: specifier: 0.1.1 version: 0.1.1 - node-fetch: - specifier: 2.6.7 - version: 2.6.7(encoding@0.1.13) devDependencies: '@types/http-errors': specifier: 1.6.1 @@ -356,6 +353,9 @@ importers: bs58: specifier: 4.0.0 version: 4.0.0 + buffer: + specifier: 6.0.3 + version: 6.0.3 bundlewatch: specifier: 0.3.1 version: 0.3.1 @@ -368,6 +368,9 @@ importers: danger-plugin-yarn: specifier: 1.3.2 version: 1.3.2 + esbuild: + specifier: ^0.21.5 + version: 0.21.5 in-publish: specifier: 2.0.0 version: 2.0.0 @@ -383,6 +386,9 @@ importers: near-workspaces: specifier: 3.5.0 version: 3.5.0(encoding@0.1.13) + process: + specifier: ^0.11.10 + version: 0.11.10 rimraf: specifier: 3.0.2 version: 3.0.2 @@ -414,8 +420,8 @@ importers: specifier: ^3.1.1 version: 3.1.1 isomorphic-unfetch: - specifier: ^4.0.2 - version: 4.0.2 + specifier: ^3.1.0 + version: 3.1.0(encoding@0.1.13) optionalDependencies: node-fetch: specifier: 2.6.7 @@ -590,90 +596,86 @@ importers: packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.24.4': - resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} - '@babel/core@7.24.4': - resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} - '@babel/generator@7.24.4': - resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.23.6': - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} - '@babel/helper-environment-visitor@7.22.20': - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.23.0': - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.22.5': - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.3': - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.23.3': - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.24.0': - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} engines: {node: '>=6.9.0'} - '@babel/helper-simple-access@7.22.5': - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.22.6': - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.1': - resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.23.5': - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.4': - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.2': - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.24.4': - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true @@ -738,20 +740,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.24.4': - resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + '@babel/runtime@7.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} - '@babel/template@7.24.0': - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.1': - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.0': - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -926,6 +928,144 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@eslint/eslintrc@1.4.1': resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -936,9 +1076,11 @@ packages: '@humanwhocodes/config-array@0.9.5': resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/object-schema@1.2.1': resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + deprecated: Use @eslint/object-schema instead '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} @@ -1167,8 +1309,8 @@ packages: '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - '@types/babel__traverse@7.20.5': - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} '@types/cacheable-request@6.0.3': resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} @@ -1318,8 +1460,8 @@ packages: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} acorn@7.4.1: @@ -1327,8 +1469,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true @@ -1343,8 +1485,8 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.16.0: + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1536,8 +1678,8 @@ packages: resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} breakword@1.0.6: @@ -1583,8 +1725,8 @@ packages: engines: {node: '>= 0.8'} hasBin: true - browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1671,8 +1813,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001612: - resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==} + caniuse-lite@1.0.30001634: + resolution: {integrity: sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==} capture-exit@2.0.0: resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} @@ -1842,8 +1984,8 @@ packages: resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} engines: {node: '>=0.10.0'} - core-js@3.37.0: - resolution: {integrity: sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==} + core-js@3.37.1: + resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -1931,10 +2073,6 @@ packages: dash-ast@1.0.0: resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - data-urls@2.0.0: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} @@ -1985,8 +2123,8 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2134,8 +2272,8 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - electron-to-chromium@1.4.746: - resolution: {integrity: sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg==} + electron-to-chromium@1.4.803: + resolution: {integrity: sha512-61H9mLzGOCLLVsnLiRzCbc63uldP0AniRYPV3hbGVtONA1pI7qSGILdbofR7A8TMbOypDocEAjH/e+9k1QIe3g==} elliptic@6.5.5: resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} @@ -2193,6 +2331,11 @@ packages: es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -2366,10 +2509,6 @@ packages: fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - fido2-lib@3.4.1: resolution: {integrity: sha512-efNrRbckp48AW7Q43o6gcp8/wnoBM7hwKikQntdiR2/NqVMPaCXFQs8kJ9wQqfv5V3PxZdg4kD9DpxdqYl6jxQ==} engines: {node: '>=10'} @@ -2382,8 +2521,8 @@ packages: resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} filter-obj@1.1.0: @@ -2427,10 +2566,6 @@ packages: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - fragment-cache@0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} engines: {node: '>=0.10.0'} @@ -2553,6 +2688,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported global-dirs@0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} @@ -2566,8 +2702,8 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} globby@11.1.0: @@ -2786,6 +2922,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} @@ -3003,8 +3140,8 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - isomorphic-unfetch@4.0.2: - resolution: {integrity: sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==} + isomorphic-unfetch@3.1.0: + resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} @@ -3455,8 +3592,8 @@ packages: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} miller-rabin@4.0.1: @@ -3592,10 +3729,6 @@ packages: node-cleanup@2.1.2: resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - node-fetch@1.7.3: resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} @@ -3608,10 +3741,6 @@ packages: encoding: optional: true - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-gyp-build-optional-packages@5.1.1: resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} hasBin: true @@ -3659,8 +3788,8 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - nwsapi@2.2.9: - resolution: {integrity: sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==} + nwsapi@2.2.10: + resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} object-copy@0.1.0: resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} @@ -3692,8 +3821,8 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} os-browserify@0.3.0: @@ -3827,8 +3956,8 @@ packages: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} engines: {node: '>=0.12'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -3933,6 +4062,10 @@ packages: q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + deprecated: |- + You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qs@6.12.1: resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} @@ -4089,6 +4222,7 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true ripemd160@2.0.2: @@ -4156,8 +4290,8 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -4286,8 +4420,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} split-on-first@1.1.0: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} @@ -4471,8 +4605,8 @@ packages: resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} engines: {node: '>=0.6.0'} - tldts-core@6.1.18: - resolution: {integrity: sha512-e4wx32F/7dMBSZyKAx825Yte3U0PQtZZ0bkWxYQiwLteRVnQ5zM40fEbi0IyNtwQssgJAk3GCr7Q+w39hX0VKA==} + tldts-core@6.1.26: + resolution: {integrity: sha512-JNBagViFBIxokJaINH6N4CX0ucHm/keeZi+brVa10zFJ5AorX3nsEzlb6x2bPpr8rsP79tE117I7fGRhbSMZpQ==} tldts@6.0.23: resolution: {integrity: sha512-LaA60X7J9mts1EliB7Nq/OBqicaI7TgsheWeQ8RR1uqwcVLjvRVHTGOkWjKAPa/XF+0t2ZBy1oF6OW8ufqOsKA==} @@ -4512,8 +4646,8 @@ packages: resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} engines: {node: '>=0.6'} - tough-cookie@4.1.3: - resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} tr46@0.0.3: @@ -4559,8 +4693,8 @@ packages: tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} @@ -4730,8 +4864,8 @@ packages: resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} hasBin: true - unfetch@5.0.0: - resolution: {integrity: sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==} + unfetch@4.2.0: + resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} @@ -4760,8 +4894,8 @@ packages: resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -4829,12 +4963,8 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - - webcrypto-core@1.7.9: - resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} + webcrypto-core@1.8.0: + resolution: {integrity: sha512-kR1UQNH8MD42CYuLzvibfakG5Ew5seG85dMMoAM/1LqvckxaF6pUiidLuraIu4V+YCIFabYecUZAW0TuxAoaqw==} webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -4889,6 +5019,10 @@ packages: engines: {node: '>= 8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -4971,203 +5105,208 @@ packages: snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 - '@babel/compat-data@7.24.4': {} + '@babel/compat-data@7.24.7': {} - '@babel/core@7.24.4': + '@babel/core@7.24.7': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helpers': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.5 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.24.4': + '@babel/generator@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - '@babel/helper-compilation-targets@7.23.6': + '@babel/helper-compilation-targets@7.24.7': dependencies: - '@babel/compat-data': 7.24.4 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-environment-visitor@7.22.20': {} + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 - '@babel/helper-function-name@7.23.0': + '@babel/helper-function-name@7.24.7': dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/helper-hoist-variables@7.22.5': + '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 - '@babel/helper-module-imports@7.24.3': + '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-plugin-utils@7.24.0': {} + '@babel/helper-plugin-utils@7.24.7': {} - '@babel/helper-simple-access@7.22.5': + '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-split-export-declaration@7.22.6': + '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 - '@babel/helper-string-parser@7.24.1': {} + '@babel/helper-string-parser@7.24.7': {} - '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.23.5': {} + '@babel/helper-validator-option@7.24.7': {} - '@babel/helpers@7.24.4': + '@babel/helpers@7.24.7': dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/highlight@7.24.2': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.0.1 - '@babel/parser@7.24.4': + '@babel/parser@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/runtime@7.24.4': + '@babel/runtime@7.24.7': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.24.0': + '@babel/template@7.24.7': dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 - '@babel/traverse@7.24.1': + '@babel/traverse@7.24.7': dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 - debug: 4.3.4 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.24.0': + '@babel/types@7.24.7': dependencies: - '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 '@bcoe/v8-coverage@0.2.3': {} @@ -5192,7 +5331,7 @@ snapshots: '@changesets/apply-release-plan@6.1.4': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/config': 2.3.1 '@changesets/get-version-range-type': 0.3.2 '@changesets/git': 2.0.0 @@ -5204,16 +5343,16 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.2 '@changesets/assemble-release-plan@5.2.4': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.1.4 '@changesets/get-dependents-graph': 1.3.6 '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 - semver: 7.6.0 + semver: 7.6.2 '@changesets/changelog-git@0.1.14': dependencies: @@ -5229,7 +5368,7 @@ snapshots: '@changesets/cli@2.24.4': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/apply-release-plan': 6.1.4 '@changesets/assemble-release-plan': 5.2.4 '@changesets/changelog-git': 0.1.14 @@ -5271,7 +5410,7 @@ snapshots: '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - micromatch: 4.0.5 + micromatch: 4.0.7 '@changesets/errors@0.1.4': dependencies: @@ -5283,7 +5422,7 @@ snapshots: '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 - semver: 7.6.0 + semver: 7.6.2 '@changesets/get-github-info@0.5.2(encoding@0.1.13)': dependencies: @@ -5294,7 +5433,7 @@ snapshots: '@changesets/get-release-plan@3.0.17': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/assemble-release-plan': 5.2.4 '@changesets/config': 2.3.1 '@changesets/pre': 1.0.14 @@ -5306,7 +5445,7 @@ snapshots: '@changesets/git@1.5.0': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 @@ -5315,12 +5454,12 @@ snapshots: '@changesets/git@2.0.0': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 - micromatch: 4.0.5 + micromatch: 4.0.7 spawndamnit: 2.0.0 '@changesets/logger@0.0.5': @@ -5334,7 +5473,7 @@ snapshots: '@changesets/pre@1.0.14': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 @@ -5342,7 +5481,7 @@ snapshots: '@changesets/read@0.5.9': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/git': 2.0.0 '@changesets/logger': 0.0.5 '@changesets/parse': 0.3.16 @@ -5357,7 +5496,7 @@ snapshots: '@changesets/write@0.2.3': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/types': 5.2.1 fs-extra: 7.0.1 human-id: 1.0.2 @@ -5391,7 +5530,7 @@ snapshots: '@commitlint/config-validator@17.8.1': dependencies: '@commitlint/types': 17.8.1 - ajv: 8.12.0 + ajv: 8.16.0 '@commitlint/ensure@17.8.1': dependencies: @@ -5488,10 +5627,79 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + '@eslint/eslintrc@1.4.1': dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.5 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -5507,7 +5715,7 @@ snapshots: '@humanwhocodes/config-array@0.9.5': dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 + debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -5558,7 +5766,7 @@ snapshots: jest-util: 26.6.2 jest-validate: 26.6.2 jest-watcher: 26.6.2 - micromatch: 4.0.5 + micromatch: 4.0.7 p-each-series: 2.2.0 rimraf: 3.0.2 slash: 3.0.0 @@ -5595,7 +5803,7 @@ snapshots: jest-util: 26.6.2 jest-validate: 26.6.2 jest-watcher: 26.6.2 - micromatch: 4.0.5 + micromatch: 4.0.7 p-each-series: 2.2.0 rimraf: 3.0.2 slash: 3.0.0 @@ -5703,7 +5911,7 @@ snapshots: '@jest/transform@26.6.2': dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.7 '@jest/types': 26.6.2 babel-plugin-istanbul: 6.1.1 chalk: 4.1.1 @@ -5713,7 +5921,7 @@ snapshots: jest-haste-map: 26.6.2 jest-regex-util: 26.0.0 jest-util: 26.6.2 - micromatch: 4.0.5 + micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 source-map: 0.6.1 @@ -5753,14 +5961,14 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -5957,19 +6165,19 @@ snapshots: dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 - tslib: 2.6.2 + tslib: 2.6.3 '@peculiar/json-schema@1.1.12': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 '@peculiar/webcrypto@1.4.6': dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 pvtsutils: 1.3.5 - tslib: 2.6.2 - webcrypto-core: 1.7.9 + tslib: 2.6.3 + webcrypto-core: 1.8.0 '@sindresorhus/is@4.6.0': {} @@ -5997,24 +6205,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 - '@types/babel__traverse@7.20.5': + '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@types/cacheable-request@6.0.3': dependencies: @@ -6083,12 +6291,12 @@ snapshots: '@typescript-eslint/scope-manager': 5.31.0 '@typescript-eslint/type-utils': 5.31.0(eslint@8.20.0)(typescript@4.9.4) '@typescript-eslint/utils': 5.31.0(eslint@8.20.0)(typescript@4.9.4) - debug: 4.3.4 + debug: 4.3.5 eslint: 8.20.0 functional-red-black-tree: 1.0.1 ignore: 5.3.1 regexpp: 3.2.0 - semver: 7.6.0 + semver: 7.6.2 tsutils: 3.21.0(typescript@4.9.4) optionalDependencies: typescript: 4.9.4 @@ -6100,7 +6308,7 @@ snapshots: '@typescript-eslint/scope-manager': 5.31.0 '@typescript-eslint/types': 5.31.0 '@typescript-eslint/typescript-estree': 5.31.0(typescript@4.9.4) - debug: 4.3.4 + debug: 4.3.5 eslint: 8.20.0 optionalDependencies: typescript: 4.9.4 @@ -6115,7 +6323,7 @@ snapshots: '@typescript-eslint/type-utils@5.31.0(eslint@8.20.0)(typescript@4.9.4)': dependencies: '@typescript-eslint/utils': 5.31.0(eslint@8.20.0)(typescript@4.9.4) - debug: 4.3.4 + debug: 4.3.5 eslint: 8.20.0 tsutils: 3.21.0(typescript@4.9.4) optionalDependencies: @@ -6129,10 +6337,10 @@ snapshots: dependencies: '@typescript-eslint/types': 5.31.0 '@typescript-eslint/visitor-keys': 5.31.0 - debug: 4.3.4 + debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.0 + semver: 7.6.2 tsutils: 3.21.0(typescript@4.9.4) optionalDependencies: typescript: 4.9.4 @@ -6173,9 +6381,9 @@ snapshots: acorn: 7.4.1 acorn-walk: 7.2.0 - acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2(acorn@8.12.0): dependencies: - acorn: 8.11.3 + acorn: 8.12.0 acorn-node@1.8.2: dependencies: @@ -6185,11 +6393,13 @@ snapshots: acorn-walk@7.2.0: {} - acorn-walk@8.3.2: {} + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.0 acorn@7.4.1: {} - acorn@8.11.3: {} + acorn@8.12.0: {} agent-base@4.3.0: dependencies: @@ -6197,7 +6407,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.4 + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -6208,7 +6418,7 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: + ajv@8.16.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -6302,7 +6512,7 @@ snapshots: dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 - tslib: 2.6.2 + tslib: 2.6.3 assert@1.5.1: dependencies: @@ -6329,14 +6539,14 @@ snapshots: transitivePeerDependencies: - supports-color - babel-jest@26.6.3(@babel/core@7.24.4): + babel-jest@26.6.3(@babel/core@7.24.7): dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.7 '@jest/transform': 26.6.2 '@jest/types': 26.6.2 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 26.6.2(@babel/core@7.24.4) + babel-preset-jest: 26.6.2(@babel/core@7.24.7) chalk: 4.1.1 graceful-fs: 4.2.11 slash: 3.0.0 @@ -6345,7 +6555,7 @@ snapshots: babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.7 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -6355,32 +6565,32 @@ snapshots: babel-plugin-jest-hoist@26.6.2: dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.5 - - babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): - dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) - - babel-preset-jest@26.6.2(@babel/core@7.24.4): - dependencies: - '@babel/core': 7.24.4 + '@types/babel__traverse': 7.20.6 + + babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + + babel-preset-jest@26.6.2(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) balanced-match@1.0.2: {} @@ -6448,9 +6658,9 @@ snapshots: transitivePeerDependencies: - supports-color - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 breakword@1.0.6: dependencies: @@ -6572,12 +6782,12 @@ snapshots: vm-browserify: 1.1.2 xtend: 4.0.2 - browserslist@4.23.0: + browserslist@4.23.1: dependencies: - caniuse-lite: 1.0.30001612 - electron-to-chromium: 1.4.746 + caniuse-lite: 1.0.30001634 + electron-to-chromium: 1.4.803 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) + update-browserslist-db: 1.0.16(browserslist@4.23.1) bs-logger@0.2.6: dependencies: @@ -6680,7 +6890,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001612: {} + caniuse-lite@1.0.30001634: {} capture-exit@2.0.0: dependencies: @@ -6867,7 +7077,7 @@ snapshots: copy-descriptor@0.1.1: {} - core-js@3.37.0: {} + core-js@3.37.1: {} core-util-is@1.0.3: {} @@ -6980,8 +7190,8 @@ snapshots: async-retry: 1.2.3 chalk: 2.4.2 commander: 2.20.3 - core-js: 3.37.0 - debug: 4.3.4 + core-js: 3.37.1 + debug: 4.3.5 fast-json-patch: 3.1.1 get-stdin: 6.0.0 gitlab: 10.2.1(encoding@0.1.13) @@ -6998,7 +7208,7 @@ snapshots: lodash.mapvalues: 4.6.0 lodash.memoize: 4.1.2 memfs-or-file-map-to-github-branch: 1.2.1(encoding@0.1.13) - micromatch: 4.0.5 + micromatch: 4.0.7 node-cleanup: 2.1.2 node-fetch: 2.6.7(encoding@0.1.13) override-require: 1.1.1 @@ -7021,8 +7231,6 @@ snapshots: dash-ast@1.0.0: {} - data-uri-to-buffer@4.0.1: {} - data-urls@2.0.0: dependencies: abab: 2.0.6 @@ -7053,7 +7261,7 @@ snapshots: date-fns@2.30.0: dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.7 debug@2.6.9: dependencies: @@ -7067,7 +7275,7 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4: + debug@4.3.5: dependencies: ms: 2.1.2 @@ -7196,7 +7404,7 @@ snapshots: dependencies: safe-buffer: 5.2.1 - electron-to-chromium@1.4.746: {} + electron-to-chromium@1.4.803: {} elliptic@6.5.5: dependencies: @@ -7246,7 +7454,7 @@ snapshots: function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 has-proto: 1.0.3 @@ -7310,6 +7518,32 @@ snapshots: dependencies: es6-promise: 4.2.8 + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + escalade@3.1.2: {} escape-string-regexp@1.0.5: {} @@ -7352,7 +7586,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.1 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.5 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -7376,7 +7610,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 regexpp: 3.2.0 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 @@ -7387,8 +7621,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -7523,7 +7757,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-json-patch@3.1.1: {} @@ -7541,11 +7775,6 @@ snapshots: dependencies: bser: 2.1.1 - fetch-blob@3.2.0: - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - fido2-lib@3.4.1: dependencies: '@hexagon/base64': 1.1.26 @@ -7567,7 +7796,7 @@ snapshots: repeat-string: 1.6.1 to-regex-range: 2.1.1 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -7585,7 +7814,7 @@ snapshots: find-yarn-workspace-root2@1.2.16: dependencies: - micromatch: 4.0.5 + micromatch: 4.0.7 pkg-dir: 4.2.0 flat-cache@3.2.0: @@ -7620,10 +7849,6 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - formdata-polyfill@4.0.10: - dependencies: - fetch-blob: 3.2.0 - fragment-cache@0.2.1: dependencies: map-cache: 0.2.2 @@ -7773,9 +7998,10 @@ snapshots: dependencies: type-fest: 0.20.2 - globalthis@1.0.3: + globalthis@1.0.4: dependencies: define-properties: 1.2.1 + gopd: 1.0.1 globby@11.1.0: dependencies: @@ -7928,7 +8154,7 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -7949,7 +8175,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -8198,16 +8424,18 @@ snapshots: isobject@3.0.1: {} - isomorphic-unfetch@4.0.2: + isomorphic-unfetch@3.1.0(encoding@0.1.13): dependencies: - node-fetch: 3.3.2 - unfetch: 5.0.0 + node-fetch: 2.6.7(encoding@0.1.13) + unfetch: 4.2.0 + transitivePeerDependencies: + - encoding istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@4.0.3: dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -8216,8 +8444,8 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -8232,7 +8460,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -8295,10 +8523,10 @@ snapshots: jest-config@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.7 '@jest/test-sequencer': 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) '@jest/types': 26.6.2 - babel-jest: 26.6.3(@babel/core@7.24.4) + babel-jest: 26.6.3(@babel/core@7.24.7) chalk: 4.1.1 deepmerge: 4.3.1 glob: 7.2.3 @@ -8311,7 +8539,7 @@ snapshots: jest-resolve: 26.6.2 jest-util: 26.6.2 jest-validate: 26.6.2 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 26.6.2 optionalDependencies: ts-node: 10.9.2(@types/node@18.11.18)(typescript@4.9.4) @@ -8323,10 +8551,10 @@ snapshots: jest-config@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.7 '@jest/test-sequencer': 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) '@jest/types': 26.6.2 - babel-jest: 26.6.3(@babel/core@7.24.4) + babel-jest: 26.6.3(@babel/core@7.24.7) chalk: 4.1.1 deepmerge: 4.3.1 glob: 7.2.3 @@ -8339,7 +8567,7 @@ snapshots: jest-resolve: 26.6.2 jest-util: 26.6.2 jest-validate: 26.6.2 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 26.6.2 optionalDependencies: ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.4) @@ -8406,7 +8634,7 @@ snapshots: jest-serializer: 26.6.2 jest-util: 26.6.2 jest-worker: 26.6.2 - micromatch: 4.0.5 + micromatch: 4.0.7 sane: 4.1.0 walker: 1.0.8 optionalDependencies: @@ -8416,7 +8644,7 @@ snapshots: jest-jasmine2@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): dependencies: - '@babel/traverse': 7.24.1 + '@babel/traverse': 7.24.7 '@jest/environment': 26.6.2 '@jest/source-map': 26.6.2 '@jest/test-result': 26.6.2 @@ -8443,7 +8671,7 @@ snapshots: jest-jasmine2@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: - '@babel/traverse': 7.24.1 + '@babel/traverse': 7.24.7 '@jest/environment': 26.6.2 '@jest/source-map': 26.6.2 '@jest/test-result': 26.6.2 @@ -8482,12 +8710,12 @@ snapshots: jest-message-util@26.6.2: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 26.6.2 '@types/stack-utils': 2.0.3 chalk: 4.1.1 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 26.6.2 slash: 3.0.0 stack-utils: 2.0.6 @@ -8659,9 +8887,9 @@ snapshots: jest-snapshot@26.6.2: dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@jest/types': 26.6.2 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.6 '@types/prettier': 2.7.3 chalk: 4.1.1 expect: 26.6.2 @@ -8674,7 +8902,7 @@ snapshots: jest-resolve: 26.6.2 natural-compare: 1.4.0 pretty-format: 26.6.2 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color @@ -8685,7 +8913,7 @@ snapshots: chalk: 4.1.1 graceful-fs: 4.2.11 is-ci: 2.0.0 - micromatch: 4.0.5 + micromatch: 4.0.7 jest-validate@26.6.2: dependencies: @@ -8754,7 +8982,7 @@ snapshots: jsdom@16.7.0: dependencies: abab: 2.0.6 - acorn: 8.11.3 + acorn: 8.12.0 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -8767,11 +8995,11 @@ snapshots: http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.9 + nwsapi: 2.2.10 parse5: 6.0.1 saxes: 5.0.1 symbol-tree: 3.2.4 - tough-cookie: 4.1.3 + tough-cookie: 4.1.4 w3c-hr-time: 1.0.2 w3c-xmlserializer: 2.0.0 webidl-conversions: 6.1.0 @@ -8977,7 +9205,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.0 + semver: 7.6.2 make-error@1.3.6: {} @@ -9059,9 +9287,9 @@ snapshots: transitivePeerDependencies: - supports-color - micromatch@4.0.5: + micromatch@4.0.7: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 miller-rabin@4.0.1: @@ -9235,8 +9463,6 @@ snapshots: node-cleanup@2.1.2: {} - node-domexception@1.0.0: {} - node-fetch@1.7.3: dependencies: encoding: 0.1.13 @@ -9248,12 +9474,6 @@ snapshots: optionalDependencies: encoding: 0.1.13 - node-fetch@3.3.2: - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - node-gyp-build-optional-packages@5.1.1: dependencies: detect-libc: 2.0.3 @@ -9267,7 +9487,7 @@ snapshots: dependencies: growly: 1.3.0 is-wsl: 2.2.0 - semver: 7.6.0 + semver: 7.6.2 shellwords: 0.1.1 uuid: 8.3.2 which: 2.0.2 @@ -9288,7 +9508,7 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: @@ -9307,7 +9527,7 @@ snapshots: dependencies: path-key: 3.1.1 - nwsapi@2.2.9: {} + nwsapi@2.2.10: {} object-copy@0.1.0: dependencies: @@ -9342,14 +9562,14 @@ snapshots: dependencies: mimic-fn: 2.1.0 - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 os-browserify@0.3.0: {} @@ -9420,7 +9640,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -9459,7 +9679,7 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - picocolors@1.0.0: {} + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -9479,7 +9699,7 @@ snapshots: bytestreamjs: 2.0.1 pvtsutils: 1.3.5 pvutils: 1.1.3 - tslib: 2.6.2 + tslib: 2.6.3 posix-character-classes@0.1.1: {} @@ -9551,7 +9771,7 @@ snapshots: pvtsutils@1.3.5: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 pvutils@1.1.3: {} @@ -9719,7 +9939,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 safe-array-concat@1.1.2: dependencies: @@ -9778,9 +9998,7 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} set-blocking@2.0.0: {} @@ -9925,16 +10143,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.18 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.18 - spdx-license-ids@3.0.17: {} + spdx-license-ids@3.0.18: {} split-on-first@1.1.0: {} @@ -10098,7 +10316,7 @@ snapshots: terser@3.17.0: dependencies: - acorn: 8.11.3 + acorn: 8.12.0 commander: 2.20.3 source-map: 0.6.1 source-map-support: 0.5.21 @@ -10132,11 +10350,11 @@ snapshots: dependencies: process: 0.11.10 - tldts-core@6.1.18: {} + tldts-core@6.1.26: {} tldts@6.0.23: dependencies: - tldts-core: 6.1.18 + tldts-core: 6.1.26 tmp@0.0.33: dependencies: @@ -10170,7 +10388,7 @@ snapshots: toidentifier@1.0.0: {} - tough-cookie@4.1.3: + tough-cookie@4.1.4: dependencies: psl: 1.9.0 punycode: 2.3.1 @@ -10229,8 +10447,8 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 18.11.18 - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.12.0 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -10248,8 +10466,8 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.5.1 - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.12.0 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -10260,7 +10478,7 @@ snapshots: tslib@1.14.1: {} - tslib@2.6.2: {} + tslib@2.6.3: {} tsutils@3.21.0(typescript@4.9.4): dependencies: @@ -10429,7 +10647,7 @@ snapshots: simple-concat: 1.0.1 xtend: 4.0.2 - unfetch@5.0.0: {} + unfetch@4.2.0: {} union-value@1.0.1: dependencies: @@ -10456,11 +10674,11 @@ snapshots: has-value: 0.3.1 isobject: 3.0.1 - update-browserslist-db@1.0.13(browserslist@4.23.0): + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: - browserslist: 4.23.0 + browserslist: 4.23.1 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 uri-js@4.4.1: dependencies: @@ -10526,15 +10744,13 @@ snapshots: dependencies: defaults: 1.0.4 - web-streams-polyfill@3.3.3: {} - - webcrypto-core@1.7.9: + webcrypto-core@1.8.0: dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 pvtsutils: 1.3.5 - tslib: 2.6.2 + tslib: 2.6.3 webidl-conversions@3.0.1: {} @@ -10598,6 +10814,8 @@ snapshots: dependencies: isexe: 2.0.0 + word-wrap@1.2.5: {} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 From ab153be7a0ae5a9e1ed6d778ffd5098671bae6b9 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 14 Jun 2024 16:34:53 -0700 Subject: [PATCH 08/45] feat: naj config --- packages/near-api-js/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index 04d77ae09b..1309540932 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -10,7 +10,6 @@ "main": "lib/index.js", "browser": "lib/browser-index.js", "types": "lib/index.d.ts", - "type": "module", "dependencies": { "@near-js/accounts": "workspace:*", "@near-js/crypto": "workspace:*", From c55bad05845c4818140dd653dda177e7a0178e4f Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 14 Jun 2024 17:17:48 -0700 Subject: [PATCH 09/45] feat: extending Assignable no longer works for classes with defined properties --- packages/crypto/src/public_key.ts | 12 +-- packages/near-api-js/src/utils/enums.ts | 2 - packages/transactions/src/action_creators.ts | 10 +- packages/transactions/src/actions.ts | 101 ++++++++++++++++--- packages/transactions/src/delegate.ts | 21 +++- packages/transactions/src/prefix.ts | 9 +- packages/transactions/src/schema.ts | 96 +++++++++++------- packages/transactions/src/signature.ts | 12 +-- packages/types/src/assignable.ts | 7 -- packages/types/src/index.ts | 1 - 10 files changed, 185 insertions(+), 86 deletions(-) delete mode 100644 packages/types/src/assignable.ts diff --git a/packages/crypto/src/public_key.ts b/packages/crypto/src/public_key.ts index 277d85dbcd..ba6b8a1418 100644 --- a/packages/crypto/src/public_key.ts +++ b/packages/crypto/src/public_key.ts @@ -3,7 +3,6 @@ import { ed25519 } from '@noble/curves/ed25519'; import secp256k1 from 'secp256k1'; import { KeySize, KeyType } from './constants'; -import { Assignable } from '@near-js/types'; function key_type_to_str(keyType: KeyType): string { switch (keyType) { @@ -21,18 +20,17 @@ function str_to_key_type(keyType: string): KeyType { } } -class ED25519PublicKey extends Assignable { keyType: KeyType = KeyType.ED25519; data: Uint8Array; } -class SECP256K1PublicKey extends Assignable { keyType: KeyType = KeyType.SECP256K1; data: Uint8Array; } +class ED25519PublicKey { keyType: KeyType = KeyType.ED25519; data: Uint8Array; } +class SECP256K1PublicKey { keyType: KeyType = KeyType.SECP256K1; data: Uint8Array; } /** * PublicKey representation that has type and bytes of the key. */ -export class PublicKey extends Assignable { +export class PublicKey { ed25519Key?: ED25519PublicKey; secp256k1Key?: SECP256K1PublicKey; constructor({ keyType, data }: { keyType: KeyType, data: Uint8Array }) { - super({}); if (keyType === KeyType.ED25519) { this.ed25519Key = { keyType, data }; } else if (keyType === KeyType.SECP256K1) { @@ -111,11 +109,11 @@ export class PublicKey extends Assignable { get keyPair() { return this.ed25519Key || this.secp256k1Key; } - + get keyType(): KeyType { return this.keyPair.keyType; } - + get data(): Uint8Array { return this.keyPair.data; } diff --git a/packages/near-api-js/src/utils/enums.ts b/packages/near-api-js/src/utils/enums.ts index d2000e9296..81cfc6b73f 100644 --- a/packages/near-api-js/src/utils/enums.ts +++ b/packages/near-api-js/src/utils/enums.ts @@ -1,5 +1,3 @@ -export { Assignable } from '@near-js/types'; - /** @hidden @module */ export abstract class Enum { enum: string; diff --git a/packages/transactions/src/action_creators.ts b/packages/transactions/src/action_creators.ts index 2fcf064126..64b68980ed 100644 --- a/packages/transactions/src/action_creators.ts +++ b/packages/transactions/src/action_creators.ts @@ -25,9 +25,9 @@ import { Signature } from './signature'; */ function fullAccessKey(): AccessKey { return new AccessKey({ - nonce: 0, + nonce: 0n, permission: new AccessKeyPermission({ - fullAccess: new FullAccessPermission({}), + fullAccess: new FullAccessPermission(), }), }); } @@ -45,7 +45,7 @@ function functionCallAccessKey( allowance?: bigint ): AccessKey { return new AccessKey({ - nonce: 0, + nonce: 0n, permission: new AccessKeyPermission({ functionCall: new FunctionCallPermission({ receiverId, @@ -61,7 +61,7 @@ function functionCallAccessKey( * @returns A new action for creating a new account. */ function createAccount(): Action { - return new Action({ createAccount: new CreateAccount({}) }); + return new Action({ createAccount: new CreateAccount() }); } /** @@ -105,7 +105,7 @@ function functionCall( ): Action { if (jsContract) { return new Action({ - functionCall: new FunctionCall({ methodName, args, gas, deposit }), + functionCall: new FunctionCall({ methodName, args: args as Uint8Array, gas, deposit }), }); } diff --git a/packages/transactions/src/actions.ts b/packages/transactions/src/actions.ts index ab0e6cd609..8a68de53fd 100644 --- a/packages/transactions/src/actions.ts +++ b/packages/transactions/src/actions.ts @@ -1,5 +1,4 @@ import { PublicKey } from '@near-js/crypto'; -import { Assignable } from '@near-js/types'; import { DelegateAction } from './delegate'; import { Signature } from './signature'; @@ -18,35 +17,107 @@ abstract class Enum { } } -export class FunctionCallPermission extends Assignable { +export class FunctionCallPermission { allowance?: bigint; receiverId: string; methodNames: string[]; + + constructor({ allowance, receiverId, methodNames }: { allowance: bigint, receiverId: string, methodNames: string[] }) { + this.allowance = allowance; + this.receiverId = receiverId; + this.methodNames = methodNames; + } } -export class FullAccessPermission extends Assignable {} +export class FullAccessPermission {} export class AccessKeyPermission extends Enum { functionCall?: FunctionCallPermission; fullAccess?: FullAccessPermission; } -export class AccessKey extends Assignable { +export class AccessKey { nonce: bigint; permission: AccessKeyPermission; + + constructor({ nonce, permission }: { nonce: bigint, permission: AccessKeyPermission }) { + this.nonce = nonce; + this.permission = permission; + } +} + + +export class CreateAccount {} +export class DeployContract { + code: Uint8Array; + + constructor({ code }: { code: Uint8Array }) { + this.code = code; + } + +} +export class FunctionCall { + methodName: string; + args: Uint8Array; + gas: bigint; + deposit: bigint; + + constructor({ methodName, args, gas, deposit }: { methodName: string, args: Uint8Array, gas: bigint, deposit: bigint }) { + this.methodName = methodName; + this.args = args; + this.gas = gas; + this.deposit = deposit; + } } +export class Transfer { + deposit: bigint; + + constructor({ deposit }: { deposit: bigint }) { + this.deposit = deposit; + } -export class IAction extends Assignable {} - -export class CreateAccount extends IAction {} -export class DeployContract extends IAction { code: Uint8Array; } -export class FunctionCall extends IAction { methodName: string; args: Uint8Array; gas: bigint; deposit: bigint; } -export class Transfer extends IAction { deposit: bigint; } -export class Stake extends IAction { stake: bigint; publicKey: PublicKey; } -export class AddKey extends IAction { publicKey: PublicKey; accessKey: AccessKey; } -export class DeleteKey extends IAction { publicKey: PublicKey; } -export class DeleteAccount extends IAction { beneficiaryId: string; } -export class SignedDelegate extends IAction { delegateAction: DelegateAction; signature: Signature; } +} +export class Stake { + stake: bigint; + publicKey: PublicKey; + + constructor({ stake, publicKey }: { stake: bigint, publicKey: PublicKey }) { + this.stake = stake; + this.publicKey = publicKey; + } +} +export class AddKey { + publicKey: PublicKey; + accessKey: AccessKey; + + constructor({ publicKey, accessKey }: { publicKey: PublicKey, accessKey: AccessKey }) { + this.publicKey = publicKey; + this.accessKey = accessKey; + } +} +export class DeleteKey { + publicKey: PublicKey; + + constructor({ publicKey }: { publicKey: PublicKey }) { + this.publicKey = publicKey; + } +} +export class DeleteAccount { + beneficiaryId: string; + + constructor({ beneficiaryId }: { beneficiaryId: string }) { + this.beneficiaryId = beneficiaryId; + } +} +export class SignedDelegate { + delegateAction: DelegateAction; + signature: Signature; + + constructor({ delegateAction, signature }: { delegateAction: DelegateAction, signature: Signature }) { + this.delegateAction = delegateAction; + this.signature = signature; + } +} /** * Contains a list of the valid transaction Actions available with this API diff --git a/packages/transactions/src/delegate.ts b/packages/transactions/src/delegate.ts index b78de85fff..62421fe538 100644 --- a/packages/transactions/src/delegate.ts +++ b/packages/transactions/src/delegate.ts @@ -1,5 +1,4 @@ import { PublicKey } from '@near-js/crypto'; -import { Assignable } from '@near-js/types'; import { actionCreators } from './action_creators'; import { Action } from './actions'; @@ -15,13 +14,31 @@ const { transfer, } = actionCreators; -export class DelegateAction extends Assignable { +export class DelegateAction { senderId: string; receiverId: string; actions: Array; nonce: bigint; maxBlockHeight: bigint; publicKey: PublicKey; + + constructor({ senderId, receiverId, actions, nonce, maxBlockHeight, publicKey }: + { + senderId: string, + receiverId: string, + actions: Action[], + nonce: bigint, + maxBlockHeight: bigint, + publicKey: PublicKey, + } + ) { + this.senderId = senderId; + this.receiverId = receiverId; + this.actions = actions; + this.nonce = nonce; + this.maxBlockHeight = maxBlockHeight; + this.publicKey = publicKey; + } } /** diff --git a/packages/transactions/src/prefix.ts b/packages/transactions/src/prefix.ts index 08545a0a65..ed90b95d10 100644 --- a/packages/transactions/src/prefix.ts +++ b/packages/transactions/src/prefix.ts @@ -1,5 +1,3 @@ -import { Assignable } from '@near-js/types'; - const ACTIONABLE_MESSAGE_BASE = Math.pow(2, 30); // const NON_ACTIONABLE_MESSAGE_BASE = Math.pow(2, 31); @@ -9,8 +7,13 @@ const NEP = { }; /** Base class for NEP message prefixes **/ -abstract class NEPPrefix extends Assignable { +abstract class NEPPrefix { prefix: number; + + constructor({ prefix }: { prefix: number }) { + this.prefix = prefix; + } + } /** Class for constructing prefixes on actionable (on-chain) messages **/ diff --git a/packages/transactions/src/schema.ts b/packages/transactions/src/schema.ts index 9c6306f1f3..7365a01ecc 100644 --- a/packages/transactions/src/schema.ts +++ b/packages/transactions/src/schema.ts @@ -1,10 +1,9 @@ import { PublicKey } from '@near-js/crypto'; -import { Assignable } from '@near-js/types'; import { deserialize, serialize, Schema } from 'borsh'; import { - Action, - SignedDelegate, + Action, + SignedDelegate, } from './actions'; import { DelegateAction } from './delegate'; import { DelegateActionPrefix } from './prefix'; @@ -17,10 +16,10 @@ import { Signature } from './signature'; * @param delegateAction Delegate action to be signed by the meta transaction sender */ export function encodeDelegateAction(delegateAction: DelegateAction) { - return new Uint8Array([ - ...serialize(SCHEMA.DelegateActionPrefix, new DelegateActionPrefix()), - ...serialize(SCHEMA.DelegateAction, delegateAction), - ]); + return new Uint8Array([ + ...serialize(SCHEMA.DelegateActionPrefix, new DelegateActionPrefix()), + ...serialize(SCHEMA.DelegateAction, delegateAction), + ]); } /** @@ -28,17 +27,17 @@ export function encodeDelegateAction(delegateAction: DelegateAction) { * @param signedDelegate Signed delegate to be executed in a meta transaction */ export function encodeSignedDelegate(signedDelegate: SignedDelegate) { - return serialize(SCHEMA.SignedDelegate, signedDelegate); + return serialize(SCHEMA.SignedDelegate, signedDelegate); } /** -* Borsh-encode a transaction or signed transaction into a serialized form. -* @param transaction The transaction or signed transaction object to be encoded. -* @returns A serialized representation of the input transaction. -*/ + * Borsh-encode a transaction or signed transaction into a serialized form. + * @param transaction The transaction or signed transaction object to be encoded. + * @returns A serialized representation of the input transaction. + */ export function encodeTransaction(transaction: Transaction | SignedTransaction) { - const schema: Schema = transaction instanceof SignedTransaction ? SCHEMA.SignedTransaction : SCHEMA.Transaction; - return serialize(schema, transaction); + const schema: Schema = transaction instanceof SignedTransaction ? SCHEMA.SignedTransaction : SCHEMA.Transaction; + return serialize(schema, transaction); } /** @@ -46,7 +45,7 @@ export function encodeTransaction(transaction: Transaction | SignedTransaction) * @param bytes Uint8Array data to be decoded */ export function decodeTransaction(bytes: Uint8Array) { - return new Transaction(deserialize(SCHEMA.Transaction, bytes)); + return new Transaction(deserialize(SCHEMA.Transaction, bytes) as Transaction); } /** @@ -54,37 +53,60 @@ export function decodeTransaction(bytes: Uint8Array) { * @param bytes Uint8Array data to be decoded */ export function decodeSignedTransaction(bytes: Uint8Array) { - return new SignedTransaction(deserialize(SCHEMA.SignedTransaction, bytes)); + return new SignedTransaction(deserialize(SCHEMA.SignedTransaction, bytes) as SignedTransaction); } -export class Transaction extends Assignable { - signerId: string; - publicKey: PublicKey; - nonce: bigint; - receiverId: string; - actions: Action[]; - blockHash: Uint8Array; +export class Transaction { + signerId: string; + publicKey: PublicKey; + nonce: bigint; + receiverId: string; + actions: Action[]; + blockHash: Uint8Array; - encode(): Uint8Array { - return encodeTransaction(this); + constructor({ signerId, publicKey, nonce, receiverId, actions, blockHash }: + { + signerId: string, + publicKey: PublicKey, + nonce: bigint, + receiverId: string, + actions: Action[], + blockHash: Uint8Array, } + ) { + this.signerId = signerId; + this.publicKey = publicKey; + this.nonce = nonce; + this.receiverId = receiverId; + this.actions = actions; + this.blockHash = blockHash; + } - static decode(bytes: Uint8Array): Transaction { - return decodeTransaction(bytes); - } + encode(): Uint8Array { + return encodeTransaction(this); + } + + static decode(bytes: Uint8Array): Transaction { + return decodeTransaction(bytes); + } } -export class SignedTransaction extends Assignable { - transaction: Transaction; - signature: Signature; +export class SignedTransaction { + transaction: Transaction; + signature: Signature; - encode(): Uint8Array{ - return encodeTransaction(this); - } + constructor({ transaction, signature }: { transaction: Transaction, signature: Signature}) { + this.transaction = transaction; + this.signature = signature; + } - static decode(bytes: Uint8Array): SignedTransaction { - return decodeSignedTransaction(bytes); - } + encode(): Uint8Array { + return encodeTransaction(this); + } + + static decode(bytes: Uint8Array): SignedTransaction { + return decodeSignedTransaction(bytes); + } } export const SCHEMA = new class BorshSchema { diff --git a/packages/transactions/src/signature.ts b/packages/transactions/src/signature.ts index 46d309a3fd..ee09d2a58d 100644 --- a/packages/transactions/src/signature.ts +++ b/packages/transactions/src/signature.ts @@ -1,15 +1,13 @@ import { KeyType } from '@near-js/crypto'; -import { Assignable } from '@near-js/types'; -class ED25519Signature extends Assignable { keyType: KeyType = KeyType.ED25519; data: Uint8Array; } -class SECP256K1Signature extends Assignable { keyType: KeyType = KeyType.SECP256K1; data: Uint8Array; } +class ED25519Signature { keyType: KeyType = KeyType.ED25519; data: Uint8Array; } +class SECP256K1Signature { keyType: KeyType = KeyType.SECP256K1; data: Uint8Array; } -export class Signature extends Assignable { +export class Signature { ed25519Signature?: ED25519Signature; secp256k1Signature?: SECP256K1Signature; constructor({ keyType, data }: { keyType: KeyType, data: Uint8Array }) { - super({}); if (keyType === KeyType.ED25519) { this.ed25519Signature = { keyType, data }; } else if (keyType === KeyType.SECP256K1) { @@ -20,11 +18,11 @@ export class Signature extends Assignable { get signature() { return this.ed25519Signature || this.secp256k1Signature; } - + get signatureType(): KeyType { return this.signature.keyType; } - + get data(): Uint8Array { return this.signature.data; } diff --git a/packages/types/src/assignable.ts b/packages/types/src/assignable.ts deleted file mode 100644 index f73132943a..0000000000 --- a/packages/types/src/assignable.ts +++ /dev/null @@ -1,7 +0,0 @@ -export abstract class Assignable { - constructor(properties: any) { - Object.keys(properties).map((key: any) => { - (this as any)[key] = properties[key]; - }); - } -} diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 392a6af8de..07ad7cacbb 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -1,3 +1,2 @@ -export * from './assignable'; export * from './errors'; export * from './provider'; From deb1b23cdb3e0993390b9439c73d8a1c444ef73a Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 11:03:52 -0700 Subject: [PATCH 10/45] feat: convert tests to TS --- packages/accounts/jest.config.js | 22 - packages/accounts/jest.config.ts | 16 + packages/accounts/package.json | 6 +- ...key.test.js => account.access_key.test.ts} | 60 +- .../test/{account.test.js => account.test.ts} | 36 +- ...tisig.test.js => account_multisig.test.ts} | 29 +- packages/accounts/test/config.js | 5 +- .../{contract.test.js => contract.test.ts} | 14 +- ...tract_abi.test.js => contract_abi.test.ts} | 11 +- ...ve_runtime.test.js => lve_runtime.test.ts} | 11 +- ...ve_storage.test.js => lve_storage.test.ts} | 12 +- .../test/{promise.test.js => promise.test.ts} | 5 +- .../{providers.test.js => providers.test.ts} | 19 +- packages/accounts/test/test-utils.js | 73 +- packages/biometric-ed25519/jest.config.js | 22 - packages/biometric-ed25519/jest.config.ts | 16 + packages/biometric-ed25519/package.json | 6 +- .../test/{utils.test.js => utils.test.ts} | 59 +- packages/crypto/jest.config.js | 22 - packages/crypto/jest.config.ts | 16 + packages/crypto/package.json | 6 +- .../{key_pair.test.js => key_pair.test.ts} | 10 +- packages/iframe-rpc/tsconfig.json | 1 + packages/keystores-browser/jest.config.js | 22 - packages/keystores-browser/jest.config.ts | 16 + packages/keystores-browser/package.json | 6 +- .../test/browser_keystore.test.js | 22 - .../test/browser_keystore.test.ts | 25 + ...{keystore_common.js => keystore_common.ts} | 5 +- packages/keystores-node/jest.config.js | 22 - packages/keystores-node/jest.config.ts | 16 + packages/keystores-node/package.json | 5 +- .../test/keystore_common.ts} | 5 +- ... unencrypted_file_system_keystore.test.ts} | 24 +- packages/keystores/jest.config.js | 22 - packages/keystores/jest.config.ts | 16 + packages/keystores/package.json | 5 +- .../keystores/test/in_memory_keystore.test.js | 11 - .../keystores/test/in_memory_keystore.test.ts | 13 + .../test/keystore_common.ts} | 5 +- ...eystore.test.js => merge_keystore.test.ts} | 10 +- packages/near-api-js/package.json | 4 +- packages/providers/jest.config.js | 22 - packages/providers/jest.config.ts | 16 + packages/providers/package.json | 5 +- packages/providers/test/fetch_json.test.js | 26 - packages/providers/test/fetch_json.test.ts | 29 + .../{providers.test.js => providers.test.ts} | 16 +- packages/signers/jest.config.js | 22 - packages/signers/jest.config.ts | 16 + packages/signers/package.json | 5 +- packages/signers/test/signer.test.js | 12 - packages/signers/test/signer.test.ts | 14 + packages/transactions/jest.config.js | 22 - packages/transactions/jest.config.ts | 16 + packages/transactions/package.json | 9 +- .../{serialize.test.js => serialize.test.ts} | 52 +- ...ransaction.test.js => transaction.test.ts} | 3 +- packages/types/package.json | 4 +- packages/utils/jest.config.js | 22 - packages/utils/jest.config.ts | 16 + packages/utils/package.json | 7 +- .../test/{format.test.js => format.test.ts} | 5 +- .../test/{logger.test.js => logger.test.ts} | 4 +- ...{rpc-errors.test.js => rpc-errors.test.ts} | 17 +- .../{validator.test.js => validator.test.ts} | 10 +- packages/wallet-account/jest.config.js | 35 +- packages/wallet-account/jest.config.ts | 16 + packages/wallet-account/package.json | 5 +- .../wallet-account/test/wallet_account.js | 454 --- .../test/wallet_account.test.js | 1 - .../test/wallet_account.test.ts | 3 + .../wallet-account/test/wallet_account.ts | 232 ++ ...s.test.node.js => wallet_accounts.test.ts} | 81 +- pnpm-lock.yaml | 2807 +++++------------ tsconfig.browser.json | 3 +- tsconfig.node.json | 3 +- 77 files changed, 1738 insertions(+), 3003 deletions(-) delete mode 100644 packages/accounts/jest.config.js create mode 100644 packages/accounts/jest.config.ts rename packages/accounts/test/{account.access_key.test.js => account.access_key.test.ts} (74%) rename packages/accounts/test/{account.test.js => account.test.ts} (95%) rename packages/accounts/test/{account_multisig.test.js => account_multisig.test.ts} (89%) rename packages/accounts/test/{contract.test.js => contract.test.ts} (94%) rename packages/accounts/test/{contract_abi.test.js => contract_abi.test.ts} (93%) rename packages/accounts/test/{lve_runtime.test.js => lve_runtime.test.ts} (93%) rename packages/accounts/test/{lve_storage.test.js => lve_storage.test.ts} (90%) rename packages/accounts/test/{promise.test.js => promise.test.ts} (98%) rename packages/accounts/test/{providers.test.js => providers.test.ts} (96%) delete mode 100644 packages/biometric-ed25519/jest.config.js create mode 100644 packages/biometric-ed25519/jest.config.ts rename packages/biometric-ed25519/test/{utils.test.js => utils.test.ts} (77%) delete mode 100644 packages/crypto/jest.config.js create mode 100644 packages/crypto/jest.config.ts rename packages/crypto/test/{key_pair.test.js => key_pair.test.ts} (95%) delete mode 100644 packages/keystores-browser/jest.config.js create mode 100644 packages/keystores-browser/jest.config.ts create mode 100644 packages/keystores-browser/test/browser_keystore.test.ts rename packages/keystores-browser/test/{keystore_common.js => keystore_common.ts} (93%) delete mode 100644 packages/keystores-node/jest.config.js create mode 100644 packages/keystores-node/jest.config.ts rename packages/{keystores/test/keystore_common.js => keystores-node/test/keystore_common.ts} (93%) rename packages/keystores-node/test/{unencrypted_file_system_keystore.test.node.js => unencrypted_file_system_keystore.test.ts} (58%) delete mode 100644 packages/keystores/jest.config.js create mode 100644 packages/keystores/jest.config.ts delete mode 100644 packages/keystores/test/in_memory_keystore.test.js create mode 100644 packages/keystores/test/in_memory_keystore.test.ts rename packages/{keystores-node/test/keystore_common.js => keystores/test/keystore_common.ts} (93%) rename packages/keystores/test/{merge_keystore.test.js => merge_keystore.test.ts} (79%) delete mode 100644 packages/providers/jest.config.js create mode 100644 packages/providers/jest.config.ts delete mode 100644 packages/providers/test/fetch_json.test.js create mode 100644 packages/providers/test/fetch_json.test.ts rename packages/providers/test/{providers.test.js => providers.test.ts} (97%) delete mode 100644 packages/signers/jest.config.js create mode 100644 packages/signers/jest.config.ts delete mode 100644 packages/signers/test/signer.test.js create mode 100644 packages/signers/test/signer.test.ts delete mode 100644 packages/transactions/jest.config.js create mode 100644 packages/transactions/jest.config.ts rename packages/transactions/test/{serialize.test.js => serialize.test.ts} (90%) rename packages/transactions/test/{transaction.test.js => transaction.test.ts} (90%) delete mode 100644 packages/utils/jest.config.js create mode 100644 packages/utils/jest.config.ts rename packages/utils/test/{format.test.js => format.test.ts} (95%) rename packages/utils/test/{logger.test.js => logger.test.ts} (93%) rename packages/utils/test/{rpc-errors.test.js => rpc-errors.test.ts} (95%) rename packages/utils/test/{validator.test.js => validator.test.ts} (85%) create mode 100644 packages/wallet-account/jest.config.ts delete mode 100644 packages/wallet-account/test/wallet_account.js delete mode 100644 packages/wallet-account/test/wallet_account.test.js create mode 100644 packages/wallet-account/test/wallet_account.test.ts create mode 100644 packages/wallet-account/test/wallet_account.ts rename packages/wallet-account/test/{wallet_accounts.test.node.js => wallet_accounts.test.ts} (89%) diff --git a/packages/accounts/jest.config.js b/packages/accounts/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/accounts/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/accounts/jest.config.ts b/packages/accounts/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/accounts/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/accounts/package.json b/packages/accounts/package.json index 716f676b95..e2f7b72173 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -32,13 +32,15 @@ "near-abi": "0.1.1" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@near-js/keystores": "workspace:*", "@types/node": "18.11.18", "bs58": "4.0.0", - "jest": "26.0.1", + "jest": "29.7.0", "near-hello": "0.5.1", "near-workspaces": "3.5.0", - "ts-jest": "26.5.6", + "semver": "7.1.1", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/accounts/test/account.access_key.test.js b/packages/accounts/test/account.access_key.test.ts similarity index 74% rename from packages/accounts/test/account.access_key.test.js rename to packages/accounts/test/account.access_key.test.ts index a6600a0a8c..65322c8267 100644 --- a/packages/accounts/test/account.access_key.test.js +++ b/packages/accounts/test/account.access_key.test.ts @@ -1,22 +1,26 @@ -const { KeyPair } = require('@near-js/crypto'); +import { beforeAll, beforeEach, expect, test } from '@jest/globals'; +import { KeyPair } from '@near-js/crypto'; -const testUtils = require('./test-utils'); +import testUtils from './test-utils'; let nearjs; let workingAccount; let contractId; let contract; -jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - beforeAll(async () => { nearjs = await testUtils.setUpTestConnection(); }); beforeEach(async () => { - contractId = testUtils.generateUniqueString('test'); - workingAccount = await testUtils.createAccount(nearjs); - contract = await testUtils.deployContract(nearjs.accountCreator.masterAccount, contractId); + try { + + contractId = testUtils.generateUniqueString('test'); + workingAccount = await testUtils.createAccount(nearjs); + contract = await testUtils.deployContract(nearjs.accountCreator.masterAccount, contractId); + } catch (e) { + console.error(e); + } }); test('make function call using access key', async() => { @@ -37,13 +41,19 @@ test('remove access key no longer works', async() => { await nearjs.accountCreator.masterAccount.deleteKey(publicKey); // Override in the key store the workingAccount key to the given access key. await nearjs.connection.signer.keyStore.setKey(testUtils.networkId, nearjs.accountCreator.masterAccount.accountId, keyPair); + let failed = true; try { await contract.setValue({ args: { value: 'test' } }); - fail('should throw an error'); + failed = false; } catch (e) { expect(e.message).toEqual(`Can not sign transactions for account ${nearjs.accountCreator.masterAccount.accountId} on network ${testUtils.networkId}, no matching key pair exists for this account`); expect(e.type).toEqual('KeyNotFound'); } + + if (!failed) { + throw new Error('should throw an error'); + } + nearjs = await testUtils.setUpTestConnection(); }); @@ -56,20 +66,19 @@ test('view account details after adding access keys', async() => { await nearjs.accountCreator.masterAccount.addKey(keyPair2.getPublicKey(), contract2.contractId, '', 2000000000); const details = await nearjs.accountCreator.masterAccount.getAccountDetails(); - const expectedResult = { - authorizedApps: [{ - contractId: contractId, - amount: '1000000000', - publicKey: keyPair.getPublicKey().toString(), - }, - { - contractId: contract2.contractId, - amount: '2000000000', - publicKey: keyPair2.getPublicKey().toString(), - }], - transactions: [] - }; - expect(details.authorizedApps).toEqual(jasmine.arrayContaining(expectedResult.authorizedApps)); + const authorizedApps = [{ + contractId, + amount: '1000000000', + publicKey: keyPair.getPublicKey().toString(), + }, + { + contractId: contract2.contractId, + amount: '2000000000', + publicKey: keyPair2.getPublicKey().toString(), + }]; + + details.authorizedApps.sort((a, b) => a.contractId > b.contractId); + expect(JSON.stringify(details.authorizedApps)).toEqual(JSON.stringify(authorizedApps)); }); test('loading account after adding a full key', async() => { @@ -88,11 +97,16 @@ test('loading account after adding a full key', async() => { test('load invalid key pair', async() => { // Override in the key store with invalid key pair await nearjs.connection.signer.keyStore.setKey(testUtils.networkId, nearjs.accountCreator.masterAccount.accountId, ''); + let failed = true; try { await contract.setValue({ args: { value: 'test' } }); - fail('should throw an error'); + failed = false; } catch (e) { expect(e.message).toEqual(`no matching key pair found in ${nearjs.connection.signer}`); expect(e.type).toEqual('PublicKeyNotFound'); } + + if (!failed) { + throw new Error('should throw an error'); + } }); \ No newline at end of file diff --git a/packages/accounts/test/account.test.js b/packages/accounts/test/account.test.ts similarity index 95% rename from packages/accounts/test/account.test.js rename to packages/accounts/test/account.test.ts index 68c229605b..e8a4e7a958 100644 --- a/packages/accounts/test/account.test.js +++ b/packages/accounts/test/account.test.ts @@ -1,19 +1,18 @@ -const { getTransactionLastResult, Logger } = require('@near-js/utils'); -const { actionCreators } = require('@near-js/transactions'); -const { TypedError } = require('@near-js/types'); -const fs = require('fs'); +import { afterAll, beforeAll, beforeEach, describe, expect, test } from '@jest/globals'; +import { KeyType } from '@near-js/crypto'; +import { getTransactionLastResult, Logger } from '@near-js/utils'; +import { actionCreators } from '@near-js/transactions'; +import { BlockResult, TypedError } from '@near-js/types'; +import * as fs from 'fs'; -const { Account, Contract } = require('../lib'); -const { KeyType } = require( '@near-js/crypto' ); -const testUtils = require('./test-utils'); +import { Account, Contract } from '../src'; +import testUtils from './test-utils'; let nearjs; let workingAccount; const { HELLO_WASM_PATH, HELLO_WASM_BALANCE } = testUtils; -jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - beforeAll(async () => { nearjs = await testUtils.setUpTestConnection(); workingAccount = await testUtils.createAccount(nearjs); @@ -84,13 +83,15 @@ test('delete account', async() => { const sender = await testUtils.createAccount(nearjs); const receiver = await testUtils.createAccount(nearjs); await sender.deleteAccount(receiver.accountId); + // @ts-ignore const reloaded = new Account(sender.connection, sender); await expect(reloaded.state()).rejects.toThrow(); }); test('multiple parallel transactions', async () => { const PARALLEL_NUMBER = 5; - await Promise.all([...Array(PARALLEL_NUMBER).keys()].map(async (_, i) => { + // @ts-ignore + await Promise.all(new Array(PARALLEL_NUMBER).fill().map(async (_, i) => { const account = new Account(workingAccount.connection, workingAccount.accountId); // NOTE: Need to have different transactions outside of nonce, or they all succeed by being identical // TODO: Check if randomization of exponential back off helps to do more transactions without exceeding retries @@ -102,7 +103,9 @@ test('findAccessKey returns the same access key when fetched simultaneously', as const account = await testUtils.createAccount(nearjs); const [key1, key2] = await Promise.all([ + // @ts-ignore account.findAccessKey(), + // @ts-ignore account.findAccessKey() ]); @@ -142,8 +145,9 @@ describe('with deploy contract', () => { beforeAll(async () => { const newPublicKey = await nearjs.connection.signer.createKey(contractId, testUtils.networkId); - const data = [...fs.readFileSync(HELLO_WASM_PATH)]; + const data = fs.readFileSync(HELLO_WASM_PATH); await nearjs.accountCreator.masterAccount.createAndDeployContract(contractId, newPublicKey, data, HELLO_WASM_BALANCE); + // @ts-ignore contract = new Contract(nearjs.accountCreator.masterAccount, contractId, { viewMethods: ['hello', 'getValue', 'returnHiWithLogs'], changeMethods: ['setValue', 'generateLogs', 'triggerAssert', 'testSetRemove', 'crossContract'] @@ -350,14 +354,16 @@ describe('with deploy contract', () => { }); test('can have view methods only', async () => { - const contract = new Contract(workingAccount, contractId, { + // @ts-ignore + const contract: any = new Contract(workingAccount, contractId, { viewMethods: ['hello'], }); expect(await contract.hello({ name: 'world' })).toEqual('hello world'); }); test('can have change methods only', async () => { - const contract = new Contract(workingAccount, contractId, { + // @ts-ignore + const contract: any = new Contract(workingAccount, contractId, { changeMethods: ['hello'], }); expect(await contract.hello({ @@ -436,7 +442,7 @@ describe('with deploy contract', () => { } }; account.connection.provider.block = async () => { - return Promise.resolve({ header: { hash: 'dontcare' } }); + return Promise.resolve({ header: { hash: 'dontcare' } } as BlockResult); }; const result = await account.getActiveDelegatedStakeBalance(); expect(result).toEqual({ @@ -486,7 +492,7 @@ describe('with deploy contract', () => { } }; account.connection.provider.block = async () => { - return Promise.resolve({ header: { hash: 'dontcare' } }); + return Promise.resolve({ header: { hash: 'dontcare' } } as BlockResult); }; try { diff --git a/packages/accounts/test/account_multisig.test.js b/packages/accounts/test/account_multisig.test.ts similarity index 89% rename from packages/accounts/test/account_multisig.test.js rename to packages/accounts/test/account_multisig.test.ts index 63898d2396..7c2c0cb476 100644 --- a/packages/accounts/test/account_multisig.test.js +++ b/packages/accounts/test/account_multisig.test.ts @@ -1,25 +1,25 @@ -const { parseNearAmount } = require('@near-js/utils'); -const { KeyPair } = require('@near-js/crypto'); -const { InMemorySigner } = require('@near-js/signers'); -const { actionCreators } = require('@near-js/transactions'); -const fs = require('fs'); -const semver = require('semver'); +import { beforeAll, describe, expect, test } from '@jest/globals'; +import { parseNearAmount } from '@near-js/utils'; +import { KeyPair } from '@near-js/crypto'; +import { InMemorySigner } from '@near-js/signers'; +import { actionCreators } from '@near-js/transactions'; +import * as fs from 'fs'; +import semver from 'semver'; -const { Account2FA, MULTISIG_DEPOSIT, MULTISIG_GAS, MultisigStateStatus } = require('../lib'); -const testUtils = require('./test-utils'); +import { Account2FA, MULTISIG_DEPOSIT, MULTISIG_GAS, MultisigStateStatus } from '../src'; +import testUtils from './test-utils'; const { functionCall, transfer } = actionCreators; let nearjs; let startFromVersion; -jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; - const getAccount2FA = async (account, keyMapping = ({ public_key: publicKey }) => ({ publicKey, kind: 'phone' })) => { // modifiers to functions replaces contract helper (CH) const { accountId } = account; const keys = await account.getAccessKeys(); - const account2fa = new Account2FA(nearjs.connection, accountId, { + // @ts-ignore + const account2fa: any = new Account2FA(nearjs.connection, accountId, { // skip this (not using CH) getCode: () => {}, sendCode: () => {}, @@ -46,7 +46,7 @@ const getAccount2FA = async (account, keyMapping = ({ public_key: publicKey }) = data: keys.map(keyMapping) }); account2fa.checkMultisigCodeAndStateStatus = () => ({ codeStatus: 1, stateStatus: MultisigStateStatus.STATE_NOT_INITIALIZED }); - await account2fa.deployMultisig([...fs.readFileSync('./test/wasm/multisig.wasm')]); + await account2fa.deployMultisig(fs.readFileSync('./test/wasm/multisig.wasm')); return account2fa; }; @@ -67,6 +67,7 @@ describe('deployMultisig key rotations', () => { const kinds = ['ledger', 'phrase', 'phone']; const account2fa = await getAccount2FA( account, + // @ts-ignore ({ public_key: publicKey }, i) => ({ publicKey, kind: kinds[i] }) ); const currentKeys = await account2fa.getAccessKeys(); @@ -88,8 +89,10 @@ describe('account2fa transactions', () => { account = await getAccount2FA(account); const keys = await account.getAccessKeys(); expect(keys.find(({ public_key }) => appPublicKey.toString() === public_key) + // @ts-ignore .access_key.permission.FunctionCall.method_names).toEqual(appMethodNames); expect(keys.find(({ public_key }) => appPublicKey.toString() === public_key) + // @ts-ignore .access_key.permission.FunctionCall.receiver_id).toEqual(appAccountId); }); @@ -102,8 +105,10 @@ describe('account2fa transactions', () => { await account.addKey(appPublicKey.toString(), appAccountId, appMethodNames, BigInt(parseNearAmount('0.25'))); const keys = await account.getAccessKeys(); expect(keys.find(({ public_key }) => appPublicKey.toString() === public_key) + // @ts-ignore .access_key.permission.FunctionCall.method_names).toEqual(appMethodNames); expect(keys.find(({ public_key }) => appPublicKey.toString() === public_key) + // @ts-ignore .access_key.permission.FunctionCall.receiver_id).toEqual(appAccountId); }); diff --git a/packages/accounts/test/config.js b/packages/accounts/test/config.js index 23f994a1dd..f1ecd95bdc 100644 --- a/packages/accounts/test/config.js +++ b/packages/accounts/test/config.js @@ -1,5 +1,6 @@ -const { Worker } = require('near-workspaces'); -const fs = require('fs'); +import { Worker } from 'near-workspaces'; +import fs from 'fs'; + let worker; module.exports = async function getConfig(env) { switch (env) { diff --git a/packages/accounts/test/contract.test.js b/packages/accounts/test/contract.test.ts similarity index 94% rename from packages/accounts/test/contract.test.js rename to packages/accounts/test/contract.test.ts index 9f8da8426d..414d22081e 100644 --- a/packages/accounts/test/contract.test.js +++ b/packages/accounts/test/contract.test.ts @@ -1,7 +1,8 @@ -const { PositionalArgsError } = require('@near-js/types'); +import { afterEach, beforeAll, describe, expect, jest, test } from '@jest/globals'; +import { PositionalArgsError } from '@near-js/types'; -const { Contract, Account } = require('../lib'); -const testUtils = require('./test-utils'); +import { Contract, Account } from '../src'; +import testUtils from './test-utils'; const account = Object.setPrototypeOf({ getConnection() { @@ -15,7 +16,8 @@ const account = Object.setPrototypeOf({ } }, Account.prototype); -const contract = new Contract(account, 'contractId', { +// @ts-ignore +const contract: any = new Contract(account, 'contractId', { viewMethods: ['viewMethod'], changeMethods: ['changeMethod'], }); @@ -158,7 +160,8 @@ describe('local view execution', () => { }); test('local execution fails and fallbacks to normal RPC call', async () => { - const _contract = new Contract(contract.account, contract.contractId, { viewMethods: ['get_msg'], useLocalViewExecution: true }); + // @ts-ignore + const _contract: any = new Contract(contract.account, contract.contractId, { viewMethods: ['get_msg'], useLocalViewExecution: true }); _contract.account.viewFunction = jest.fn(_contract.account.viewFunction); try { @@ -185,6 +188,7 @@ describe('contract without account', () => { const contractId = testUtils.generateUniqueString('guestbook'); await testUtils.deployContractGuestBook(nearjs.accountCreator.masterAccount, contractId); + // @ts-ignore contract = new Contract(nearjs.connection, contractId, { viewMethods: ['total_messages', 'get_messages'], changeMethods: ['add_message'], diff --git a/packages/accounts/test/contract_abi.test.js b/packages/accounts/test/contract_abi.test.ts similarity index 93% rename from packages/accounts/test/contract_abi.test.js rename to packages/accounts/test/contract_abi.test.ts index 278863dc54..bcb1ea1aa8 100644 --- a/packages/accounts/test/contract_abi.test.js +++ b/packages/accounts/test/contract_abi.test.ts @@ -1,4 +1,5 @@ -const { Account, Contract, ArgumentSchemaError, UnknownArgumentError, UnsupportedSerializationError } = require('../lib'); +import { describe, expect, test } from '@jest/globals'; +import { Account, Contract, ArgumentSchemaError, UnknownArgumentError, UnsupportedSerializationError } from '../src'; let rawAbi = `{ "schema_version": "0.3.0", @@ -106,9 +107,8 @@ const account = Object.setPrototypeOf({ const abi = JSON.parse(rawAbi); -const contract = new Contract(account, 'contractId', { - abi -}); +// @ts-ignore +const contract: any = new Contract(account, 'contractId', { abi }); describe('add', () => { test('can be called successfully', async () => { @@ -182,7 +182,8 @@ describe('Contract constructor', () => { } } }`; - const contract = new Contract(account, 'contractId', { abi: JSON.parse(rawAbi) }); + // @ts-ignore + const contract: any = new Contract(account, 'contractId', { abi: JSON.parse(rawAbi) }); await expect(contract.add({ a: 1 })).rejects.toBeInstanceOf(UnsupportedSerializationError); }); }); diff --git a/packages/accounts/test/lve_runtime.test.js b/packages/accounts/test/lve_runtime.test.ts similarity index 93% rename from packages/accounts/test/lve_runtime.test.js rename to packages/accounts/test/lve_runtime.test.ts index c36aee28fd..fd8572dc97 100644 --- a/packages/accounts/test/lve_runtime.test.js +++ b/packages/accounts/test/lve_runtime.test.ts @@ -1,9 +1,10 @@ -const { +import { beforeAll, describe, expect, test } from '@jest/globals'; +import { GUESTBOOK_CONTRACT_ID, GUESTBOOK_CONTRACT_STATE, loadGuestBookContractCode, -} = require('./test-utils'); -const { Runtime } = require('../lib/local-view-execution/runtime'); +} from './test-utils'; +import { Runtime } from '../src/local-view-execution/runtime'; let contractCode; const blockHeight = 1; @@ -13,15 +14,13 @@ const contractState = GUESTBOOK_CONTRACT_STATE; const parse = (result) => JSON.parse(Buffer.from(result).toString()); const newRuntime = (methodArgs = {}) => { - methodArgs = JSON.stringify(methodArgs); - return new Runtime({ contractId: GUESTBOOK_CONTRACT_ID, contractCode, contractState, blockHeight, blockTimestamp, - methodArgs, + methodArgs: JSON.stringify(methodArgs), }); }; diff --git a/packages/accounts/test/lve_storage.test.js b/packages/accounts/test/lve_storage.test.ts similarity index 90% rename from packages/accounts/test/lve_storage.test.js rename to packages/accounts/test/lve_storage.test.ts index bd455bc41d..52c076a3c3 100644 --- a/packages/accounts/test/lve_storage.test.js +++ b/packages/accounts/test/lve_storage.test.ts @@ -1,9 +1,10 @@ -const crypto = require('crypto'); -const { Storage } = require('../lib/local-view-execution/storage'); -const { +import { beforeAll, describe, expect, test } from '@jest/globals'; +import { sha256 } from '@noble/hashes/sha256'; +import { Storage } from '../src/local-view-execution/storage'; +import { GUESTBOOK_CONTRACT_STATE, loadGuestBookContractCode, -} = require('./test-utils'); +} from './test-utils'; let contractCode; const contractState = GUESTBOOK_CONTRACT_STATE; @@ -12,8 +13,7 @@ const blockHash = 'G2DF9Pe4KegQK7PkcxDu5cxakvcy99zgrFZEadRCxrwF'; const blockHeight = 1; const blockTimestamp = Math.floor(Date.now() * 1000000); -const createBlockHash = (data) => - crypto.createHash('sha256').update(JSON.stringify(data)).digest('base64'); +const createBlockHash = (data) => Buffer.from(sha256(JSON.stringify(data))).toString('base64'); describe('Local View Execution - Storage', () => { beforeAll(async () => { diff --git a/packages/accounts/test/promise.test.js b/packages/accounts/test/promise.test.ts similarity index 98% rename from packages/accounts/test/promise.test.js rename to packages/accounts/test/promise.test.ts index 9013256ae1..ef1e194f8d 100644 --- a/packages/accounts/test/promise.test.js +++ b/packages/accounts/test/promise.test.ts @@ -1,9 +1,8 @@ -const testUtils = require('./test-utils'); +import { afterEach, beforeAll, beforeEach, describe, expect, test } from '@jest/globals'; +import testUtils from './test-utils'; let nearjs; -jasmine.DEFAULT_TIMEOUT_INTERVAL = 120000; - const CONTRACT_CALL_GAS = BigInt(300000000000000); beforeAll(async () => { diff --git a/packages/accounts/test/providers.test.js b/packages/accounts/test/providers.test.ts similarity index 96% rename from packages/accounts/test/providers.test.js rename to packages/accounts/test/providers.test.ts index 8d335c6769..04617afbae 100644 --- a/packages/accounts/test/providers.test.js +++ b/packages/accounts/test/providers.test.ts @@ -1,8 +1,9 @@ -const base58 = require('bs58'); +import { beforeAll, describe, expect, jest, test } from '@jest/globals'; +import { KeyPair } from '@near-js/crypto'; +import ERRORS_JSON from '@near-js/utils/lib/errors/error_messages.json'; +import base58 from 'bs58'; -const testUtils = require('./test-utils'); -const { KeyPair } = require('@near-js/crypto'); -let ERRORS_JSON = require('@near-js/utils/lib/errors/error_messages.json'); +import testUtils from './test-utils'; jest.setTimeout(60000); @@ -21,7 +22,9 @@ describe('providers', () => { const outcome = await sender.sendMoney(receiver.accountId, BigInt('1')); const responseWithString = await provider.txStatus(outcome.transaction.hash, sender.accountId); const responseWithUint8Array = await provider.txStatus(base58.decode(outcome.transaction.hash), sender.accountId); + // @ts-ignore expect(responseWithString).toMatchObject(outcome); + // @ts-ignore expect(responseWithUint8Array).toMatchObject(outcome); }); @@ -55,7 +58,7 @@ describe('providers', () => { test('json rpc query view_state', async () => { const contract = await testUtils.deployContract(near.accountCreator.masterAccount, testUtils.generateUniqueString('test')); - + // @ts-ignore await contract.setValue({ args: { value: 'hello' } }); return testUtils.waitFor(async () => { @@ -96,7 +99,8 @@ describe('providers', () => { test('json rpc query call_function', async () => { const contract = await testUtils.deployContract(near.accountCreator.masterAccount, testUtils.generateUniqueString('test')); - + + // @ts-ignore await contract.setValue({ args: { value: 'hello' } }); return testUtils.waitFor(async () => { @@ -142,6 +146,7 @@ describe('providers', () => { } const comittedStatus = await waitForStatusMatching(status => + // @ts-ignore status.sync_info.latest_block_hash !== executionOutcome.transaction_outcome.block_hash); const BLOCKS_UNTIL_FINAL = 2; const finalizedStatus = await waitForStatusMatching(status => @@ -177,6 +182,7 @@ describe('providers', () => { // Use old block hash as light client head should fail lightClientRequest = { type: 'transaction', + // @ts-ignore light_client_head: executionOutcome.transaction_outcome.block_hash, transaction_hash: executionOutcome.transaction.hash, sender_id: workingAccount.accountId, @@ -193,6 +199,7 @@ describe('providers errors', () => { testUtils.generateUniqueString('test') ); + // @ts-ignore await contract.setValue({ args: { value: 'hello' } }); try { diff --git a/packages/accounts/test/test-utils.js b/packages/accounts/test/test-utils.js index 133f013616..b0e5c6351f 100644 --- a/packages/accounts/test/test-utils.js +++ b/packages/accounts/test/test-utils.js @@ -1,26 +1,27 @@ -const { KeyPair, KeyType } = require('@near-js/crypto'); -const { InMemoryKeyStore } = require('@near-js/keystores'); -const fs = require('fs').promises; -const path = require('path'); +import { KeyPair, KeyType } from '@near-js/crypto'; +import { InMemoryKeyStore } from '@near-js/keystores'; +import fs from 'fs'; +import path from 'path'; -const { Account, AccountMultisig, Contract, Connection, LocalAccountCreator } = require('../lib'); +import { Account, AccountMultisig, Contract, Connection, LocalAccountCreator } from '../src'; +import Config from './config'; const networkId = 'unittest'; -const HELLO_WASM_PATH = process.env.HELLO_WASM_PATH || 'node_modules/near-hello/dist/main.wasm'; -const HELLO_WASM_BALANCE = BigInt('10000000000000000000000000'); -const HELLO_WASM_METHODS = { +export const HELLO_WASM_PATH = process.env.HELLO_WASM_PATH || 'node_modules/near-hello/dist/main.wasm'; +export const HELLO_WASM_BALANCE = BigInt('10000000000000000000000000'); +export const HELLO_WASM_METHODS = { viewMethods: ['getValue', 'getLastResult'], changeMethods: ['setValue', 'callPromise'] }; -const MULTISIG_WASM_PATH = process.env.MULTISIG_WASM_PATH || './test/wasm/multisig.wasm'; +export const MULTISIG_WASM_PATH = process.env.MULTISIG_WASM_PATH || './test/wasm/multisig.wasm'; // Length of a random account. Set to 40 because in the protocol minimal allowed top-level account length should be at // least 32. -const RANDOM_ACCOUNT_LENGTH = 40; +export const RANDOM_ACCOUNT_LENGTH = 40; -const GUESTBOOK_CONTRACT_ID = 'guestbook-1690363526419-7138950000000000'; -const GUESTBOOK_WASM_PATH = path.resolve(__dirname, './wasm/guestbook.wasm'); -const GUESTBOOK_CONTRACT_STATE = [ +export const GUESTBOOK_CONTRACT_ID = 'guestbook-1690363526419-7138950000000000'; +export const GUESTBOOK_WASM_PATH = path.resolve(__dirname, './wasm/guestbook.wasm'); +export const GUESTBOOK_CONTRACT_STATE = [ { key: Buffer.from('U1RBVEU=', 'base64'), value: Buffer.from( @@ -44,13 +45,13 @@ const GUESTBOOK_CONTRACT_STATE = [ }, ]; -async function loadGuestBookContractCode() { - const contractCode = await fs.readFile(GUESTBOOK_WASM_PATH); +export async function loadGuestBookContractCode() { + const contractCode = await fs.readFileSync(GUESTBOOK_WASM_PATH); return contractCode.toString('base64'); } -async function setUpTestConnection() { +export async function setUpTestConnection() { const keyStore = new InMemoryKeyStore(); - const config = Object.assign(await require('./config')(process.env.NODE_ENV || 'test'), { + const config = Object.assign(await Config(process.env.NODE_ENV || 'test'), { networkId, keyStore }); @@ -74,21 +75,21 @@ async function setUpTestConnection() { } // Generate some unique string of length at least RANDOM_ACCOUNT_LENGTH with a given prefix using the alice nonce. -function generateUniqueString(prefix) { +export function generateUniqueString(prefix) { let result = `${prefix}-${Date.now()}-${Math.round(Math.random() * 1000000)}`; let add_symbols = Math.max(RANDOM_ACCOUNT_LENGTH - result.length, 1); for (let i = add_symbols; i > 0; --i) result += '0'; return result + '.test.near'; } -async function createAccount({ accountCreator, connection }, keyType = KeyType.ED25519) { +export async function createAccount({ accountCreator, connection }, keyType = KeyType.ED25519) { const newAccountName = generateUniqueString('test'); const newPublicKey = await connection.signer.createKey(newAccountName, networkId, keyType); await accountCreator.createAccount(newAccountName, newPublicKey); return new Account(connection, newAccountName); } -async function createAccountMultisig({ accountCreator, connection }, options) { +export async function createAccountMultisig({ accountCreator, connection }, options) { const newAccountName = generateUniqueString('test'); const newPublicKey = await connection.signer.createKey(newAccountName, networkId); await accountCreator.createAccount(newAccountName, newPublicKey); @@ -107,34 +108,34 @@ async function createAccountMultisig({ accountCreator, connection }, options) { case '/2fa/getAccessKey': return { publicKey }; } }; - await accountMultisig.deployMultisig(new Uint8Array([...(await fs.readFile(MULTISIG_WASM_PATH))])); + await accountMultisig.deployMultisig(fs.readFileSync(MULTISIG_WASM_PATH)); return accountMultisig; } catch (e) { console.log(e); } } -async function deployContract(workingAccount, contractId) { +export async function deployContract(workingAccount, contractId) { const newPublicKey = await workingAccount.connection.signer.createKey(contractId, networkId); - const data = [...(await fs.readFile(HELLO_WASM_PATH))]; + const data = fs.readFileSync(HELLO_WASM_PATH); await workingAccount.createAndDeployContract(contractId, newPublicKey, data, HELLO_WASM_BALANCE); return new Contract(workingAccount, contractId, HELLO_WASM_METHODS); } -async function deployContractGuestBook(workingAccount, contractId) { +export async function deployContractGuestBook(workingAccount, contractId) { const newPublicKey = await workingAccount.connection.signer.createKey(contractId, networkId); - const data = [...(await fs.readFile(GUESTBOOK_WASM_PATH))]; + const data = fs.readFileSync(GUESTBOOK_WASM_PATH); const account = await workingAccount.createAndDeployContract(contractId, newPublicKey, data, HELLO_WASM_BALANCE); return new Contract(account, contractId, { viewMethods: ['total_messages', 'get_messages'], changeMethods: ['add_message'], useLocalViewExecution: true }); } -function sleep(time) { +export function sleep(time) { return new Promise(function (resolve) { setTimeout(resolve, time); }); } -function waitFor(fn) { +export function waitFor(fn) { const _waitFor = async (count = 10) => { try { return await fn(); @@ -149,21 +150,3 @@ function waitFor(fn) { return _waitFor(); } - -module.exports = { - setUpTestConnection, - networkId, - generateUniqueString, - createAccount, - createAccountMultisig, - deployContract, - HELLO_WASM_PATH, - HELLO_WASM_BALANCE, - loadGuestBookContractCode, - deployContractGuestBook, - GUESTBOOK_CONTRACT_ID, - GUESTBOOK_CONTRACT_STATE, - GUESTBOOK_WASM_PATH, - sleep, - waitFor, -}; diff --git a/packages/biometric-ed25519/jest.config.js b/packages/biometric-ed25519/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/biometric-ed25519/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/biometric-ed25519/jest.config.ts b/packages/biometric-ed25519/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/biometric-ed25519/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/biometric-ed25519/package.json b/packages/biometric-ed25519/package.json index 09d6b9ae28..cee0c92c34 100644 --- a/packages/biometric-ed25519/package.json +++ b/packages/biometric-ed25519/package.json @@ -9,7 +9,7 @@ "build": "tsc -p ./tsconfig.json", "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "Pagoda", @@ -27,7 +27,9 @@ "fido2-lib": "3.4.1" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@types/node": "18.11.18", - "jest": "26.0.1" + "jest": "29.7.0", + "ts-jest": "29.1.5" } } diff --git a/packages/biometric-ed25519/test/utils.test.js b/packages/biometric-ed25519/test/utils.test.ts similarity index 77% rename from packages/biometric-ed25519/test/utils.test.js rename to packages/biometric-ed25519/test/utils.test.ts index aac7c58b23..3101933d89 100644 --- a/packages/biometric-ed25519/test/utils.test.js +++ b/packages/biometric-ed25519/test/utils.test.ts @@ -1,39 +1,47 @@ -const { sanitizeCreateKeyResponse, sanitizeGetKeyResponse } = require("../lib/utils"); +import { describe, expect, it, jest } from '@jest/globals'; +import { sanitizeCreateKeyResponse, sanitizeGetKeyResponse } from '../src/utils'; // Define a mock PublicKeyCredential class PublicKeyCredentialMock { -constructor({ - rawId, - clientDataJSON, - attestationObject, - authenticatorData, - signature, - userHandle -}) { - this.rawId = rawId; - this.response = { - clientDataJSON, - ...(attestationObject ? { attestationObject } : {}), - ...(signature ? { signature } : {}), - ...(userHandle ? { userHandle } : {}), - ...(authenticatorData ? { authenticatorData } : {}), - }; - } + rawId: string; + response: any; + + constructor({ + rawId, + clientDataJSON, + attestationObject, + authenticatorData, + signature, + userHandle + }) { + this.rawId = rawId; + this.response = { + clientDataJSON, + ...(attestationObject ? { attestationObject } : {}), + ...(signature ? { signature } : {}), + ...(userHandle ? { userHandle } : {}), + ...(authenticatorData ? { authenticatorData } : {}), + }; + } } // Define global PublicKeyCredential to make it available during tests +// @ts-ignore global.PublicKeyCredential = PublicKeyCredentialMock; jest.mock('../lib/utils', () => { const originalModule = jest.requireActual('../lib/utils'); return { + // @ts-ignore ...originalModule, + // @ts-ignore convertUint8ArrayToArrayBuffer: jest.fn().mockImplementation(input => input.buffer), }; }); describe('sanitizeCreateKeyResponse', () => { it('should convert Uint8Array properties to ArrayBuffer for PublicKeyCredential', () => { + // @ts-ignore const mockCredential = new PublicKeyCredentialMock({ rawId: new Uint8Array([10, 20, 30]), clientDataJSON: new Uint8Array([40, 50, 60]), @@ -41,19 +49,25 @@ describe('sanitizeCreateKeyResponse', () => { }); + // @ts-ignore const result = sanitizeCreateKeyResponse(mockCredential); + // @ts-ignore expect(result.rawId.constructor.name).toBe('ArrayBuffer'); + // @ts-ignore expect(result.response.clientDataJSON.constructor.name).toBe('ArrayBuffer'); + // @ts-ignore expect(result.response.attestationObject.constructor.name).toBe('ArrayBuffer'); }); it('should return the input unchanged if not PublicKeyCredential or without Uint8Arrays', () => { + // @ts-ignore const mockCredential = new PublicKeyCredentialMock({ rawId: [10, 20, 30], clientDataJSON: [40, 50, 60], attestationObject: [70, 80, 90], }); + // @ts-ignore const result = sanitizeCreateKeyResponse(mockCredential); expect(result).toEqual(mockCredential); }); @@ -63,6 +77,7 @@ describe('sanitizeCreateKeyResponse', () => { someProp: 'test' }; // No casting needed + // @ts-ignore const result = sanitizeCreateKeyResponse(nonPublicKeyCredential); expect(result).toEqual(nonPublicKeyCredential); }); @@ -70,6 +85,7 @@ describe('sanitizeCreateKeyResponse', () => { describe('sanitizeGetKeyResponse', () => { it('should convert Uint8Array properties to ArrayBuffer in PublicKeyCredential', () => { + // @ts-ignore const mockCredential = new PublicKeyCredentialMock({ rawId: new Uint8Array([10, 20, 30]), clientDataJSON: new Uint8Array([40, 50, 60]), @@ -78,7 +94,8 @@ describe('sanitizeGetKeyResponse', () => { userHandle: new Uint8Array([130, 140, 150]) }); - const result = sanitizeGetKeyResponse(mockCredential); + // @ts-ignore + const result: any = sanitizeGetKeyResponse(mockCredential); expect(result.rawId.constructor.name).toBe('ArrayBuffer'); expect(result.response.clientDataJSON.constructor.name).toBe('ArrayBuffer'); expect(result.response.authenticatorData.constructor.name).toBe('ArrayBuffer'); @@ -87,6 +104,7 @@ describe('sanitizeGetKeyResponse', () => { }); it('should return the input unchanged if it does not meet conversion criteria', () => { + // @ts-ignore const mockCredential = new PublicKeyCredentialMock({ rawId: [10, 20, 30], clientDataJSON: [40, 50, 60], @@ -95,7 +113,7 @@ describe('sanitizeGetKeyResponse', () => { userHandle: [130, 140, 150] }); - + // @ts-ignore const result = sanitizeGetKeyResponse(mockCredential); expect(result).toEqual(mockCredential); }); @@ -105,6 +123,7 @@ describe('sanitizeGetKeyResponse', () => { someProp: 'test value' }; + // @ts-ignore const result = sanitizeGetKeyResponse(nonPublicKeyCredential); expect(result).toEqual(nonPublicKeyCredential); }); diff --git a/packages/crypto/jest.config.js b/packages/crypto/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/crypto/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/crypto/jest.config.ts b/packages/crypto/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/crypto/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/crypto/package.json b/packages/crypto/package.json index ceaef8678b..0fe3d53212 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -25,9 +25,11 @@ "secp256k1": "5.0.0" }, "devDependencies": { + "@jest/globals": "^29.7.0", + "@noble/hashes": "^1.4.0", "@types/node": "18.11.18", - "jest": "26.0.1", - "ts-jest": "26.5.6", + "jest": "29.7.0", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/crypto/test/key_pair.test.js b/packages/crypto/test/key_pair.test.ts similarity index 95% rename from packages/crypto/test/key_pair.test.js rename to packages/crypto/test/key_pair.test.ts index 10fada7096..8b6ccffa72 100644 --- a/packages/crypto/test/key_pair.test.js +++ b/packages/crypto/test/key_pair.test.ts @@ -1,8 +1,9 @@ -const { baseEncode } = require('@near-js/utils'); -const { sha256 } = require('@noble/hashes/sha256'); -const { KeyPair, KeyPairEd25519, PublicKey, KeyPairSecp256k1 } = require('../lib'); +import { describe, expect, test } from '@jest/globals'; +import { baseEncode } from '@near-js/utils'; +import { sha256 } from '@noble/hashes/sha256'; +import { KeyPair, KeyPairEd25519, PublicKey, KeyPairSecp256k1 } from '../src'; -const { TextEncoder } = require('util'); +import { TextEncoder } from 'util'; global.TextEncoder = TextEncoder; describe('Using Ed25519 Curve', () => { @@ -88,6 +89,7 @@ describe('Using Secp256k1 Curve', () => { test('convert to string', async () => { const keyPair = KeyPairEd25519.fromRandom(); const newKeyPair = KeyPair.fromString(keyPair.toString()); + // @ts-ignore expect(newKeyPair.secretKey).toEqual(keyPair.secretKey); const keyString = 'ed25519:2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'; diff --git a/packages/iframe-rpc/tsconfig.json b/packages/iframe-rpc/tsconfig.json index 24c6000844..bd7bc69c55 100644 --- a/packages/iframe-rpc/tsconfig.json +++ b/packages/iframe-rpc/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.browser.json", "compilerOptions": { "outDir": "./lib", + "types": ["node"] }, "files": [ "src/index.ts" diff --git a/packages/keystores-browser/jest.config.js b/packages/keystores-browser/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/keystores-browser/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/keystores-browser/jest.config.ts b/packages/keystores-browser/jest.config.ts new file mode 100644 index 0000000000..6725228929 --- /dev/null +++ b/packages/keystores-browser/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/keystores-browser/package.json b/packages/keystores-browser/package.json index 9317466eb7..fbf51d3561 100644 --- a/packages/keystores-browser/package.json +++ b/packages/keystores-browser/package.json @@ -21,8 +21,10 @@ "@near-js/keystores": "workspace:*" }, "devDependencies": { - "jest": "26.0.1", - "ts-jest": "26.5.6", + "@jest/globals": "^29.7.0", + "jest": "29.7.0", + "localstorage-memory": "1.0.3", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/keystores-browser/test/browser_keystore.test.js b/packages/keystores-browser/test/browser_keystore.test.js index 117c8a3ef4..e69de29bb2 100644 --- a/packages/keystores-browser/test/browser_keystore.test.js +++ b/packages/keystores-browser/test/browser_keystore.test.js @@ -1,22 +0,0 @@ -const { BrowserLocalStorageKeyStore, MultiContractBrowserLocalStorageKeyStore } = require('../lib'); - -describe('Browser keystore', () => { - let ctx = {}; - - beforeAll(async () => { - ctx.keyStore = new BrowserLocalStorageKeyStore(require('localstorage-memory')); - }); - - require('./keystore_common').shouldStoreAndRetrieveKeys(ctx); -}); - - -describe('Browser multi keystore', () => { - let ctx = {}; - - beforeAll(async () => { - ctx.keyStore = new MultiContractBrowserLocalStorageKeyStore(require('localstorage-memory')); - }); - - require('./multi_contract_browser_keystore_common').shouldStoreAndRetrieveKeys(ctx); -}); \ No newline at end of file diff --git a/packages/keystores-browser/test/browser_keystore.test.ts b/packages/keystores-browser/test/browser_keystore.test.ts new file mode 100644 index 0000000000..cdc2366116 --- /dev/null +++ b/packages/keystores-browser/test/browser_keystore.test.ts @@ -0,0 +1,25 @@ +import { beforeAll, describe } from '@jest/globals'; +import LocalStorageMemory from 'localstorage-memory'; + +import { BrowserLocalStorageKeyStore, MultiContractBrowserLocalStorageKeyStore } from '../src'; +import { shouldStoreAndRetrieveKeys } from './keystore_common'; + +describe('Browser keystore', () => { + let ctx: any = {}; + + beforeAll(async () => { + ctx.keyStore = new BrowserLocalStorageKeyStore(LocalStorageMemory); + }); + + shouldStoreAndRetrieveKeys(ctx); +}); + +describe('Browser multi keystore', () => { + let ctx: any = {}; + + beforeAll(async () => { + ctx.keyStore = new MultiContractBrowserLocalStorageKeyStore(LocalStorageMemory); + }); + + shouldStoreAndRetrieveKeys(ctx); +}); diff --git a/packages/keystores-browser/test/keystore_common.js b/packages/keystores-browser/test/keystore_common.ts similarity index 93% rename from packages/keystores-browser/test/keystore_common.js rename to packages/keystores-browser/test/keystore_common.ts index 9d721f0f27..5916de371a 100644 --- a/packages/keystores-browser/test/keystore_common.js +++ b/packages/keystores-browser/test/keystore_common.ts @@ -1,10 +1,11 @@ -const { KeyPairEd25519 } = require('@near-js/crypto'); +import { beforeEach, expect, test } from '@jest/globals'; +import { KeyPairEd25519 } from '@near-js/crypto'; const NETWORK_ID_SINGLE_KEY = 'singlekeynetworkid'; const ACCOUNT_ID_SINGLE_KEY = 'singlekey_accountid'; const KEYPAIR_SINGLE_KEY = new KeyPairEd25519('2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'); -module.exports.shouldStoreAndRetrieveKeys = ctx => { +export const shouldStoreAndRetrieveKeys = ctx => { beforeEach(async () => { await ctx.keyStore.clear(); await ctx.keyStore.setKey(NETWORK_ID_SINGLE_KEY, ACCOUNT_ID_SINGLE_KEY, KEYPAIR_SINGLE_KEY); diff --git a/packages/keystores-node/jest.config.js b/packages/keystores-node/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/keystores-node/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/keystores-node/jest.config.ts b/packages/keystores-node/jest.config.ts new file mode 100644 index 0000000000..6725228929 --- /dev/null +++ b/packages/keystores-node/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index cbd7e5bc3e..03f95e0d32 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -21,9 +21,10 @@ "@near-js/keystores": "workspace:*" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@types/node": "18.11.18", - "jest": "26.0.1", - "ts-jest": "26.5.6", + "jest": "29.7.0", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/keystores/test/keystore_common.js b/packages/keystores-node/test/keystore_common.ts similarity index 93% rename from packages/keystores/test/keystore_common.js rename to packages/keystores-node/test/keystore_common.ts index 9d721f0f27..919bd38e33 100644 --- a/packages/keystores/test/keystore_common.js +++ b/packages/keystores-node/test/keystore_common.ts @@ -1,10 +1,11 @@ -const { KeyPairEd25519 } = require('@near-js/crypto'); +import { beforeEach, expect, test } from '@jest/globals'; +import { KeyPairEd25519 } from '@near-js/crypto'; const NETWORK_ID_SINGLE_KEY = 'singlekeynetworkid'; const ACCOUNT_ID_SINGLE_KEY = 'singlekey_accountid'; const KEYPAIR_SINGLE_KEY = new KeyPairEd25519('2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'); -module.exports.shouldStoreAndRetrieveKeys = ctx => { +export const shouldStoreAndRetriveKeys = ctx => { beforeEach(async () => { await ctx.keyStore.clear(); await ctx.keyStore.setKey(NETWORK_ID_SINGLE_KEY, ACCOUNT_ID_SINGLE_KEY, KEYPAIR_SINGLE_KEY); diff --git a/packages/keystores-node/test/unencrypted_file_system_keystore.test.node.js b/packages/keystores-node/test/unencrypted_file_system_keystore.test.ts similarity index 58% rename from packages/keystores-node/test/unencrypted_file_system_keystore.test.node.js rename to packages/keystores-node/test/unencrypted_file_system_keystore.test.ts index d4845b8393..21bf67faa8 100644 --- a/packages/keystores-node/test/unencrypted_file_system_keystore.test.node.js +++ b/packages/keystores-node/test/unencrypted_file_system_keystore.test.ts @@ -1,26 +1,28 @@ -const { KeyPairEd25519 } = require('@near-js/crypto'); -const fs = require('fs').promises; -const path = require('path'); -const rimraf = require('util').promisify(require('rimraf')); +import { beforeAll, describe, expect, it } from '@jest/globals'; +import { KeyPairEd25519 } from '@near-js/crypto'; +import * as fs from 'fs'; +import * as path from 'path'; +import rimraf from 'rimraf'; -const { UnencryptedFileSystemKeyStore } = require('../lib'); +import { UnencryptedFileSystemKeyStore } from '../src'; +import { shouldStoreAndRetriveKeys } from './keystore_common'; const KEYSTORE_PATH = '../../test-keys'; describe('Unencrypted file system keystore', () => { - let ctx = {}; + const ctx: { keyStore?: any } = {}; - beforeAll(async () => { - await rimraf(KEYSTORE_PATH); + beforeAll(() => { + rimraf.sync(KEYSTORE_PATH); try { - await fs.mkdir(KEYSTORE_PATH, { recursive: true }); + fs.mkdirSync(KEYSTORE_PATH, { recursive: true }); } catch (err) { if (err.code !== 'EEXIST') throw err; } ctx.keyStore = new UnencryptedFileSystemKeyStore(KEYSTORE_PATH); }); - require('./keystore_common').shouldStoreAndRetriveKeys(ctx); + shouldStoreAndRetriveKeys(ctx); it('test path resolve', async() => { expect(ctx.keyStore.keyDir).toEqual(path.join(process.cwd(), KEYSTORE_PATH)); @@ -30,7 +32,7 @@ describe('Unencrypted file system keystore', () => { const key1 = KeyPairEd25519.fromRandom(); await ctx.keyStore.setKey('network', 'account', key1); const keyFilePath = ctx.keyStore.getKeyFilePath('network', 'account'); - const content = await fs.readFile(keyFilePath); + const content = fs.readFileSync(keyFilePath).toString(); const accountInfo = JSON.parse(content.toString()); expect(accountInfo.public_key).toEqual(key1.getPublicKey().toString()); }); diff --git a/packages/keystores/jest.config.js b/packages/keystores/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/keystores/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/keystores/jest.config.ts b/packages/keystores/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/keystores/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/keystores/package.json b/packages/keystores/package.json index 4fd0d875eb..6783b0b807 100644 --- a/packages/keystores/package.json +++ b/packages/keystores/package.json @@ -21,9 +21,10 @@ "@near-js/types": "workspace:*" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@types/node": "18.11.18", - "jest": "26.0.1", - "ts-jest": "26.5.6", + "jest": "29.7.0", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/keystores/test/in_memory_keystore.test.js b/packages/keystores/test/in_memory_keystore.test.js deleted file mode 100644 index 8cf3efeaa9..0000000000 --- a/packages/keystores/test/in_memory_keystore.test.js +++ /dev/null @@ -1,11 +0,0 @@ -const { InMemoryKeyStore } = require('../lib'); - -describe('In-memory keystore', () => { - let ctx = {}; - - beforeAll(async () => { - ctx.keyStore = new InMemoryKeyStore(); - }); - - require('./keystore_common').shouldStoreAndRetrieveKeys(ctx); -}); diff --git a/packages/keystores/test/in_memory_keystore.test.ts b/packages/keystores/test/in_memory_keystore.test.ts new file mode 100644 index 0000000000..ab42159b9b --- /dev/null +++ b/packages/keystores/test/in_memory_keystore.test.ts @@ -0,0 +1,13 @@ +import { beforeAll, describe } from '@jest/globals'; +import { shouldStoreAndRetrieveKeys } from './keystore_common'; +import { InMemoryKeyStore } from '../src'; + +describe('In-memory keystore', () => { + let ctx: any = {}; + + beforeAll(async () => { + ctx.keyStore = new InMemoryKeyStore(); + }); + + shouldStoreAndRetrieveKeys(ctx); +}); diff --git a/packages/keystores-node/test/keystore_common.js b/packages/keystores/test/keystore_common.ts similarity index 93% rename from packages/keystores-node/test/keystore_common.js rename to packages/keystores/test/keystore_common.ts index 40fd26361d..5916de371a 100644 --- a/packages/keystores-node/test/keystore_common.js +++ b/packages/keystores/test/keystore_common.ts @@ -1,10 +1,11 @@ -const { KeyPairEd25519 } = require('@near-js/crypto'); +import { beforeEach, expect, test } from '@jest/globals'; +import { KeyPairEd25519 } from '@near-js/crypto'; const NETWORK_ID_SINGLE_KEY = 'singlekeynetworkid'; const ACCOUNT_ID_SINGLE_KEY = 'singlekey_accountid'; const KEYPAIR_SINGLE_KEY = new KeyPairEd25519('2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'); -module.exports.shouldStoreAndRetriveKeys = ctx => { +export const shouldStoreAndRetrieveKeys = ctx => { beforeEach(async () => { await ctx.keyStore.clear(); await ctx.keyStore.setKey(NETWORK_ID_SINGLE_KEY, ACCOUNT_ID_SINGLE_KEY, KEYPAIR_SINGLE_KEY); diff --git a/packages/keystores/test/merge_keystore.test.js b/packages/keystores/test/merge_keystore.test.ts similarity index 79% rename from packages/keystores/test/merge_keystore.test.js rename to packages/keystores/test/merge_keystore.test.ts index 5a7d22ca3f..8c4489b55d 100644 --- a/packages/keystores/test/merge_keystore.test.js +++ b/packages/keystores/test/merge_keystore.test.ts @@ -1,9 +1,11 @@ -const { KeyPairEd25519 } = require('@near-js/crypto'); +import { beforeAll, describe, expect, it } from '@jest/globals'; +import { KeyPairEd25519 } from '@near-js/crypto'; -const { InMemoryKeyStore, MergeKeyStore } = require('../lib'); +import { InMemoryKeyStore, MergeKeyStore } from '../src'; +import { shouldStoreAndRetrieveKeys } from './keystore_common'; describe('Merge keystore', () => { - let ctx = {}; + let ctx: any = {}; beforeAll(async () => { ctx.stores = [new InMemoryKeyStore(), new InMemoryKeyStore()]; @@ -31,5 +33,5 @@ describe('Merge keystore', () => { expect(await ctx.stores[1].getAccounts('network')).toHaveLength(0); }); - require('./keystore_common').shouldStoreAndRetrieveKeys(ctx); + shouldStoreAndRetrieveKeys(ctx); }); diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index 1309540932..55f4bdc8db 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -39,14 +39,14 @@ "danger-plugin-yarn": "1.3.2", "esbuild": "^0.21.5", "in-publish": "2.0.0", - "jest": "26.0.1", + "jest": "29.7.0", "localstorage-memory": "1.0.3", "near-hello": "0.5.1", "near-workspaces": "3.5.0", "process": "^0.11.10", "rimraf": "3.0.2", "semver": "7.1.1", - "ts-jest": "26.5.6", + "ts-jest": "29.1.5", "uglifyify": "5.0.1" }, "keywords": [], diff --git a/packages/providers/jest.config.js b/packages/providers/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/providers/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/providers/jest.config.ts b/packages/providers/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/providers/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/providers/package.json b/packages/providers/package.json index 97949b0278..4d3f95bb5d 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -25,10 +25,11 @@ "isomorphic-unfetch": "^3.1.0" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@types/node": "18.11.18", - "jest": "26.0.1", + "jest": "29.7.0", "near-workspaces": "3.5.0", - "ts-jest": "26.5.6", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "optionalDependencies": { diff --git a/packages/providers/test/fetch_json.test.js b/packages/providers/test/fetch_json.test.js deleted file mode 100644 index 6711d53e22..0000000000 --- a/packages/providers/test/fetch_json.test.js +++ /dev/null @@ -1,26 +0,0 @@ -const { fetchJson } = require('../lib'); - -describe('fetchJson', () => { - test('string parameter in fetchJson', async () => { - const RPC_URL = 'https://rpc.testnet.near.org'; - const statusRequest = { - 'jsonrpc': '2.0', - 'id': 'dontcare', - 'method': 'status', - 'params': [] - }; - const result = await fetchJson(RPC_URL, JSON.stringify(statusRequest)); - expect(result.result.chain_id).toBe('testnet'); - }); - test('object parameter in fetchJson', async () => { - const connection = { url: 'https://rpc.testnet.near.org' }; - const statusRequest = { - 'jsonrpc': '2.0', - 'id': 'dontcare', - 'method': 'status', - 'params': [] - }; - const result = await fetchJson(connection, JSON.stringify(statusRequest)); - expect(result.result.chain_id).toBe('testnet'); - }); -}); diff --git a/packages/providers/test/fetch_json.test.ts b/packages/providers/test/fetch_json.test.ts new file mode 100644 index 0000000000..1b77520a3a --- /dev/null +++ b/packages/providers/test/fetch_json.test.ts @@ -0,0 +1,29 @@ +import { describe, expect, test } from '@jest/globals'; +import { fetchJsonRpc } from '../src/fetch_json'; + +describe('fetchJson', () => { + test('string parameter in fetchJson', async () => { + const RPC_URL = 'https://rpc.testnet.near.org'; + const statusRequest = { + jsonrpc: '2.0', + id: 'dontcare', + method: 'status', + params: [] + }; + // @ts-ignore + const result = await fetchJsonRpc(RPC_URL, statusRequest, undefined); + expect(result.result.chain_id).toBe('testnet'); + }); + test('object parameter in fetchJson', async () => { + const connection = { url: 'https://rpc.testnet.near.org' }; + const statusRequest = { + jsonrpc: '2.0', + id: 'dontcare', + method: 'status', + params: [] + }; + // @ts-ignore + const result = await fetchJsonRpc(connection.url, statusRequest, undefined); + expect(result.result.chain_id).toBe('testnet'); + }); +}); diff --git a/packages/providers/test/providers.test.js b/packages/providers/test/providers.test.ts similarity index 97% rename from packages/providers/test/providers.test.js rename to packages/providers/test/providers.test.ts index 93e33cce26..faced491c9 100644 --- a/packages/providers/test/providers.test.js +++ b/packages/providers/test/providers.test.ts @@ -1,11 +1,11 @@ -const { getTransactionLastResult } = require('@near-js/utils'); -const { Worker } = require('near-workspaces'); -const { JsonRpcProvider, FailoverRpcProvider } = require('../lib'); +import { afterAll, beforeAll, describe, expect, test } from '@jest/globals'; +import { getTransactionLastResult } from '@near-js/utils'; +import { Worker } from 'near-workspaces'; +import { TextEncoder } from 'util'; +import { FailoverRpcProvider, JsonRpcProvider } from '../src'; -const { TextEncoder } = require('util'); -global.TextEncoder = TextEncoder; -jest.setTimeout(20000); +global.TextEncoder = TextEncoder; ['json provider', 'fallback provider'].forEach((name) => { describe(name, () => { @@ -159,6 +159,7 @@ jest.setTimeout(20000); describe('json provider', () => { test('JsonRpc connection object exist without connectionInfo provided', async () => { + // @ts-ignore const provider = new JsonRpcProvider(); expect(provider.connection).toStrictEqual({ url: '' }); }); @@ -280,6 +281,7 @@ test('final tx result', async () => { }, ], }; + // @ts-ignore expect(getTransactionLastResult(result)).toEqual({}); }); @@ -316,6 +318,7 @@ test('final tx result with null', async () => { }, ], }; + // @ts-ignore expect(getTransactionLastResult(result)).toEqual(null); }); @@ -331,6 +334,7 @@ test('json rpc get next light client block', async () => { // NOTE: This will underflow if the network used has not produced an epoch yet. If a new network // config is required, can retrieve a block a few height behind (1+buffer for indexing). If run // on a fresh network, would need to wait for blocks to be produced and indexed. + // @ts-ignore const prevEpochHeight = height - protocolConfig.epoch_length; const prevBlock = await provider.block({ blockId: prevEpochHeight }); const nextBlock = await provider.nextLightClientBlock({ last_block_hash: prevBlock.header.hash }); diff --git a/packages/signers/jest.config.js b/packages/signers/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/signers/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/signers/jest.config.ts b/packages/signers/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/signers/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/signers/package.json b/packages/signers/package.json index eedd7efbcb..fc801defe3 100644 --- a/packages/signers/package.json +++ b/packages/signers/package.json @@ -21,9 +21,10 @@ "@noble/hashes": "1.3.3" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@types/node": "18.11.18", - "jest": "26.0.1", - "ts-jest": "26.5.6", + "jest": "29.7.0", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/signers/test/signer.test.js b/packages/signers/test/signer.test.js deleted file mode 100644 index 13e7fac671..0000000000 --- a/packages/signers/test/signer.test.js +++ /dev/null @@ -1,12 +0,0 @@ -const { InMemoryKeyStore } = require('@near-js/keystores'); - -const { InMemorySigner } = require('../lib'); - -const { TextEncoder } = require('util'); -global.TextEncoder = TextEncoder; - -test('test no key', async() => { - const signer = new InMemorySigner(new InMemoryKeyStore()); - await expect(signer.signMessage('message', 'user', 'network')) - .rejects.toThrow(/Key for user not found in network/); -}); diff --git a/packages/signers/test/signer.test.ts b/packages/signers/test/signer.test.ts new file mode 100644 index 0000000000..333938c42e --- /dev/null +++ b/packages/signers/test/signer.test.ts @@ -0,0 +1,14 @@ +import { expect, test } from '@jest/globals'; +import { InMemoryKeyStore } from '@near-js/keystores'; +import { TextEncoder } from 'util'; + +import { InMemorySigner } from '../src'; + +global.TextEncoder = TextEncoder; + +test('test no key', async () => { + const signer = new InMemorySigner(new InMemoryKeyStore()); + // @ts-ignore + await expect(signer.signMessage('message', 'user', 'network')) + .rejects.toThrow(/Key for user not found in network/); +}); diff --git a/packages/transactions/jest.config.js b/packages/transactions/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/transactions/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/transactions/jest.config.ts b/packages/transactions/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/transactions/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/transactions/package.json b/packages/transactions/package.json index 1b795fe6db..b7296408df 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -21,14 +21,15 @@ "@near-js/signers": "workspace:*", "@near-js/types": "workspace:*", "@near-js/utils": "workspace:*", - "borsh": "1.0.0", - "@noble/hashes": "1.3.3" + "@noble/hashes": "1.3.3", + "borsh": "1.0.0" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@near-js/keystores": "workspace:*", "@types/node": "18.11.18", - "jest": "26.0.1", - "ts-jest": "26.5.6", + "jest": "29.7.0", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/transactions/test/serialize.test.js b/packages/transactions/test/serialize.test.ts similarity index 90% rename from packages/transactions/test/serialize.test.js rename to packages/transactions/test/serialize.test.ts index 5d3be13391..dc234ee505 100644 --- a/packages/transactions/test/serialize.test.js +++ b/packages/transactions/test/serialize.test.ts @@ -1,12 +1,13 @@ -const { KeyPair, PublicKey } = require('@near-js/crypto'); -const { InMemoryKeyStore } = require('@near-js/keystores'); -const { InMemorySigner } = require('@near-js/signers'); -const { Assignable } = require('@near-js/types'); -const { baseDecode, baseEncode } = require('@near-js/utils'); -const fs = require('fs'); -const { deserialize, serialize } = require('borsh'); +import { describe, expect, test } from '@jest/globals'; +import { KeyPair, PublicKey } from '@near-js/crypto'; +import { InMemoryKeyStore } from '@near-js/keystores'; +import { InMemorySigner } from '@near-js/signers'; +import { baseDecode, baseEncode } from '@near-js/utils'; +import { deserialize, serialize } from 'borsh'; +import * as fs from 'fs'; -const { + +import { actionCreators, createTransaction, decodeSignedTransaction, @@ -14,7 +15,7 @@ const { encodeTransaction, SCHEMA, signTransaction, -} = require('../lib'); +} from '../src'; const { addKey, @@ -28,22 +29,34 @@ const { transfer, } = actionCreators; -class Test extends Assignable { +class Test { + constructor(props: any) { + for (let [k, v] of Object.entries(props || {})) { + this[k] = v; + } + } } test('serialize object', async () => { + // @ts-ignore const value = new Test({ x: 255, y: 20, z: '123', q: [1, 2, 3] }); const schema = { struct: { x: 'u8', y: 'u16', z: 'string', q: { array: { type: 'u8' } } } }; let buf = serialize(schema, value); + // @ts-ignore let new_value = new Test(deserialize(schema, buf)); + // @ts-ignore expect(new_value.x).toEqual(255); + // @ts-ignore expect(new_value.y.toString()).toEqual('20'); + // @ts-ignore expect(new_value.z).toEqual('123'); + // @ts-ignore expect(new_value.q).toEqual([1, 2, 3]); }); test('deserialize delegate', async () => { const serialized = [8, 16, 0, 0, 0, 116, 104, 101, 45, 117, 115, 101, 114, 46, 116, 101, 115, 116, 110, 101, 116, 27, 0, 0, 0, 104, 101, 108, 108, 111, 46, 110, 101, 97, 114, 45, 101, 120, 97, 109, 112, 108, 101, 115, 46, 116, 101, 115, 116, 110, 101, 116, 1, 0, 0, 0, 2, 12, 0, 0, 0, 115, 101, 116, 95, 103, 114, 101, 101, 116, 105, 110, 103, 20, 0, 0, 0, 123, 34, 103, 114, 101, 101, 116, 105, 110, 103, 34, 58, 34, 72, 101, 108, 108, 111, 34, 125, 0, 224, 87, 235, 72, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 120, 166, 131, 144, 0, 0, 61, 158, 123, 9, 0, 0, 0, 0, 0, 154, 156, 80, 116, 108, 65, 42, 39, 47, 253, 146, 109, 67, 106, 83, 230, 57, 183, 195, 122, 150, 6, 246, 220, 173, 35, 120, 139, 167, 94, 183, 29, 0, 41, 98, 10, 45, 51, 177, 89, 159, 190, 247, 41, 255, 243, 17, 186, 140, 168, 139, 9, 81, 33, 8, 74, 73, 85, 254, 127, 62, 54, 193, 60, 50, 235, 49, 13, 37, 152, 94, 172, 24, 198, 220, 119, 148, 99, 89, 19, 187, 251, 80, 76, 230, 77, 28, 80, 140, 133, 81, 139, 159, 62, 245, 167, 4]; + // @ts-ignore const { signedDelegate: { delegateAction } } = deserialize(SCHEMA.Action, serialized); expect(delegateAction.senderId).toEqual('the-user.testnet'); expect(delegateAction.receiverId).toEqual('hello.near-examples.testnet'); @@ -54,19 +67,20 @@ test('serialize and sign multi-action tx', async () => { const keyStore = new InMemoryKeyStore(); const keyPair = KeyPair.fromString('ed25519:2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'); await keyStore.setKey('test', 'test.near', keyPair); + // @ts-ignore const publicKey = keyPair.publicKey; const actions = [ createAccount(), deployContract(new Uint8Array([1, 2, 3])), - functionCall('qqq', new Uint8Array([1, 2, 3]), 1000, 1000000), - transfer(123), - stake(1000000, publicKey), + functionCall('qqq', new Uint8Array([1, 2, 3]), 1000n, 1000000n), + transfer(123n), + stake(1000000n, publicKey), addKey(publicKey, functionCallAccessKey('zzz', ['www'], null)), deleteKey(publicKey), deleteAccount('123') ]; const blockHash = baseDecode('244ZQ9cgj3CQ6bWBdytfrJMuMQ1jdXLFGnr4HhvtCTnM'); - let [hash, { transaction }] = await signTransaction('123', 1, actions, blockHash, new InMemorySigner(keyStore), 'test.near', 'test'); + let [hash, { transaction }] = await signTransaction('123', 1n, actions, blockHash, new InMemorySigner(keyStore), 'test.near', 'test'); expect(baseEncode(hash)).toEqual('Fo3MJ9XzKjnKuDuQKhDAC6fra5H2UWawRejFSEpPNk3Y'); const serialized = Buffer.from(serialize(SCHEMA.Transaction, transaction)); expect(serialized.toString('hex')).toEqual('09000000746573742e6e656172000f56a5f028dfc089ec7c39c1183b321b4d8f89ba5bec9e1762803cc2491f6ef80100000000000000030000003132330fa473fd26901df296be6adc4cc4df34d040efa2435224b6986910e630c2fef608000000000103000000010203020300000071717103000000010203e80300000000000040420f00000000000000000000000000037b0000000000000000000000000000000440420f00000000000000000000000000000f56a5f028dfc089ec7c39c1183b321b4d8f89ba5bec9e1762803cc2491f6ef805000f56a5f028dfc089ec7c39c1183b321b4d8f89ba5bec9e1762803cc2491f6ef800000000000000000000030000007a7a7a010000000300000077777706000f56a5f028dfc089ec7c39c1183b321b4d8f89ba5bec9e1762803cc2491f6ef80703000000313233'); @@ -74,7 +88,7 @@ test('serialize and sign multi-action tx', async () => { function createTransferTx() { const actions = [ - transfer(1), + transfer(1n), ]; const blockHash = baseDecode('244ZQ9cgj3CQ6bWBdytfrJMuMQ1jdXLFGnr4HhvtCTnM'); return createTransaction( @@ -135,6 +149,7 @@ describe('roundtrip test', () => { const testFiles = fs.readdirSync(dataDir); for (const testFile of testFiles) { if (/.+\.json$/.test(testFile)) { + // @ts-ignore const testDefinition = JSON.parse(fs.readFileSync(dataDir + '/' + testFile)); test(testFile, () => { const data = Buffer.from(testDefinition.data, 'hex'); @@ -149,10 +164,10 @@ describe('roundtrip test', () => { describe('serialize and deserialize on different types of nonce', () => { const actions = [ - transfer(1), + transfer(1n), ]; const blockHash = baseDecode('244ZQ9cgj3CQ6bWBdytfrJMuMQ1jdXLFGnr4HhvtCTnM'); - const targetNonce = BigInt(1); + const targetNonce = 1n; test('number typed nonce', async () => { const transaction = createTransaction( 'test.near', @@ -160,7 +175,8 @@ describe('serialize and deserialize on different types of nonce', () => { 'whatever.near', 1, actions, - blockHash); + blockHash + ); const serialized = encodeTransaction(transaction); expect(Buffer.from(serialized).toString('hex')).toEqual('09000000746573742e6e65617200917b3d268d4b58f7fec1b150bd68d69be3ee5d4cc39855e341538465bb77860d01000000000000000d00000077686174657665722e6e6561720fa473fd26901df296be6adc4cc4df34d040efa2435224b6986910e630c2fef6010000000301000000000000000000000000000000'); const deserialized = decodeTransaction(serialized); diff --git a/packages/transactions/test/transaction.test.js b/packages/transactions/test/transaction.test.ts similarity index 90% rename from packages/transactions/test/transaction.test.js rename to packages/transactions/test/transaction.test.ts index c48040a46c..e6df79f41e 100644 --- a/packages/transactions/test/transaction.test.js +++ b/packages/transactions/test/transaction.test.ts @@ -1,4 +1,5 @@ -const { actionCreators } = require('../lib'); +import { expect, test } from '@jest/globals'; +import { actionCreators } from '../src'; const { functionCall } = actionCreators; diff --git a/packages/types/package.json b/packages/types/package.json index 38acd2fcc9..32338a07cb 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -15,8 +15,8 @@ "license": "ISC", "devDependencies": { "@types/node": "18.11.18", - "jest": "26.0.1", - "ts-jest": "26.5.6", + "jest": "29.7.0", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/utils/jest.config.js b/packages/utils/jest.config.js deleted file mode 100644 index 0303334026..0000000000 --- a/packages/utils/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - preset: "ts-jest", - collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], -}; diff --git a/packages/utils/jest.config.ts b/packages/utils/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/utils/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/utils/package.json b/packages/utils/package.json index ba20672147..65317ebcb9 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc && eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix --no-error-on-unmatched-pattern", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", @@ -21,9 +21,10 @@ "mustache": "4.0.0" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@types/node": "18.11.18", - "jest": "26.0.1", - "ts-jest": "26.5.6", + "jest": "29.7.0", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/utils/test/format.test.js b/packages/utils/test/format.test.ts similarity index 95% rename from packages/utils/test/format.test.js rename to packages/utils/test/format.test.ts index 686f8b3241..b9b36af86d 100644 --- a/packages/utils/test/format.test.js +++ b/packages/utils/test/format.test.ts @@ -1,6 +1,6 @@ -const { formatNearAmount, parseNearAmount, NEAR_NOMINATION } = require('../lib'); +import { expect, test } from '@jest/globals'; +import { formatNearAmount, NEAR_NOMINATION, parseNearAmount } from '../src'; -jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; test.each` balance | fracDigits | expected @@ -26,6 +26,7 @@ test.each` ${'1000100000000000000000000000000'} | ${undefined} | ${'1,000,100'} ${'910000000000000000000000'} | ${0} | ${'1'} `('formatNearAmount($balance, $fracDigits) returns $expected', ({ balance, fracDigits, expected }) => { + // @ts-ignore expect(formatNearAmount(balance, fracDigits)).toEqual(expected); }); diff --git a/packages/utils/test/logger.test.js b/packages/utils/test/logger.test.ts similarity index 93% rename from packages/utils/test/logger.test.js rename to packages/utils/test/logger.test.ts index d9fbeea0ce..4e9f4ec9d4 100644 --- a/packages/utils/test/logger.test.js +++ b/packages/utils/test/logger.test.ts @@ -1,4 +1,6 @@ -const { Logger } = require('../lib'); +import { beforeEach, describe, expect, test } from '@jest/globals'; +import { Logger } from '../src'; + describe('logger', () => { let logs; diff --git a/packages/utils/test/rpc-errors.test.js b/packages/utils/test/rpc-errors.test.ts similarity index 95% rename from packages/utils/test/rpc-errors.test.js rename to packages/utils/test/rpc-errors.test.ts index 2f8e989f84..bcb0150c19 100644 --- a/packages/utils/test/rpc-errors.test.js +++ b/packages/utils/test/rpc-errors.test.ts @@ -1,4 +1,6 @@ -const { formatError, getErrorTypeFromErrorMessage, parseRpcError, ServerError } = require('../lib'); +import { describe, expect, test } from '@jest/globals'; + +import { formatError, getErrorTypeFromErrorMessage, parseRpcError, ServerError } from '../src'; describe('rpc-errors', () => { test('test AccountAlreadyExists error', async () => { @@ -12,7 +14,9 @@ describe('rpc-errors', () => { }; let error = parseRpcError(rpc_error); expect(error.type === 'AccountAlreadyExists').toBe(true); + // @ts-ignore expect(error.index).toBe(1); + // @ts-ignore expect(error.account_id).toBe('bob.near'); expect(formatError(error.type, error)).toBe('Can\'t create a new account bob.near, because it already exists'); }); @@ -32,7 +36,9 @@ describe('rpc-errors', () => { }; let error = parseRpcError(rpc_error); expect(error.type === 'ReceiverMismatch').toBe(true); + // @ts-ignore expect(error.ak_receiver).toBe('test.near'); + // @ts-ignore expect(error.tx_receiver).toBe('bob.near'); expect(formatError(error.type, error)).toBe( 'Wrong AccessKey used for transaction: transaction is sent to receiver_id=bob.near, but is signed with function call access key that restricted to only use with receiver_id=test.near. Either change receiver_id in your transaction or switch to use a FullAccessKey.' @@ -150,13 +156,22 @@ describe('rpc-errors', () => { const err6 = 'wasm execution failed with error: MethodResolveError(MethodNotFound)'; const err7 = 'wasm execution failed with error: FunctionCallError(CompilationError(CodeDoesNotExist { account_id: "random.testnet" }))'; const err8 = 'wasm execution failed with error: FunctionCallError(MethodResolveError(MethodNotFound))'; + + // @ts-ignore expect(getErrorTypeFromErrorMessage(err1)).toEqual('AccountDoesNotExist'); + // @ts-ignore expect(getErrorTypeFromErrorMessage(err2)).toEqual('AccountDoesNotExist'); + // @ts-ignore expect(getErrorTypeFromErrorMessage(err3)).toEqual('AccessKeyDoesNotExist'); + // @ts-ignore expect(getErrorTypeFromErrorMessage(err4)).toEqual('CodeDoesNotExist'); + // @ts-ignore expect(getErrorTypeFromErrorMessage(err5)).toEqual('InvalidNonce'); + // @ts-ignore expect(getErrorTypeFromErrorMessage(err6)).toEqual('MethodNotFound'); + // @ts-ignore expect(getErrorTypeFromErrorMessage(err7)).toEqual('CodeDoesNotExist'); + // @ts-ignore expect(getErrorTypeFromErrorMessage(err8)).toEqual('MethodNotFound'); }); diff --git a/packages/utils/test/validator.test.js b/packages/utils/test/validator.test.ts similarity index 85% rename from packages/utils/test/validator.test.js rename to packages/utils/test/validator.test.ts index a90c0e09cd..7a6427de08 100644 --- a/packages/utils/test/validator.test.js +++ b/packages/utils/test/validator.test.ts @@ -1,29 +1,37 @@ -const { diffEpochValidators, findSeatPrice } = require('../lib'); +import { expect, test } from '@jest/globals'; +import { diffEpochValidators, findSeatPrice } from '../src'; test('find seat price', async () => { expect(findSeatPrice( + // @ts-ignore [{stake: '1000000'}, {stake: '1000000'}, {stake: '100'}], 2, [1, 6250], 49 )).toEqual(BigInt('101')); expect(findSeatPrice( + // @ts-ignore [{stake: '1000000'}, {stake: '1000000'}, {stake: '100'}], 3, [1, 6250] )).toEqual(BigInt('101')); expect(findSeatPrice( + // @ts-ignore [{stake: '1000000'}, {stake: '1000000'}, {stake: '100'}], 4, [1, 6250], 49 )).toEqual(BigInt('320')); expect(findSeatPrice( + // @ts-ignore [{stake: '1000000'}, {stake: '1000000'}, {stake: '100'}], 4, [1, 6250], 48 )).toEqual(BigInt('500000')); expect(findSeatPrice( + // @ts-ignore [{stake: '1000'}, {stake: '1000'}, {stake: '200'}], 100, [1, 25] )).toEqual(BigInt('88')); }); test('diff validators', async () => { expect(diffEpochValidators( + // @ts-ignore [{account_id: 'x', stake: '10'}], [{ account_id: 'x', stake: '10' }] )).toEqual({newValidators: [], removedValidators: [], changedValidators: []}); expect(diffEpochValidators( + // @ts-ignore [{ account_id: 'x', stake: '10' }, { account_id: 'y', stake: '10' }], [{ account_id: 'x', stake: '11' }, { account_id: 'z', stake: '11' }] )).toEqual({ diff --git a/packages/wallet-account/jest.config.js b/packages/wallet-account/jest.config.js index 0303334026..c4be740126 100644 --- a/packages/wallet-account/jest.config.js +++ b/packages/wallet-account/jest.config.js @@ -1,22 +1,17 @@ -module.exports = { - preset: "ts-jest", +/** @type {import('ts-jest').JestConfigWithTsJest} */ +export default { + preset: 'ts-jest', collectCoverage: true, - projects: [ - { - displayName: "dom", - testEnvironment: "jsdom", // runs tests in a browser-like environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.dom.js?(x)", - ], - }, - { - displayName: "node", - testEnvironment: "node", // runs tests in a Node.js environment - testMatch: [ - "**/test/**/*.test.js?(x)", - "**/test/**/*.test.node.js?(x)", - ], - }, - ], + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, }; diff --git a/packages/wallet-account/jest.config.ts b/packages/wallet-account/jest.config.ts new file mode 100644 index 0000000000..a85677b0c9 --- /dev/null +++ b/packages/wallet-account/jest.config.ts @@ -0,0 +1,16 @@ +export default { + preset: 'ts-jest', + collectCoverage: true, + testEnvironment: 'node', + testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", + transform: { + '^.+\\.[tj]s$': 'ts-jest' + }, + globals: { + 'ts-jest': { + tsconfig: { + allowJs: true + } + } + }, +}; diff --git a/packages/wallet-account/package.json b/packages/wallet-account/package.json index e176e4146f..56af612bf1 100644 --- a/packages/wallet-account/package.json +++ b/packages/wallet-account/package.json @@ -24,10 +24,11 @@ "borsh": "1.0.0" }, "devDependencies": { + "@jest/globals": "^29.7.0", "@types/node": "18.11.18", - "jest": "26.0.1", + "jest": "29.7.0", "localstorage-memory": "1.0.3", - "ts-jest": "26.5.6", + "ts-jest": "29.1.5", "typescript": "4.9.4" }, "files": [ diff --git a/packages/wallet-account/test/wallet_account.js b/packages/wallet-account/test/wallet_account.js deleted file mode 100644 index bfa9302d32..0000000000 --- a/packages/wallet-account/test/wallet_account.js +++ /dev/null @@ -1,454 +0,0 @@ -const { KeyPair, PublicKey } = require('@near-js/crypto'); -const { InMemoryKeyStore } = require('@near-js/keystores'); -const { InMemorySigner } = require('@near-js/signers'); -const { baseDecode } = require('@near-js/utils'); -const { actionCreators, createTransaction, SCHEMA } = require('@near-js/transactions'); -const BN = require('bn.js'); -const { deserialize } = require('borsh'); -const localStorage = require('localstorage-memory'); -const url = require('url'); - -const { WalletConnection } = require('../lib/wallet_account'); - -const { functionCall, transfer } = actionCreators; -// If an access key has itself as receiverId and method permission add_request_and_confirm, then it is being used in a wallet with multisig contract: https://github.com/near/core-contracts/blob/671c05f09abecabe7a7e58efe942550a35fc3292/multisig/src/lib.rs#L149-L153 -const MULTISIG_HAS_METHOD = 'add_request_and_confirm'; - -let lastRedirectUrl; -let lastTransaction; -global.window = { - localStorage -}; -global.document = { - title: 'documentTitle' -}; - -let history; -let nearFake; -let walletConnection; -let keyStore = new InMemoryKeyStore(); -module.exports.createTransactions = () => { - beforeEach(() => { - keyStore.clear(); - nearFake = { - config: { - networkId: 'networkId', - contractName: 'contractId', - walletUrl: 'http://example.com/wallet', - }, - connection: { - networkId: 'networkId', - signer: new InMemorySigner(keyStore) - }, - account() { - return { - state() {} - }; - } - }; - lastRedirectUrl = null; - history = []; - Object.assign(global.window, { - location: { - href: 'http://example.com/location', - assign(url) { - lastRedirectUrl = url; - } - }, - history: { - replaceState: (state, title, url) => history.push([state, title, url]) - } - }); - walletConnection = new WalletConnection(nearFake, ''); - }); - - it('not signed in by default', () => { - expect(walletConnection.isSignedIn()).not.toBeTruthy(); - }); - - it('throws if non string appKeyPrefix', () => { - expect(() => new WalletConnection(nearFake)).toThrow(/appKeyPrefix/); - expect(() => new WalletConnection(nearFake, 1)).toThrow(/appKeyPrefix/); - expect(() => new WalletConnection(nearFake, null)).toThrow(/appKeyPrefix/); - expect(() => new WalletConnection(nearFake, undefined)).toThrow(/appKeyPrefix/); - }); - // const windowValueBefore = global.window; - - // beforeEach(() => { - // global.window = undefined; - // keyStore.clear(); - // }); - - // afterEach(() => { - // global.window = windowValueBefore; - // }); - - // it('does not throw on instantiation', () => { - // expect(() => new WalletConnection(nearFake, '')).not.toThrowError(); - // }); - - // it('throws if non string appKeyPrefix in server context', () => { - // expect(() => new WalletConnection(nearFake)).toThrow(/appKeyPrefix/); - // expect(() => new WalletConnection(nearFake, 1)).toThrow(/appKeyPrefix/); - // expect(() => new WalletConnection(nearFake, null)).toThrow(/appKeyPrefix/); - // expect(() => new WalletConnection(nearFake, undefined)).toThrow(/appKeyPrefix/); - // }); - - // it('returns an empty string as accountId', () => { - // const serverWalletConnection = new WalletConnection(nearFake, ''); - // expect(serverWalletConnection.getAccountId()).toEqual(''); - // }); - - // it('returns false as isSignedIn', () => { - // const serverWalletConnection = new WalletConnection(nearFake, ''); - // expect(serverWalletConnection.isSignedIn()).toEqual(false); - // }); - - // it('throws explicit error when calling other methods on the instance', () => { - // const serverWalletConnection = new WalletConnection(nearFake, ''); - // expect(() => serverWalletConnection.requestSignIn('signInContract', 'signInTitle', 'http://example.com/success', 'http://example.com/fail')).toThrow(/please ensure you are using WalletConnection on the browser/); - // expect(() => serverWalletConnection.requestSignInUrl('signInContract', 'signInTitle', 'http://example.com/success', 'http://example.com/fail')).toThrow(/please ensure you are using WalletConnection on the browser/); - // expect(() => serverWalletConnection.requestSignTransactions('signInContract', 'signInTitle', 'http://example.com/success', 'http://example.com/fail')).toThrow(/please ensure you are using WalletConnection on the browser/); - // expect(() => serverWalletConnection.requestSignTransactionsUrl('signInContract', 'signInTitle', 'http://example.com/success', 'http://example.com/fail')).toThrow(/please ensure you are using WalletConnection on the browser/); - // }); - - // it('can access other props on the instance', () => { - // const serverWalletConnection = new WalletConnection(nearFake, ''); - // expect(serverWalletConnection['randomValue']).toEqual(undefined); - // }); - // }); - - // describe('can request sign in', () => { - // beforeEach(() => keyStore.clear()); - - // it('V2', () => { - // return walletConnection.requestSignIn({ - // contractId: 'signInContract', - // successUrl: 'http://example.com/success', - // failureUrl: 'http://example.com/fail' - // }); - // }); - - // afterEach(async () => { - // let accounts = await keyStore.getAccounts('networkId'); - // expect(accounts).toHaveLength(1); - // expect(accounts[0]).toMatch(/^pending_key.+/); - // expect(url.parse(lastRedirectUrl, true)).toMatchObject({ - // protocol: 'http:', - // host: 'example.com', - // query: { - // contract_id: 'signInContract', - // success_url: 'http://example.com/success', - // failure_url: 'http://example.com/fail', - // public_key: (await keyStore.getKey('networkId', accounts[0])).publicKey.toString() - // } - // }); - // }); - // }); - - // it('can request sign in with methodNames', async () => { - // await walletConnection.requestSignIn({ - // contractId: 'signInContract', - // methodNames: ['hello', 'goodbye'], - // successUrl: 'http://example.com/success', - // failureUrl: 'http://example.com/fail' - // }); - - // let accounts = await keyStore.getAccounts('networkId'); - // expect(accounts).toHaveLength(1); - // expect(accounts[0]).toMatch(/^pending_key.+/); - // expect(url.parse(lastRedirectUrl, true)).toMatchObject({ - // protocol: 'http:', - // host: 'example.com', - // query: { - // contract_id: 'signInContract', - // methodNames: ['hello', 'goodbye'], - // success_url: 'http://example.com/success', - // failure_url: 'http://example.com/fail', - // public_key: (await keyStore.getKey('networkId', accounts[0])).publicKey.toString() - // } - // }); - // }); - - // it('can complete sign in', async () => { - // const keyPair = KeyPair.fromRandom('ed25519'); - // global.window.location.href = `http://example.com/location?account_id=near.account&public_key=${keyPair.publicKey}`; - // await keyStore.setKey('networkId', 'pending_key' + keyPair.publicKey, keyPair); - - // await walletConnection._completeSignInWithAccessKey(); - - // expect(await keyStore.getKey('networkId', 'near.account')).toEqual(keyPair); - // expect(localStorage.getItem('contractId_wallet_auth_key')); - // expect(history.slice(1)).toEqual([ - // [{}, 'documentTitle', 'http://example.com/location'] - // ]); - // }); - - // it('Promise until complete sign in', async () => { - // const keyPair = KeyPair.fromRandom('ed25519'); - // global.window.location.href = `http://example.com/location?account_id=near2.account&public_key=${keyPair.publicKey}`; - // await keyStore.setKey('networkId', 'pending_key' + keyPair.publicKey, keyPair); - - // const newWalletConn = new WalletConnection(nearFake, 'promise_on_complete_signin'); - - // expect(newWalletConn.isSignedIn()).toEqual(false); - // expect(await newWalletConn.isSignedInAsync()).toEqual(true); - // expect(await keyStore.getKey('networkId', 'near2.account')).toEqual(keyPair); - // expect(localStorage.getItem('promise_on_complete_signin_wallet_auth_key')); - // expect(history).toEqual([ - // [{}, 'documentTitle', 'http://example.com/location'] - // ]); - // }); - - const BLOCK_HASH = '244ZQ9cgj3CQ6bWBdytfrJMuMQ1jdXLFGnr4HhvtCTnM'; - - function setupWalletConnectionForSigning({ allKeys, accountAccessKeys }) { - walletConnection._authData = { - allKeys: allKeys, - accountId: 'signer.near' - }; - nearFake.connection.provider = { - query(params) { - if (params.request_type === 'view_account' && params.account_id === 'signer.near') { - return { }; - } - if (params.request_type === 'view_access_key_list' && params.account_id === 'signer.near') { - return { keys: accountAccessKeys }; - } - if (params.request_type === 'view_access_key' && params.account_id === 'signer.near') { - for (let accessKey of accountAccessKeys) { - if (accessKey.public_key === params.public_key) { - return accessKey; - } - } - } - fail(`Unexpected query: ${JSON.stringify(params)}`); - }, - sendTransaction(signedTransaction) { - lastTransaction = signedTransaction; - return { - transaction_outcome: { outcome: { logs: [] } }, - receipts_outcome: [] - }; - }, - block() { - return { - header: { - hash: BLOCK_HASH - } - }; - } - }; - } - // const keyPair = KeyPair.fromRandom('ed25519'); - // let transactions; - // beforeEach(() => { - // setupWalletConnectionForSigning({ - // allKeys: [ 'no_such_access_key', keyPair.publicKey.toString() ], - // accountAccessKeys: [{ - // access_key: { - // nonce: 1, - // permission: 'FullAccess' - // }, - // public_key: keyPair.publicKey.toString() - // }] - // }); - // }); - - // it('V2', async() => { - // try { - // await walletConnection.account().signAndSendTransaction({ - // receiverId: 'receiver.near', - // actions: [transfer(1)], - // walletCallbackUrl: 'http://callback.com/callback' - // }); - // fail('expected to throw'); - // } catch (e) { - // expect(e.message).toEqual('Failed to redirect to sign transaction'); - // } - // transactions = parseTransactionsFromUrl(lastRedirectUrl, 'http://callback.com/callback'); - // }); - - // afterEach(() => { - // expect(transactions).toHaveLength(1); - // expect(transactions[0]).toMatchObject({ - // signerId: 'signer.near', - // // nonce: new BN(2) - // receiverId: 'receiver.near', - // actions: [{ - // transfer: { - // // deposit: new BN(1) - // } - // }] - // }); - // expect(transactions[0].nonce.toString()).toEqual('2'); - // expect(transactions[0].actions[0].transfer.deposit.toString()).toEqual('1'); - // expect(Buffer.from(transactions[0].publicKey.data)).toEqual(Buffer.from(keyPair.publicKey.data)); - // }); - // }); - - // describe('requests transaction signing automatically when function call has attached deposit', () => { - // beforeEach(async() => { - // const localKeyPair = KeyPair.fromRandom('ed25519'); - // const walletKeyPair = KeyPair.fromRandom('ed25519'); - // setupWalletConnectionForSigning({ - // allKeys: [ walletKeyPair.publicKey.toString() ], - // accountAccessKeys: [{ - // access_key: { - // nonce: 1, - // permission: { - // FunctionCall: { - // allowance: '1000000000', - // receiver_id: 'receiver.near', - // method_names: [] - // } - // } - // }, - // public_key: localKeyPair.publicKey.toString() - // }, { - // access_key: { - // nonce: 1, - // permission: 'FullAccess' - // }, - // public_key: walletKeyPair.publicKey.toString() - // }] - // }); - // await keyStore.setKey('networkId', 'signer.near', localKeyPair); - // }); - - // it('V2', async() => { - // try { - // await walletConnection.account().signAndSendTransaction({ - // receiverId: 'receiver.near', - // actions: [functionCall('someMethod', new Uint8Array(), new BN('1'), new BN('1'))], - // walletCallbackUrl: 'http://example.com/after', - // walletMeta: 'someStuff' - // }); - // fail('expected to throw'); - // } catch (e) { - // expect(e.message).toEqual('Failed to redirect to sign transaction'); - // } - - // const transactions = parseTransactionsFromUrl(lastRedirectUrl, 'http://example.com/after'); - // expect(transactions).toHaveLength(1); - // }); - // }); - - describe('requests transaction signing with 2fa access key', () => { - beforeEach(async () => { - let localKeyPair = KeyPair.fromRandom('ed25519'); - let walletKeyPair = KeyPair.fromRandom('ed25519'); - setupWalletConnectionForSigning({ - allKeys: [ walletKeyPair.publicKey.toString() ], - accountAccessKeys: [{ - access_key: { - nonce: 1, - permission: { - FunctionCall: { - allowance: '1000000000', - receiver_id: 'signer.near', - method_names: [MULTISIG_HAS_METHOD] - } - } - }, - public_key: localKeyPair.publicKey.toString() - }] - }); - await keyStore.setKey('networkId', 'signer.near', localKeyPair); - }); - - it('V2', async () => { - try { - const res = await walletConnection.account().signAndSendTransaction({ - receiverId: 'receiver.near', - actions: [functionCall('someMethod', new Uint8Array(), new BN('1'), new BN('1'))] - }); - - // multisig access key is accepted res is object representing transaction, populated upon wallet redirect to app - expect(res).toHaveProperty('transaction_outcome'); - expect(res).toHaveProperty('receipts_outcome'); - } catch (e) { - fail('expected transaction outcome'); - } - }); - }); - - describe('fails requests transaction signing without 2fa access key', () => { - beforeEach(async () => { - const localKeyPair = KeyPair.fromRandom('ed25519'); - const walletKeyPair = KeyPair.fromRandom('ed25519'); - setupWalletConnectionForSigning({ - allKeys: [ walletKeyPair.publicKey.toString() ], - accountAccessKeys: [{ - access_key: { - nonce: 1, - permission: { - FunctionCall: { - allowance: '1000000000', - receiver_id: 'signer.near', - method_names: ['not_a_valid_2fa_method'] - } - } - }, - public_key: localKeyPair.publicKey.toString() - }] - }); - await keyStore.setKey('networkId', 'signer.near', localKeyPair); - }); - - it('V2', () => { - return expect( - walletConnection.account().signAndSendTransaction({ - receiverId: 'receiver.near', - actions: [functionCall('someMethod', new Uint8Array(), new BN('1'), new BN('1'))] - }) - ).rejects.toThrow('Cannot find matching key for transaction sent to receiver.near'); - }); - }); - - describe('can sign transaction locally when function call has no attached deposit', () => { - beforeEach(async () => { - const localKeyPair = KeyPair.fromRandom('ed25519'); - setupWalletConnectionForSigning({ - allKeys: [ /* no keys in wallet needed */ ], - accountAccessKeys: [{ - access_key: { - nonce: 1, - permission: { - FunctionCall: { - allowance: '1000000000', - receiver_id: 'receiver.near', - method_names: [] - } - } - }, - public_key: localKeyPair.publicKey.toString() - }] - }); - await keyStore.setKey('networkId', 'signer.near', localKeyPair); - }); - - it.each([ - functionCall('someMethod', new Uint8Array(), new BN('1'), new BN('0')), - functionCall('someMethod', new Uint8Array(), new BN('1')), - functionCall('someMethod', new Uint8Array()) - ])('V2', async (functionCall) => { - await walletConnection.account().signAndSendTransaction({ - receiverId: 'receiver.near', - actions: [ functionCall ] - }); - // NOTE: Transaction gets signed without wallet in this test - expect(lastTransaction).toMatchObject({ - transaction: { - receiverId: 'receiver.near', - signerId: 'signer.near', - actions: [{ - functionCall: { - methodName: 'someMethod', - } - }] - } - }); - }); - }); -} \ No newline at end of file diff --git a/packages/wallet-account/test/wallet_account.test.js b/packages/wallet-account/test/wallet_account.test.js deleted file mode 100644 index dd723aa02f..0000000000 --- a/packages/wallet-account/test/wallet_account.test.js +++ /dev/null @@ -1 +0,0 @@ -require('./wallet_account').createTransactions(); diff --git a/packages/wallet-account/test/wallet_account.test.ts b/packages/wallet-account/test/wallet_account.test.ts new file mode 100644 index 0000000000..43a6a3667a --- /dev/null +++ b/packages/wallet-account/test/wallet_account.test.ts @@ -0,0 +1,3 @@ +import { createTransactions } from './wallet_account'; + +createTransactions(); diff --git a/packages/wallet-account/test/wallet_account.ts b/packages/wallet-account/test/wallet_account.ts new file mode 100644 index 0000000000..820533eed4 --- /dev/null +++ b/packages/wallet-account/test/wallet_account.ts @@ -0,0 +1,232 @@ +import { beforeEach, describe, expect, it } from '@jest/globals'; +import { KeyPair } from '@near-js/crypto'; +import { InMemoryKeyStore } from '@near-js/keystores'; +import { InMemorySigner } from '@near-js/signers'; +import { actionCreators } from '@near-js/transactions'; +import localStorage from 'localstorage-memory'; +import { WalletConnection } from '../src'; + + +const { functionCall } = actionCreators; +// If an access key has itself as receiverId and method permission add_request_and_confirm, then it is being used in a wallet with multisig contract: https://github.com/near/core-contracts/blob/671c05f09abecabe7a7e58efe942550a35fc3292/multisig/src/lib.rs#L149-L153 +const MULTISIG_HAS_METHOD = 'add_request_and_confirm'; + +let lastTransaction; + +// @ts-ignore +global.window = { + localStorage +}; +// @ts-ignore +global.document = { + title: 'documentTitle' +}; + +let history; +let nearFake; +let walletConnection; +let keyStore = new InMemoryKeyStore(); +export const createTransactions = () => { + beforeEach(() => { + keyStore.clear(); + nearFake = { + config: { + networkId: 'networkId', + contractName: 'contractId', + walletUrl: 'http://example.com/wallet', + }, + connection: { + networkId: 'networkId', + signer: new InMemorySigner(keyStore) + }, + account() { + return { + state() {} + }; + } + }; + history = []; + Object.assign(global.window, { + location: { + href: 'http://example.com/location', + }, + history: { + replaceState: (state, title, url) => history.push([state, title, url]) + } + }); + walletConnection = new WalletConnection(nearFake, ''); + }); + + it('not signed in by default', () => { + expect(walletConnection.isSignedIn()).not.toBeTruthy(); + }); + + it('throws if non string appKeyPrefix', () => { + // @ts-ignore + expect(() => new WalletConnection(nearFake)).toThrow(/appKeyPrefix/); +// @ts-ignore + expect(() => new WalletConnection(nearFake, 1)).toThrow(/appKeyPrefix/); + expect(() => new WalletConnection(nearFake, null)).toThrow(/appKeyPrefix/); + expect(() => new WalletConnection(nearFake, undefined)).toThrow(/appKeyPrefix/); + }); + + const BLOCK_HASH = '244ZQ9cgj3CQ6bWBdytfrJMuMQ1jdXLFGnr4HhvtCTnM'; + + function setupWalletConnectionForSigning({ allKeys, accountAccessKeys }) { + walletConnection._authData = { + allKeys: allKeys, + accountId: 'signer.near' + }; + nearFake.connection.provider = { + query(params) { + if (params.request_type === 'view_account' && params.account_id === 'signer.near') { + return { }; + } + if (params.request_type === 'view_access_key_list' && params.account_id === 'signer.near') { + return { keys: accountAccessKeys }; + } + if (params.request_type === 'view_access_key' && params.account_id === 'signer.near') { + for (let accessKey of accountAccessKeys) { + if (accessKey.public_key === params.public_key) { + return accessKey; + } + } + } + throw new Error(`Unexpected query: ${JSON.stringify(params)}`); + }, + sendTransaction(signedTransaction) { + lastTransaction = signedTransaction; + return { + transaction_outcome: { outcome: { logs: [] } }, + receipts_outcome: [] + }; + }, + block() { + return { + header: { + hash: BLOCK_HASH + } + }; + } + }; + } + + describe('requests transaction signing with 2fa access key', () => { + beforeEach(async () => { + let localKeyPair = KeyPair.fromRandom('ed25519'); + let walletKeyPair = KeyPair.fromRandom('ed25519'); + setupWalletConnectionForSigning({ + // @ts-ignore + allKeys: [ walletKeyPair.publicKey.toString() ], + accountAccessKeys: [{ + access_key: { + nonce: 1, + permission: { + FunctionCall: { + allowance: '1000000000', + receiver_id: 'signer.near', + method_names: [MULTISIG_HAS_METHOD] + } + } + }, + // @ts-ignore + public_key: localKeyPair.publicKey.toString() + }] + }); + await keyStore.setKey('networkId', 'signer.near', localKeyPair); + }); + + it('V2', async () => { + const res = await walletConnection.account().signAndSendTransaction({ + receiverId: 'receiver.near', + actions: [functionCall('someMethod', new Uint8Array(), 1n, 1n)] + }); + + // multisig access key is accepted res is object representing transaction, populated upon wallet redirect to app + expect(res).toHaveProperty('transaction_outcome'); + expect(res).toHaveProperty('receipts_outcome'); + }); + }); + + describe('fails requests transaction signing without 2fa access key', () => { + beforeEach(async () => { + const localKeyPair = KeyPair.fromRandom('ed25519'); + const walletKeyPair = KeyPair.fromRandom('ed25519'); + setupWalletConnectionForSigning({ + // @ts-ignore + allKeys: [ walletKeyPair.publicKey.toString() ], + accountAccessKeys: [{ + access_key: { + nonce: 1, + permission: { + FunctionCall: { + allowance: '1000000000', + receiver_id: 'signer.near', + method_names: ['not_a_valid_2fa_method'] + } + } + }, + // @ts-ignore + public_key: localKeyPair.publicKey.toString() + }] + }); + await keyStore.setKey('networkId', 'signer.near', localKeyPair); + }); + + it('V2', () => { + return expect( + walletConnection.account().signAndSendTransaction({ + receiverId: 'receiver.near', + actions: [functionCall('someMethod', new Uint8Array(), 1n, 1n)] + }) + ).rejects.toThrow('Cannot find matching key for transaction sent to receiver.near'); + }); + }); + + describe('can sign transaction locally when function call has no attached deposit', () => { + beforeEach(async () => { + const localKeyPair = KeyPair.fromRandom('ed25519'); + setupWalletConnectionForSigning({ + allKeys: [ /* no keys in wallet needed */ ], + accountAccessKeys: [{ + access_key: { + nonce: 1, + permission: { + FunctionCall: { + allowance: '1000000000', + receiver_id: 'receiver.near', + method_names: [] + } + } + }, + // @ts-ignore + public_key: localKeyPair.publicKey.toString() + }] + }); + await keyStore.setKey('networkId', 'signer.near', localKeyPair); + }); + + it.each([ + functionCall('someMethod', new Uint8Array(), 1n, 0n), + functionCall('someMethod', new Uint8Array(), 1n), + functionCall('someMethod', new Uint8Array()) + ])('V2', async (functionCall) => { + await walletConnection.account().signAndSendTransaction({ + receiverId: 'receiver.near', + actions: [ functionCall ] + }); + // NOTE: Transaction gets signed without wallet in this test + expect(lastTransaction).toMatchObject({ + transaction: { + receiverId: 'receiver.near', + signerId: 'signer.near', + actions: [{ + functionCall: { + methodName: 'someMethod', + } + }] + } + }); + }); + }); +} \ No newline at end of file diff --git a/packages/wallet-account/test/wallet_accounts.test.node.js b/packages/wallet-account/test/wallet_accounts.test.ts similarity index 89% rename from packages/wallet-account/test/wallet_accounts.test.node.js rename to packages/wallet-account/test/wallet_accounts.test.ts index c0c1a22e3e..66fa3e01f7 100644 --- a/packages/wallet-account/test/wallet_accounts.test.node.js +++ b/packages/wallet-account/test/wallet_accounts.test.ts @@ -1,26 +1,24 @@ -const { KeyPair, PublicKey } = require("@near-js/crypto"); -const { InMemoryKeyStore } = require("@near-js/keystores"); -const { InMemorySigner } = require("@near-js/signers"); -const { baseDecode } = require("@near-js/utils"); -const { - actionCreators, - createTransaction, - SCHEMA, -} = require("@near-js/transactions"); -const BN = require("bn.js"); -const { deserialize } = require("borsh"); -const localStorage = require("localstorage-memory"); -const url = require("url"); - -const { WalletConnection } = require("../lib/wallet_account"); +import { afterEach, beforeEach, describe, expect, it } from '@jest/globals'; +import { KeyPair, PublicKey } from '@near-js/crypto'; +import { InMemoryKeyStore } from '@near-js/keystores'; +import { baseDecode } from '@near-js/utils'; +import { InMemorySigner } from '@near-js/signers'; +import { actionCreators, createTransaction, SCHEMA } from '@near-js/transactions'; +import { deserialize } from 'borsh'; +import localStorage from 'localstorage-memory'; +import * as url from 'url'; +import { WalletConnection } from '../src'; + const { functionCall, transfer } = actionCreators; let lastRedirectUrl; -let lastTransaction; + +// @ts-ignore global.window = { localStorage }; +// @ts-ignore global.document = { title: 'documentTitle' }; @@ -68,11 +66,13 @@ describe("Wallet account tests", () => { const windowValueBefore = global.window; beforeEach(() => { + // @ts-ignore global.window = undefined; keyStore.clear(); }); afterEach(() => { + // @ts-ignore global.window = windowValueBefore; }); @@ -81,9 +81,11 @@ describe("Wallet account tests", () => { }); it("throws if non string appKeyPrefix in server context", () => { + // @ts-ignore expect(() => new WalletConnection(nearFake)).toThrow( /appKeyPrefix/ ); + // @ts-expect-error invalid type check expect(() => new WalletConnection(nearFake, 1)).toThrow( /appKeyPrefix/ ); @@ -110,6 +112,7 @@ describe("Wallet account tests", () => { expect(() => serverWalletConnection.requestSignIn( "signInContract", + // @ts-ignore "signInTitle", "http://example.com/success", "http://example.com/fail" @@ -120,6 +123,7 @@ describe("Wallet account tests", () => { expect(() => serverWalletConnection.requestSignInUrl( "signInContract", + // @ts-ignore "signInTitle", "http://example.com/success", "http://example.com/fail" @@ -130,6 +134,7 @@ describe("Wallet account tests", () => { expect(() => serverWalletConnection.requestSignTransactions( "signInContract", + // @ts-ignore "signInTitle", "http://example.com/success", "http://example.com/fail" @@ -140,6 +145,7 @@ describe("Wallet account tests", () => { expect(() => serverWalletConnection.requestSignTransactionsUrl( "signInContract", + // @ts-ignore "signInTitle", "http://example.com/success", "http://example.com/fail" @@ -179,6 +185,7 @@ describe("Wallet account tests", () => { failure_url: "http://example.com/fail", public_key: ( await keyStore.getKey("networkId", accounts[0]) + // @ts-ignore ).publicKey.toString(), }, }); @@ -206,6 +213,7 @@ describe("Wallet account tests", () => { failure_url: "http://example.com/fail", public_key: ( await keyStore.getKey("networkId", accounts[0]) + // @ts-ignore ).publicKey.toString(), }, }); @@ -213,9 +221,11 @@ describe("Wallet account tests", () => { it("can complete sign in", async () => { const keyPair = KeyPair.fromRandom("ed25519"); + // @ts-ignore global.window.location.href = `http://example.com/location?account_id=near.account&public_key=${keyPair.publicKey}`; await keyStore.setKey( "networkId", + // @ts-ignore "pending_key" + keyPair.publicKey, keyPair ); @@ -233,9 +243,11 @@ describe("Wallet account tests", () => { it("Promise until complete sign in", async () => { const keyPair = KeyPair.fromRandom("ed25519"); + // @ts-ignore global.window.location.href = `http://example.com/location?account_id=near2.account&public_key=${keyPair.publicKey}`; await keyStore.setKey( "networkId", + // @ts-ignore "pending_key" + keyPair.publicKey, keyPair ); @@ -261,7 +273,7 @@ describe("Wallet account tests", () => { const BLOCK_HASH = "244ZQ9cgj3CQ6bWBdytfrJMuMQ1jdXLFGnr4HhvtCTnM"; const blockHash = baseDecode(BLOCK_HASH); function createTransferTx() { - const actions = [transfer(1)]; + const actions = [transfer(1n)]; return createTransaction( "test.near", PublicKey.fromString( @@ -325,6 +337,7 @@ describe("Wallet account tests", () => { }, }); const transactions = parsedUrl.query.transactions + // @ts-ignore .split(",") .map((txBase64) => deserialize(SCHEMA.Transaction, Buffer.from(txBase64, "base64")) @@ -361,10 +374,9 @@ describe("Wallet account tests", () => { } } } - fail(`Unexpected query: ${JSON.stringify(params)}`); + throw new Error(`Unexpected query: ${JSON.stringify(params)}`); }, - sendTransaction(signedTransaction) { - lastTransaction = signedTransaction; + sendTransaction() { return { transaction_outcome: { outcome: { logs: [] } }, receipts_outcome: [], @@ -385,6 +397,7 @@ describe("Wallet account tests", () => { let transactions; beforeEach(() => { setupWalletConnectionForSigning({ + // @ts-ignore allKeys: ["no_such_access_key", keyPair.publicKey.toString()], accountAccessKeys: [ { @@ -392,6 +405,7 @@ describe("Wallet account tests", () => { nonce: 1, permission: "FullAccess", }, + // @ts-ignore public_key: keyPair.publicKey.toString(), }, ], @@ -399,18 +413,22 @@ describe("Wallet account tests", () => { }); it("V2", async () => { + let failed = true; try { await walletConnection.account().signAndSendTransaction({ receiverId: "receiver.near", - actions: [transfer(1)], + actions: [transfer(1n)], walletCallbackUrl: "http://callback.com/callback", }); - fail("expected to throw"); + failed = false; } catch (e) { expect(e.message).toEqual( "Failed to redirect to sign transaction" ); } + if (!failed) { + throw new Error("expected to throw"); + } transactions = parseTransactionsFromUrl( lastRedirectUrl, "http://callback.com/callback" @@ -435,9 +453,10 @@ describe("Wallet account tests", () => { expect( transactions[0].actions[0].transfer.deposit.toString() ).toEqual("1"); - const txData = transactions[0].publicKey.ed25519Key.data ? transactions[0].publicKey.ed25519Key.data : transactions[0].publicKey.secp256k1Key.data; - const keyPairData = keyPair.publicKey.ed25519Key.data ? keyPair.publicKey.ed25519Key.data : keyPair.publicKey.secp256k1Key.data; + const txData = transactions[0].publicKey.ed25519Key.data ? transactions[0].publicKey.ed25519Key.data : transactions[0].publicKey.secp256k1Key.data; + const keyPairData = keyPair.publicKey.ed25519Key.data ? keyPair.publicKey.ed25519Key.data : keyPair.publicKey.secp256k1Key.data; expect(Buffer.from(txData)).toEqual( + // @ts-ignore Buffer.from(keyPairData) ); }); @@ -448,6 +467,7 @@ describe("Wallet account tests", () => { const localKeyPair = KeyPair.fromRandom("ed25519"); const walletKeyPair = KeyPair.fromRandom("ed25519"); setupWalletConnectionForSigning({ + // @ts-ignore allKeys: [walletKeyPair.publicKey.toString()], accountAccessKeys: [ { @@ -461,6 +481,7 @@ describe("Wallet account tests", () => { }, }, }, + // @ts-ignore public_key: localKeyPair.publicKey.toString(), }, { @@ -468,6 +489,7 @@ describe("Wallet account tests", () => { nonce: 1, permission: "FullAccess", }, + // @ts-ignore public_key: walletKeyPair.publicKey.toString(), }, ], @@ -476,6 +498,7 @@ describe("Wallet account tests", () => { }); it("V2", async () => { + let failed = true; try { await walletConnection.account().signAndSendTransaction({ receiverId: "receiver.near", @@ -483,20 +506,24 @@ describe("Wallet account tests", () => { functionCall( "someMethod", new Uint8Array(), - new BN("1"), - new BN("1") + 1n, + 1n ), ], walletCallbackUrl: "http://example.com/after", walletMeta: "someStuff", }); - fail("expected to throw"); + failed = false; } catch (e) { expect(e.message).toEqual( "Failed to redirect to sign transaction" ); } + if (!failed) { + throw new Error("expected to throw"); + } + const transactions = parseTransactionsFromUrl( lastRedirectUrl, "http://example.com/after" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fb9a5b65a0..2528443887 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -94,6 +94,9 @@ importers: specifier: 0.1.1 version: 0.1.1 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@near-js/keystores': specifier: workspace:* version: link:../keystores @@ -104,17 +107,20 @@ importers: specifier: 4.0.0 version: 4.0.0 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) near-hello: specifier: 0.5.1 version: 0.5.1 near-workspaces: specifier: 3.5.0 version: 3.5.0(encoding@0.1.13) + semver: + specifier: 7.1.1 + version: 7.1.1 ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -152,12 +158,18 @@ importers: specifier: 3.4.1 version: 3.4.1 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@types/node': specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + ts-jest: + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) packages/cookbook: dependencies: @@ -207,15 +219,21 @@ importers: specifier: 5.0.0 version: 5.0.0 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 + '@noble/hashes': + specifier: ^1.4.0 + version: 1.4.0 '@types/node': specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -239,15 +257,18 @@ importers: specifier: workspace:* version: link:../types devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@types/node': specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -261,12 +282,18 @@ importers: specifier: workspace:* version: link:../keystores devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + localstorage-memory: + specifier: 1.0.3 + version: 1.0.3 ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -280,15 +307,18 @@ importers: specifier: workspace:* version: link:../keystores devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@types/node': specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -375,8 +405,8 @@ importers: specifier: 2.0.0 version: 2.0.0 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 @@ -396,8 +426,8 @@ importers: specifier: 7.1.1 version: 7.1.1 ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) uglifyify: specifier: 5.0.1 version: 5.0.1 @@ -427,18 +457,21 @@ importers: specifier: 2.6.7 version: 2.6.7(encoding@0.1.13) devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@types/node': specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) near-workspaces: specifier: 3.5.0 version: 3.5.0(encoding@0.1.13) ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -455,15 +488,18 @@ importers: specifier: 1.3.3 version: 1.3.3 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@types/node': specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -489,6 +525,9 @@ importers: specifier: 1.0.0 version: 1.0.0 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@near-js/keystores': specifier: workspace:* version: link:../keystores @@ -496,11 +535,11 @@ importers: specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -511,11 +550,11 @@ importers: specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -535,15 +574,18 @@ importers: specifier: 4.0.0 version: 4.0.0 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@types/node': specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -578,18 +620,21 @@ importers: specifier: 1.0.0 version: 1.0.0 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 '@types/node': specifier: 18.11.18 version: 18.11.18 jest: - specifier: 26.0.1 - version: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + specifier: 29.7.0 + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 ts-jest: - specifier: 26.5.6 - version: 26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) typescript: specifier: 4.9.4 version: 4.9.4 @@ -704,6 +749,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -740,6 +791,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/runtime@7.24.7': resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} @@ -850,11 +907,6 @@ packages: '@changesets/write@0.2.3': resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} - '@cnakazawa/watch@1.0.4': - resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} - engines: {node: '>=0.1.95'} - hasBin: true - '@commitlint/cli@17.0.3': resolution: {integrity: sha512-oAo2vi5d8QZnAbtU5+0cR2j+A7PO8zuccux65R/EycwvsZrDVyW518FFrnJK2UQxbRtHFFIG+NjQ6vOiJV0Q8A==} engines: {node: '>=v14'} @@ -1090,49 +1142,71 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@jest/console@26.6.2': - resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} - engines: {node: '>= 10.14.2'} + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/core@26.6.3': - resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} - engines: {node: '>= 10.14.2'} + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/environment@26.6.2': - resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} - engines: {node: '>= 10.14.2'} + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/fake-timers@26.6.2': - resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} - engines: {node: '>= 10.14.2'} + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/globals@26.6.2': - resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} - engines: {node: '>= 10.14.2'} + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true - '@jest/reporters@26.6.2': - resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} - engines: {node: '>= 10.14.2'} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/source-map@26.6.2': - resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} - engines: {node: '>= 10.14.2'} + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/test-result@26.6.2': - resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} - engines: {node: '>= 10.14.2'} + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/test-sequencer@26.6.3': - resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} - engines: {node: '>= 10.14.2'} + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/transform@26.6.2': - resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} - engines: {node: '>= 10.14.2'} + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/types@26.6.2': - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} @@ -1205,6 +1279,10 @@ packages: resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} engines: {node: '>= 16'} + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1270,24 +1348,23 @@ packages: resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} engines: {node: '>=10.12.0'} + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@sinonjs/commons@1.8.6': - resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@6.0.1': - resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} '@szmarczak/http-timer@4.0.6': resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} - '@tootallnate/once@1.1.2': - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -1357,9 +1434,6 @@ packages: '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/prettier@2.7.3': - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} @@ -1372,8 +1446,8 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@15.0.19': - resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} '@typescript-eslint/eslint-plugin@5.31.0': resolution: {integrity: sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ==} @@ -1437,17 +1511,10 @@ packages: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true - abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead - abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - acorn-globals@6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1478,10 +1545,6 @@ packages: resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} engines: {node: '>= 4.0.0'} - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1511,8 +1574,9 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -1527,18 +1591,6 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - - arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - - arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -1550,10 +1602,6 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} @@ -1579,21 +1627,12 @@ packages: assert@1.5.1: resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} - assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - async-retry@1.2.3: resolution: {integrity: sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -1602,28 +1641,28 @@ packages: resolution: {integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==} deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 - babel-jest@26.6.3: - resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} - engines: {node: '>= 10.14.2'} + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.8.0 babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} - babel-plugin-jest-hoist@26.6.2: - resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} - engines: {node: '>= 10.14.2'} + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} babel-preset-current-node-syntax@1.0.1: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 - babel-preset-jest@26.6.2: - resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} - engines: {node: '>= 10.14.2'} + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 @@ -1645,10 +1684,6 @@ packages: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} - base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} @@ -1674,10 +1709,6 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -1692,9 +1723,6 @@ packages: resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==} hasBin: true - browser-process-hrtime@1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - browser-resolve@1.11.3: resolution: {integrity: sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==} @@ -1774,10 +1802,6 @@ packages: resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} engines: {node: '>=6.0.0'} - cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} @@ -1813,12 +1837,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001634: - resolution: {integrity: sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==} - - capture-exit@2.0.0: - resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} - engines: {node: 6.* || 8.* || >= 10.*} + caniuse-lite@1.0.30001636: + resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} cbor-extract@2.2.0: resolution: {integrity: sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==} @@ -1856,9 +1876,6 @@ packages: ci-env@1.17.0: resolution: {integrity: sha512-NtTjhgSEqv4Aj90TUYHQLxHdnCPXnjdtuGG1X8lTfp/JqeXTdw0FTWl/vUAPuvbWZTF8QVpv6ASe/XacE+7R2A==} - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -1866,12 +1883,8 @@ packages: cipher-base@1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} - cjs-module-lexer@0.6.0: - resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} - - class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} + cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} @@ -1894,10 +1907,6 @@ packages: collect-v8-coverage@1.0.2: resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1937,9 +1946,6 @@ packages: compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - component-emitter@1.3.1: - resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1974,16 +1980,9 @@ packages: convert-source-map@1.1.3: resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} - convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - core-js@3.37.1: resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} @@ -2017,16 +2016,17 @@ packages: create-hmac@1.1.7: resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -2034,16 +2034,6 @@ packages: crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} - cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - - cssom@0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} - - cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} - csv-generate@3.4.3: resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} @@ -2073,10 +2063,6 @@ packages: dash-ast@1.0.0: resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} - data-urls@2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} - data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -2099,14 +2085,6 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@3.1.0: resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} peerDependencies: @@ -2140,9 +2118,6 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - decode-uri-component@0.2.2: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} @@ -2151,6 +2126,14 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -2173,18 +2156,6 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - - define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - - define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - defined@1.0.1: resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} @@ -2227,9 +2198,9 @@ packages: engines: {node: '>=0.8.0'} hasBin: true - diff-sequences@26.6.2: - resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} - engines: {node: '>= 10.14.2'} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -2250,11 +2221,6 @@ packages: resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} engines: {node: '>=0.4', npm: '>=1.2'} - domexception@2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} - deprecated: Use your platform's native DOMException instead - dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -2272,15 +2238,15 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - electron-to-chromium@1.4.803: - resolution: {integrity: sha512-61H9mLzGOCLLVsnLiRzCbc63uldP0AniRYPV3hbGVtONA1pI7qSGILdbofR7A8TMbOypDocEAjH/e+9k1QIe3g==} + electron-to-chromium@1.4.805: + resolution: {integrity: sha512-8W4UJwX/w9T0QSzINJckTKG6CYpAUTqsaWcWIsdud3I1FYJcMgW9QqT1/4CBff/pP/TihWh13OmiyY8neto6vw==} elliptic@6.5.5: resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} - emittery@0.7.2: - resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} - engines: {node: '>=10'} + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2352,11 +2318,6 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true - eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -2428,17 +2389,6 @@ packages: evp_bytestokey@1.0.3: resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - exec-sh@0.3.6: - resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} - - execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - - execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -2447,17 +2397,13 @@ packages: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} - expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - expand-tilde@2.0.2: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} - expect@26.6.2: - resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} - engines: {node: '>= 10.14.2'} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} @@ -2466,10 +2412,6 @@ packages: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} - extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - extend@1.3.0: resolution: {integrity: sha512-hT3PRBs1qm4P8g2keUBZ9bPaFHAcS78o5aCd9WhFTluHZZgBEkI08R+zYrpRpImyRTH+dw7IlqxrOp9iartTkw==} @@ -2480,10 +2422,6 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2517,10 +2455,6 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -2554,22 +2488,10 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - form-data@2.5.1: resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} engines: {node: '>= 0.12'} - form-data@3.0.1: - resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} - engines: {node: '>= 6'} - - fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - fs-exists-sync@0.1.0: resolution: {integrity: sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==} engines: {node: '>=0.10.0'} @@ -2644,10 +2566,6 @@ packages: resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==} engines: {node: '>=4'} - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -2660,10 +2578,6 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - git-config-path@1.0.1: resolution: {integrity: sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==} engines: {node: '>=0.10.0'} @@ -2723,9 +2637,6 @@ packages: grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - growly@1.3.0: - resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} - gzip-size@5.1.1: resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} engines: {node: '>=6'} @@ -2764,22 +2675,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - - has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - - has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - - has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - has@1.0.4: resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} @@ -2820,10 +2715,6 @@ packages: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} - html-encoding-sniffer@2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -2842,10 +2733,6 @@ packages: resolution: {integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==} engines: {node: '>= 4.5.0'} - http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - http2-wrapper@1.0.3: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} @@ -2857,17 +2744,9 @@ packages: resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} engines: {node: '>= 4.5.0'} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} - human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -2944,10 +2823,6 @@ packages: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} - is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -2969,10 +2844,6 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true @@ -2980,10 +2851,6 @@ packages: is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - is-data-descriptor@1.0.1: - resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} - engines: {node: '>= 0.4'} - is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} engines: {node: '>= 0.4'} @@ -2992,27 +2859,10 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} - is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} - - is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} - engines: {node: '>= 0.4'} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} - is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -3043,10 +2893,6 @@ packages: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} - is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -3059,17 +2905,10 @@ packages: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} - is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-property@1.0.2: resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} @@ -3109,9 +2948,6 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} @@ -3119,10 +2955,6 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -3132,14 +2964,6 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - isomorphic-unfetch@3.1.0: resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} @@ -3147,14 +2971,14 @@ packages: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} - istanbul-lib-instrument@4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} - istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} + istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} + istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} @@ -3167,71 +2991,75 @@ packages: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - jest-changed-files@26.6.2: - resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} - engines: {node: '>= 10.14.2'} + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-cli@26.6.3: - resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} - engines: {node: '>= 10.14.2'} + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true - jest-config@26.6.3: - resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} - engines: {node: '>= 10.14.2'} + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: + '@types/node': '*' ts-node: '>=9.0.0' peerDependenciesMeta: + '@types/node': + optional: true ts-node: optional: true - jest-diff@26.6.2: - resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} - engines: {node: '>= 10.14.2'} - - jest-docblock@26.0.0: - resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} - engines: {node: '>= 10.14.2'} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-each@26.6.2: - resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} - engines: {node: '>= 10.14.2'} + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-environment-jsdom@26.6.2: - resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} - engines: {node: '>= 10.14.2'} + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-environment-node@26.6.2: - resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} - engines: {node: '>= 10.14.2'} + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-get-type@26.3.0: - resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} - engines: {node: '>= 10.14.2'} + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-haste-map@26.6.2: - resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} - engines: {node: '>= 10.14.2'} + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-jasmine2@26.6.3: - resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} - engines: {node: '>= 10.14.2'} + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-leak-detector@26.6.2: - resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} - engines: {node: '>= 10.14.2'} + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-matcher-utils@26.6.2: - resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} - engines: {node: '>= 10.14.2'} + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-message-util@26.6.2: - resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} - engines: {node: '>= 10.14.2'} - - jest-mock@26.6.2: - resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} - engines: {node: '>= 10.14.2'} + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-pnp-resolver@1.2.3: resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} @@ -3242,58 +3070,58 @@ packages: jest-resolve: optional: true - jest-regex-util@26.0.0: - resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} - engines: {node: '>= 10.14.2'} - - jest-resolve-dependencies@26.6.3: - resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} - engines: {node: '>= 10.14.2'} + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-resolve@26.6.2: - resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} - engines: {node: '>= 10.14.2'} + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-runner@26.6.3: - resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} - engines: {node: '>= 10.14.2'} + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-runtime@26.6.3: - resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} - engines: {node: '>= 10.14.2'} - hasBin: true + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-serializer@26.6.2: - resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} - engines: {node: '>= 10.14.2'} + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-snapshot@26.6.2: - resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} - engines: {node: '>= 10.14.2'} + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-util@26.6.2: - resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} - engines: {node: '>= 10.14.2'} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-validate@26.6.2: - resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} - engines: {node: '>= 10.14.2'} + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-watcher@26.6.2: - resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} - engines: {node: '>= 10.14.2'} + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-worker@26.6.2: - resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} - engines: {node: '>= 10.13.0'} + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest@26.0.1: - resolution: {integrity: sha512-29Q54kn5Bm7ZGKIuH2JRmnKl85YRigp0o0asTc6Sb6l2ch1DCXIeZTLLFy9ultJvhkTqbswF5DEx4+RlkmCxWg==} - engines: {node: '>= 10.14.2'} + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true - jose@4.15.5: - resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} + jose@4.15.7: + resolution: {integrity: sha512-L7ioP+JAuZe8v+T5+zVI9Tx8LtU8BL7NxkyDFVMv+Qr3JW0jSoYDedLtodaXwfqMpeCyx4WXFNyu9tJt4WvC1A==} js-sha256@0.9.0: resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} @@ -3309,15 +3137,6 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsdom@16.7.0: - resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} - engines: {node: '>=10'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -3382,14 +3201,6 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - - kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -3546,10 +3357,6 @@ packages: makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -3558,10 +3365,6 @@ packages: resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} engines: {node: '>=8'} - map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - marked@4.3.0: resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} engines: {node: '>= 12'} @@ -3588,10 +3391,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - micromatch@4.0.7: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} @@ -3656,10 +3455,6 @@ packages: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} - mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - mixme@0.5.10: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} @@ -3692,10 +3487,6 @@ packages: engines: {npm: '>=1.4.0'} hasBin: true - nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -3720,9 +3511,6 @@ packages: resolution: {integrity: sha512-lkRCP2os8v7W+q1maQPSEI98f+YiPb86ibDyIy8bxr6fqnJPOsIRR3xE33rOwBsiph3WuUH46qtpYK0a+Co+EQ==} engines: {node: '>= 14.0.0', npm: '>= 6.0.0'} - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} @@ -3745,16 +3533,13 @@ packages: resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} hasBin: true - node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + node-gyp-build@4.8.1: + resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} hasBin: true node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-notifier@8.0.2: - resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} - node-port-check@2.0.1: resolution: {integrity: sha512-PV1tj5OPbWwxvhPcChXxwCIKl/IfVEdPP4u/gQz2lao/VGoeIUXb/4U72KSHLZpTVBmgTnMm0me7yR0wUsIuPg==} @@ -3768,10 +3553,6 @@ packages: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} - normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -3780,21 +3561,10 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - nwsapi@2.2.10: - resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} - - object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -3802,18 +3572,10 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - object.assign@4.1.5: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} - object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -3842,18 +3604,10 @@ packages: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} - p-each-series@2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} - p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -3915,13 +3669,6 @@ packages: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - path-browserify@0.0.1: resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} @@ -3933,10 +3680,6 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3982,10 +3725,6 @@ packages: resolution: {integrity: sha512-iDUm90wfgtfd1PDV1oEnQj/4jBIU9hCSJeV0kQKThwDpbseFxC4TdpoMYlwE9maol5u0wMGZX9cNG2h1/0Lhww==} engines: {node: '>=12.0.0'} - posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -4003,9 +3742,9 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - pretty-format@26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} prettyjson@1.2.5: resolution: {integrity: sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==} @@ -4032,9 +3771,6 @@ packages: pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} @@ -4048,6 +3784,9 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + pure-uuid@1.8.1: resolution: {integrity: sha512-PIwHXU7NZb/wTBwUfzCSjI85tfwx6DQOm74sRLtNLH8KHsFZEvAQbBQdz7E5ij8SNSv9WGdQPWiiM6NpNIeNfA==} engines: {node: '>=8.0.0'} @@ -4079,9 +3818,6 @@ packages: resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} engines: {node: '>=0.4.x'} - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -4099,8 +3835,8 @@ packages: randomfill@1.0.4: resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} - react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} read-only-stream@2.0.0: resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==} @@ -4138,10 +3874,6 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -4150,17 +3882,6 @@ packages: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} - remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - - repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -4172,9 +3893,6 @@ packages: require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -4194,9 +3912,9 @@ packages: resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} engines: {node: '>=8'} - resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} resolve@1.1.7: resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} @@ -4208,10 +3926,6 @@ packages: responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -4228,10 +3942,6 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - rsvp@4.8.5: - resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} - engines: {node: 6.* || >= 7.*} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -4252,22 +3962,9 @@ packages: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} - safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sane@4.1.0: - resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} - engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true - - saxes@5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} - secp256k1@5.0.0: resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==} engines: {node: '>=14.0.0'} @@ -4306,10 +4003,6 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} - set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - setprototypeof@1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} @@ -4342,9 +4035,6 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - shellwords@0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - shiki@0.14.7: resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} @@ -4370,29 +4060,12 @@ packages: engines: {node: '>=6'} hasBin: true - snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - - snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - - snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - - source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} @@ -4401,10 +4074,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - spawn-command@0.0.2-1: resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} @@ -4427,10 +4096,6 @@ packages: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} engines: {node: '>=6'} - split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} @@ -4441,10 +4106,6 @@ packages: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -4505,10 +4166,6 @@ packages: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -4540,17 +4197,10 @@ packages: resolution: {integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==} engines: {node: '>=4'} - supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - syntax-error@1.4.0: resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==} @@ -4566,10 +4216,6 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - terser@3.17.0: resolution: {integrity: sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==} engines: {node: '>=6.0.0'} @@ -4589,9 +4235,6 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - throat@5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -4605,8 +4248,8 @@ packages: resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} engines: {node: '>=0.6.0'} - tldts-core@6.1.26: - resolution: {integrity: sha512-JNBagViFBIxokJaINH6N4CX0ucHm/keeZi+brVa10zFJ5AorX3nsEzlb6x2bPpr8rsP79tE117I7fGRhbSMZpQ==} + tldts-core@6.1.27: + resolution: {integrity: sha512-uGoj4yLqgFdgF82UpR1wCweJUcd/qMdm97VA3Xo6q7PoEYmlgQxJiVZq1b1cwshmgaLj5q86sj0smoO4QngdKw==} tldts@6.0.23: resolution: {integrity: sha512-LaA60X7J9mts1EliB7Nq/OBqicaI7TgsheWeQ8RR1uqwcVLjvRVHTGOkWjKAPa/XF+0t2ZBy1oF6OW8ufqOsKA==} @@ -4626,40 +4269,20 @@ packages: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - - to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - toidentifier@1.0.0: resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} engines: {node: '>=0.6'} - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} - tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tr46@2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} - tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -4668,13 +4291,29 @@ packages: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} - ts-jest@26.5.6: - resolution: {integrity: sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==} - engines: {node: '>= 10'} + ts-jest@29.1.5: + resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - jest: '>=26 <27' - typescript: '>=3.8 <5.0' + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} @@ -4832,9 +4471,6 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -4867,10 +4503,6 @@ packages: unfetch@4.2.0: resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} - union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - universal-url@2.0.0: resolution: {integrity: sha512-3DLtXdm/G1LQMCnPj+Aw7uDoleQttNHp2g5FnNQKR6cP6taNWS1b/Ehjjx4PVyvejKi3TJyu8iBraKM4q3JQPg==} engines: {node: '>= 6'} @@ -4882,18 +4514,10 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - update-browserslist-db@1.0.16: resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true @@ -4903,39 +4527,24 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - url@0.11.3: resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} - use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} util@0.10.4: resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} v8-compile-cache@2.4.0: resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} - v8-to-istanbul@7.1.2: - resolution: {integrity: sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==} - engines: {node: '>=10.10.0'} + v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -4949,14 +4558,6 @@ packages: vscode-textmate@8.0.0: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - w3c-hr-time@1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - deprecated: Use your platform's native performance.now() and performance.timeOrigin. - - w3c-xmlserializer@2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} - walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -4972,30 +4573,12 @@ packages: webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - webidl-conversions@5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} - - webidl-conversions@6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - - whatwg-encoding@1.0.5: - resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} - - whatwg-mimetype@2.3.0: - resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - whatwg-url@8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} - which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -5034,26 +4617,9 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xml-name-validator@3.0.0: - resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} - - xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} @@ -5243,6 +4809,11 @@ snapshots: '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -5278,6 +4849,11 @@ snapshots: '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/runtime@7.24.7': dependencies: regenerator-runtime: 0.14.1 @@ -5502,11 +5078,6 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@cnakazawa/watch@1.0.4': - dependencies: - exec-sh: 0.3.6 - minimist: 1.2.8 - '@commitlint/cli@17.0.3': dependencies: '@commitlint/format': 17.8.1 @@ -5732,209 +5303,201 @@ snapshots: '@istanbuljs/schema@0.1.3': {} - '@jest/console@26.6.2': + '@jest/console@29.7.0': dependencies: - '@jest/types': 26.6.2 + '@jest/types': 29.6.3 '@types/node': 18.11.18 chalk: 4.1.1 - jest-message-util: 26.6.2 - jest-util: 26.6.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4))': dependencies: - '@jest/console': 26.6.2 - '@jest/reporters': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.1 + ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 26.6.2 - jest-config: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - jest-watcher: 26.6.2 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 micromatch: 4.0.7 - p-each-series: 2.2.0 - rimraf: 3.0.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: - - bufferutil - - canvas + - babel-plugin-macros - supports-color - ts-node - - utf-8-validate - '@jest/core@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4))': dependencies: - '@jest/console': 26.6.2 - '@jest/reporters': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.1 + ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 26.6.2 - jest-config: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - jest-watcher: 26.6.2 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 micromatch: 4.0.7 - p-each-series: 2.2.0 - rimraf: 3.0.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: - - bufferutil - - canvas + - babel-plugin-macros - supports-color - ts-node - - utf-8-validate - '@jest/environment@26.6.2': + '@jest/environment@29.7.0': dependencies: - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.11.18 - jest-mock: 26.6.2 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color - '@jest/fake-timers@26.6.2': + '@jest/fake-timers@29.7.0': dependencies: - '@jest/types': 26.6.2 - '@sinonjs/fake-timers': 6.0.1 + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 '@types/node': 18.11.18 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-util: 26.6.2 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 - '@jest/globals@26.6.2': + '@jest/globals@29.7.0': dependencies: - '@jest/environment': 26.6.2 - '@jest/types': 26.6.2 - expect: 26.6.2 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color - '@jest/reporters@26.6.2': + '@jest/reporters@29.7.0': dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 18.11.18 chalk: 4.1.1 collect-v8-coverage: 1.0.2 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 4.0.3 + istanbul-lib-instrument: 6.0.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.7 - jest-haste-map: 26.6.2 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 slash: 3.0.0 - source-map: 0.6.1 string-length: 4.0.2 - terminal-link: 2.1.1 - v8-to-istanbul: 7.1.2 - optionalDependencies: - node-notifier: 8.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color - '@jest/source-map@26.6.2': + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/source-map@29.6.3': dependencies: + '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 - source-map: 0.6.1 - '@jest/test-result@26.6.2': + '@jest/test-result@29.7.0': dependencies: - '@jest/console': 26.6.2 - '@jest/types': 26.6.2 + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - '@jest/test-sequencer@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4))': - dependencies: - '@jest/test-result': 26.6.2 - graceful-fs: 4.2.11 - jest-haste-map: 26.6.2 - jest-runner: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - '@jest/test-sequencer@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4))': + '@jest/test-sequencer@29.7.0': dependencies: - '@jest/test-result': 26.6.2 + '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 - jest-haste-map: 26.6.2 - jest-runner: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate + jest-haste-map: 29.7.0 + slash: 3.0.0 - '@jest/transform@26.6.2': + '@jest/transform@29.7.0': dependencies: '@babel/core': 7.24.7 - '@jest/types': 26.6.2 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 chalk: 4.1.1 - convert-source-map: 1.9.0 + convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 26.6.2 - jest-regex-util: 26.0.0 - jest-util: 26.6.2 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 + write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color - '@jest/types@26.6.2': + '@jest/types@29.6.3': dependencies: + '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 '@types/node': 18.11.18 - '@types/yargs': 15.0.19 + '@types/yargs': 17.0.32 chalk: 4.1.1 '@jridgewell/gen-mapping@0.3.5': @@ -6072,6 +5635,8 @@ snapshots: '@noble/hashes@1.3.3': {} + '@noble/hashes@1.4.0': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6179,22 +5744,22 @@ snapshots: tslib: 2.6.3 webcrypto-core: 1.8.0 + '@sinclair/typebox@0.27.8': {} + '@sindresorhus/is@4.6.0': {} - '@sinonjs/commons@1.8.6': + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@6.0.1': + '@sinonjs/fake-timers@10.3.0': dependencies: - '@sinonjs/commons': 1.8.6 + '@sinonjs/commons': 3.0.1 '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 - '@tootallnate/once@1.1.2': {} - '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -6269,8 +5834,6 @@ snapshots: '@types/normalize-package-data@2.4.4': {} - '@types/prettier@2.7.3': {} - '@types/responselike@1.0.3': dependencies: '@types/node': 18.11.18 @@ -6281,7 +5844,7 @@ snapshots: '@types/yargs-parser@21.0.3': {} - '@types/yargs@15.0.19': + '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 @@ -6370,17 +5933,10 @@ snapshots: jsonparse: 1.3.1 through: 2.3.8 - abab@2.0.6: {} - abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - acorn-globals@6.0.0: - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - acorn-jsx@5.3.2(acorn@8.12.0): dependencies: acorn: 8.12.0 @@ -6405,12 +5961,6 @@ snapshots: dependencies: es6-promisify: 5.0.0 - agent-base@6.0.2: - dependencies: - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -6443,12 +5993,7 @@ snapshots: dependencies: color-convert: 2.0.1 - anymatch@2.0.0: - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color + ansi-styles@5.2.0: {} anymatch@3.1.3: dependencies: @@ -6463,12 +6008,6 @@ snapshots: argparse@2.0.1: {} - arr-diff@4.0.0: {} - - arr-flatten@1.1.0: {} - - arr-union@3.1.0: {} - array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -6478,8 +6017,6 @@ snapshots: array-union@2.1.0: {} - array-unique@0.3.2: {} - array.prototype.flat@1.3.2: dependencies: call-bind: 1.0.7 @@ -6519,16 +6056,12 @@ snapshots: object.assign: 4.1.5 util: 0.10.4 - assign-symbols@1.0.0: {} - async-retry@1.2.3: dependencies: retry: 0.12.0 asynckit@0.4.0: {} - atob@2.1.2: {} - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 @@ -6539,14 +6072,13 @@ snapshots: transitivePeerDependencies: - supports-color - babel-jest@26.6.3(@babel/core@7.24.7): + babel-jest@29.7.0(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 + '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 26.6.2(@babel/core@7.24.7) + babel-preset-jest: 29.6.3(@babel/core@7.24.7) chalk: 4.1.1 graceful-fs: 4.2.11 slash: 3.0.0 @@ -6563,7 +6095,7 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-jest-hoist@26.6.2: + babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.24.7 '@babel/types': 7.24.7 @@ -6586,10 +6118,10 @@ snapshots: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) - babel-preset-jest@26.6.2(@babel/core@7.24.7): + babel-preset-jest@29.6.3(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 - babel-plugin-jest-hoist: 26.6.2 + babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) balanced-match@1.0.2: {} @@ -6606,16 +6138,6 @@ snapshots: base64url@3.0.1: {} - base@0.11.2: - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.1 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - before-after-hook@2.2.3: {} better-path-resolve@1.0.0: @@ -6643,21 +6165,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@2.3.2: - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -6677,8 +6184,6 @@ snapshots: through2: 2.0.5 umd: 3.0.3 - browser-process-hrtime@1.0.0: {} - browser-resolve@1.11.3: dependencies: resolve: 1.1.7 @@ -6784,8 +6289,8 @@ snapshots: browserslist@4.23.1: dependencies: - caniuse-lite: 1.0.30001634 - electron-to-chromium: 1.4.803 + caniuse-lite: 1.0.30001636 + electron-to-chromium: 1.4.805 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) @@ -6842,18 +6347,6 @@ snapshots: bytestreamjs@2.0.1: {} - cache-base@1.0.1: - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.1 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - cacheable-lookup@5.0.4: {} cacheable-request@7.0.4: @@ -6890,11 +6383,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001634: {} - - capture-exit@2.0.0: - dependencies: - rsvp: 4.8.5 + caniuse-lite@1.0.30001636: {} cbor-extract@2.2.0: dependencies: @@ -6938,8 +6427,6 @@ snapshots: ci-env@1.17.0: {} - ci-info@2.0.0: {} - ci-info@3.9.0: {} cipher-base@1.0.4: @@ -6947,14 +6434,7 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 - cjs-module-lexer@0.6.0: {} - - class-utils@0.3.6: - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 + cjs-module-lexer@1.3.1: {} cliui@6.0.0: dependencies: @@ -6978,11 +6458,6 @@ snapshots: collect-v8-coverage@1.0.2: {} - collection-visit@1.0.0: - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -7025,8 +6500,6 @@ snapshots: array-ify: 1.0.0 dot-prop: 5.3.0 - component-emitter@1.3.1: {} - concat-map@0.0.1: {} concat-stream@1.6.2: @@ -7071,12 +6544,8 @@ snapshots: convert-source-map@1.1.3: {} - convert-source-map@1.9.0: {} - convert-source-map@2.0.0: {} - copy-descriptor@0.1.1: {} - core-js@3.37.1: {} core-util-is@1.0.3: {} @@ -7119,6 +6588,36 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 + create-jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + create-jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + create-require@1.1.1: {} cross-spawn@5.1.0: @@ -7127,14 +6626,6 @@ snapshots: shebang-command: 1.2.0 which: 1.3.1 - cross-spawn@6.0.5: - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -7155,14 +6646,6 @@ snapshots: randombytes: 2.1.0 randomfill: 1.0.4 - cssom@0.3.8: {} - - cssom@0.4.4: {} - - cssstyle@2.3.0: - dependencies: - cssom: 0.3.8 - csv-generate@3.4.3: {} csv-parse@4.16.3: {} @@ -7231,12 +6714,6 @@ snapshots: dash-ast@1.0.0: {} - data-urls@2.0.0: - dependencies: - abab: 2.0.6 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -7263,10 +6740,6 @@ snapshots: dependencies: '@babel/runtime': 7.24.7 - debug@2.6.9: - dependencies: - ms: 2.0.0 - debug@3.1.0: dependencies: ms: 2.0.0 @@ -7286,14 +6759,14 @@ snapshots: decamelize@1.2.0: {} - decimal.js@10.4.3: {} - decode-uri-component@0.2.2: {} decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 + dedent@1.5.3: {} + deep-is@0.1.4: {} deepmerge@4.3.1: {} @@ -7316,19 +6789,6 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - define-property@0.2.5: - dependencies: - is-descriptor: 0.1.7 - - define-property@1.0.0: - dependencies: - is-descriptor: 1.0.3 - - define-property@2.0.2: - dependencies: - is-descriptor: 1.0.3 - isobject: 3.0.1 - defined@1.0.1: {} delayed-stream@1.0.0: {} @@ -7364,7 +6824,7 @@ snapshots: defined: 1.0.1 minimist: 1.2.8 - diff-sequences@26.6.2: {} + diff-sequences@29.6.3: {} diff@4.0.2: {} @@ -7384,10 +6844,6 @@ snapshots: domain-browser@1.2.0: {} - domexception@2.0.1: - dependencies: - webidl-conversions: 5.0.0 - dot-prop@5.3.0: dependencies: is-obj: 2.0.0 @@ -7404,7 +6860,7 @@ snapshots: dependencies: safe-buffer: 5.2.1 - electron-to-chromium@1.4.803: {} + electron-to-chromium@1.4.805: {} elliptic@6.5.5: dependencies: @@ -7416,7 +6872,7 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - emittery@0.7.2: {} + emittery@0.13.1: {} emoji-regex@8.0.0: {} @@ -7552,14 +7008,6 @@ snapshots: escape-string-regexp@4.0.0: {} - escodegen@2.1.0: - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionalDependencies: - source-map: 0.6.1 - eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 @@ -7652,30 +7100,6 @@ snapshots: md5.js: 1.3.5 safe-buffer: 5.2.1 - exec-sh@0.3.6: {} - - execa@1.0.0: - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - - execa@4.1.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 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - execa@5.1.1: dependencies: cross-spawn: 7.0.3 @@ -7690,30 +7114,17 @@ snapshots: exit@0.1.2: {} - expand-brackets@2.1.4: - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - expand-tilde@2.0.2: dependencies: homedir-polyfill: 1.0.3 - expect@26.6.2: + expect@29.7.0: dependencies: - '@jest/types': 26.6.2 - ansi-styles: 4.3.0 - jest-get-type: 26.3.0 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 exponential-backoff@3.1.1: {} @@ -7721,11 +7132,6 @@ snapshots: dependencies: is-extendable: 0.1.1 - extend-shallow@3.0.2: - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - extend@1.3.0: {} extendable-error@0.1.7: {} @@ -7736,19 +7142,6 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - extglob@2.0.4: - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - fast-deep-equal@3.1.3: {} fast-glob@3.3.2: @@ -7781,7 +7174,7 @@ snapshots: '@peculiar/webcrypto': 1.4.6 asn1js: 3.0.5 cbor-x: 1.5.9 - jose: 4.15.5 + jose: 4.15.7 pkijs: 3.0.16 tldts: 6.0.23 @@ -7789,13 +7182,6 @@ snapshots: dependencies: flat-cache: 3.2.0 - fill-range@4.0.0: - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -7835,24 +7221,12 @@ snapshots: dependencies: is-callable: 1.2.7 - for-in@1.0.2: {} - form-data@2.5.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - form-data@3.0.1: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - fragment-cache@0.2.1: - dependencies: - map-cache: 0.2.2 - fs-exists-sync@0.1.0: {} fs-extra@10.1.0: @@ -7927,10 +7301,6 @@ snapshots: get-stdin@6.0.0: {} - get-stream@4.1.0: - dependencies: - pump: 3.0.0 - get-stream@5.2.0: dependencies: pump: 3.0.0 @@ -7943,8 +7313,6 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-value@2.0.6: {} - git-config-path@1.0.1: dependencies: extend-shallow: 2.0.1 @@ -8034,9 +7402,6 @@ snapshots: grapheme-splitter@1.0.4: {} - growly@1.3.0: - optional: true - gzip-size@5.1.1: dependencies: duplexer: 0.1.2 @@ -8064,25 +7429,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - has-value@0.3.1: - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - - has-value@1.0.0: - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - - has-values@0.1.4: {} - - has-values@1.0.0: - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - has@1.0.4: {} hash-base@3.0.4: @@ -8125,10 +7471,6 @@ snapshots: dependencies: lru-cache: 6.0.0 - html-encoding-sniffer@2.0.1: - dependencies: - whatwg-encoding: 1.0.5 - html-escaper@2.0.2: {} htmlescape@1.1.1: {} @@ -8150,14 +7492,6 @@ snapshots: transitivePeerDependencies: - supports-color - http-proxy-agent@4.0.1: - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - http2-wrapper@1.0.3: dependencies: quick-lru: 5.1.1 @@ -8172,17 +7506,8 @@ snapshots: transitivePeerDependencies: - supports-color - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - human-id@1.0.2: {} - human-signals@1.1.1: {} - human-signals@2.1.0: {} humps@2.0.1: {} @@ -8253,10 +7578,6 @@ snapshots: hasown: 2.0.2 side-channel: 1.0.6 - is-accessor-descriptor@1.0.1: - dependencies: - hasown: 2.0.2 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -8277,10 +7598,6 @@ snapshots: is-callable@1.2.7: {} - is-ci@2.0.0: - dependencies: - ci-info: 2.0.0 - is-ci@3.0.1: dependencies: ci-info: 3.9.0 @@ -8289,10 +7606,6 @@ snapshots: dependencies: hasown: 2.0.2 - is-data-descriptor@1.0.1: - dependencies: - hasown: 2.0.2 - is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 @@ -8301,25 +7614,8 @@ snapshots: dependencies: has-tostringtag: 1.0.2 - is-descriptor@0.1.7: - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - - is-descriptor@1.0.3: - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - - is-docker@2.2.1: - optional: true - is-extendable@0.1.1: {} - is-extendable@1.0.1: - dependencies: - is-plain-object: 2.0.4 - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -8346,24 +7642,14 @@ snapshots: dependencies: has-tostringtag: 1.0.2 - is-number@3.0.0: - dependencies: - kind-of: 3.2.2 - is-number@7.0.0: {} is-obj@2.0.0: {} is-plain-obj@1.1.0: {} - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - is-plain-object@5.0.0: {} - is-potential-custom-element-name@1.0.1: {} - is-property@1.0.2: {} is-regex@1.1.4: @@ -8399,31 +7685,18 @@ snapshots: dependencies: which-typed-array: 1.1.15 - is-typedarray@1.0.0: {} - is-weakref@1.0.2: dependencies: call-bind: 1.0.7 is-windows@1.0.2: {} - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - optional: true - isarray@1.0.0: {} isarray@2.0.5: {} isexe@2.0.0: {} - isobject@2.1.0: - dependencies: - isarray: 1.0.0 - - isobject@3.0.1: {} - isomorphic-unfetch@3.1.0(encoding@0.1.13): dependencies: node-fetch: 2.6.7(encoding@0.1.13) @@ -8433,22 +7706,23 @@ snapshots: istanbul-lib-coverage@3.2.2: {} - istanbul-lib-instrument@4.0.3: + istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 transitivePeerDependencies: - supports-color - istanbul-lib-instrument@5.2.1: + istanbul-lib-instrument@6.0.2: dependencies: '@babel/core': 7.24.7 '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 + semver: 7.6.2 transitivePeerDependencies: - supports-color @@ -8471,500 +7745,409 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jest-changed-files@26.6.2: + jest-changed-files@29.7.0: dependencies: - '@jest/types': 26.6.2 - execa: 4.1.0 - throat: 5.0.0 + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 - jest-cli@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + jest-circus@29.7.0: dependencies: - '@jest/core': 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.11.18 chalk: 4.1.1 + co: 4.6.0 + dedent: 1.5.3 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.1 + create-jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) exit: 0.1.2 - graceful-fs: 4.2.11 import-local: 3.1.0 - is-ci: 2.0.0 - jest-config: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-util: 26.6.2 - jest-validate: 26.6.2 - prompts: 2.4.2 - yargs: 15.4.1 + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 transitivePeerDependencies: - - bufferutil - - canvas + - '@types/node' + - babel-plugin-macros - supports-color - ts-node - - utf-8-validate - jest-cli@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest-cli@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: - '@jest/core': 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 chalk: 4.1.1 + create-jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) exit: 0.1.2 - graceful-fs: 4.2.11 import-local: 3.1.0 - is-ci: 2.0.0 - jest-config: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-util: 26.6.2 - jest-validate: 26.6.2 - prompts: 2.4.2 - yargs: 15.4.1 + jest-config: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 transitivePeerDependencies: - - bufferutil - - canvas + - '@types/node' + - babel-plugin-macros - supports-color - ts-node - - utf-8-validate - jest-config@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): dependencies: '@babel/core': 7.24.7 - '@jest/test-sequencer': 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - '@jest/types': 26.6.2 - babel-jest: 26.6.3(@babel/core@7.24.7) + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) chalk: 4.1.1 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-environment-jsdom: 26.6.2 - jest-environment-node: 26.6.2 - jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.7 - pretty-format: 26.6.2 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 optionalDependencies: + '@types/node': 18.11.18 ts-node: 10.9.2(@types/node@18.11.18)(typescript@4.9.4) transitivePeerDependencies: - - bufferutil - - canvas + - babel-plugin-macros + - supports-color + + jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + dependencies: + '@babel/core': 7.24.7 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) + chalk: 4.1.1 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.7 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 18.11.18 + ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.4) + transitivePeerDependencies: + - babel-plugin-macros - supports-color - - utf-8-validate - jest-config@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest-config@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: '@babel/core': 7.24.7 - '@jest/test-sequencer': 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - '@jest/types': 26.6.2 - babel-jest: 26.6.3(@babel/core@7.24.7) + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) chalk: 4.1.1 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-environment-jsdom: 26.6.2 - jest-environment-node: 26.6.2 - jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.7 - pretty-format: 26.6.2 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 optionalDependencies: + '@types/node': 20.5.1 ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.4) transitivePeerDependencies: - - bufferutil - - canvas + - babel-plugin-macros - supports-color - - utf-8-validate - jest-diff@26.6.2: + jest-diff@29.7.0: dependencies: chalk: 4.1.1 - diff-sequences: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - jest-docblock@26.0.0: + jest-docblock@29.7.0: dependencies: detect-newline: 3.1.0 - jest-each@26.6.2: + jest-each@29.7.0: dependencies: - '@jest/types': 26.6.2 + '@jest/types': 29.6.3 chalk: 4.1.1 - jest-get-type: 26.3.0 - jest-util: 26.6.2 - pretty-format: 26.6.2 - - jest-environment-jsdom@26.6.2: - dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 18.11.18 - jest-mock: 26.6.2 - jest-util: 26.6.2 - jsdom: 16.7.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 - jest-environment-node@26.6.2: + jest-environment-node@29.7.0: dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.11.18 - jest-mock: 26.6.2 - jest-util: 26.6.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 - jest-get-type@26.3.0: {} + jest-get-type@29.6.3: {} - jest-haste-map@26.6.2: + jest-haste-map@29.7.0: dependencies: - '@jest/types': 26.6.2 + '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 '@types/node': 18.11.18 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 26.0.0 - jest-serializer: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 micromatch: 4.0.7 - sane: 4.1.0 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - transitivePeerDependencies: - - supports-color - - jest-jasmine2@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): - dependencies: - '@babel/traverse': 7.24.7 - '@jest/environment': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 18.11.18 - chalk: 4.1.1 - co: 4.6.0 - expect: 26.6.2 - is-generator-fn: 2.1.0 - jest-each: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - pretty-format: 26.6.2 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - jest-jasmine2@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest-leak-detector@29.7.0: dependencies: - '@babel/traverse': 7.24.7 - '@jest/environment': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 18.11.18 - chalk: 4.1.1 - co: 4.6.0 - expect: 26.6.2 - is-generator-fn: 2.1.0 - jest-each: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - pretty-format: 26.6.2 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - jest-leak-detector@26.6.2: - dependencies: - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - - jest-matcher-utils@26.6.2: + jest-matcher-utils@29.7.0: dependencies: chalk: 4.1.1 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - jest-message-util@26.6.2: + jest-message-util@29.7.0: dependencies: '@babel/code-frame': 7.24.7 - '@jest/types': 26.6.2 + '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.1 graceful-fs: 4.2.11 micromatch: 4.0.7 - pretty-format: 26.6.2 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - jest-mock@26.6.2: + jest-mock@29.7.0: dependencies: - '@jest/types': 26.6.2 + '@jest/types': 29.6.3 '@types/node': 18.11.18 + jest-util: 29.7.0 - jest-pnp-resolver@1.2.3(jest-resolve@26.6.2): + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): optionalDependencies: - jest-resolve: 26.6.2 + jest-resolve: 29.7.0 - jest-regex-util@26.0.0: {} + jest-regex-util@29.6.3: {} - jest-resolve-dependencies@26.6.3: + jest-resolve-dependencies@29.7.0: dependencies: - '@jest/types': 26.6.2 - jest-regex-util: 26.0.0 - jest-snapshot: 26.6.2 + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - jest-resolve@26.6.2: + jest-resolve@29.7.0: dependencies: - '@jest/types': 26.6.2 chalk: 4.1.1 graceful-fs: 4.2.11 - jest-pnp-resolver: 1.2.3(jest-resolve@26.6.2) - jest-util: 26.6.2 - read-pkg-up: 7.0.1 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 resolve: 1.22.8 + resolve.exports: 2.0.2 slash: 3.0.0 - jest-runner@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + jest-runner@29.7.0: dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.11.18 chalk: 4.1.1 - emittery: 0.7.2 - exit: 0.1.2 + emittery: 0.13.1 graceful-fs: 4.2.11 - jest-config: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-docblock: 26.0.0 - jest-haste-map: 26.6.2 - jest-leak-detector: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-util: 26.6.2 - jest-worker: 26.6.2 - source-map-support: 0.5.21 - throat: 5.0.0 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - ts-node - - utf-8-validate - jest-runner@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest-runtime@29.7.0: dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.11.18 chalk: 4.1.1 - emittery: 0.7.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-docblock: 26.0.0 - jest-haste-map: 26.6.2 - jest-leak-detector: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - jest-runtime: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-util: 26.6.2 - jest-worker: 26.6.2 - source-map-support: 0.5.21 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - jest-runtime@26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/globals': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/yargs': 15.0.19 - chalk: 4.1.1 - cjs-module-lexer: 0.6.0 + cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 - exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - jest-config: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 strip-bom: 4.0.0 - yargs: 15.4.1 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - ts-node - - utf-8-validate - - jest-runtime@26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/globals': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/yargs': 15.0.19 - chalk: 4.1.1 - cjs-module-lexer: 0.6.0 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-config: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - slash: 3.0.0 - strip-bom: 4.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - jest-serializer@26.6.2: - dependencies: - '@types/node': 18.11.18 - graceful-fs: 4.2.11 - jest-snapshot@26.6.2: + jest-snapshot@29.7.0: dependencies: + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) '@babel/types': 7.24.7 - '@jest/types': 26.6.2 - '@types/babel__traverse': 7.20.6 - '@types/prettier': 2.7.3 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) chalk: 4.1.1 - expect: 26.6.2 + expect: 29.7.0 graceful-fs: 4.2.11 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - jest-haste-map: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 natural-compare: 1.4.0 - pretty-format: 26.6.2 + pretty-format: 29.7.0 semver: 7.6.2 transitivePeerDependencies: - supports-color - jest-util@26.6.2: + jest-util@29.7.0: dependencies: - '@jest/types': 26.6.2 + '@jest/types': 29.6.3 '@types/node': 18.11.18 chalk: 4.1.1 + ci-info: 3.9.0 graceful-fs: 4.2.11 - is-ci: 2.0.0 - micromatch: 4.0.7 + picomatch: 2.3.1 - jest-validate@26.6.2: + jest-validate@29.7.0: dependencies: - '@jest/types': 26.6.2 + '@jest/types': 29.6.3 camelcase: 6.3.0 chalk: 4.1.1 - jest-get-type: 26.3.0 + jest-get-type: 29.6.3 leven: 3.1.0 - pretty-format: 26.6.2 + pretty-format: 29.7.0 - jest-watcher@26.6.2: + jest-watcher@29.7.0: dependencies: - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.1 - jest-util: 26.6.2 + emittery: 0.13.1 + jest-util: 29.7.0 string-length: 4.0.2 - jest-worker@26.6.2: + jest-worker@29.7.0: dependencies: '@types/node': 18.11.18 + jest-util: 29.7.0 merge-stream: 2.0.0 - supports-color: 7.2.0 + supports-color: 8.1.1 - jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): dependencies: - '@jest/core': 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 26.6.3(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-cli: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) transitivePeerDependencies: - - bufferutil - - canvas + - '@types/node' + - babel-plugin-macros - supports-color - ts-node - - utf-8-validate - jest@26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): dependencies: - '@jest/core': 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 26.6.3(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-cli: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) transitivePeerDependencies: - - bufferutil - - canvas + - '@types/node' + - babel-plugin-macros - supports-color - ts-node - - utf-8-validate - jose@4.15.5: {} + jose@4.15.7: {} js-sha256@0.9.0: {} @@ -8979,40 +8162,6 @@ snapshots: dependencies: argparse: 2.0.1 - jsdom@16.7.0: - dependencies: - abab: 2.0.6 - acorn: 8.12.0 - acorn-globals: 6.0.0 - cssom: 0.4.4 - cssstyle: 2.3.0 - data-urls: 2.0.0 - decimal.js: 10.4.3 - domexception: 2.0.1 - escodegen: 2.1.0 - form-data: 3.0.1 - html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.10 - parse5: 6.0.1 - saxes: 5.0.1 - symbol-tree: 3.2.4 - tough-cookie: 4.1.4 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 2.0.0 - webidl-conversions: 6.1.0 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - ws: 7.5.9 - xml-name-validator: 3.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - jsesc@2.5.2: {} json-buffer@3.0.1: {} @@ -9079,14 +8228,6 @@ snapshots: dependencies: json-buffer: 3.0.1 - kind-of@3.2.2: - dependencies: - is-buffer: 1.1.6 - - kind-of@4.0.0: - dependencies: - is-buffer: 1.1.6 - kind-of@6.0.3: {} kleur@3.0.3: {} @@ -9213,16 +8354,10 @@ snapshots: dependencies: tmpl: 1.0.5 - map-cache@0.2.2: {} - map-obj@1.0.1: {} map-obj@4.3.0: {} - map-visit@1.0.0: - dependencies: - object-visit: 1.0.1 - marked@4.3.0: {} md5.js@1.3.5: @@ -9269,24 +8404,6 @@ snapshots: merge2@1.4.1: {} - micromatch@3.1.10: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - micromatch@4.0.7: dependencies: braces: 3.0.3 @@ -9342,11 +8459,6 @@ snapshots: minipass: 3.3.6 yallist: 4.0.0 - mixin-deep@1.3.2: - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - mixme@0.5.10: {} mkdirp@0.5.6: @@ -9381,22 +8493,6 @@ snapshots: mustache@4.0.0: {} - nanomatch@1.2.13: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - natural-compare@1.4.0: {} near-abi@0.1.1: @@ -9457,8 +8553,6 @@ snapshots: transitivePeerDependencies: - encoding - nice-try@1.0.5: {} - node-addon-api@5.1.0: {} node-cleanup@2.1.2: {} @@ -9479,20 +8573,10 @@ snapshots: detect-libc: 2.0.3 optional: true - node-gyp-build@4.8.0: {} + node-gyp-build@4.8.1: {} node-int64@0.4.0: {} - node-notifier@8.0.2: - dependencies: - growly: 1.3.0 - is-wsl: 2.2.0 - semver: 7.6.2 - shellwords: 0.1.1 - uuid: 8.3.2 - which: 2.0.2 - optional: true - node-port-check@2.0.1: {} node-releases@2.0.14: {} @@ -9511,38 +8595,18 @@ snapshots: semver: 7.6.2 validate-npm-package-license: 3.0.4 - normalize-path@2.1.1: - dependencies: - remove-trailing-separator: 1.1.0 - normalize-path@3.0.0: {} normalize-url@6.1.0: {} - npm-run-path@2.0.2: - dependencies: - path-key: 2.0.1 - npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - nwsapi@2.2.10: {} - - object-copy@0.1.0: - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - object-inspect@1.13.1: {} object-keys@1.1.1: {} - object-visit@1.0.1: - dependencies: - isobject: 3.0.1 - object.assign@4.1.5: dependencies: call-bind: 1.0.7 @@ -9550,10 +8614,6 @@ snapshots: has-symbols: 1.0.3 object-keys: 1.1.1 - object.pick@1.3.0: - dependencies: - isobject: 3.0.1 - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -9581,14 +8641,10 @@ snapshots: p-cancelable@2.1.1: {} - p-each-series@2.2.0: {} - p-filter@2.1.0: dependencies: p-map: 2.1.0 - p-finally@1.0.0: {} - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -9651,18 +8707,12 @@ snapshots: parse-passwd@1.0.0: {} - parse5@6.0.1: {} - - pascalcase@0.1.1: {} - path-browserify@0.0.1: {} path-exists@4.0.0: {} path-is-absolute@1.0.1: {} - path-key@2.0.1: {} - path-key@3.1.1: {} path-parse@1.0.7: {} @@ -9701,8 +8751,6 @@ snapshots: pvutils: 1.1.3 tslib: 2.6.3 - posix-character-classes@0.1.1: {} - possible-typed-array-names@1.0.0: {} preferred-pm@3.1.3: @@ -9716,12 +8764,11 @@ snapshots: prettier@2.8.8: {} - pretty-format@26.6.2: + pretty-format@29.7.0: dependencies: - '@jest/types': 26.6.2 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 17.0.2 + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 prettyjson@1.2.5: dependencies: @@ -9747,8 +8794,6 @@ snapshots: pseudomap@1.0.2: {} - psl@1.9.0: {} - public-encrypt@4.0.3: dependencies: bn.js: 4.12.0 @@ -9767,6 +8812,8 @@ snapshots: punycode@2.3.1: {} + pure-rand@6.1.0: {} + pure-uuid@1.8.1: {} pvtsutils@1.3.5: @@ -9790,8 +8837,6 @@ snapshots: querystring-es3@0.2.1: {} - querystringify@2.2.0: {} - queue-microtask@1.2.3: {} quick-lru@4.0.1: {} @@ -9807,7 +8852,7 @@ snapshots: randombytes: 2.1.0 safe-buffer: 5.2.1 - react-is@17.0.2: {} + react-is@18.3.1: {} read-only-stream@2.0.0: dependencies: @@ -9860,11 +8905,6 @@ snapshots: regenerator-runtime@0.14.1: {} - regex-not@1.0.2: - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 @@ -9874,20 +8914,12 @@ snapshots: regexpp@3.2.0: {} - remove-trailing-separator@1.1.0: {} - - repeat-element@1.1.4: {} - - repeat-string@1.6.1: {} - require-directory@2.1.1: {} require-from-string@2.0.2: {} require-main-filename@2.0.0: {} - requires-port@1.0.0: {} - resolve-alpn@1.2.1: {} resolve-cwd@3.0.0: @@ -9902,7 +8934,7 @@ snapshots: dependencies: global-dirs: 0.1.1 - resolve-url@0.2.1: {} + resolve.exports@2.0.2: {} resolve@1.1.7: {} @@ -9916,8 +8948,6 @@ snapshots: dependencies: lowercase-keys: 2.0.0 - ret@0.1.15: {} - retry@0.12.0: {} reusify@1.0.4: {} @@ -9931,8 +8961,6 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 - rsvp@4.8.5: {} - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -9958,35 +8986,13 @@ snapshots: es-errors: 1.3.0 is-regex: 1.1.4 - safe-regex@1.1.0: - dependencies: - ret: 0.1.15 - safer-buffer@2.1.2: {} - sane@4.1.0: - dependencies: - '@cnakazawa/watch': 1.0.4 - anymatch: 2.0.0 - capture-exit: 2.0.0 - exec-sh: 0.3.6 - execa: 1.0.0 - fb-watchman: 2.0.2 - micromatch: 3.1.10 - minimist: 1.2.8 - walker: 1.0.8 - transitivePeerDependencies: - - supports-color - - saxes@5.0.1: - dependencies: - xmlchars: 2.2.0 - secp256k1@5.0.0: dependencies: elliptic: 6.5.5 node-addon-api: 5.1.0 - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.1 semver@5.7.2: {} @@ -10018,13 +9024,6 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - set-value@2.0.1: - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - setprototypeof@1.1.1: {} sha.js@2.4.11: @@ -10055,9 +9054,6 @@ snapshots: shell-quote@1.8.1: {} - shellwords@0.1.1: - optional: true - shiki@0.14.7: dependencies: ansi-sequence-parser: 1.1.1 @@ -10089,50 +9085,20 @@ snapshots: wcwidth: 1.0.1 yargs: 15.4.1 - snapdragon-node@2.1.1: - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - - snapdragon-util@3.0.1: - dependencies: - kind-of: 3.2.2 - - snapdragon@0.8.2: - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - - source-map-resolve@0.5.3: + source-map-support@0.5.13: dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 + buffer-from: 1.1.2 + source-map: 0.6.1 source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - source-map-url@0.4.1: {} - source-map@0.5.7: {} source-map@0.6.1: {} - source-map@0.7.4: {} - spawn-command@0.0.2-1: {} spawndamnit@2.0.0: @@ -10156,10 +9122,6 @@ snapshots: split-on-first@1.1.0: {} - split-string@3.1.0: - dependencies: - extend-shallow: 3.0.2 - split2@3.2.2: dependencies: readable-stream: 3.6.2 @@ -10170,11 +9132,6 @@ snapshots: dependencies: escape-string-regexp: 2.0.0 - static-extend@0.1.2: - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - statuses@1.5.0: {} stream-browserify@2.0.2: @@ -10252,8 +9209,6 @@ snapshots: strip-bom@4.0.0: {} - strip-eof@1.0.0: {} - strip-final-newline@2.0.0: {} strip-indent@3.0.0: @@ -10283,15 +9238,8 @@ snapshots: has-flag: 2.0.0 supports-color: 5.5.0 - supports-hyperlinks@2.3.0: - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - supports-preserve-symlinks-flag@1.0.0: {} - symbol-tree@3.2.4: {} - syntax-error@1.4.0: dependencies: acorn-node: 1.8.2 @@ -10309,11 +9257,6 @@ snapshots: term-size@2.2.1: {} - terminal-link@2.1.1: - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - terser@3.17.0: dependencies: acorn: 8.12.0 @@ -10333,8 +9276,6 @@ snapshots: text-table@0.2.0: {} - throat@5.0.0: {} - through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -10350,11 +9291,11 @@ snapshots: dependencies: process: 0.11.10 - tldts-core@6.1.26: {} + tldts-core@6.1.27: {} tldts@6.0.23: dependencies: - tldts-core: 6.1.26 + tldts-core: 6.1.27 tmp@0.0.33: dependencies: @@ -10366,78 +9307,58 @@ snapshots: to-fast-properties@2.0.0: {} - to-object-path@0.3.0: - dependencies: - kind-of: 3.2.2 - - to-regex-range@2.1.1: - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - to-regex@3.0.2: - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - toidentifier@1.0.0: {} - tough-cookie@4.1.4: - dependencies: - psl: 1.9.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 - tr46@0.0.3: {} tr46@1.0.1: dependencies: punycode: 2.3.1 - tr46@2.1.0: - dependencies: - punycode: 2.3.1 - tree-kill@1.2.2: {} trim-newlines@3.0.1: {} - ts-jest@26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4): dependencies: bs-logger: 0.2.6 - buffer-from: 1.1.2 fast-json-stable-stringify: 2.1.0 - jest: 26.0.1(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) - jest-util: 26.6.2 + jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-util: 29.7.0 json5: 2.2.3 - lodash: 4.17.21 + lodash.memoize: 4.1.2 make-error: 1.3.6 - mkdirp: 1.0.4 - semver: 7.1.1 + semver: 7.6.2 typescript: 4.9.4 - yargs-parser: 20.2.9 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.24.7 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) + esbuild: 0.21.5 - ts-jest@26.5.6(jest@26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)))(typescript@4.9.4): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)))(typescript@4.9.4): dependencies: bs-logger: 0.2.6 - buffer-from: 1.1.2 fast-json-stable-stringify: 2.1.0 - jest: 26.0.1(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) - jest-util: 26.6.2 + jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-util: 29.7.0 json5: 2.2.3 - lodash: 4.17.21 + lodash.memoize: 4.1.2 make-error: 1.3.6 - mkdirp: 1.0.4 - semver: 7.1.1 + semver: 7.6.2 typescript: 4.9.4 - yargs-parser: 20.2.9 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.24.7 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4): dependencies: @@ -10606,10 +9527,6 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 - typedarray@0.0.6: {} typedoc@0.25.3(typescript@4.9.4): @@ -10649,13 +9566,6 @@ snapshots: unfetch@4.2.0: {} - union-value@1.0.1: - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - universal-url@2.0.0: dependencies: hasurl: 1.0.0 @@ -10665,15 +9575,8 @@ snapshots: universalify@0.1.2: {} - universalify@0.2.0: {} - universalify@2.0.1: {} - unset-value@1.0.0: - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: browserslist: 4.23.1 @@ -10684,38 +9587,26 @@ snapshots: dependencies: punycode: 2.3.1 - urix@0.1.0: {} - - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - url@0.11.3: dependencies: punycode: 1.4.1 qs: 6.12.1 - use@3.1.1: {} - util-deprecate@1.0.2: {} util@0.10.4: dependencies: inherits: 2.0.3 - uuid@8.3.2: - optional: true - v8-compile-cache-lib@3.0.1: {} v8-compile-cache@2.4.0: {} - v8-to-istanbul@7.1.2: + v8-to-istanbul@9.2.0: dependencies: + '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 1.9.0 - source-map: 0.7.4 + convert-source-map: 2.0.0 validate-npm-package-license@3.0.4: dependencies: @@ -10728,14 +9619,6 @@ snapshots: vscode-textmate@8.0.0: {} - w3c-hr-time@1.0.2: - dependencies: - browser-process-hrtime: 1.0.0 - - w3c-xmlserializer@2.0.0: - dependencies: - xml-name-validator: 3.0.0 - walker@1.0.8: dependencies: makeerror: 1.0.12 @@ -10756,16 +9639,6 @@ snapshots: webidl-conversions@4.0.2: {} - webidl-conversions@5.0.0: {} - - webidl-conversions@6.1.0: {} - - whatwg-encoding@1.0.5: - dependencies: - iconv-lite: 0.4.24 - - whatwg-mimetype@2.3.0: {} - whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -10777,12 +9650,6 @@ snapshots: tr46: 1.0.1 webidl-conversions: 4.0.2 - whatwg-url@8.7.0: - dependencies: - lodash: 4.17.21 - tr46: 2.1.0 - webidl-conversions: 6.1.0 - which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 @@ -10830,18 +9697,10 @@ snapshots: wrappy@1.0.2: {} - write-file-atomic@3.0.3: + write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 - is-typedarray: 1.0.0 signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - - ws@7.5.9: {} - - xml-name-validator@3.0.0: {} - - xmlchars@2.2.0: {} xtend@4.0.2: {} diff --git a/tsconfig.browser.json b/tsconfig.browser.json index 473e66c139..5bb2be882c 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -2,9 +2,8 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "lib": [ - "es2016", "esnext", "dom" - ], + ] } } diff --git a/tsconfig.node.json b/tsconfig.node.json index e55fcd0b07..7eaf05134e 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -2,8 +2,7 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "lib": [ - "es2016", "esnext" - ], + ] }, } From 06df05d2ce8d6eb7b2a725fb59b68338e04ccce8 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 13:53:08 -0700 Subject: [PATCH 11/45] feat: lint updates --- .eslintrc.base.yml | 2 +- .eslintrc.js.yml | 8 - .eslintrc.ts.yml | 6 + package.json | 4 +- packages/accounts/package.json | 6 +- packages/accounts/test/.eslintrc.yml | 7 - .../accounts/test/account.access_key.test.ts | 4 +- packages/accounts/test/account.test.ts | 20 +- .../accounts/test/account_multisig.test.ts | 14 +- packages/accounts/test/contract.test.ts | 6 +- packages/accounts/test/contract_abi.test.ts | 8 +- packages/accounts/test/promise.test.ts | 10 +- packages/accounts/test/providers.test.ts | 56 ++--- packages/biometric-ed25519/package.json | 4 +- packages/biometric-ed25519/test/utils.test.ts | 200 +++++++++--------- packages/crypto/package.json | 6 +- packages/crypto/test/key_pair.test.ts | 2 +- packages/keystores-browser/package.json | 6 +- .../test/browser_keystore.test.ts | 2 +- packages/keystores-node/package.json | 6 +- packages/keystores/package.json | 6 +- .../keystores/test/in_memory_keystore.test.ts | 2 +- .../keystores/test/merge_keystore.test.ts | 2 +- packages/providers/package.json | 6 +- packages/providers/src/fetch_json.ts | 2 +- packages/providers/test/fetch_json.test.ts | 4 +- packages/providers/test/providers.test.ts | 54 ++--- packages/signers/package.json | 5 +- packages/signers/test/signer.test.ts | 8 +- packages/transactions/package.json | 6 +- packages/transactions/src/schema.ts | 88 ++++---- packages/transactions/test/serialize.test.ts | 30 +-- packages/types/package.json | 2 +- packages/types/src/provider/protocol.ts | 2 +- packages/utils/package.json | 4 +- packages/utils/test/format.test.ts | 6 +- packages/utils/test/rpc-errors.test.ts | 44 ++-- packages/utils/test/validator.test.ts | 28 +-- .../test/wallet_accounts.test.ts | 44 ++-- turbo.json | 18 +- 40 files changed, 351 insertions(+), 387 deletions(-) delete mode 100644 .eslintrc.js.yml delete mode 100644 packages/accounts/test/.eslintrc.yml diff --git a/.eslintrc.base.yml b/.eslintrc.base.yml index 0ffb722323..0705b4f7d4 100644 --- a/.eslintrc.base.yml +++ b/.eslintrc.base.yml @@ -4,7 +4,7 @@ env: extends: - 'eslint:recommended' parserOptions: - ecmaVersion: 2018 + ecmaVersion: 2020 sourceType: module rules: indent: diff --git a/.eslintrc.js.yml b/.eslintrc.js.yml deleted file mode 100644 index 1a932a041c..0000000000 --- a/.eslintrc.js.yml +++ /dev/null @@ -1,8 +0,0 @@ -extends: './.eslintrc.base.yml' -env: - jest: true -globals: - jasmine: true - window: false - fail: true - BigInt: true diff --git a/.eslintrc.ts.yml b/.eslintrc.ts.yml index d68c7ff9ac..e146157109 100644 --- a/.eslintrc.ts.yml +++ b/.eslintrc.ts.yml @@ -3,3 +3,9 @@ extends: - 'plugin:@typescript-eslint/eslint-recommended' - 'plugin:@typescript-eslint/recommended' parser: '@typescript-eslint/parser' +overrides: + - rules: + "@typescript-eslint/no-explicit-any": "warn" + "@typescript-eslint/no-empty-function": "warn" + files: + - "*.ts" diff --git a/package.json b/package.json index c2e517752f..d1394353e6 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,8 @@ "preinstall": "npx only-allow pnpm", "build": "turbo run build", "clean": "turbo run clean", - "lint": "turbo run lint:ts lint:js", - "lint:fix": "turbo run lint:ts:fix lint:js:fix", + "lint": "turbo run lint", + "lint:fix": "turbo run lint:fix", "autoclave": "rimraf packages/**/dist && rimraf packages/**/lib && rimraf packages/**/node_modules && rimraf packages/**/coverage && rimraf packages/**/.turbo && rm -rf node_modules", "test": "turbo run test", "release": "changeset publish", diff --git a/packages/accounts/package.json b/packages/accounts/package.json index e2f7b72173..9b578db5ed 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -7,10 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:js": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc", - "lint:js:fix": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest test" }, "keywords": [], diff --git a/packages/accounts/test/.eslintrc.yml b/packages/accounts/test/.eslintrc.yml deleted file mode 100644 index 0fae1d994f..0000000000 --- a/packages/accounts/test/.eslintrc.yml +++ /dev/null @@ -1,7 +0,0 @@ -extends: '../../../.eslintrc.js.yml' -env: - jest: true -globals: - jasmine: true - window: false - fail: true diff --git a/packages/accounts/test/account.access_key.test.ts b/packages/accounts/test/account.access_key.test.ts index 65322c8267..4149942eef 100644 --- a/packages/accounts/test/account.access_key.test.ts +++ b/packages/accounts/test/account.access_key.test.ts @@ -36,7 +36,7 @@ test('make function call using access key', async() => { test('remove access key no longer works', async() => { const keyPair = KeyPair.fromRandom('ed25519'); - let publicKey = keyPair.getPublicKey(); + const publicKey = keyPair.getPublicKey(); await nearjs.accountCreator.masterAccount.addKey(publicKey, contractId, '', 400000); await nearjs.accountCreator.masterAccount.deleteKey(publicKey); // Override in the key store the workingAccount key to the given access key. @@ -86,7 +86,7 @@ test('loading account after adding a full key', async() => { // wallet calls this with an empty string for contract id and method await workingAccount.addKey(keyPair.getPublicKey(), '', ''); - let accessKeys = await workingAccount.getAccessKeys(); + const accessKeys = await workingAccount.getAccessKeys(); expect(accessKeys.length).toBe(2); const addedKey = accessKeys.find(item => item.public_key == keyPair.getPublicKey().toString()); diff --git a/packages/accounts/test/account.test.ts b/packages/accounts/test/account.test.ts index e8a4e7a958..bf3895b7cf 100644 --- a/packages/accounts/test/account.test.ts +++ b/packages/accounts/test/account.test.ts @@ -23,7 +23,7 @@ afterAll(async () => { }); test('view pre-defined account works and returns correct name', async () => { - let status = await workingAccount.state(); + const status = await workingAccount.state(); expect(status.code_hash).toEqual('11111111111111111111111111111111'); }); @@ -83,14 +83,14 @@ test('delete account', async() => { const sender = await testUtils.createAccount(nearjs); const receiver = await testUtils.createAccount(nearjs); await sender.deleteAccount(receiver.accountId); - // @ts-ignore + // @ts-expect-error test input const reloaded = new Account(sender.connection, sender); await expect(reloaded.state()).rejects.toThrow(); }); test('multiple parallel transactions', async () => { const PARALLEL_NUMBER = 5; - // @ts-ignore + // @ts-expect-error test input await Promise.all(new Array(PARALLEL_NUMBER).fill().map(async (_, i) => { const account = new Account(workingAccount.connection, workingAccount.accountId); // NOTE: Need to have different transactions outside of nonce, or they all succeed by being identical @@ -103,9 +103,9 @@ test('findAccessKey returns the same access key when fetched simultaneously', as const account = await testUtils.createAccount(nearjs); const [key1, key2] = await Promise.all([ - // @ts-ignore + // @ts-expect-error test input account.findAccessKey(), - // @ts-ignore + // @ts-expect-error test input account.findAccessKey() ]); @@ -140,14 +140,14 @@ describe('errors', () => { describe('with deploy contract', () => { let logs; - let contractId = testUtils.generateUniqueString('test_contract'); + const contractId = testUtils.generateUniqueString('test_contract'); let contract; beforeAll(async () => { const newPublicKey = await nearjs.connection.signer.createKey(contractId, testUtils.networkId); const data = fs.readFileSync(HELLO_WASM_PATH); await nearjs.accountCreator.masterAccount.createAndDeployContract(contractId, newPublicKey, data, HELLO_WASM_BALANCE); - // @ts-ignore + // @ts-expect-error test input contract = new Contract(nearjs.accountCreator.masterAccount, contractId, { viewMethods: ['hello', 'getValue', 'returnHiWithLogs'], changeMethods: ['setValue', 'generateLogs', 'triggerAssert', 'testSetRemove', 'crossContract'] @@ -336,7 +336,7 @@ describe('with deploy contract', () => { }); test('can get logs from view call', async () => { - let result = await contract.returnHiWithLogs(); + const result = await contract.returnHiWithLogs(); expect(result).toEqual('Hi'); expect(logs).toEqual([`Log [${contractId}]: loooog1`, `Log [${contractId}]: loooog2`]); }); @@ -354,7 +354,7 @@ describe('with deploy contract', () => { }); test('can have view methods only', async () => { - // @ts-ignore + // @ts-expect-error test input const contract: any = new Contract(workingAccount, contractId, { viewMethods: ['hello'], }); @@ -362,7 +362,7 @@ describe('with deploy contract', () => { }); test('can have change methods only', async () => { - // @ts-ignore + // @ts-expect-error test input const contract: any = new Contract(workingAccount, contractId, { changeMethods: ['hello'], }); diff --git a/packages/accounts/test/account_multisig.test.ts b/packages/accounts/test/account_multisig.test.ts index 7c2c0cb476..19fb36c788 100644 --- a/packages/accounts/test/account_multisig.test.ts +++ b/packages/accounts/test/account_multisig.test.ts @@ -18,7 +18,7 @@ const getAccount2FA = async (account, keyMapping = ({ public_key: publicKey }) = // modifiers to functions replaces contract helper (CH) const { accountId } = account; const keys = await account.getAccessKeys(); - // @ts-ignore + // @ts-expect-error test input const account2fa: any = new Account2FA(nearjs.connection, accountId, { // skip this (not using CH) getCode: () => {}, @@ -52,7 +52,7 @@ const getAccount2FA = async (account, keyMapping = ({ public_key: publicKey }) = beforeAll(async () => { nearjs = await testUtils.setUpTestConnection(); - let nodeStatus = await nearjs.connection.provider.status(); + const nodeStatus = await nearjs.connection.provider.status(); startFromVersion = (version) => semver.gte(nodeStatus.version.version, version); console.log(startFromVersion); }); @@ -67,7 +67,7 @@ describe('deployMultisig key rotations', () => { const kinds = ['ledger', 'phrase', 'phone']; const account2fa = await getAccount2FA( account, - // @ts-ignore + // @ts-expect-error test input ({ public_key: publicKey }, i) => ({ publicKey, kind: kinds[i] }) ); const currentKeys = await account2fa.getAccessKeys(); @@ -89,10 +89,10 @@ describe('account2fa transactions', () => { account = await getAccount2FA(account); const keys = await account.getAccessKeys(); expect(keys.find(({ public_key }) => appPublicKey.toString() === public_key) - // @ts-ignore + // @ts-expect-error test input .access_key.permission.FunctionCall.method_names).toEqual(appMethodNames); expect(keys.find(({ public_key }) => appPublicKey.toString() === public_key) - // @ts-ignore + // @ts-expect-error test input .access_key.permission.FunctionCall.receiver_id).toEqual(appAccountId); }); @@ -105,10 +105,10 @@ describe('account2fa transactions', () => { await account.addKey(appPublicKey.toString(), appAccountId, appMethodNames, BigInt(parseNearAmount('0.25'))); const keys = await account.getAccessKeys(); expect(keys.find(({ public_key }) => appPublicKey.toString() === public_key) - // @ts-ignore + // @ts-expect-error test input .access_key.permission.FunctionCall.method_names).toEqual(appMethodNames); expect(keys.find(({ public_key }) => appPublicKey.toString() === public_key) - // @ts-ignore + // @ts-expect-error test input .access_key.permission.FunctionCall.receiver_id).toEqual(appAccountId); }); diff --git a/packages/accounts/test/contract.test.ts b/packages/accounts/test/contract.test.ts index 414d22081e..cbd8de359e 100644 --- a/packages/accounts/test/contract.test.ts +++ b/packages/accounts/test/contract.test.ts @@ -16,7 +16,7 @@ const account = Object.setPrototypeOf({ } }, Account.prototype); -// @ts-ignore +// @ts-expect-error test input const contract: any = new Contract(account, 'contractId', { viewMethods: ['viewMethod'], changeMethods: ['changeMethod'], @@ -160,7 +160,7 @@ describe('local view execution', () => { }); test('local execution fails and fallbacks to normal RPC call', async () => { - // @ts-ignore + // @ts-expect-error test input const _contract: any = new Contract(contract.account, contract.contractId, { viewMethods: ['get_msg'], useLocalViewExecution: true }); _contract.account.viewFunction = jest.fn(_contract.account.viewFunction); @@ -188,7 +188,7 @@ describe('contract without account', () => { const contractId = testUtils.generateUniqueString('guestbook'); await testUtils.deployContractGuestBook(nearjs.accountCreator.masterAccount, contractId); - // @ts-ignore + // @ts-expect-error test input contract = new Contract(nearjs.connection, contractId, { viewMethods: ['total_messages', 'get_messages'], changeMethods: ['add_message'], diff --git a/packages/accounts/test/contract_abi.test.ts b/packages/accounts/test/contract_abi.test.ts index bcb1ea1aa8..e172795375 100644 --- a/packages/accounts/test/contract_abi.test.ts +++ b/packages/accounts/test/contract_abi.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from '@jest/globals'; import { Account, Contract, ArgumentSchemaError, UnknownArgumentError, UnsupportedSerializationError } from '../src'; -let rawAbi = `{ +const rawAbi = `{ "schema_version": "0.3.0", "body": { "functions": [ @@ -107,7 +107,7 @@ const account = Object.setPrototypeOf({ const abi = JSON.parse(rawAbi); -// @ts-ignore +// @ts-expect-error test input const contract: any = new Contract(account, 'contractId', { abi }); describe('add', () => { @@ -155,7 +155,7 @@ describe('empty_call', () => { describe('Contract constructor', () => { test('throws UnsupportedSerializationError when ABI has borsh serialization', async () => { - let rawAbi = `{ + const rawAbi = `{ "schema_version": "0.3.0", "body": { "functions": [ @@ -182,7 +182,7 @@ describe('Contract constructor', () => { } } }`; - // @ts-ignore + // @ts-expect-error test input const contract: any = new Contract(account, 'contractId', { abi: JSON.parse(rawAbi) }); await expect(contract.add({ a: 1 })).rejects.toBeInstanceOf(UnsupportedSerializationError); }); diff --git a/packages/accounts/test/promise.test.ts b/packages/accounts/test/promise.test.ts index ef1e194f8d..1e8cfe91f5 100644 --- a/packages/accounts/test/promise.test.ts +++ b/packages/accounts/test/promise.test.ts @@ -13,9 +13,9 @@ describe('with promises', () => { let contract, contract1, contract2; let oldLog; let logs; - let contractName = testUtils.generateUniqueString('cnt'); - let contractName1 = testUtils.generateUniqueString('cnt'); - let contractName2 = testUtils.generateUniqueString('cnt'); + const contractName = testUtils.generateUniqueString('cnt'); + const contractName1 = testUtils.generateUniqueString('cnt'); + const contractName2 = testUtils.generateUniqueString('cnt'); beforeAll(async () => { contract = await testUtils.deployContract(nearjs.accountCreator.masterAccount, contractName); @@ -26,8 +26,8 @@ describe('with promises', () => { beforeEach(async () => { oldLog = console.log; logs = []; - console.log = function() { - logs.push(Array.from(arguments).join(' ')); + console.log = function(...args: any[]) { + logs.push(Array.from(args).join(' ')); }; }); diff --git a/packages/accounts/test/providers.test.ts b/packages/accounts/test/providers.test.ts index 04617afbae..cac105ee13 100644 --- a/packages/accounts/test/providers.test.ts +++ b/packages/accounts/test/providers.test.ts @@ -3,7 +3,7 @@ import { KeyPair } from '@near-js/crypto'; import ERRORS_JSON from '@near-js/utils/lib/errors/error_messages.json'; import base58 from 'bs58'; -import testUtils from './test-utils'; +import { createAccount, deployContract, generateUniqueString, setUpTestConnection, sleep, waitFor } from './test-utils'; jest.setTimeout(60000); @@ -11,26 +11,26 @@ let provider; let near; beforeAll(async () => { - near = await testUtils.setUpTestConnection(); + near = await setUpTestConnection(); provider = near.connection.provider; }); describe('providers', () => { test('txStatus with string hash and buffer hash', async () => { - const sender = await testUtils.createAccount(near); - const receiver = await testUtils.createAccount(near); + const sender = await createAccount(near); + const receiver = await createAccount(near); const outcome = await sender.sendMoney(receiver.accountId, BigInt('1')); const responseWithString = await provider.txStatus(outcome.transaction.hash, sender.accountId); const responseWithUint8Array = await provider.txStatus(base58.decode(outcome.transaction.hash), sender.accountId); - // @ts-ignore + // @ts-expect-error test input expect(responseWithString).toMatchObject(outcome); - // @ts-ignore + // @ts-expect-error test input expect(responseWithUint8Array).toMatchObject(outcome); }); test('txStatusReciept with string hash and buffer hash', async () => { - const sender = await testUtils.createAccount(near); - const receiver = await testUtils.createAccount(near); + const sender = await createAccount(near); + const receiver = await createAccount(near); const outcome = await sender.sendMoney(receiver.accountId, BigInt('1')); const reciepts = await provider.sendJsonRpc('EXPERIMENTAL_tx_status', [outcome.transaction.hash, sender.accountId]); @@ -48,8 +48,8 @@ describe('providers', () => { }); test('json rpc query account', async () => { - const account = await testUtils.createAccount(near); - let response = await provider.query({ + const account = await createAccount(near); + const response = await provider.query({ request_type: 'view_account', finality: 'optimistic', account_id: account.accountId }); @@ -57,11 +57,11 @@ describe('providers', () => { }); test('json rpc query view_state', async () => { - const contract = await testUtils.deployContract(near.accountCreator.masterAccount, testUtils.generateUniqueString('test')); - // @ts-ignore + const contract = await deployContract(near.accountCreator.masterAccount, generateUniqueString('test')); + // @ts-expect-error test input await contract.setValue({ args: { value: 'hello' } }); - return testUtils.waitFor(async () => { + return waitFor(async () => { const response = await provider.query({ request_type: 'view_state', finality: 'final', @@ -79,9 +79,9 @@ describe('providers', () => { }); test('json rpc query view_code', async () => { - const contract = await testUtils.deployContract(near.accountCreator.masterAccount, testUtils.generateUniqueString('test')); + const contract = await deployContract(near.accountCreator.masterAccount, generateUniqueString('test')); - return testUtils.waitFor(async () => { + return waitFor(async () => { const response = await provider.query({ request_type: 'view_code', finality: 'final', @@ -98,12 +98,12 @@ describe('providers', () => { }); test('json rpc query call_function', async () => { - const contract = await testUtils.deployContract(near.accountCreator.masterAccount, testUtils.generateUniqueString('test')); + const contract = await deployContract(near.accountCreator.masterAccount, generateUniqueString('test')); - // @ts-ignore + // @ts-expect-error test input await contract.setValue({ args: { value: 'hello' } }); - return testUtils.waitFor(async () => { + return waitFor(async () => { const response = await provider.query({ request_type: 'call_function', finality: 'final', @@ -129,14 +129,14 @@ describe('providers', () => { }); test('json rpc light client proof', async () => { - const workingAccount = await testUtils.createAccount(near); - const executionOutcome = await workingAccount.sendMoney(workingAccount.accountId, BigInt(10000)); + const workingAccount = await createAccount(near); + const executionOutcome = await workingAccount.sendMoney(workingAccount.accountId, 10000n); const provider = near.connection.provider; async function waitForStatusMatching(isMatching) { const MAX_ATTEMPTS = 10; for (let i = 0; i < MAX_ATTEMPTS; i++) { - await testUtils.sleep(500); + await sleep(500); const nodeStatus = await provider.status(); if (isMatching(nodeStatus)) { return nodeStatus; @@ -146,7 +146,7 @@ describe('providers', () => { } const comittedStatus = await waitForStatusMatching(status => - // @ts-ignore + // @ts-expect-error test input status.sync_info.latest_block_hash !== executionOutcome.transaction_outcome.block_hash); const BLOCKS_UNTIL_FINAL = 2; const finalizedStatus = await waitForStatusMatching(status => @@ -182,7 +182,7 @@ describe('providers', () => { // Use old block hash as light client head should fail lightClientRequest = { type: 'transaction', - // @ts-ignore + // @ts-expect-error test input light_client_head: executionOutcome.transaction_outcome.block_hash, transaction_hash: executionOutcome.transaction.hash, sender_id: workingAccount.accountId, @@ -194,12 +194,12 @@ describe('providers', () => { describe('providers errors', () => { test('JSON RPC Error - MethodNotFound', async () => { - const contract = await testUtils.deployContract( + const contract = await deployContract( near.accountCreator.masterAccount, - testUtils.generateUniqueString('test') + generateUniqueString('test') ); - // @ts-ignore + // @ts-expect-error test input await contract.setValue({ args: { value: 'hello' } }); try { @@ -219,7 +219,7 @@ describe('providers errors', () => { }); test('JSON RPC Error - CodeDoesNotExist', async () => { - const { accountId } = await testUtils.createAccount(near); + const { accountId } = await createAccount(near); try { const response = await provider.query({ @@ -260,7 +260,7 @@ describe('providers errors', () => { }); test('JSON RPC Error - AccessKeyDoesNotExist', async () => { - const { accountId } = await testUtils.createAccount(near); + const { accountId } = await createAccount(near); try { const response = await provider.query({ diff --git a/packages/biometric-ed25519/package.json b/packages/biometric-ed25519/package.json index cee0c92c34..a96f7ec713 100644 --- a/packages/biometric-ed25519/package.json +++ b/packages/biometric-ed25519/package.json @@ -7,8 +7,8 @@ "type": "module", "scripts": { "build": "tsc -p ./tsconfig.json", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" }, "keywords": [], diff --git a/packages/biometric-ed25519/test/utils.test.ts b/packages/biometric-ed25519/test/utils.test.ts index 3101933d89..08a0403690 100644 --- a/packages/biometric-ed25519/test/utils.test.ts +++ b/packages/biometric-ed25519/test/utils.test.ts @@ -3,128 +3,128 @@ import { sanitizeCreateKeyResponse, sanitizeGetKeyResponse } from '../src/utils' // Define a mock PublicKeyCredential class PublicKeyCredentialMock { - rawId: string; - response: any; - - constructor({ - rawId, - clientDataJSON, - attestationObject, - authenticatorData, - signature, - userHandle - }) { - this.rawId = rawId; - this.response = { + rawId: string; + response: any; + + constructor({ + rawId, clientDataJSON, - ...(attestationObject ? { attestationObject } : {}), - ...(signature ? { signature } : {}), - ...(userHandle ? { userHandle } : {}), - ...(authenticatorData ? { authenticatorData } : {}), - }; + attestationObject, + authenticatorData, + signature, + userHandle + }) { + this.rawId = rawId; + this.response = { + clientDataJSON, + ...(attestationObject ? { attestationObject } : {}), + ...(signature ? { signature } : {}), + ...(userHandle ? { userHandle } : {}), + ...(authenticatorData ? { authenticatorData } : {}), + }; } } // Define global PublicKeyCredential to make it available during tests -// @ts-ignore +// @ts-expect-error test input global.PublicKeyCredential = PublicKeyCredentialMock; jest.mock('../lib/utils', () => { - const originalModule = jest.requireActual('../lib/utils'); - return { - // @ts-ignore - ...originalModule, - // @ts-ignore - convertUint8ArrayToArrayBuffer: jest.fn().mockImplementation(input => input.buffer), - }; + const originalModule = jest.requireActual('../lib/utils'); + return { + // @ts-expect-error test input + ...originalModule, + // @ts-expect-error test input + convertUint8ArrayToArrayBuffer: jest.fn().mockImplementation(input => input.buffer), + }; }); describe('sanitizeCreateKeyResponse', () => { - it('should convert Uint8Array properties to ArrayBuffer for PublicKeyCredential', () => { - // @ts-ignore - const mockCredential = new PublicKeyCredentialMock({ - rawId: new Uint8Array([10, 20, 30]), - clientDataJSON: new Uint8Array([40, 50, 60]), - attestationObject: new Uint8Array([70, 80, 90]), + it('should convert Uint8Array properties to ArrayBuffer for PublicKeyCredential', () => { + // @ts-expect-error test input + const mockCredential = new PublicKeyCredentialMock({ + rawId: new Uint8Array([10, 20, 30]), + clientDataJSON: new Uint8Array([40, 50, 60]), + attestationObject: new Uint8Array([70, 80, 90]), + }); + + + // @ts-expect-error test input + const result = sanitizeCreateKeyResponse(mockCredential); + // @ts-expect-error test input + expect(result.rawId.constructor.name).toBe('ArrayBuffer'); + // @ts-expect-error test input + expect(result.response.clientDataJSON.constructor.name).toBe('ArrayBuffer'); + // @ts-expect-error test input + expect(result.response.attestationObject.constructor.name).toBe('ArrayBuffer'); }); - - // @ts-ignore - const result = sanitizeCreateKeyResponse(mockCredential); - // @ts-ignore - expect(result.rawId.constructor.name).toBe('ArrayBuffer'); - // @ts-ignore - expect(result.response.clientDataJSON.constructor.name).toBe('ArrayBuffer'); - // @ts-ignore - expect(result.response.attestationObject.constructor.name).toBe('ArrayBuffer'); - }); - - it('should return the input unchanged if not PublicKeyCredential or without Uint8Arrays', () => { - // @ts-ignore - const mockCredential = new PublicKeyCredentialMock({ - rawId: [10, 20, 30], - clientDataJSON: [40, 50, 60], - attestationObject: [70, 80, 90], + it('should return the input unchanged if not PublicKeyCredential or without Uint8Arrays', () => { + // @ts-expect-error test input + const mockCredential = new PublicKeyCredentialMock({ + rawId: [10, 20, 30], + clientDataJSON: [40, 50, 60], + attestationObject: [70, 80, 90], + }); + + // @ts-expect-error test input + const result = sanitizeCreateKeyResponse(mockCredential); + expect(result).toEqual(mockCredential); }); - // @ts-ignore - const result = sanitizeCreateKeyResponse(mockCredential); - expect(result).toEqual(mockCredential); - }); - - it('should handle non-PublicKeyCredential input gracefully', () => { - const nonPublicKeyCredential = { - someProp: 'test' - }; // No casting needed + it('should handle non-PublicKeyCredential input gracefully', () => { + const nonPublicKeyCredential = { + someProp: 'test' + }; // No casting needed - // @ts-ignore - const result = sanitizeCreateKeyResponse(nonPublicKeyCredential); - expect(result).toEqual(nonPublicKeyCredential); - }); + // @ts-expect-error test input + const result = sanitizeCreateKeyResponse(nonPublicKeyCredential); + expect(result).toEqual(nonPublicKeyCredential); + }); }); describe('sanitizeGetKeyResponse', () => { - it('should convert Uint8Array properties to ArrayBuffer in PublicKeyCredential', () => { - // @ts-ignore - const mockCredential = new PublicKeyCredentialMock({ - rawId: new Uint8Array([10, 20, 30]), - clientDataJSON: new Uint8Array([40, 50, 60]), - authenticatorData: new Uint8Array([70, 80, 90]), - signature: new Uint8Array([100, 110, 120]), - userHandle: new Uint8Array([130, 140, 150]) + it('should convert Uint8Array properties to ArrayBuffer in PublicKeyCredential', () => { + // @ts-expect-error test input + const mockCredential = new PublicKeyCredentialMock({ + rawId: new Uint8Array([10, 20, 30]), + clientDataJSON: new Uint8Array([40, 50, 60]), + authenticatorData: new Uint8Array([70, 80, 90]), + signature: new Uint8Array([100, 110, 120]), + userHandle: new Uint8Array([130, 140, 150]) + }); + + // @ts-expect-error test input + const result: any = sanitizeGetKeyResponse(mockCredential); + expect(result.rawId.constructor.name).toBe('ArrayBuffer'); + expect(result.response.clientDataJSON.constructor.name).toBe('ArrayBuffer'); + expect(result.response.authenticatorData.constructor.name).toBe('ArrayBuffer'); + expect(result.response.signature.constructor.name).toBe('ArrayBuffer'); + expect(result.response.userHandle.constructor.name).toBe('ArrayBuffer'); }); - // @ts-ignore - const result: any = sanitizeGetKeyResponse(mockCredential); - expect(result.rawId.constructor.name).toBe('ArrayBuffer'); - expect(result.response.clientDataJSON.constructor.name).toBe('ArrayBuffer'); - expect(result.response.authenticatorData.constructor.name).toBe('ArrayBuffer'); - expect(result.response.signature.constructor.name).toBe('ArrayBuffer'); - expect(result.response.userHandle.constructor.name).toBe('ArrayBuffer'); - }); - - it('should return the input unchanged if it does not meet conversion criteria', () => { - // @ts-ignore - const mockCredential = new PublicKeyCredentialMock({ - rawId: [10, 20, 30], - clientDataJSON: [40, 50, 60], - authenticatorData: [70, 80, 90], - signature: [100, 110, 120], - userHandle: [130, 140, 150] + it('should return the input unchanged if it does not meet conversion criteria', () => { + // @ts-expect-error test input + const mockCredential = new PublicKeyCredentialMock({ + rawId: [10, 20, 30], + clientDataJSON: [40, 50, 60], + authenticatorData: [70, 80, 90], + signature: [100, 110, 120], + userHandle: [130, 140, 150] + }); + + // @ts-expect-error test input + const result = sanitizeGetKeyResponse(mockCredential); + expect(result).toEqual(mockCredential); }); - // @ts-ignore - const result = sanitizeGetKeyResponse(mockCredential); - expect(result).toEqual(mockCredential); - }); - - it('should handle non-PublicKeyCredential input gracefully', () => { - const nonPublicKeyCredential = { - someProp: 'test value' - }; + it('should handle non-PublicKeyCredential input gracefully', () => { + const nonPublicKeyCredential = { + someProp: 'test value' + }; - // @ts-ignore - const result = sanitizeGetKeyResponse(nonPublicKeyCredential); - expect(result).toEqual(nonPublicKeyCredential); - }); + // @ts-expect-error test input + const result = sanitizeGetKeyResponse(nonPublicKeyCredential); + expect(result).toEqual(nonPublicKeyCredential); + }); }); \ No newline at end of file diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 0fe3d53212..2bb39579db 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -7,10 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:js": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc", - "lint:js:fix": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest test" }, "keywords": [], diff --git a/packages/crypto/test/key_pair.test.ts b/packages/crypto/test/key_pair.test.ts index 8b6ccffa72..1224ddcd91 100644 --- a/packages/crypto/test/key_pair.test.ts +++ b/packages/crypto/test/key_pair.test.ts @@ -89,7 +89,7 @@ describe('Using Secp256k1 Curve', () => { test('convert to string', async () => { const keyPair = KeyPairEd25519.fromRandom(); const newKeyPair = KeyPair.fromString(keyPair.toString()); - // @ts-ignore + // @ts-expect-error test input expect(newKeyPair.secretKey).toEqual(keyPair.secretKey); const keyString = 'ed25519:2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'; diff --git a/packages/keystores-browser/package.json b/packages/keystores-browser/package.json index fbf51d3561..570258d5ee 100644 --- a/packages/keystores-browser/package.json +++ b/packages/keystores-browser/package.json @@ -7,10 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:js": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc", - "lint:js:fix": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest test" }, "keywords": [], diff --git a/packages/keystores-browser/test/browser_keystore.test.ts b/packages/keystores-browser/test/browser_keystore.test.ts index cdc2366116..3b20fb7636 100644 --- a/packages/keystores-browser/test/browser_keystore.test.ts +++ b/packages/keystores-browser/test/browser_keystore.test.ts @@ -5,7 +5,7 @@ import { BrowserLocalStorageKeyStore, MultiContractBrowserLocalStorageKeyStore } import { shouldStoreAndRetrieveKeys } from './keystore_common'; describe('Browser keystore', () => { - let ctx: any = {}; + const ctx: any = {}; beforeAll(async () => { ctx.keyStore = new BrowserLocalStorageKeyStore(LocalStorageMemory); diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index 03f95e0d32..6625024f28 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -7,10 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:js": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc", - "lint:js:fix": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest test" }, "keywords": [], diff --git a/packages/keystores/package.json b/packages/keystores/package.json index 6783b0b807..b984d7256e 100644 --- a/packages/keystores/package.json +++ b/packages/keystores/package.json @@ -7,10 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:js": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc", - "lint:js:fix": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest test" }, "keywords": [], diff --git a/packages/keystores/test/in_memory_keystore.test.ts b/packages/keystores/test/in_memory_keystore.test.ts index ab42159b9b..bee6110f25 100644 --- a/packages/keystores/test/in_memory_keystore.test.ts +++ b/packages/keystores/test/in_memory_keystore.test.ts @@ -3,7 +3,7 @@ import { shouldStoreAndRetrieveKeys } from './keystore_common'; import { InMemoryKeyStore } from '../src'; describe('In-memory keystore', () => { - let ctx: any = {}; + const ctx: any = {}; beforeAll(async () => { ctx.keyStore = new InMemoryKeyStore(); diff --git a/packages/keystores/test/merge_keystore.test.ts b/packages/keystores/test/merge_keystore.test.ts index 8c4489b55d..9911530fed 100644 --- a/packages/keystores/test/merge_keystore.test.ts +++ b/packages/keystores/test/merge_keystore.test.ts @@ -5,7 +5,7 @@ import { InMemoryKeyStore, MergeKeyStore } from '../src'; import { shouldStoreAndRetrieveKeys } from './keystore_common'; describe('Merge keystore', () => { - let ctx: any = {}; + const ctx: any = {}; beforeAll(async () => { ctx.stores = [new InMemoryKeyStore(), new InMemoryKeyStore()]; diff --git a/packages/providers/package.json b/packages/providers/package.json index 4d3f95bb5d..9aaed87b30 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -7,10 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:js": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc", - "lint:js:fix": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest test" }, "keywords": [], diff --git a/packages/providers/src/fetch_json.ts b/packages/providers/src/fetch_json.ts index ed7672f978..fe83961208 100644 --- a/packages/providers/src/fetch_json.ts +++ b/packages/providers/src/fetch_json.ts @@ -57,7 +57,7 @@ export async function fetchJsonRpc(url: string, json: JsonRpcRequest, headers: o const { ok, status } = res; if (!ok) { - throw new ProviderError(await res.text(), { cause: status }) + throw new ProviderError(await res.text(), { cause: status }); } if (status === 503) { diff --git a/packages/providers/test/fetch_json.test.ts b/packages/providers/test/fetch_json.test.ts index 1b77520a3a..a4b479b9d6 100644 --- a/packages/providers/test/fetch_json.test.ts +++ b/packages/providers/test/fetch_json.test.ts @@ -10,7 +10,7 @@ describe('fetchJson', () => { method: 'status', params: [] }; - // @ts-ignore + // @ts-expect-error test input const result = await fetchJsonRpc(RPC_URL, statusRequest, undefined); expect(result.result.chain_id).toBe('testnet'); }); @@ -22,7 +22,7 @@ describe('fetchJson', () => { method: 'status', params: [] }; - // @ts-ignore + // @ts-expect-error test input const result = await fetchJsonRpc(connection.url, statusRequest, undefined); expect(result.result.chain_id).toBe('testnet'); }); diff --git a/packages/providers/test/providers.test.ts b/packages/providers/test/providers.test.ts index faced491c9..8361681bb0 100644 --- a/packages/providers/test/providers.test.ts +++ b/packages/providers/test/providers.test.ts @@ -35,33 +35,33 @@ global.TextEncoder = TextEncoder; }); test('rpc fetch node status', async () => { - let response = await provider.status(); + const response = await provider.status(); expect(response.chain_id).toBeTruthy(); }); test('rpc fetch block info', async () => { - let stat = await provider.status(); - let height = stat.sync_info.latest_block_height - 1; - let response = await provider.block({ blockId: height }); + const stat = await provider.status(); + const height = stat.sync_info.latest_block_height - 1; + const response = await provider.block({ blockId: height }); expect(response.header.height).toEqual(height); - let sameBlock = await provider.block({ blockId: response.header.hash }); + const sameBlock = await provider.block({ blockId: response.header.hash }); expect(sameBlock.header.height).toEqual(height); - let optimisticBlock = await provider.block({ finality: 'optimistic' }); + const optimisticBlock = await provider.block({ finality: 'optimistic' }); expect(optimisticBlock.header.height - height).toBeLessThan(5); - let nearFinalBlock = await provider.block({ finality: 'near-final' }); + const nearFinalBlock = await provider.block({ finality: 'near-final' }); expect(nearFinalBlock.header.height - height).toBeLessThan(5); - let finalBlock = await provider.block({ finality: 'final' }); + const finalBlock = await provider.block({ finality: 'final' }); expect(finalBlock.header.height - height).toBeLessThan(5); }); test('rpc fetch block changes', async () => { - let stat = await provider.status(); - let height = stat.sync_info.latest_block_height - 1; - let response = await provider.blockChanges({ blockId: height }); + const stat = await provider.status(); + const height = stat.sync_info.latest_block_height - 1; + const response = await provider.blockChanges({ blockId: height }); expect(response).toMatchObject({ block_hash: expect.any(String), @@ -70,23 +70,23 @@ global.TextEncoder = TextEncoder; }); test('rpc fetch chunk info', async () => { - let stat = await provider.status(); - let height = stat.sync_info.latest_block_height - 1; - let response = await provider.chunk([height, 0]); + const stat = await provider.status(); + const height = stat.sync_info.latest_block_height - 1; + const response = await provider.chunk([height, 0]); expect(response.header.shard_id).toEqual(0); - let sameChunk = await provider.chunk(response.header.chunk_hash); + const sameChunk = await provider.chunk(response.header.chunk_hash); expect(sameChunk.header.chunk_hash).toEqual(response.header.chunk_hash); expect(sameChunk.header.shard_id).toEqual(0); }); test('rpc fetch validators info', async () => { - let validators = await provider.validators(null); + const validators = await provider.validators(null); expect(validators.current_validators.length).toBeGreaterThanOrEqual(1); }); test('rpc query with block_id', async () => { const stat = await provider.status(); - let block_id = stat.sync_info.latest_block_height - 1; + const block_id = stat.sync_info.latest_block_height - 1; const response = await provider.query({ block_id, @@ -137,21 +137,21 @@ global.TextEncoder = TextEncoder; }); test('json rpc gas price', async () => { - let status = await provider.status(); - let positiveIntegerRegex = /^[+]?\d+([.]\d+)?$/; + const status = await provider.status(); + const positiveIntegerRegex = /^[+]?\d+([.]\d+)?$/; - let response1 = await provider.gasPrice(status.sync_info.latest_block_height); + const response1 = await provider.gasPrice(status.sync_info.latest_block_height); expect(response1.gas_price).toMatch(positiveIntegerRegex); - let response2 = await provider.gasPrice(status.sync_info.latest_block_hash); + const response2 = await provider.gasPrice(status.sync_info.latest_block_hash); expect(response2.gas_price).toMatch(positiveIntegerRegex); - let response3 = await provider.gasPrice(); + const response3 = await provider.gasPrice(); expect(response3.gas_price).toMatch(positiveIntegerRegex); }); test('near json rpc fetch node status', async () => { - let response = await provider.status(); + const response = await provider.status(); expect(response.chain_id).toBeTruthy(); }); }); @@ -159,7 +159,7 @@ global.TextEncoder = TextEncoder; describe('json provider', () => { test('JsonRpc connection object exist without connectionInfo provided', async () => { - // @ts-ignore + // @ts-expect-error test input const provider = new JsonRpcProvider(); expect(provider.connection).toStrictEqual({ url: '' }); }); @@ -281,7 +281,7 @@ test('final tx result', async () => { }, ], }; - // @ts-ignore + // @ts-expect-error test input expect(getTransactionLastResult(result)).toEqual({}); }); @@ -318,7 +318,7 @@ test('final tx result with null', async () => { }, ], }; - // @ts-ignore + // @ts-expect-error test input expect(getTransactionLastResult(result)).toEqual(null); }); @@ -334,7 +334,7 @@ test('json rpc get next light client block', async () => { // NOTE: This will underflow if the network used has not produced an epoch yet. If a new network // config is required, can retrieve a block a few height behind (1+buffer for indexing). If run // on a fresh network, would need to wait for blocks to be produced and indexed. - // @ts-ignore + // @ts-expect-error test input const prevEpochHeight = height - protocolConfig.epoch_length; const prevBlock = await provider.block({ blockId: prevEpochHeight }); const nextBlock = await provider.nextLightClientBlock({ last_block_hash: prevBlock.header.hash }); diff --git a/packages/signers/package.json b/packages/signers/package.json index fc801defe3..1e2d55918b 100644 --- a/packages/signers/package.json +++ b/packages/signers/package.json @@ -7,9 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:js": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", - "lint:js:fix": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest test" }, "keywords": [], diff --git a/packages/signers/test/signer.test.ts b/packages/signers/test/signer.test.ts index 333938c42e..f810f966e3 100644 --- a/packages/signers/test/signer.test.ts +++ b/packages/signers/test/signer.test.ts @@ -7,8 +7,8 @@ import { InMemorySigner } from '../src'; global.TextEncoder = TextEncoder; test('test no key', async () => { - const signer = new InMemorySigner(new InMemoryKeyStore()); - // @ts-ignore - await expect(signer.signMessage('message', 'user', 'network')) - .rejects.toThrow(/Key for user not found in network/); + const signer = new InMemorySigner(new InMemoryKeyStore()); + // @ts-expect-error test input + await expect(signer.signMessage('message', 'user', 'network')) + .rejects.toThrow(/Key for user not found in network/); }); diff --git a/packages/transactions/package.json b/packages/transactions/package.json index b7296408df..2a0d925031 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -7,10 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:js": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc", - "lint:js:fix": "eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:ts:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc --fix", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest test" }, "keywords": [], diff --git a/packages/transactions/src/schema.ts b/packages/transactions/src/schema.ts index 7365a01ecc..e4c1e53447 100644 --- a/packages/transactions/src/schema.ts +++ b/packages/transactions/src/schema.ts @@ -2,8 +2,8 @@ import { PublicKey } from '@near-js/crypto'; import { deserialize, serialize, Schema } from 'borsh'; import { - Action, - SignedDelegate, + Action, + SignedDelegate, } from './actions'; import { DelegateAction } from './delegate'; import { DelegateActionPrefix } from './prefix'; @@ -16,10 +16,10 @@ import { Signature } from './signature'; * @param delegateAction Delegate action to be signed by the meta transaction sender */ export function encodeDelegateAction(delegateAction: DelegateAction) { - return new Uint8Array([ - ...serialize(SCHEMA.DelegateActionPrefix, new DelegateActionPrefix()), - ...serialize(SCHEMA.DelegateAction, delegateAction), - ]); + return new Uint8Array([ + ...serialize(SCHEMA.DelegateActionPrefix, new DelegateActionPrefix()), + ...serialize(SCHEMA.DelegateAction, delegateAction), + ]); } /** @@ -27,7 +27,7 @@ export function encodeDelegateAction(delegateAction: DelegateAction) { * @param signedDelegate Signed delegate to be executed in a meta transaction */ export function encodeSignedDelegate(signedDelegate: SignedDelegate) { - return serialize(SCHEMA.SignedDelegate, signedDelegate); + return serialize(SCHEMA.SignedDelegate, signedDelegate); } /** @@ -36,8 +36,8 @@ export function encodeSignedDelegate(signedDelegate: SignedDelegate) { * @returns A serialized representation of the input transaction. */ export function encodeTransaction(transaction: Transaction | SignedTransaction) { - const schema: Schema = transaction instanceof SignedTransaction ? SCHEMA.SignedTransaction : SCHEMA.Transaction; - return serialize(schema, transaction); + const schema: Schema = transaction instanceof SignedTransaction ? SCHEMA.SignedTransaction : SCHEMA.Transaction; + return serialize(schema, transaction); } /** @@ -45,7 +45,7 @@ export function encodeTransaction(transaction: Transaction | SignedTransaction) * @param bytes Uint8Array data to be decoded */ export function decodeTransaction(bytes: Uint8Array) { - return new Transaction(deserialize(SCHEMA.Transaction, bytes) as Transaction); + return new Transaction(deserialize(SCHEMA.Transaction, bytes) as Transaction); } /** @@ -53,18 +53,18 @@ export function decodeTransaction(bytes: Uint8Array) { * @param bytes Uint8Array data to be decoded */ export function decodeSignedTransaction(bytes: Uint8Array) { - return new SignedTransaction(deserialize(SCHEMA.SignedTransaction, bytes) as SignedTransaction); + return new SignedTransaction(deserialize(SCHEMA.SignedTransaction, bytes) as SignedTransaction); } export class Transaction { - signerId: string; - publicKey: PublicKey; - nonce: bigint; - receiverId: string; - actions: Action[]; - blockHash: Uint8Array; + signerId: string; + publicKey: PublicKey; + nonce: bigint; + receiverId: string; + actions: Action[]; + blockHash: Uint8Array; - constructor({ signerId, publicKey, nonce, receiverId, actions, blockHash }: + constructor({ signerId, publicKey, nonce, receiverId, actions, blockHash }: { signerId: string, publicKey: PublicKey, @@ -73,40 +73,40 @@ export class Transaction { actions: Action[], blockHash: Uint8Array, } - ) { - this.signerId = signerId; - this.publicKey = publicKey; - this.nonce = nonce; - this.receiverId = receiverId; - this.actions = actions; - this.blockHash = blockHash; - } + ) { + this.signerId = signerId; + this.publicKey = publicKey; + this.nonce = nonce; + this.receiverId = receiverId; + this.actions = actions; + this.blockHash = blockHash; + } - encode(): Uint8Array { - return encodeTransaction(this); - } + encode(): Uint8Array { + return encodeTransaction(this); + } - static decode(bytes: Uint8Array): Transaction { - return decodeTransaction(bytes); - } + static decode(bytes: Uint8Array): Transaction { + return decodeTransaction(bytes); + } } export class SignedTransaction { - transaction: Transaction; - signature: Signature; + transaction: Transaction; + signature: Signature; - constructor({ transaction, signature }: { transaction: Transaction, signature: Signature}) { - this.transaction = transaction; - this.signature = signature; - } + constructor({ transaction, signature }: { transaction: Transaction, signature: Signature}) { + this.transaction = transaction; + this.signature = signature; + } - encode(): Uint8Array { - return encodeTransaction(this); - } + encode(): Uint8Array { + return encodeTransaction(this); + } - static decode(bytes: Uint8Array): SignedTransaction { - return decodeSignedTransaction(bytes); - } + static decode(bytes: Uint8Array): SignedTransaction { + return decodeSignedTransaction(bytes); + } } export const SCHEMA = new class BorshSchema { diff --git a/packages/transactions/test/serialize.test.ts b/packages/transactions/test/serialize.test.ts index dc234ee505..1db94b18ba 100644 --- a/packages/transactions/test/serialize.test.ts +++ b/packages/transactions/test/serialize.test.ts @@ -31,32 +31,32 @@ const { class Test { constructor(props: any) { - for (let [k, v] of Object.entries(props || {})) { + for (const [k, v] of Object.entries(props || {})) { this[k] = v; } } } test('serialize object', async () => { - // @ts-ignore + // @ts-expect-error test input const value = new Test({ x: 255, y: 20, z: '123', q: [1, 2, 3] }); const schema = { struct: { x: 'u8', y: 'u16', z: 'string', q: { array: { type: 'u8' } } } }; - let buf = serialize(schema, value); - // @ts-ignore - let new_value = new Test(deserialize(schema, buf)); - // @ts-ignore + const buf = serialize(schema, value); + // @ts-expect-error test input + const new_value = new Test(deserialize(schema, buf)); + // @ts-expect-error test input expect(new_value.x).toEqual(255); - // @ts-ignore + // @ts-expect-error test input expect(new_value.y.toString()).toEqual('20'); - // @ts-ignore + // @ts-expect-error test input expect(new_value.z).toEqual('123'); - // @ts-ignore + // @ts-expect-error test input expect(new_value.q).toEqual([1, 2, 3]); }); test('deserialize delegate', async () => { const serialized = [8, 16, 0, 0, 0, 116, 104, 101, 45, 117, 115, 101, 114, 46, 116, 101, 115, 116, 110, 101, 116, 27, 0, 0, 0, 104, 101, 108, 108, 111, 46, 110, 101, 97, 114, 45, 101, 120, 97, 109, 112, 108, 101, 115, 46, 116, 101, 115, 116, 110, 101, 116, 1, 0, 0, 0, 2, 12, 0, 0, 0, 115, 101, 116, 95, 103, 114, 101, 101, 116, 105, 110, 103, 20, 0, 0, 0, 123, 34, 103, 114, 101, 101, 116, 105, 110, 103, 34, 58, 34, 72, 101, 108, 108, 111, 34, 125, 0, 224, 87, 235, 72, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 120, 166, 131, 144, 0, 0, 61, 158, 123, 9, 0, 0, 0, 0, 0, 154, 156, 80, 116, 108, 65, 42, 39, 47, 253, 146, 109, 67, 106, 83, 230, 57, 183, 195, 122, 150, 6, 246, 220, 173, 35, 120, 139, 167, 94, 183, 29, 0, 41, 98, 10, 45, 51, 177, 89, 159, 190, 247, 41, 255, 243, 17, 186, 140, 168, 139, 9, 81, 33, 8, 74, 73, 85, 254, 127, 62, 54, 193, 60, 50, 235, 49, 13, 37, 152, 94, 172, 24, 198, 220, 119, 148, 99, 89, 19, 187, 251, 80, 76, 230, 77, 28, 80, 140, 133, 81, 139, 159, 62, 245, 167, 4]; - // @ts-ignore + // @ts-expect-error test input const { signedDelegate: { delegateAction } } = deserialize(SCHEMA.Action, serialized); expect(delegateAction.senderId).toEqual('the-user.testnet'); expect(delegateAction.receiverId).toEqual('hello.near-examples.testnet'); @@ -67,7 +67,7 @@ test('serialize and sign multi-action tx', async () => { const keyStore = new InMemoryKeyStore(); const keyPair = KeyPair.fromString('ed25519:2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'); await keyStore.setKey('test', 'test.near', keyPair); - // @ts-ignore + // @ts-expect-error test input const publicKey = keyPair.publicKey; const actions = [ createAccount(), @@ -80,7 +80,7 @@ test('serialize and sign multi-action tx', async () => { deleteAccount('123') ]; const blockHash = baseDecode('244ZQ9cgj3CQ6bWBdytfrJMuMQ1jdXLFGnr4HhvtCTnM'); - let [hash, { transaction }] = await signTransaction('123', 1n, actions, blockHash, new InMemorySigner(keyStore), 'test.near', 'test'); + const [hash, { transaction }] = await signTransaction('123', 1n, actions, blockHash, new InMemorySigner(keyStore), 'test.near', 'test'); expect(baseEncode(hash)).toEqual('Fo3MJ9XzKjnKuDuQKhDAC6fra5H2UWawRejFSEpPNk3Y'); const serialized = Buffer.from(serialize(SCHEMA.Transaction, transaction)); expect(serialized.toString('hex')).toEqual('09000000746573742e6e656172000f56a5f028dfc089ec7c39c1183b321b4d8f89ba5bec9e1762803cc2491f6ef80100000000000000030000003132330fa473fd26901df296be6adc4cc4df34d040efa2435224b6986910e630c2fef608000000000103000000010203020300000071717103000000010203e80300000000000040420f00000000000000000000000000037b0000000000000000000000000000000440420f00000000000000000000000000000f56a5f028dfc089ec7c39c1183b321b4d8f89ba5bec9e1762803cc2491f6ef805000f56a5f028dfc089ec7c39c1183b321b4d8f89ba5bec9e1762803cc2491f6ef800000000000000000000030000007a7a7a010000000300000077777706000f56a5f028dfc089ec7c39c1183b321b4d8f89ba5bec9e1762803cc2491f6ef80703000000313233'); @@ -130,7 +130,7 @@ test('serialize and sign transfer tx', async () => { const transaction = createTransferTx(); const keyStore = await createKeyStore(); - let [, signedTx] = await signTransaction(transaction.receiverId, transaction.nonce, transaction.actions, transaction.blockHash, new InMemorySigner(keyStore), 'test.near', 'test'); + const [, signedTx] = await signTransaction(transaction.receiverId, transaction.nonce, transaction.actions, transaction.blockHash, new InMemorySigner(keyStore), 'test.near', 'test'); verifySignedTransferTx(signedTx); }); @@ -139,7 +139,7 @@ test('serialize and sign transfer tx object', async () => { const transaction = createTransferTx(); const keyStore = await createKeyStore(); - let [, signedTx] = await signTransaction(transaction, new InMemorySigner(keyStore), 'test.near', 'test'); + const [, signedTx] = await signTransaction(transaction, new InMemorySigner(keyStore), 'test.near', 'test'); verifySignedTransferTx(signedTx); }); @@ -149,7 +149,7 @@ describe('roundtrip test', () => { const testFiles = fs.readdirSync(dataDir); for (const testFile of testFiles) { if (/.+\.json$/.test(testFile)) { - // @ts-ignore + // @ts-expect-error test input const testDefinition = JSON.parse(fs.readFileSync(dataDir + '/' + testFile)); test(testFile, () => { const data = Buffer.from(testDefinition.data, 'hex'); diff --git a/packages/types/package.json b/packages/types/package.json index 32338a07cb..137b70c156 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -8,7 +8,7 @@ "build": "pnpm compile", "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts", - "lint:fix": "eslint **/*.ts" + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --fix" }, "keywords": [], "author": "", diff --git a/packages/types/src/provider/protocol.ts b/packages/types/src/provider/protocol.ts index 4a000df47e..c7a98235de 100644 --- a/packages/types/src/provider/protocol.ts +++ b/packages/types/src/provider/protocol.ts @@ -127,7 +127,7 @@ export interface Chunk { export interface Transaction { actions: Array; hash: string; - nonce: BigInt; + nonce: bigint; public_key: string; receiver_id: string; signature: string; diff --git a/packages/utils/package.json b/packages/utils/package.json index 65317ebcb9..1204819cf8 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -7,8 +7,8 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "lint:ts": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc", - "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --no-eslintrc && eslint -c ../../.eslintrc.js.yml test/**/*.js --no-eslintrc --fix --no-error-on-unmatched-pattern", + "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", + "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" }, "keywords": [], diff --git a/packages/utils/test/format.test.ts b/packages/utils/test/format.test.ts index b9b36af86d..6adf10a78c 100644 --- a/packages/utils/test/format.test.ts +++ b/packages/utils/test/format.test.ts @@ -26,7 +26,7 @@ test.each` ${'1000100000000000000000000000000'} | ${undefined} | ${'1,000,100'} ${'910000000000000000000000'} | ${0} | ${'1'} `('formatNearAmount($balance, $fracDigits) returns $expected', ({ balance, fracDigits, expected }) => { - // @ts-ignore + // @ts-expect-error test input expect(formatNearAmount(balance, fracDigits)).toEqual(expected); }); @@ -60,5 +60,5 @@ test('parseNearAmount fails when parsing values with ≥25 decimal places', () = }); test('NEAR_NOMINATION value', () => { - expect(NEAR_NOMINATION).toEqual(1000000000000000000000000n) -}) + expect(NEAR_NOMINATION).toEqual(1000000000000000000000000n); +}); diff --git a/packages/utils/test/rpc-errors.test.ts b/packages/utils/test/rpc-errors.test.ts index bcb0150c19..83618b4cdb 100644 --- a/packages/utils/test/rpc-errors.test.ts +++ b/packages/utils/test/rpc-errors.test.ts @@ -4,7 +4,7 @@ import { formatError, getErrorTypeFromErrorMessage, parseRpcError, ServerError } describe('rpc-errors', () => { test('test AccountAlreadyExists error', async () => { - let rpc_error = { + const rpc_error = { TxExecutionError: { ActionError: { index: 1, @@ -12,17 +12,17 @@ describe('rpc-errors', () => { } } }; - let error = parseRpcError(rpc_error); + const error = parseRpcError(rpc_error); expect(error.type === 'AccountAlreadyExists').toBe(true); - // @ts-ignore + // @ts-expect-error test input expect(error.index).toBe(1); - // @ts-ignore + // @ts-expect-error test input expect(error.account_id).toBe('bob.near'); expect(formatError(error.type, error)).toBe('Can\'t create a new account bob.near, because it already exists'); }); test('test ReceiverMismatch error', async () => { - let rpc_error = { + const rpc_error = { TxExecutionError: { InvalidTxError: { InvalidAccessKeyError: { @@ -34,11 +34,11 @@ describe('rpc-errors', () => { } } }; - let error = parseRpcError(rpc_error); + const error = parseRpcError(rpc_error); expect(error.type === 'ReceiverMismatch').toBe(true); - // @ts-ignore + // @ts-expect-error test input expect(error.ak_receiver).toBe('test.near'); - // @ts-ignore + // @ts-expect-error test input expect(error.tx_receiver).toBe('bob.near'); expect(formatError(error.type, error)).toBe( 'Wrong AccessKey used for transaction: transaction is sent to receiver_id=bob.near, but is signed with function call access key that restricted to only use with receiver_id=test.near. Either change receiver_id in your transaction or switch to use a FullAccessKey.' @@ -108,7 +108,7 @@ describe('rpc-errors', () => { }); test('test InvalidIteratorIndex error', async () => { - let rpc_error = { + const rpc_error = { TxExecutionError: { ActionError: { FunctionCallError: { @@ -119,13 +119,13 @@ describe('rpc-errors', () => { } } }; - let error = parseRpcError(rpc_error); + const error = parseRpcError(rpc_error); expect(error.type).toBe('ActionError'); - expect(formatError(error.type, error)).toBe('{\"type\":\"ActionError\",\"kind\":{\"FunctionCallError\":{\"HostError\":{\"InvalidIteratorIndex\":{\"iterator_index\":42}}}}}'); + expect(formatError(error.type, error)).toBe('{"type":"ActionError","kind":{"FunctionCallError":{"HostError":{"InvalidIteratorIndex":{"iterator_index":42}}}}}'); }); test('test ActionError::FunctionCallError::GasLimitExceeded error', async () => { - let rpc_error = { + const rpc_error = { ActionError: { 'index': 0, 'kind': { @@ -135,10 +135,10 @@ describe('rpc-errors', () => { } } }; - let error = parseRpcError(rpc_error); + const error = parseRpcError(rpc_error); expect(error.type).toBe('ActionError'); - expect(formatError(error.type, error)).toBe('{\"type\":\"ActionError\",\"index\":0,\"kind\":{\"index\":0,\"kind\":{\"FunctionCallError\":{\"HostError\":\"GasLimitExceeded\"}}}}'); + expect(formatError(error.type, error)).toBe('{"type":"ActionError","index":0,"kind":{"index":0,"kind":{"FunctionCallError":{"HostError":"GasLimitExceeded"}}}}'); }); test('test parse error object', async () => { @@ -157,21 +157,21 @@ describe('rpc-errors', () => { const err7 = 'wasm execution failed with error: FunctionCallError(CompilationError(CodeDoesNotExist { account_id: "random.testnet" }))'; const err8 = 'wasm execution failed with error: FunctionCallError(MethodResolveError(MethodNotFound))'; - // @ts-ignore + // @ts-expect-error test input expect(getErrorTypeFromErrorMessage(err1)).toEqual('AccountDoesNotExist'); - // @ts-ignore + // @ts-expect-error test input expect(getErrorTypeFromErrorMessage(err2)).toEqual('AccountDoesNotExist'); - // @ts-ignore + // @ts-expect-error test input expect(getErrorTypeFromErrorMessage(err3)).toEqual('AccessKeyDoesNotExist'); - // @ts-ignore + // @ts-expect-error test input expect(getErrorTypeFromErrorMessage(err4)).toEqual('CodeDoesNotExist'); - // @ts-ignore + // @ts-expect-error test input expect(getErrorTypeFromErrorMessage(err5)).toEqual('InvalidNonce'); - // @ts-ignore + // @ts-expect-error test input expect(getErrorTypeFromErrorMessage(err6)).toEqual('MethodNotFound'); - // @ts-ignore + // @ts-expect-error test input expect(getErrorTypeFromErrorMessage(err7)).toEqual('CodeDoesNotExist'); - // @ts-ignore + // @ts-expect-error test input expect(getErrorTypeFromErrorMessage(err8)).toEqual('MethodNotFound'); }); diff --git a/packages/utils/test/validator.test.ts b/packages/utils/test/validator.test.ts index 7a6427de08..eb575c0e51 100644 --- a/packages/utils/test/validator.test.ts +++ b/packages/utils/test/validator.test.ts @@ -3,35 +3,35 @@ import { diffEpochValidators, findSeatPrice } from '../src'; test('find seat price', async () => { expect(findSeatPrice( - // @ts-ignore - [{stake: '1000000'}, {stake: '1000000'}, {stake: '100'}], 2, [1, 6250], 49 + // @ts-expect-error test input + [{ stake: '1000000' }, { stake: '1000000' }, { stake: '100' }], 2, [1, 6250], 49 )).toEqual(BigInt('101')); expect(findSeatPrice( - // @ts-ignore - [{stake: '1000000'}, {stake: '1000000'}, {stake: '100'}], 3, [1, 6250] + // @ts-expect-error test input + [{ stake: '1000000' }, { stake: '1000000' }, { stake: '100' }], 3, [1, 6250] )).toEqual(BigInt('101')); expect(findSeatPrice( - // @ts-ignore - [{stake: '1000000'}, {stake: '1000000'}, {stake: '100'}], 4, [1, 6250], 49 + // @ts-expect-error test input + [{ stake: '1000000' }, { stake: '1000000' }, { stake: '100' }], 4, [1, 6250], 49 )).toEqual(BigInt('320')); expect(findSeatPrice( - // @ts-ignore - [{stake: '1000000'}, {stake: '1000000'}, {stake: '100'}], 4, [1, 6250], 48 + // @ts-expect-error test input + [{ stake: '1000000' }, { stake: '1000000' }, { stake: '100' }], 4, [1, 6250], 48 )).toEqual(BigInt('500000')); expect(findSeatPrice( - // @ts-ignore - [{stake: '1000'}, {stake: '1000'}, {stake: '200'}], 100, [1, 25] + // @ts-expect-error test input + [{ stake: '1000' }, { stake: '1000' }, { stake: '200' }], 100, [1, 25] )).toEqual(BigInt('88')); }); test('diff validators', async () => { expect(diffEpochValidators( - // @ts-ignore - [{account_id: 'x', stake: '10'}], + // @ts-expect-error test input + [{ account_id: 'x', stake: '10' }], [{ account_id: 'x', stake: '10' }] - )).toEqual({newValidators: [], removedValidators: [], changedValidators: []}); + )).toEqual({ newValidators: [], removedValidators: [], changedValidators: [] }); expect(diffEpochValidators( - // @ts-ignore + // @ts-expect-error test input [{ account_id: 'x', stake: '10' }, { account_id: 'y', stake: '10' }], [{ account_id: 'x', stake: '11' }, { account_id: 'z', stake: '11' }] )).toEqual({ diff --git a/packages/wallet-account/test/wallet_accounts.test.ts b/packages/wallet-account/test/wallet_accounts.test.ts index 66fa3e01f7..3746c17010 100644 --- a/packages/wallet-account/test/wallet_accounts.test.ts +++ b/packages/wallet-account/test/wallet_accounts.test.ts @@ -14,11 +14,11 @@ const { functionCall, transfer } = actionCreators; let lastRedirectUrl; -// @ts-ignore +// @ts-expect-error test input global.window = { localStorage }; -// @ts-ignore +// @ts-expect-error test input global.document = { title: 'documentTitle' }; @@ -66,13 +66,13 @@ describe("Wallet account tests", () => { const windowValueBefore = global.window; beforeEach(() => { - // @ts-ignore + // @ts-expect-error test input global.window = undefined; keyStore.clear(); }); afterEach(() => { - // @ts-ignore + // @ts-expect-error test input global.window = windowValueBefore; }); @@ -81,7 +81,7 @@ describe("Wallet account tests", () => { }); it("throws if non string appKeyPrefix in server context", () => { - // @ts-ignore + // @ts-expect-error test input expect(() => new WalletConnection(nearFake)).toThrow( /appKeyPrefix/ ); @@ -112,7 +112,7 @@ describe("Wallet account tests", () => { expect(() => serverWalletConnection.requestSignIn( "signInContract", - // @ts-ignore + // @ts-expect-error test input "signInTitle", "http://example.com/success", "http://example.com/fail" @@ -123,7 +123,7 @@ describe("Wallet account tests", () => { expect(() => serverWalletConnection.requestSignInUrl( "signInContract", - // @ts-ignore + // @ts-expect-error test input "signInTitle", "http://example.com/success", "http://example.com/fail" @@ -134,7 +134,7 @@ describe("Wallet account tests", () => { expect(() => serverWalletConnection.requestSignTransactions( "signInContract", - // @ts-ignore + // @ts-expect-error test input "signInTitle", "http://example.com/success", "http://example.com/fail" @@ -145,7 +145,7 @@ describe("Wallet account tests", () => { expect(() => serverWalletConnection.requestSignTransactionsUrl( "signInContract", - // @ts-ignore + // @ts-expect-error test input "signInTitle", "http://example.com/success", "http://example.com/fail" @@ -185,7 +185,7 @@ describe("Wallet account tests", () => { failure_url: "http://example.com/fail", public_key: ( await keyStore.getKey("networkId", accounts[0]) - // @ts-ignore + // @ts-expect-error test input ).publicKey.toString(), }, }); @@ -213,7 +213,7 @@ describe("Wallet account tests", () => { failure_url: "http://example.com/fail", public_key: ( await keyStore.getKey("networkId", accounts[0]) - // @ts-ignore + // @ts-expect-error test input ).publicKey.toString(), }, }); @@ -221,11 +221,11 @@ describe("Wallet account tests", () => { it("can complete sign in", async () => { const keyPair = KeyPair.fromRandom("ed25519"); - // @ts-ignore + // @ts-expect-error test input global.window.location.href = `http://example.com/location?account_id=near.account&public_key=${keyPair.publicKey}`; await keyStore.setKey( "networkId", - // @ts-ignore + // @ts-expect-error test input "pending_key" + keyPair.publicKey, keyPair ); @@ -243,11 +243,11 @@ describe("Wallet account tests", () => { it("Promise until complete sign in", async () => { const keyPair = KeyPair.fromRandom("ed25519"); - // @ts-ignore + // @ts-expect-error test input global.window.location.href = `http://example.com/location?account_id=near2.account&public_key=${keyPair.publicKey}`; await keyStore.setKey( "networkId", - // @ts-ignore + // @ts-expect-error test input "pending_key" + keyPair.publicKey, keyPair ); @@ -337,7 +337,7 @@ describe("Wallet account tests", () => { }, }); const transactions = parsedUrl.query.transactions - // @ts-ignore + // @ts-expect-error test input .split(",") .map((txBase64) => deserialize(SCHEMA.Transaction, Buffer.from(txBase64, "base64")) @@ -397,7 +397,7 @@ describe("Wallet account tests", () => { let transactions; beforeEach(() => { setupWalletConnectionForSigning({ - // @ts-ignore + // @ts-expect-error test input allKeys: ["no_such_access_key", keyPair.publicKey.toString()], accountAccessKeys: [ { @@ -405,7 +405,7 @@ describe("Wallet account tests", () => { nonce: 1, permission: "FullAccess", }, - // @ts-ignore + // @ts-expect-error test input public_key: keyPair.publicKey.toString(), }, ], @@ -456,7 +456,7 @@ describe("Wallet account tests", () => { const txData = transactions[0].publicKey.ed25519Key.data ? transactions[0].publicKey.ed25519Key.data : transactions[0].publicKey.secp256k1Key.data; const keyPairData = keyPair.publicKey.ed25519Key.data ? keyPair.publicKey.ed25519Key.data : keyPair.publicKey.secp256k1Key.data; expect(Buffer.from(txData)).toEqual( - // @ts-ignore + // @ts-expect-error test input Buffer.from(keyPairData) ); }); @@ -467,7 +467,7 @@ describe("Wallet account tests", () => { const localKeyPair = KeyPair.fromRandom("ed25519"); const walletKeyPair = KeyPair.fromRandom("ed25519"); setupWalletConnectionForSigning({ - // @ts-ignore + // @ts-expect-error test input allKeys: [walletKeyPair.publicKey.toString()], accountAccessKeys: [ { @@ -481,7 +481,7 @@ describe("Wallet account tests", () => { }, }, }, - // @ts-ignore + // @ts-expect-error test input public_key: localKeyPair.publicKey.toString(), }, { @@ -489,7 +489,7 @@ describe("Wallet account tests", () => { nonce: 1, permission: "FullAccess", }, - // @ts-ignore + // @ts-expect-error test input public_key: walletKeyPair.publicKey.toString(), }, ], diff --git a/turbo.json b/turbo.json index f33c9656f2..508985b12a 100644 --- a/turbo.json +++ b/turbo.json @@ -11,25 +11,13 @@ "inputs": ["src/**/*.ts", "test/**/*.js"] }, "lint": { - "inputs": ["src/**/*.ts", "test/**/*.js"], - "outputs": [] - }, - "lint:js": { - "inputs": ["test/**/*.js"], + "inputs": ["src/**/*.ts", "test/**/*.ts"], "outputs": [] }, - "lint:js:fix": { - "inputs": ["test/**/*.js"], + "lint:fix": { + "inputs": ["src/**/*.ts", "test/**/*.ts"], "outputs": [] }, - "lint:ts": { - "inputs": ["src/**/*.ts"], - "outputs": [] - }, - "lint:ts:fix": { - "inputs": ["src/**/*.ts"], - "outputs": [] - }, "clean": { "outputs": [], "cache": false From 4085e610eaf890d59c9f85423674674d8ca92fa6 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 13:57:44 -0700 Subject: [PATCH 12/45] build: bump node/pnpm versions --- .github/workflows/pull-request.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index af57bd6b89..639d62a45e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -20,12 +20,12 @@ jobs: - name: Setup pnpm uses: pnpm/action-setup@v4.0.0 with: - version: 7 + version: 8 - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x cache: pnpm - name: Install dependencies From 62c1d4959f134c454abec6835646fc5f27ddd8d0 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 14:00:26 -0700 Subject: [PATCH 13/45] build: remove extraneous config --- packages/wallet-account/jest.config.js | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 packages/wallet-account/jest.config.js diff --git a/packages/wallet-account/jest.config.js b/packages/wallet-account/jest.config.js deleted file mode 100644 index c4be740126..0000000000 --- a/packages/wallet-account/jest.config.js +++ /dev/null @@ -1,17 +0,0 @@ -/** @type {import('ts-jest').JestConfigWithTsJest} */ -export default { - preset: 'ts-jest', - collectCoverage: true, - testEnvironment: 'node', - testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", - transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { - tsconfig: { - allowJs: true - } - } - }, -}; From 5cdd9f64edd2c2f174a6fc29f6724543c2e4afc0 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 14:17:02 -0700 Subject: [PATCH 14/45] feat: test fixes --- packages/accounts/package.json | 2 +- .../accounts/test/account.access_key.test.ts | 24 ++++---- packages/accounts/test/account.test.ts | 55 +++++++++---------- .../accounts/test/account_multisig.test.ts | 19 +++---- packages/accounts/test/contract.test.ts | 12 ++-- packages/accounts/test/lve_storage.test.ts | 1 + packages/accounts/test/promise.test.ts | 16 +++--- packages/accounts/test/test-utils.js | 2 +- packages/biometric-ed25519/test/utils.test.ts | 6 +- packages/crypto/package.json | 2 +- packages/crypto/test/key_pair.test.ts | 7 +-- packages/keystores-browser/package.json | 2 +- packages/keystores-node/package.json | 2 +- packages/keystores/package.json | 2 +- packages/near-api-js/package.json | 2 +- packages/providers/package.json | 2 +- packages/signers/package.json | 2 +- packages/transactions/package.json | 2 +- packages/transactions/test/serialize.test.ts | 2 - packages/utils/test/format.test.ts | 1 - packages/utils/test/rpc-errors.test.ts | 6 +- packages/wallet-account/package.json | 2 +- .../test/wallet_accounts.test.ts | 6 +- 23 files changed, 84 insertions(+), 93 deletions(-) diff --git a/packages/accounts/package.json b/packages/accounts/package.json index 9b578db5ed..2beed3885a 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/accounts/test/account.access_key.test.ts b/packages/accounts/test/account.access_key.test.ts index 4149942eef..04264ac082 100644 --- a/packages/accounts/test/account.access_key.test.ts +++ b/packages/accounts/test/account.access_key.test.ts @@ -1,7 +1,7 @@ import { beforeAll, beforeEach, expect, test } from '@jest/globals'; import { KeyPair } from '@near-js/crypto'; -import testUtils from './test-utils'; +import { createAccount, deployContract, generateUniqueString, networkId, setUpTestConnection } from './test-utils'; let nearjs; let workingAccount; @@ -9,15 +9,15 @@ let contractId; let contract; beforeAll(async () => { - nearjs = await testUtils.setUpTestConnection(); + nearjs = await setUpTestConnection(); }); beforeEach(async () => { try { - contractId = testUtils.generateUniqueString('test'); - workingAccount = await testUtils.createAccount(nearjs); - contract = await testUtils.deployContract(nearjs.accountCreator.masterAccount, contractId); + contractId = generateUniqueString('test'); + workingAccount = await createAccount(nearjs); + contract = await deployContract(nearjs.accountCreator.masterAccount, contractId); } catch (e) { console.error(e); } @@ -28,8 +28,8 @@ test('make function call using access key', async() => { await workingAccount.addKey(keyPair.getPublicKey(), contractId, '', '2000000000000000000000000'); // Override in the key store the workingAccount key to the given access key. - await nearjs.connection.signer.keyStore.setKey(testUtils.networkId, workingAccount.accountId, keyPair); - const setCallValue = testUtils.generateUniqueString('setCallPrefix'); + await nearjs.connection.signer.keyStore.setKey(networkId, workingAccount.accountId, keyPair); + const setCallValue = generateUniqueString('setCallPrefix'); await contract.setValue({ args: { value: setCallValue } }); expect(await contract.getValue()).toEqual(setCallValue); }); @@ -40,13 +40,13 @@ test('remove access key no longer works', async() => { await nearjs.accountCreator.masterAccount.addKey(publicKey, contractId, '', 400000); await nearjs.accountCreator.masterAccount.deleteKey(publicKey); // Override in the key store the workingAccount key to the given access key. - await nearjs.connection.signer.keyStore.setKey(testUtils.networkId, nearjs.accountCreator.masterAccount.accountId, keyPair); + await nearjs.connection.signer.keyStore.setKey(networkId, nearjs.accountCreator.masterAccount.accountId, keyPair); let failed = true; try { await contract.setValue({ args: { value: 'test' } }); failed = false; } catch (e) { - expect(e.message).toEqual(`Can not sign transactions for account ${nearjs.accountCreator.masterAccount.accountId} on network ${testUtils.networkId}, no matching key pair exists for this account`); + expect(e.message).toEqual(`Can not sign transactions for account ${nearjs.accountCreator.masterAccount.accountId} on network ${networkId}, no matching key pair exists for this account`); expect(e.type).toEqual('KeyNotFound'); } @@ -54,14 +54,14 @@ test('remove access key no longer works', async() => { throw new Error('should throw an error'); } - nearjs = await testUtils.setUpTestConnection(); + nearjs = await setUpTestConnection(); }); test('view account details after adding access keys', async() => { const keyPair = KeyPair.fromRandom('ed25519'); await nearjs.accountCreator.masterAccount.addKey(keyPair.getPublicKey(), contractId, '', 1000000000); - const contract2 = await testUtils.deployContract(nearjs.accountCreator.masterAccount, testUtils.generateUniqueString('test_contract2')); + const contract2 = await deployContract(nearjs.accountCreator.masterAccount, generateUniqueString('test_contract2')); const keyPair2 = KeyPair.fromRandom('ed25519'); await nearjs.accountCreator.masterAccount.addKey(keyPair2.getPublicKey(), contract2.contractId, '', 2000000000); @@ -96,7 +96,7 @@ test('loading account after adding a full key', async() => { test('load invalid key pair', async() => { // Override in the key store with invalid key pair - await nearjs.connection.signer.keyStore.setKey(testUtils.networkId, nearjs.accountCreator.masterAccount.accountId, ''); + await nearjs.connection.signer.keyStore.setKey(networkId, nearjs.accountCreator.masterAccount.accountId, ''); let failed = true; try { await contract.setValue({ args: { value: 'test' } }); diff --git a/packages/accounts/test/account.test.ts b/packages/accounts/test/account.test.ts index bf3895b7cf..c0882a20f2 100644 --- a/packages/accounts/test/account.test.ts +++ b/packages/accounts/test/account.test.ts @@ -6,16 +6,15 @@ import { BlockResult, TypedError } from '@near-js/types'; import * as fs from 'fs'; import { Account, Contract } from '../src'; -import testUtils from './test-utils'; +import { createAccount, generateUniqueString, HELLO_WASM_PATH, HELLO_WASM_BALANCE, networkId, setUpTestConnection } from './test-utils'; let nearjs; let workingAccount; -const { HELLO_WASM_PATH, HELLO_WASM_BALANCE } = testUtils; beforeAll(async () => { - nearjs = await testUtils.setUpTestConnection(); - workingAccount = await testUtils.createAccount(nearjs); + nearjs = await setUpTestConnection(); + workingAccount = await createAccount(nearjs); }); afterAll(async () => { @@ -28,10 +27,10 @@ test('view pre-defined account works and returns correct name', async () => { }); test('create account and then view account returns the created account', async () => { - const newAccountName = testUtils.generateUniqueString('test'); + const newAccountName = generateUniqueString('test'); const newAccountPublicKey = '9AhWenZ3JddamBoyMqnTbp7yVbRuvqAv3zwfrWgfVRJE'; const { amount } = await workingAccount.state(); - const newAmount = BigInt(amount) / BigInt(10); + const newAmount = BigInt(amount) / 10n; await nearjs.accountCreator.masterAccount.createAccount(newAccountName, newAccountPublicKey, newAmount); const newAccount = new Account(nearjs.connection, newAccountName); const state = await newAccount.state(); @@ -39,7 +38,7 @@ test('create account and then view account returns the created account', async ( }); test('create account with a secp256k1 key and then view account returns the created account', async () => { - const newAccountName = testUtils.generateUniqueString('test'); + const newAccountName = generateUniqueString('test'); const newAccountPublicKey = 'secp256k1:45KcWwYt6MYRnnWFSxyQVkuu9suAzxoSkUMEnFNBi9kDayTo5YPUaqMWUrf7YHUDNMMj3w75vKuvfAMgfiFXBy28'; const { amount } = await workingAccount.state(); const newAmount = BigInt(amount) / BigInt(10); @@ -50,8 +49,8 @@ test('create account with a secp256k1 key and then view account returns the crea }); test('Secp256k1 send money', async() => { - const sender = await testUtils.createAccount(nearjs, KeyType.SECP256K1); - const receiver = await testUtils.createAccount(nearjs, KeyType.SECP256K1); + const sender = await createAccount(nearjs, KeyType.SECP256K1); + const receiver = await createAccount(nearjs, KeyType.SECP256K1); const { amount: receiverAmount } = await receiver.state(); await sender.sendMoney(receiver.accountId, BigInt(10000)); const state = await receiver.state(); @@ -59,29 +58,29 @@ test('Secp256k1 send money', async() => { }); test('send money', async() => { - const sender = await testUtils.createAccount(nearjs); - const receiver = await testUtils.createAccount(nearjs); + const sender = await createAccount(nearjs); + const receiver = await createAccount(nearjs); const { amount: receiverAmount } = await receiver.state(); - await sender.sendMoney(receiver.accountId, BigInt(10000)); + await sender.sendMoney(receiver.accountId, 10000n); const state = await receiver.state(); - expect(state.amount).toEqual((BigInt(receiverAmount) + BigInt(10000)).toString()); + expect(state.amount).toEqual((BigInt(receiverAmount) + 10000n).toString()); }); test('send money through signAndSendTransaction', async() => { - const sender = await testUtils.createAccount(nearjs); - const receiver = await testUtils.createAccount(nearjs); + const sender = await createAccount(nearjs); + const receiver = await createAccount(nearjs); const { amount: receiverAmount } = await receiver.state(); await sender.signAndSendTransaction({ receiverId: receiver.accountId, - actions: [actionCreators.transfer(BigInt(10000))], + actions: [actionCreators.transfer(10000n)], }); const state = await receiver.state(); - expect(state.amount).toEqual((BigInt(receiverAmount) + BigInt(10000)).toString()); + expect(state.amount).toEqual((BigInt(receiverAmount) + 10000n).toString()); }); test('delete account', async() => { - const sender = await testUtils.createAccount(nearjs); - const receiver = await testUtils.createAccount(nearjs); + const sender = await createAccount(nearjs); + const receiver = await createAccount(nearjs); await sender.deleteAccount(receiver.accountId); // @ts-expect-error test input const reloaded = new Account(sender.connection, sender); @@ -100,7 +99,7 @@ test('multiple parallel transactions', async () => { }); test('findAccessKey returns the same access key when fetched simultaneously', async() => { - const account = await testUtils.createAccount(nearjs); + const account = await createAccount(nearjs); const [key1, key2] = await Promise.all([ // @ts-expect-error test input @@ -140,11 +139,11 @@ describe('errors', () => { describe('with deploy contract', () => { let logs; - const contractId = testUtils.generateUniqueString('test_contract'); + const contractId = generateUniqueString('test_contract'); let contract; beforeAll(async () => { - const newPublicKey = await nearjs.connection.signer.createKey(contractId, testUtils.networkId); + const newPublicKey = await nearjs.connection.signer.createKey(contractId, networkId); const data = fs.readFileSync(HELLO_WASM_PATH); await nearjs.accountCreator.masterAccount.createAndDeployContract(contractId, newPublicKey, data, HELLO_WASM_BALANCE); // @ts-expect-error test input @@ -193,7 +192,7 @@ describe('with deploy contract', () => { }); expect(result).toEqual('hello trex'); - const setCallValue = testUtils.generateUniqueString('setCallPrefix'); + const setCallValue = generateUniqueString('setCallPrefix'); const result2 = await workingAccount.functionCall({ contractId, methodName: 'setValue', @@ -207,7 +206,7 @@ describe('with deploy contract', () => { }); test('view contract state', async() => { - const setCallValue = testUtils.generateUniqueString('setCallPrefix'); + const setCallValue = generateUniqueString('setCallPrefix'); await workingAccount.functionCall({ contractId, methodName: 'setValue', @@ -233,14 +232,14 @@ describe('with deploy contract', () => { const result = await contract.hello({ name: 'trex' }); expect(result).toEqual('hello trex'); - const setCallValue = testUtils.generateUniqueString('setCallPrefix'); + const setCallValue = generateUniqueString('setCallPrefix'); const result2 = await contract.setValue({ args: { value: setCallValue } }); expect(result2).toEqual(setCallValue); expect(await contract.getValue()).toEqual(setCallValue); }); test('view function calls by block Id and finality', async() => { - const setCallValue1 = testUtils.generateUniqueString('setCallPrefix'); + const setCallValue1 = generateUniqueString('setCallPrefix'); const result1 = await contract.setValue({ args: { value: setCallValue1 } }); expect(result1).toEqual(setCallValue1); expect(await contract.getValue()).toEqual(setCallValue1); @@ -272,7 +271,7 @@ describe('with deploy contract', () => { blockQuery: { blockId: blockIndex1 }, })).toEqual(setCallValue1); - const setCallValue2 = testUtils.generateUniqueString('setCallPrefix'); + const setCallValue2 = generateUniqueString('setCallPrefix'); const result2 = await contract.setValue({ args: { value: setCallValue2 } }); expect(result2).toEqual(setCallValue2); expect(await contract.getValue()).toEqual(setCallValue2); @@ -319,7 +318,7 @@ describe('with deploy contract', () => { }); test('make function calls via contract with gas', async() => { - const setCallValue = testUtils.generateUniqueString('setCallPrefix'); + const setCallValue = generateUniqueString('setCallPrefix'); const result2 = await contract.setValue({ args: { value: setCallValue }, gas: 1000000 * 1000000 diff --git a/packages/accounts/test/account_multisig.test.ts b/packages/accounts/test/account_multisig.test.ts index 19fb36c788..bb1b3101ce 100644 --- a/packages/accounts/test/account_multisig.test.ts +++ b/packages/accounts/test/account_multisig.test.ts @@ -7,7 +7,7 @@ import * as fs from 'fs'; import semver from 'semver'; import { Account2FA, MULTISIG_DEPOSIT, MULTISIG_GAS, MultisigStateStatus } from '../src'; -import testUtils from './test-utils'; +import { createAccount, setUpTestConnection } from './test-utils'; const { functionCall, transfer } = actionCreators; @@ -18,7 +18,6 @@ const getAccount2FA = async (account, keyMapping = ({ public_key: publicKey }) = // modifiers to functions replaces contract helper (CH) const { accountId } = account; const keys = await account.getAccessKeys(); - // @ts-expect-error test input const account2fa: any = new Account2FA(nearjs.connection, accountId, { // skip this (not using CH) getCode: () => {}, @@ -51,7 +50,7 @@ const getAccount2FA = async (account, keyMapping = ({ public_key: publicKey }) = }; beforeAll(async () => { - nearjs = await testUtils.setUpTestConnection(); + nearjs = await setUpTestConnection(); const nodeStatus = await nearjs.connection.provider.status(); startFromVersion = (version) => semver.gte(nodeStatus.version.version, version); console.log(startFromVersion); @@ -60,7 +59,7 @@ beforeAll(async () => { describe('deployMultisig key rotations', () => { test('full access key if recovery method is "ledger" or "phrase", limited access key if "phone"', async () => { - const account = await testUtils.createAccount(nearjs); + const account = await createAccount(nearjs); await account.addKey(KeyPair.fromRandom('ed25519').getPublicKey()); await account.addKey(KeyPair.fromRandom('ed25519').getPublicKey()); const keys = await account.getAccessKeys(); @@ -81,7 +80,7 @@ describe('deployMultisig key rotations', () => { describe('account2fa transactions', () => { test('add app key before deployMultisig', async() => { - let account = await testUtils.createAccount(nearjs); + let account = await createAccount(nearjs); const appPublicKey = KeyPair.fromRandom('ed25519').getPublicKey(); const appAccountId = 'foobar'; const appMethodNames = ['some_app_stuff','some_more_app_stuff']; @@ -97,7 +96,7 @@ describe('account2fa transactions', () => { }); test('add app key', async() => { - let account = await testUtils.createAccount(nearjs); + let account = await createAccount(nearjs); account = await getAccount2FA(account); const appPublicKey = KeyPair.fromRandom('ed25519').getPublicKey(); const appAccountId = 'foobar'; @@ -113,8 +112,8 @@ describe('account2fa transactions', () => { }); test('send money', async() => { - let sender = await testUtils.createAccount(nearjs); - let receiver = await testUtils.createAccount(nearjs); + let sender = await createAccount(nearjs); + let receiver = await createAccount(nearjs); sender = await getAccount2FA(sender); receiver = await getAccount2FA(receiver); const { amount: receiverAmount } = await receiver.state(); @@ -124,8 +123,8 @@ describe('account2fa transactions', () => { }); test('send money through signAndSendTransaction', async() => { - let sender = await testUtils.createAccount(nearjs); - let receiver = await testUtils.createAccount(nearjs); + let sender = await createAccount(nearjs); + let receiver = await createAccount(nearjs); sender = await getAccount2FA(sender); receiver = await getAccount2FA(receiver); const { amount: receiverAmount } = await receiver.state(); diff --git a/packages/accounts/test/contract.test.ts b/packages/accounts/test/contract.test.ts index cbd8de359e..bcee4ad006 100644 --- a/packages/accounts/test/contract.test.ts +++ b/packages/accounts/test/contract.test.ts @@ -2,7 +2,7 @@ import { afterEach, beforeAll, describe, expect, jest, test } from '@jest/global import { PositionalArgsError } from '@near-js/types'; import { Contract, Account } from '../src'; -import testUtils from './test-utils'; +import { deployContractGuestBook, generateUniqueString, setUpTestConnection } from './test-utils'; const account = Object.setPrototypeOf({ getConnection() { @@ -116,8 +116,8 @@ describe('local view execution', () => { jest.setTimeout(60000); beforeAll(async () => { - nearjs = await testUtils.setUpTestConnection(); - contract = await testUtils.deployContractGuestBook(nearjs.accountCreator.masterAccount, testUtils.generateUniqueString('guestbook')); + nearjs = await setUpTestConnection(); + contract = await deployContractGuestBook(nearjs.accountCreator.masterAccount, generateUniqueString('guestbook')); await contract.add_message({ text: 'first message' }); await contract.add_message({ text: 'second message' }); @@ -184,9 +184,9 @@ describe('contract without account', () => { jest.setTimeout(60000); beforeAll(async () => { - nearjs = await testUtils.setUpTestConnection(); - const contractId = testUtils.generateUniqueString('guestbook'); - await testUtils.deployContractGuestBook(nearjs.accountCreator.masterAccount, contractId); + nearjs = await setUpTestConnection(); + const contractId = generateUniqueString('guestbook'); + await deployContractGuestBook(nearjs.accountCreator.masterAccount, contractId); // @ts-expect-error test input contract = new Contract(nearjs.connection, contractId, { diff --git a/packages/accounts/test/lve_storage.test.ts b/packages/accounts/test/lve_storage.test.ts index 52c076a3c3..077ea78356 100644 --- a/packages/accounts/test/lve_storage.test.ts +++ b/packages/accounts/test/lve_storage.test.ts @@ -23,6 +23,7 @@ describe('Local View Execution - Storage', () => { test('load empty cached data', async () => { const storage = new Storage(); + // @ts-expect-error test input const data = storage.load({}); expect(data).toBe(undefined); diff --git a/packages/accounts/test/promise.test.ts b/packages/accounts/test/promise.test.ts index 1e8cfe91f5..85d27a5e67 100644 --- a/packages/accounts/test/promise.test.ts +++ b/packages/accounts/test/promise.test.ts @@ -1,26 +1,26 @@ import { afterEach, beforeAll, beforeEach, describe, expect, test } from '@jest/globals'; -import testUtils from './test-utils'; +import { deployContract, generateUniqueString, setUpTestConnection } from './test-utils'; let nearjs; const CONTRACT_CALL_GAS = BigInt(300000000000000); beforeAll(async () => { - nearjs = await testUtils.setUpTestConnection(); + nearjs = await setUpTestConnection(); }); describe('with promises', () => { let contract, contract1, contract2; let oldLog; let logs; - const contractName = testUtils.generateUniqueString('cnt'); - const contractName1 = testUtils.generateUniqueString('cnt'); - const contractName2 = testUtils.generateUniqueString('cnt'); + const contractName = generateUniqueString('cnt'); + const contractName1 = generateUniqueString('cnt'); + const contractName2 = generateUniqueString('cnt'); beforeAll(async () => { - contract = await testUtils.deployContract(nearjs.accountCreator.masterAccount, contractName); - contract1 = await testUtils.deployContract(nearjs.accountCreator.masterAccount, contractName1); - contract2 = await testUtils.deployContract(nearjs.accountCreator.masterAccount, contractName2); + contract = await deployContract(nearjs.accountCreator.masterAccount, contractName); + contract1 = await deployContract(nearjs.accountCreator.masterAccount, contractName1); + contract2 = await deployContract(nearjs.accountCreator.masterAccount, contractName2); }); beforeEach(async () => { diff --git a/packages/accounts/test/test-utils.js b/packages/accounts/test/test-utils.js index b0e5c6351f..f9308eedc8 100644 --- a/packages/accounts/test/test-utils.js +++ b/packages/accounts/test/test-utils.js @@ -6,7 +6,7 @@ import path from 'path'; import { Account, AccountMultisig, Contract, Connection, LocalAccountCreator } from '../src'; import Config from './config'; -const networkId = 'unittest'; +export const networkId = 'unittest'; export const HELLO_WASM_PATH = process.env.HELLO_WASM_PATH || 'node_modules/near-hello/dist/main.wasm'; export const HELLO_WASM_BALANCE = BigInt('10000000000000000000000000'); diff --git a/packages/biometric-ed25519/test/utils.test.ts b/packages/biometric-ed25519/test/utils.test.ts index 08a0403690..5ed9eef6a0 100644 --- a/packages/biometric-ed25519/test/utils.test.ts +++ b/packages/biometric-ed25519/test/utils.test.ts @@ -29,12 +29,10 @@ class PublicKeyCredentialMock { // @ts-expect-error test input global.PublicKeyCredential = PublicKeyCredentialMock; -jest.mock('../lib/utils', () => { - const originalModule = jest.requireActual('../lib/utils'); +jest.mock('../src/utils', () => { + const originalModule = jest.requireActual('../src/utils'); return { - // @ts-expect-error test input ...originalModule, - // @ts-expect-error test input convertUint8ArrayToArrayBuffer: jest.fn().mockImplementation(input => input.buffer), }; }); diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 2bb39579db..f95a429135 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/crypto/test/key_pair.test.ts b/packages/crypto/test/key_pair.test.ts index 1224ddcd91..bfec333bf3 100644 --- a/packages/crypto/test/key_pair.test.ts +++ b/packages/crypto/test/key_pair.test.ts @@ -38,7 +38,7 @@ describe('Using Ed25519 Curve', () => { test('convert to string', async () => { const keyPair = KeyPairEd25519.fromRandom(); const newKeyPair = KeyPair.fromString(keyPair.toString()); - expect(newKeyPair.secretKey).toEqual(keyPair.secretKey); + expect((newKeyPair as KeyPairEd25519).secretKey).toEqual(keyPair.secretKey); const keyString = 'ed25519:2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'; const keyPair2 = KeyPair.fromString(keyString); @@ -78,7 +78,7 @@ describe('Using Secp256k1 Curve', () => { test('Should return proper key converted to string using Secp256k1', async () => { const keyPair = KeyPairSecp256k1.fromRandom(); const newKeyPair = KeyPair.fromString(keyPair.toString()); - expect(newKeyPair.secretKey).toEqual(keyPair.secretKey); + expect((newKeyPair as KeyPairSecp256k1).secretKey).toEqual(keyPair.secretKey); const keyString = 'secp256k1:7s1Jno8tbqFHBMqLh3epaFBbk194zAuMqo8yPbxvTbXn'; const keyPair2 = KeyPair.fromString(keyString); @@ -89,8 +89,7 @@ describe('Using Secp256k1 Curve', () => { test('convert to string', async () => { const keyPair = KeyPairEd25519.fromRandom(); const newKeyPair = KeyPair.fromString(keyPair.toString()); - // @ts-expect-error test input - expect(newKeyPair.secretKey).toEqual(keyPair.secretKey); + expect((newKeyPair as KeyPairEd25519).secretKey).toEqual(keyPair.secretKey); const keyString = 'ed25519:2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'; const keyPair2 = KeyPair.fromString(keyString); diff --git a/packages/keystores-browser/package.json b/packages/keystores-browser/package.json index 570258d5ee..29102bc048 100644 --- a/packages/keystores-browser/package.json +++ b/packages/keystores-browser/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index 6625024f28..0ab52fbc1c 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/keystores/package.json b/packages/keystores/package.json index b984d7256e..e2a8db863a 100644 --- a/packages/keystores/package.json +++ b/packages/keystores/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index 55f4bdc8db..09a72fea94 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -59,7 +59,7 @@ "compile": "tsc -p ./tsconfig.json", "dev": "pnpm compile -w", "build": "pnpm compile && pnpm bundle:all", - "test": "jest test --passWithNoTests", + "test": "jest --passWithNoTests", "lint": "concurrently \"pnpm:lint:*(!fix) --no-error-on-unmatched-pattern\"", "lint:src": "eslint --ext .ts src", "lint:fix": "concurrently \"pnpm:lint:*:fix\"", diff --git a/packages/providers/package.json b/packages/providers/package.json index 9aaed87b30..1fdf11a416 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/signers/package.json b/packages/signers/package.json index 1e2d55918b..8f79bc136f 100644 --- a/packages/signers/package.json +++ b/packages/signers/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/transactions/package.json b/packages/transactions/package.json index 2a0d925031..2e61237687 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -9,7 +9,7 @@ "compile": "tsc -p tsconfig.json", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/transactions/test/serialize.test.ts b/packages/transactions/test/serialize.test.ts index 1db94b18ba..05249b0512 100644 --- a/packages/transactions/test/serialize.test.ts +++ b/packages/transactions/test/serialize.test.ts @@ -38,11 +38,9 @@ class Test { } test('serialize object', async () => { - // @ts-expect-error test input const value = new Test({ x: 255, y: 20, z: '123', q: [1, 2, 3] }); const schema = { struct: { x: 'u8', y: 'u16', z: 'string', q: { array: { type: 'u8' } } } }; const buf = serialize(schema, value); - // @ts-expect-error test input const new_value = new Test(deserialize(schema, buf)); // @ts-expect-error test input expect(new_value.x).toEqual(255); diff --git a/packages/utils/test/format.test.ts b/packages/utils/test/format.test.ts index 6adf10a78c..adceb7be26 100644 --- a/packages/utils/test/format.test.ts +++ b/packages/utils/test/format.test.ts @@ -26,7 +26,6 @@ test.each` ${'1000100000000000000000000000000'} | ${undefined} | ${'1,000,100'} ${'910000000000000000000000'} | ${0} | ${'1'} `('formatNearAmount($balance, $fracDigits) returns $expected', ({ balance, fracDigits, expected }) => { - // @ts-expect-error test input expect(formatNearAmount(balance, fracDigits)).toEqual(expected); }); diff --git a/packages/utils/test/rpc-errors.test.ts b/packages/utils/test/rpc-errors.test.ts index 83618b4cdb..0f72a85469 100644 --- a/packages/utils/test/rpc-errors.test.ts +++ b/packages/utils/test/rpc-errors.test.ts @@ -56,7 +56,7 @@ describe('rpc-errors', () => { } } }; - let error = parseRpcError(rpc_error); + let error: any = parseRpcError(rpc_error); expect(error.type === 'ShardCongested').toBe(true); expect(error.shard_id).toBe(2); expect(error.congestion_level).toBe(0.4); @@ -76,7 +76,7 @@ describe('rpc-errors', () => { } } }; - let error = parseRpcError(rpc_error); + let error: any = parseRpcError(rpc_error); expect(error.type === 'ShardStuck').toBe(true); expect(error.shard_id).toBe(2); expect(error.missed_chunks).toBe(5); @@ -98,7 +98,7 @@ describe('rpc-errors', () => { } } }; - let error = parseRpcError(rpc_error); + let error: any = parseRpcError(rpc_error); expect(error.type === 'ReceiptSizeExceeded').toBe(true); expect(error.limit).toBe(100); expect(error.size).toBe(101); diff --git a/packages/wallet-account/package.json b/packages/wallet-account/package.json index 56af612bf1..6ebd9034d5 100644 --- a/packages/wallet-account/package.json +++ b/packages/wallet-account/package.json @@ -7,7 +7,7 @@ "scripts": { "build": "pnpm compile", "compile": "tsc -p tsconfig.json", - "test": "jest test" + "test": "jest" }, "keywords": [], "author": "", diff --git a/packages/wallet-account/test/wallet_accounts.test.ts b/packages/wallet-account/test/wallet_accounts.test.ts index 3746c17010..e4f610a842 100644 --- a/packages/wallet-account/test/wallet_accounts.test.ts +++ b/packages/wallet-account/test/wallet_accounts.test.ts @@ -66,13 +66,11 @@ describe("Wallet account tests", () => { const windowValueBefore = global.window; beforeEach(() => { - // @ts-expect-error test input global.window = undefined; keyStore.clear(); }); afterEach(() => { - // @ts-expect-error test input global.window = windowValueBefore; }); @@ -454,9 +452,9 @@ describe("Wallet account tests", () => { transactions[0].actions[0].transfer.deposit.toString() ).toEqual("1"); const txData = transactions[0].publicKey.ed25519Key.data ? transactions[0].publicKey.ed25519Key.data : transactions[0].publicKey.secp256k1Key.data; - const keyPairData = keyPair.publicKey.ed25519Key.data ? keyPair.publicKey.ed25519Key.data : keyPair.publicKey.secp256k1Key.data; + const publicKey = keyPair.getPublicKey(); + const keyPairData = publicKey.ed25519Key.data ? publicKey.ed25519Key.data : publicKey.secp256k1Key.data; expect(Buffer.from(txData)).toEqual( - // @ts-expect-error test input Buffer.from(keyPairData) ); }); From 59c705446ec747a222acbce808f8e6bf4ed40da7 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 15:34:12 -0700 Subject: [PATCH 15/45] feat: target es2022 --- packages/near-api-js/tsconfig.json | 2 +- tsconfig.base.json | 4 ++-- tsconfig.browser.json | 2 +- tsconfig.node.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/near-api-js/tsconfig.json b/packages/near-api-js/tsconfig.json index 4345274879..4d254eadfd 100644 --- a/packages/near-api-js/tsconfig.json +++ b/packages/near-api-js/tsconfig.json @@ -3,7 +3,7 @@ "esModuleInterop": true, "lib": [ "es2016", - "esnext", + "es2022", "dom" ], "module": "commonjs", diff --git a/tsconfig.base.json b/tsconfig.base.json index 9e49a72e0e..1e3559ba6b 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,8 +1,8 @@ { "compilerOptions": { "esModuleInterop": true, - "module": "esnext", - "target": "esnext", + "module": "es2022", + "target": "es2022", "moduleResolution": "node", "alwaysStrict": true, "declaration": true, diff --git a/tsconfig.browser.json b/tsconfig.browser.json index 5bb2be882c..9811d979b2 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -2,7 +2,7 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "lib": [ - "esnext", + "es2022", "dom" ] } diff --git a/tsconfig.node.json b/tsconfig.node.json index 7eaf05134e..06054bc589 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -2,7 +2,7 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "lib": [ - "esnext" + "es2022" ] }, } From 5dc817c0f623f222ff2660a7a27c841625e63b9c Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 15:31:47 -0700 Subject: [PATCH 16/45] feat: update Enum class to force extending classes to declare enum --- packages/transactions/src/actions.ts | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/transactions/src/actions.ts b/packages/transactions/src/actions.ts index 8a68de53fd..5d6fb75bb6 100644 --- a/packages/transactions/src/actions.ts +++ b/packages/transactions/src/actions.ts @@ -3,8 +3,10 @@ import { PublicKey } from '@near-js/crypto'; import { DelegateAction } from './delegate'; import { Signature } from './signature'; +// TODO determine why subclassing is still necessary even though `enum` +// cannot be set in the base class or it will not be borsh-serializable abstract class Enum { - enum: string; + abstract enum: string; constructor(properties: any) { if (Object.keys(properties).length !== 1) { @@ -12,7 +14,6 @@ abstract class Enum { } Object.keys(properties).map((key: string) => { (this as any)[key] = properties[key]; - this.enum = key; }); } } @@ -32,8 +33,17 @@ export class FunctionCallPermission { export class FullAccessPermission {} export class AccessKeyPermission extends Enum { + enum: string; functionCall?: FunctionCallPermission; fullAccess?: FullAccessPermission; + + constructor(props: any) { + super(props); + for (const [k, v] of Object.entries(props || {})) { + this[k] = v; + this.enum = k; + } + } } export class AccessKey { @@ -124,6 +134,7 @@ export class SignedDelegate { * @see {@link https://nomicon.io/RuntimeSpec/Actions.html | Actions Spec} */ export class Action extends Enum { + enum: string; createAccount?: CreateAccount; deployContract?: DeployContract; functionCall?: FunctionCall; @@ -133,4 +144,12 @@ export class Action extends Enum { deleteKey?: DeleteKey; deleteAccount?: DeleteAccount; signedDelegate?: SignedDelegate; + + constructor(props: any) { + super(props); + for (const [k, v] of Object.entries(props || {})) { + this[k] = v; + this.enum = k; + } + } } From f843839763bc9f51ba190e054c6078ffe4fff819 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 15:49:34 -0700 Subject: [PATCH 17/45] feat: update typescript --- package.json | 4 +- packages/accounts/package.json | 2 +- packages/crypto/package.json | 2 +- packages/keystores-browser/package.json | 2 +- packages/keystores-node/package.json | 2 +- packages/keystores/package.json | 2 +- packages/providers/package.json | 2 +- packages/signers/package.json | 2 +- packages/transactions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/wallet-account/package.json | 2 +- pnpm-lock.yaml | 262 ++++++++++++------------ 13 files changed, 144 insertions(+), 144 deletions(-) diff --git a/package.json b/package.json index d1394353e6..401aedbedf 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,8 @@ "husky": "7.0.4", "rimraf": "3.0.2", "turbo": "1.4.5", - "typedoc": "0.25.3", - "typescript": "4.9.4" + "typedoc": "0.25.13", + "typescript": "5.4.5" }, "resolutions": { "near-sandbox": "0.0.18", diff --git a/packages/accounts/package.json b/packages/accounts/package.json index 2beed3885a..8b3c84330f 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -39,7 +39,7 @@ "near-workspaces": "3.5.0", "semver": "7.1.1", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/crypto/package.json b/packages/crypto/package.json index f95a429135..4b208a55c0 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -28,7 +28,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/keystores-browser/package.json b/packages/keystores-browser/package.json index 29102bc048..281bc6eb22 100644 --- a/packages/keystores-browser/package.json +++ b/packages/keystores-browser/package.json @@ -23,7 +23,7 @@ "jest": "29.7.0", "localstorage-memory": "1.0.3", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index 0ab52fbc1c..b08868622c 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -23,7 +23,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/keystores/package.json b/packages/keystores/package.json index e2a8db863a..6474be2b12 100644 --- a/packages/keystores/package.json +++ b/packages/keystores/package.json @@ -23,7 +23,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/providers/package.json b/packages/providers/package.json index 1fdf11a416..101a8a0420 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -28,7 +28,7 @@ "jest": "29.7.0", "near-workspaces": "3.5.0", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "optionalDependencies": { "node-fetch": "2.6.7" diff --git a/packages/signers/package.json b/packages/signers/package.json index 8f79bc136f..950b3ff762 100644 --- a/packages/signers/package.json +++ b/packages/signers/package.json @@ -24,7 +24,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/transactions/package.json b/packages/transactions/package.json index 2e61237687..d8b3a99c66 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -28,7 +28,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/types/package.json b/packages/types/package.json index 137b70c156..c2c0581afc 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -17,7 +17,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/utils/package.json b/packages/utils/package.json index 1204819cf8..920a259740 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -25,7 +25,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/packages/wallet-account/package.json b/packages/wallet-account/package.json index 6ebd9034d5..111f289edb 100644 --- a/packages/wallet-account/package.json +++ b/packages/wallet-account/package.json @@ -29,7 +29,7 @@ "jest": "29.7.0", "localstorage-memory": "1.0.3", "ts-jest": "29.1.5", - "typescript": "4.9.4" + "typescript": "5.4.5" }, "files": [ "lib" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2528443887..f0e3a82d45 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,10 +26,10 @@ importers: version: 17.0.3 '@typescript-eslint/eslint-plugin': specifier: 5.31.0 - version: 5.31.0(@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@4.9.4))(eslint@8.20.0)(typescript@4.9.4) + version: 5.31.0(@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@5.4.5))(eslint@8.20.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: 5.31.0 - version: 5.31.0(eslint@8.20.0)(typescript@4.9.4) + version: 5.31.0(eslint@8.20.0)(typescript@5.4.5) commitlint: specifier: 17.0.3 version: 17.0.3 @@ -46,11 +46,11 @@ importers: specifier: 1.4.5 version: 1.4.5 typedoc: - specifier: 0.25.3 - version: 0.25.3(typescript@4.9.4) + specifier: 0.25.13 + version: 0.25.13(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/accounts: dependencies: @@ -108,7 +108,7 @@ importers: version: 4.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) near-hello: specifier: 0.5.1 version: 0.5.1 @@ -120,10 +120,10 @@ importers: version: 7.1.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/biometric-ed25519: dependencies: @@ -166,10 +166,10 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) packages/cookbook: dependencies: @@ -230,13 +230,13 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/iframe-rpc: dependencies: @@ -265,13 +265,13 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/keystores-browser: dependencies: @@ -287,16 +287,16 @@ importers: version: 29.7.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/keystores-node: dependencies: @@ -315,13 +315,13 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/near-api-js: dependencies: @@ -406,7 +406,7 @@ importers: version: 2.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 @@ -427,7 +427,7 @@ importers: version: 7.1.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) uglifyify: specifier: 5.0.1 version: 5.0.1 @@ -465,16 +465,16 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) near-workspaces: specifier: 3.5.0 version: 3.5.0(encoding@0.1.13) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/signers: dependencies: @@ -496,13 +496,13 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/transactions: dependencies: @@ -536,13 +536,13 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/types: devDependencies: @@ -551,13 +551,13 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/utils: dependencies: @@ -582,13 +582,13 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages/wallet-account: dependencies: @@ -628,16 +628,16 @@ importers: version: 18.11.18 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages: @@ -4474,16 +4474,16 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typedoc@0.25.3: - resolution: {integrity: sha512-Ow8Bo7uY1Lwy7GTmphRIMEo6IOZ+yYUyrc8n5KXIZg1svpqhZSWgni2ZrDhe+wLosFS8yswowUzljTAV/3jmWw==} + typedoc@0.25.13: + resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} engines: {node: '>= 16'} hasBin: true peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x - typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true uglifyify@5.0.1: @@ -5139,14 +5139,14 @@ snapshots: '@commitlint/types': 17.8.1 '@types/node': 20.5.1 chalk: 4.1.1 - cosmiconfig: 8.3.6(typescript@4.9.4) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@4.9.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4))(typescript@4.9.4) + cosmiconfig: 8.3.6(typescript@5.4.5) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.4.5))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))(typescript@5.4.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.2(@types/node@20.5.1)(typescript@4.9.4) - typescript: 4.9.4 + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -5312,7 +5312,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -5326,7 +5326,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5347,7 +5347,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -5361,7 +5361,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5848,33 +5848,33 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@5.31.0(@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@4.9.4))(eslint@8.20.0)(typescript@4.9.4)': + '@typescript-eslint/eslint-plugin@5.31.0(@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@5.4.5))(eslint@8.20.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/parser': 5.31.0(eslint@8.20.0)(typescript@4.9.4) + '@typescript-eslint/parser': 5.31.0(eslint@8.20.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 5.31.0 - '@typescript-eslint/type-utils': 5.31.0(eslint@8.20.0)(typescript@4.9.4) - '@typescript-eslint/utils': 5.31.0(eslint@8.20.0)(typescript@4.9.4) + '@typescript-eslint/type-utils': 5.31.0(eslint@8.20.0)(typescript@5.4.5) + '@typescript-eslint/utils': 5.31.0(eslint@8.20.0)(typescript@5.4.5) debug: 4.3.5 eslint: 8.20.0 functional-red-black-tree: 1.0.1 ignore: 5.3.1 regexpp: 3.2.0 semver: 7.6.2 - tsutils: 3.21.0(typescript@4.9.4) + tsutils: 3.21.0(typescript@5.4.5) optionalDependencies: - typescript: 4.9.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@4.9.4)': + '@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 5.31.0 '@typescript-eslint/types': 5.31.0 - '@typescript-eslint/typescript-estree': 5.31.0(typescript@4.9.4) + '@typescript-eslint/typescript-estree': 5.31.0(typescript@5.4.5) debug: 4.3.5 eslint: 8.20.0 optionalDependencies: - typescript: 4.9.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -5883,20 +5883,20 @@ snapshots: '@typescript-eslint/types': 5.31.0 '@typescript-eslint/visitor-keys': 5.31.0 - '@typescript-eslint/type-utils@5.31.0(eslint@8.20.0)(typescript@4.9.4)': + '@typescript-eslint/type-utils@5.31.0(eslint@8.20.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/utils': 5.31.0(eslint@8.20.0)(typescript@4.9.4) + '@typescript-eslint/utils': 5.31.0(eslint@8.20.0)(typescript@5.4.5) debug: 4.3.5 eslint: 8.20.0 - tsutils: 3.21.0(typescript@4.9.4) + tsutils: 3.21.0(typescript@5.4.5) optionalDependencies: - typescript: 4.9.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color '@typescript-eslint/types@5.31.0': {} - '@typescript-eslint/typescript-estree@5.31.0(typescript@4.9.4)': + '@typescript-eslint/typescript-estree@5.31.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 5.31.0 '@typescript-eslint/visitor-keys': 5.31.0 @@ -5904,18 +5904,18 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.2 - tsutils: 3.21.0(typescript@4.9.4) + tsutils: 3.21.0(typescript@5.4.5) optionalDependencies: - typescript: 4.9.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.31.0(eslint@8.20.0)(typescript@4.9.4)': + '@typescript-eslint/utils@5.31.0(eslint@8.20.0)(typescript@5.4.5)': dependencies: '@types/json-schema': 7.0.15 '@typescript-eslint/scope-manager': 5.31.0 '@typescript-eslint/types': 5.31.0 - '@typescript-eslint/typescript-estree': 5.31.0(typescript@4.9.4) + '@typescript-eslint/typescript-estree': 5.31.0(typescript@5.4.5) eslint: 8.20.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0(eslint@8.20.0) @@ -6550,21 +6550,21 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@4.9.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4))(typescript@4.9.4): + cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.4.5))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))(typescript@5.4.5): dependencies: '@types/node': 20.5.1 - cosmiconfig: 8.3.6(typescript@4.9.4) - ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.4) - typescript: 4.9.4 + cosmiconfig: 8.3.6(typescript@5.4.5) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) + typescript: 5.4.5 - cosmiconfig@8.3.6(typescript@4.9.4): + cosmiconfig@8.3.6(typescript@5.4.5): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 4.9.4 + typescript: 5.4.5 create-ecdh@4.0.4: dependencies: @@ -6588,13 +6588,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + create-jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.1 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -6603,13 +6603,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + create-jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.1 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-config: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -7777,16 +7777,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + jest-cli@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.1 - create-jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + create-jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -7796,16 +7796,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest-cli@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.1 - create-jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + create-jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-config: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -7815,7 +7815,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -7841,12 +7841,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 18.11.18 - ts-node: 10.9.2(@types/node@18.11.18)(typescript@4.9.4) + ts-node: 10.9.2(@types/node@18.11.18)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -7872,12 +7872,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 18.11.18 - ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.4) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest-config@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -7903,7 +7903,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.5.1 - ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.4) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -8123,24 +8123,24 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)): + jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest-cli: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)): + jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest-cli: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -9323,17 +9323,17 @@ snapshots: trim-newlines@3.0.1: {} - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)))(typescript@4.9.4): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4)) + jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.6.2 - typescript: 4.9.4 + typescript: 5.4.5 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.24.7 @@ -9342,17 +9342,17 @@ snapshots: babel-jest: 29.7.0(@babel/core@7.24.7) esbuild: 0.21.5 - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)))(typescript@4.9.4): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4)) + jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.6.2 - typescript: 4.9.4 + typescript: 5.4.5 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.24.7 @@ -9360,7 +9360,7 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.7) - ts-node@10.9.2(@types/node@18.11.18)(typescript@4.9.4): + ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -9374,12 +9374,12 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.4 + typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true - ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.4): + ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -9393,7 +9393,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.4 + typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -9401,10 +9401,10 @@ snapshots: tslib@2.6.3: {} - tsutils@3.21.0(typescript@4.9.4): + tsutils@3.21.0(typescript@5.4.5): dependencies: tslib: 1.14.1 - typescript: 4.9.4 + typescript: 5.4.5 tty-browserify@0.0.1: {} @@ -9529,15 +9529,15 @@ snapshots: typedarray@0.0.6: {} - typedoc@0.25.3(typescript@4.9.4): + typedoc@0.25.13(typescript@5.4.5): dependencies: lunr: 2.3.9 marked: 4.3.0 minimatch: 9.0.4 shiki: 0.14.7 - typescript: 4.9.4 + typescript: 5.4.5 - typescript@4.9.4: {} + typescript@5.4.5: {} uglifyify@5.0.1: dependencies: From a2afd6d2409e5e02dcd325013dbb05d2cf6fafc1 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 16:22:41 -0700 Subject: [PATCH 18/45] feat: near-api-js as a module --- packages/near-api-js/esbuild.inject.js | 4 ++-- packages/near-api-js/package.json | 1 + packages/near-api-js/tsconfig.json | 5 ++--- turbo.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/near-api-js/esbuild.inject.js b/packages/near-api-js/esbuild.inject.js index fc50ac3a68..f399c5852d 100644 --- a/packages/near-api-js/esbuild.inject.js +++ b/packages/near-api-js/esbuild.inject.js @@ -1,2 +1,2 @@ -exports.Buffer = require('buffer').Buffer; -exports.process = require('process/browser'); +export { Buffer } from 'buffer'; +export { process } from 'process/browser'; diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index 09a72fea94..9a7a4d6956 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -10,6 +10,7 @@ "main": "lib/index.js", "browser": "lib/browser-index.js", "types": "lib/index.d.ts", + "type": "module", "dependencies": { "@near-js/accounts": "workspace:*", "@near-js/crypto": "workspace:*", diff --git a/packages/near-api-js/tsconfig.json b/packages/near-api-js/tsconfig.json index 4d254eadfd..bbb08ce9e5 100644 --- a/packages/near-api-js/tsconfig.json +++ b/packages/near-api-js/tsconfig.json @@ -2,12 +2,11 @@ "compilerOptions": { "esModuleInterop": true, "lib": [ - "es2016", "es2022", "dom" ], - "module": "commonjs", - "target": "es2016", + "module": "es2022", + "target": "es2022", "moduleResolution": "node", "alwaysStrict": true, "outDir": "./lib", diff --git a/turbo.json b/turbo.json index 508985b12a..0161019775 100644 --- a/turbo.json +++ b/turbo.json @@ -3,7 +3,7 @@ "pipeline": { "build": { "dependsOn": ["^build"], - "inputs": ["src/**/*.ts", "test/**/*.js"], + "inputs": ["src/**/*.ts", "test/**/*.js", "tsconfig.json"], "outputs": ["dist/**", "lib/**"] }, "test": { From 86f718686c1e9593ecb17cf623b4091ae789ff08 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 18 Jun 2024 16:45:13 -0700 Subject: [PATCH 19/45] feat: move tsconfig to internal package --- package.json | 1 + packages/accounts/package.json | 1 + packages/accounts/tsconfig.json | 4 +-- packages/biometric-ed25519/tsconfig.json | 2 +- packages/crypto/package.json | 1 + packages/crypto/tsconfig.json | 2 +- packages/iframe-rpc/tsconfig.json | 2 +- packages/keystores-browser/package.json | 1 + packages/keystores-browser/tsconfig.json | 2 +- packages/keystores-node/package.json | 1 + packages/keystores-node/tsconfig.json | 2 +- packages/keystores/package.json | 1 + packages/keystores/tsconfig.json | 2 +- packages/providers/package.json | 1 + packages/providers/tsconfig.json | 3 +- packages/signers/package.json | 1 + packages/signers/tsconfig.json | 2 +- packages/transactions/package.json | 1 + packages/transactions/tsconfig.json | 2 +- packages/tsconfig/base.json | 25 ++++++++++++++++ packages/tsconfig/browser.json | 6 ++++ packages/tsconfig/cjs.json | 6 ++++ packages/tsconfig/esm.json | 3 ++ packages/tsconfig/package.json | 10 +++++++ packages/types/package.json | 1 + packages/types/tsconfig.json | 2 +- packages/utils/package.json | 1 + packages/utils/tsconfig.json | 2 +- packages/wallet-account/package.json | 1 + packages/wallet-account/tsconfig.json | 2 +- pnpm-lock.yaml | 38 ++++++++++++++++++++++++ tsconfig.base.json | 21 ------------- tsconfig.browser.json | 9 ------ tsconfig.node.json | 8 ----- 34 files changed, 115 insertions(+), 52 deletions(-) create mode 100644 packages/tsconfig/base.json create mode 100644 packages/tsconfig/browser.json create mode 100644 packages/tsconfig/cjs.json create mode 100644 packages/tsconfig/esm.json create mode 100644 packages/tsconfig/package.json delete mode 100644 tsconfig.base.json delete mode 100644 tsconfig.browser.json delete mode 100644 tsconfig.node.json diff --git a/package.json b/package.json index 401aedbedf..8096719691 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "rimraf": "3.0.2", "turbo": "1.4.5", "typedoc": "0.25.13", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "resolutions": { diff --git a/packages/accounts/package.json b/packages/accounts/package.json index 8b3c84330f..875bc2fafd 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -39,6 +39,7 @@ "near-workspaces": "3.5.0", "semver": "7.1.1", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/accounts/tsconfig.json b/packages/accounts/tsconfig.json index 2081c160d8..5abcd1177d 100644 --- a/packages/accounts/tsconfig.json +++ b/packages/accounts/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "../../tsconfig.node.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "preserveSymlinks": false, "outDir": "./lib", - "lib": ["es2021", "DOM"] + "lib": ["es2022", "dom"] }, "files": [ "src/index.ts" diff --git a/packages/biometric-ed25519/tsconfig.json b/packages/biometric-ed25519/tsconfig.json index 548e050249..aec31f0049 100644 --- a/packages/biometric-ed25519/tsconfig.json +++ b/packages/biometric-ed25519/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.browser.json", + "extends": "tsconfig/browser.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 4b208a55c0..f317a7563e 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -28,6 +28,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/crypto/tsconfig.json b/packages/crypto/tsconfig.json index a698689671..6789ead47a 100644 --- a/packages/crypto/tsconfig.json +++ b/packages/crypto/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.node.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/iframe-rpc/tsconfig.json b/packages/iframe-rpc/tsconfig.json index bd7bc69c55..34eebe6998 100644 --- a/packages/iframe-rpc/tsconfig.json +++ b/packages/iframe-rpc/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.browser.json", + "extends": "tsconfig/browser.json", "compilerOptions": { "outDir": "./lib", "types": ["node"] diff --git a/packages/keystores-browser/package.json b/packages/keystores-browser/package.json index 281bc6eb22..e3033c3ed2 100644 --- a/packages/keystores-browser/package.json +++ b/packages/keystores-browser/package.json @@ -23,6 +23,7 @@ "jest": "29.7.0", "localstorage-memory": "1.0.3", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/keystores-browser/tsconfig.json b/packages/keystores-browser/tsconfig.json index 24c6000844..a5aebcc535 100644 --- a/packages/keystores-browser/tsconfig.json +++ b/packages/keystores-browser/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.browser.json", + "extends": "tsconfig/browser.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index b08868622c..a4379cae9f 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -23,6 +23,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/keystores-node/tsconfig.json b/packages/keystores-node/tsconfig.json index ae42955e48..9d8ff26d3b 100644 --- a/packages/keystores-node/tsconfig.json +++ b/packages/keystores-node/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.node.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/keystores/package.json b/packages/keystores/package.json index 6474be2b12..c9ecee0878 100644 --- a/packages/keystores/package.json +++ b/packages/keystores/package.json @@ -23,6 +23,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/keystores/tsconfig.json b/packages/keystores/tsconfig.json index ae42955e48..9d8ff26d3b 100644 --- a/packages/keystores/tsconfig.json +++ b/packages/keystores/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.node.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/providers/package.json b/packages/providers/package.json index 101a8a0420..2c8614e28f 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -28,6 +28,7 @@ "jest": "29.7.0", "near-workspaces": "3.5.0", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "optionalDependencies": { diff --git a/packages/providers/tsconfig.json b/packages/providers/tsconfig.json index a59a60a900..38fe05e1b6 100644 --- a/packages/providers/tsconfig.json +++ b/packages/providers/tsconfig.json @@ -1,7 +1,8 @@ { - "extends": "../../tsconfig.base.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "outDir": "./lib", + "lib": ["es2022", "dom"] }, "files": [ "src/index.ts" diff --git a/packages/signers/package.json b/packages/signers/package.json index 950b3ff762..500b0464de 100644 --- a/packages/signers/package.json +++ b/packages/signers/package.json @@ -24,6 +24,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/signers/tsconfig.json b/packages/signers/tsconfig.json index ae42955e48..9d8ff26d3b 100644 --- a/packages/signers/tsconfig.json +++ b/packages/signers/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.node.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/transactions/package.json b/packages/transactions/package.json index d8b3a99c66..5b94632f1d 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -28,6 +28,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/transactions/tsconfig.json b/packages/transactions/tsconfig.json index ae42955e48..9d8ff26d3b 100644 --- a/packages/transactions/tsconfig.json +++ b/packages/transactions/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.node.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/tsconfig/base.json b/packages/tsconfig/base.json new file mode 100644 index 0000000000..f185b78038 --- /dev/null +++ b/packages/tsconfig/base.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Default", + "compilerOptions": { + "esModuleInterop": true, + "module": "es2022", + "target": "es2022", + "lib": ["es2022"], + "moduleResolution": "node", + "alwaysStrict": true, + "declaration": true, + "declarationMap": true, + "preserveSymlinks": true, + "preserveWatchOutput": true, + "pretty": false, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitReturns": true, + "noUnusedLocals": true, + "experimentalDecorators": true, + "resolveJsonModule": true + }, + "exclude": ["node_modules"] +} diff --git a/packages/tsconfig/browser.json b/packages/tsconfig/browser.json new file mode 100644 index 0000000000..bd3546fa32 --- /dev/null +++ b/packages/tsconfig/browser.json @@ -0,0 +1,6 @@ +{ + "extends": "./base.json", + "compilerOptions": { + "lib": ["es2022", "dom"] + } +} diff --git a/packages/tsconfig/cjs.json b/packages/tsconfig/cjs.json new file mode 100644 index 0000000000..d259f7f0f0 --- /dev/null +++ b/packages/tsconfig/cjs.json @@ -0,0 +1,6 @@ +{ + "extends": "./base.json", + "module": "commonjs", + "target": "es6", + "lib": ["es6"] +} diff --git a/packages/tsconfig/esm.json b/packages/tsconfig/esm.json new file mode 100644 index 0000000000..fabd6a7b9a --- /dev/null +++ b/packages/tsconfig/esm.json @@ -0,0 +1,3 @@ +{ + "extends": "./base.json" +} diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json new file mode 100644 index 0000000000..f4810fc3fa --- /dev/null +++ b/packages/tsconfig/package.json @@ -0,0 +1,10 @@ +{ + "name": "tsconfig", + "version": "0.0.0", + "private": true, + "files": [ + "base.json", + "nextjs.json", + "react-library.json" + ] +} diff --git a/packages/types/package.json b/packages/types/package.json index c2c0581afc..5c059285b6 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -17,6 +17,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index a59a60a900..9d8ff26d3b 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.base.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/utils/package.json b/packages/utils/package.json index 920a259740..a192fe3e0a 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -25,6 +25,7 @@ "@types/node": "18.11.18", "jest": "29.7.0", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index ae42955e48..9d8ff26d3b 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.node.json", + "extends": "tsconfig/esm.json", "compilerOptions": { "outDir": "./lib", }, diff --git a/packages/wallet-account/package.json b/packages/wallet-account/package.json index 111f289edb..0de4bfaab3 100644 --- a/packages/wallet-account/package.json +++ b/packages/wallet-account/package.json @@ -29,6 +29,7 @@ "jest": "29.7.0", "localstorage-memory": "1.0.3", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "typescript": "5.4.5" }, "files": [ diff --git a/packages/wallet-account/tsconfig.json b/packages/wallet-account/tsconfig.json index cd1fd28f0a..b057ef2f48 100644 --- a/packages/wallet-account/tsconfig.json +++ b/packages/wallet-account/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.browser.json", + "extends": "tsconfig/browser.json", "compilerOptions": { "preserveSymlinks": false, "outDir": "./lib", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f0e3a82d45..c5d44e5912 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,6 +42,9 @@ importers: rimraf: specifier: 3.0.2 version: 3.0.2 + tsconfig: + specifier: workspace:* + version: link:packages/tsconfig turbo: specifier: 1.4.5 version: 1.4.5 @@ -121,6 +124,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -234,6 +240,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -269,6 +278,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -294,6 +306,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -319,6 +334,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -472,6 +490,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -500,6 +521,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -540,10 +564,15 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 + packages/tsconfig: {} + packages/types: devDependencies: '@types/node': @@ -555,6 +584,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -586,6 +618,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 @@ -635,6 +670,9 @@ importers: ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig typescript: specifier: 5.4.5 version: 5.4.5 diff --git a/tsconfig.base.json b/tsconfig.base.json deleted file mode 100644 index 1e3559ba6b..0000000000 --- a/tsconfig.base.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "esModuleInterop": true, - "module": "es2022", - "target": "es2022", - "moduleResolution": "node", - "alwaysStrict": true, - "declaration": true, - "declarationMap": true, - "preserveSymlinks": true, - "preserveWatchOutput": true, - "pretty": false, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": false, - "noImplicitReturns": true, - "noUnusedLocals": true, - "experimentalDecorators": true, - "resolveJsonModule": true, - } -} diff --git a/tsconfig.browser.json b/tsconfig.browser.json deleted file mode 100644 index 9811d979b2..0000000000 --- a/tsconfig.browser.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.base.json", - "compilerOptions": { - "lib": [ - "es2022", - "dom" - ] - } -} diff --git a/tsconfig.node.json b/tsconfig.node.json deleted file mode 100644 index 06054bc589..0000000000 --- a/tsconfig.node.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig.base.json", - "compilerOptions": { - "lib": [ - "es2022" - ] - }, -} From 7e461543f89477555ed7b92ddf5daa9932ea3de7 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Thu, 20 Jun 2024 14:16:56 -0700 Subject: [PATCH 20/45] feat: remove preserveSymlink overrides, consolidate NAJ tsconfig, and add type dependencies --- packages/accounts/package.json | 1 + packages/accounts/tsconfig.json | 1 - packages/near-api-js/package.json | 1 + packages/near-api-js/tsconfig.json | 19 ++----------------- 4 files changed, 4 insertions(+), 18 deletions(-) diff --git a/packages/accounts/package.json b/packages/accounts/package.json index 875bc2fafd..8e869f1ab3 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -37,6 +37,7 @@ "jest": "29.7.0", "near-hello": "0.5.1", "near-workspaces": "3.5.0", + "node-fetch": "2.6.7", "semver": "7.1.1", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/accounts/tsconfig.json b/packages/accounts/tsconfig.json index 5abcd1177d..38fe05e1b6 100644 --- a/packages/accounts/tsconfig.json +++ b/packages/accounts/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "preserveSymlinks": false, "outDir": "./lib", "lib": ["es2022", "dom"] }, diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index 9a7a4d6956..1b6d028c83 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -48,6 +48,7 @@ "rimraf": "3.0.2", "semver": "7.1.1", "ts-jest": "29.1.5", + "tsconfig": "workspace:*", "uglifyify": "5.0.1" }, "keywords": [], diff --git a/packages/near-api-js/tsconfig.json b/packages/near-api-js/tsconfig.json index bbb08ce9e5..fd583f4e2f 100644 --- a/packages/near-api-js/tsconfig.json +++ b/packages/near-api-js/tsconfig.json @@ -1,26 +1,11 @@ { + "extends": "tsconfig/esm.json", "compilerOptions": { - "esModuleInterop": true, "lib": [ "es2022", "dom" ], - "module": "es2022", - "target": "es2022", - "moduleResolution": "node", - "alwaysStrict": true, - "outDir": "./lib", - "declaration": true, - "preserveSymlinks": false, - "preserveWatchOutput": true, - "pretty": false, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": false, - "noImplicitReturns": true, - "noUnusedLocals": true, - "experimentalDecorators": true, - "resolveJsonModule": true, + "outDir": "./lib" }, "files": [ "src/index.ts", From 3f1172e0755f08f3d39e425eb5d930df7b9e060b Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Thu, 20 Jun 2024 14:17:25 -0700 Subject: [PATCH 21/45] feat: bump to node 20 lts & pnpm 9.4 --- .github/workflows/pull-request.yml | 4 +- .github/workflows/typedoc-generator.yml | 4 +- package.json | 14 +- packages/accounts/package.json | 3 +- .../src/local-view-execution/index.ts | 2 +- packages/biometric-ed25519/package.json | 2 +- packages/crypto/package.json | 2 +- packages/keystores-node/package.json | 2 +- packages/keystores/package.json | 2 +- packages/near-api-js/package.json | 2 +- packages/near-api-js/src/.eslintrc.yml | 2 +- packages/providers/package.json | 2 +- packages/signers/package.json | 2 +- packages/transactions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/wallet-account/package.json | 2 +- pnpm-lock.yaml | 1099 +++++++++-------- 18 files changed, 627 insertions(+), 523 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 639d62a45e..df49bf7fd7 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -20,12 +20,12 @@ jobs: - name: Setup pnpm uses: pnpm/action-setup@v4.0.0 with: - version: 8 + version: 9.4.0 - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 18.x + node-version: 20.15.0 cache: pnpm - name: Install dependencies diff --git a/.github/workflows/typedoc-generator.yml b/.github/workflows/typedoc-generator.yml index 316f7ea2eb..ac4fa30d56 100644 --- a/.github/workflows/typedoc-generator.yml +++ b/.github/workflows/typedoc-generator.yml @@ -6,7 +6,7 @@ on: master env: - NODE_VERSION: 18.x + NODE_VERSION: 20.15.0 ENTRY_FILE: 'packages' CONFIG_PATH: 'tsconfig.base.json' USES_PNPM: 'true' @@ -28,7 +28,7 @@ jobs: - name: Setup pnpm uses: pnpm/action-setup@v4.0.0 with: - version: 7 + version: 9.4.0 - name: Install dependencies run: pnpm install diff --git a/package.json b/package.json index 8096719691..d839a1f7c8 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,8 @@ "name": "@near-js/monorepo", "private": true, "engines": { - "node": ">=18.18.0", - "pnpm": ">=8" + "node": ">=20.15.0", + "pnpm": ">=9.4.0" }, "scripts": { "preinstall": "npx only-allow pnpm", @@ -20,11 +20,11 @@ "devDependencies": { "@changesets/changelog-github": "0.4.6", "@changesets/cli": "2.24.4", - "@commitlint/cli": "17.0.3", - "@commitlint/config-conventional": "17.0.3", - "@typescript-eslint/eslint-plugin": "5.31.0", - "@typescript-eslint/parser": "5.31.0", - "commitlint": "17.0.3", + "@commitlint/cli": "19.3.0", + "@commitlint/config-conventional": "19.2.2", + "@typescript-eslint/eslint-plugin": "6.21.0", + "@typescript-eslint/parser": "6.21.0", + "commitlint": "19.3.0", "eslint": "8.20.0", "husky": "7.0.4", "rimraf": "3.0.2", diff --git a/packages/accounts/package.json b/packages/accounts/package.json index 8e869f1ab3..0e125d4cf6 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -32,7 +32,8 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@near-js/keystores": "workspace:*", - "@types/node": "18.11.18", + "@types/json-schema": "^7.0.15", + "@types/node": "20.0.0", "bs58": "4.0.0", "jest": "29.7.0", "near-hello": "0.5.1", diff --git a/packages/accounts/src/local-view-execution/index.ts b/packages/accounts/src/local-view-execution/index.ts index fab8782a49..2f62c87320 100644 --- a/packages/accounts/src/local-view-execution/index.ts +++ b/packages/accounts/src/local-view-execution/index.ts @@ -76,7 +76,7 @@ export class LocalViewExecution { * @param options.blockQuery The block query options. * @returns {Promise} - A promise that resolves to the result of the view function. */ - public async viewFunction({ contractId, methodName, args = {}, blockQuery = { finality: 'optimistic' }, ...ignored }: ViewFunctionCallOptions) { + public async viewFunction({ contractId, methodName, args = {}, blockQuery = { finality: 'optimistic' } }: ViewFunctionCallOptions) { const methodArgs = JSON.stringify(args); const { contractCode, contractState, blockHeight, blockTimestamp } = await this.loadOrFetch( diff --git a/packages/biometric-ed25519/package.json b/packages/biometric-ed25519/package.json index a96f7ec713..263c6bcb75 100644 --- a/packages/biometric-ed25519/package.json +++ b/packages/biometric-ed25519/package.json @@ -28,7 +28,7 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5" } diff --git a/packages/crypto/package.json b/packages/crypto/package.json index f317a7563e..bf66f3a79d 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@noble/hashes": "^1.4.0", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index a4379cae9f..9e521cbbed 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/keystores/package.json b/packages/keystores/package.json index c9ecee0878..b925926ae1 100644 --- a/packages/keystores/package.json +++ b/packages/keystores/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index 1b6d028c83..c07b20b9e5 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -30,7 +30,7 @@ }, "devDependencies": { "@types/http-errors": "1.6.1", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "browserify": "16.2.3", "bs58": "4.0.0", "buffer": "6.0.3", diff --git a/packages/near-api-js/src/.eslintrc.yml b/packages/near-api-js/src/.eslintrc.yml index 0b2604422d..38a6544229 100644 --- a/packages/near-api-js/src/.eslintrc.yml +++ b/packages/near-api-js/src/.eslintrc.yml @@ -19,5 +19,5 @@ rules: '@typescript-eslint/no-use-before-define': off parserOptions: - ecmaVersion: 2018 + ecmaVersion: 2022 sourceType: module \ No newline at end of file diff --git a/packages/providers/package.json b/packages/providers/package.json index 2c8614e28f..1c316e4005 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -24,7 +24,7 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "near-workspaces": "3.5.0", "ts-jest": "29.1.5", diff --git a/packages/signers/package.json b/packages/signers/package.json index 500b0464de..34232c48de 100644 --- a/packages/signers/package.json +++ b/packages/signers/package.json @@ -21,7 +21,7 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/transactions/package.json b/packages/transactions/package.json index 5b94632f1d..089ce459a6 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@near-js/keystores": "workspace:*", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/types/package.json b/packages/types/package.json index 5c059285b6..8885133f79 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -14,7 +14,7 @@ "author": "", "license": "ISC", "devDependencies": { - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/utils/package.json b/packages/utils/package.json index a192fe3e0a..0160c8f0d4 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -22,7 +22,7 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/wallet-account/package.json b/packages/wallet-account/package.json index 0de4bfaab3..08159df090 100644 --- a/packages/wallet-account/package.json +++ b/packages/wallet-account/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/node": "18.11.18", + "@types/node": "20.0.0", "jest": "29.7.0", "localstorage-memory": "1.0.3", "ts-jest": "29.1.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c5d44e5912..d8ce04c6f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,20 +19,20 @@ importers: specifier: 2.24.4 version: 2.24.4 '@commitlint/cli': - specifier: 17.0.3 - version: 17.0.3 + specifier: 19.3.0 + version: 19.3.0(@types/node@20.5.1)(typescript@5.4.5) '@commitlint/config-conventional': - specifier: 17.0.3 - version: 17.0.3 + specifier: 19.2.2 + version: 19.2.2 '@typescript-eslint/eslint-plugin': - specifier: 5.31.0 - version: 5.31.0(@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@5.4.5))(eslint@8.20.0)(typescript@5.4.5) + specifier: 6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.20.0)(typescript@5.4.5))(eslint@8.20.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: 5.31.0 - version: 5.31.0(eslint@8.20.0)(typescript@5.4.5) + specifier: 6.21.0 + version: 6.21.0(eslint@8.20.0)(typescript@5.4.5) commitlint: - specifier: 17.0.3 - version: 17.0.3 + specifier: 19.3.0 + version: 19.3.0(@types/node@20.5.1)(typescript@5.4.5) eslint: specifier: 8.20.0 version: 8.20.0 @@ -103,27 +103,33 @@ importers: '@near-js/keystores': specifier: workspace:* version: link:../keystores + '@types/json-schema': + specifier: ^7.0.15 + version: 7.0.15 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 bs58: specifier: 4.0.0 version: 4.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) near-hello: specifier: 0.5.1 version: 0.5.1 near-workspaces: specifier: 3.5.0 version: 3.5.0(encoding@0.1.13) + node-fetch: + specifier: 2.6.7 + version: 2.6.7(encoding@0.1.13) semver: specifier: 7.1.1 version: 7.1.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -168,14 +174,14 @@ importers: specifier: ^29.7.0 version: 29.7.0 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) packages/cookbook: dependencies: @@ -232,14 +238,14 @@ importers: specifier: ^1.4.0 version: 1.4.0 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -270,14 +276,14 @@ importers: specifier: ^29.7.0 version: 29.7.0 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -326,14 +332,14 @@ importers: specifier: ^29.7.0 version: 29.7.0 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -393,8 +399,8 @@ importers: specifier: 1.6.1 version: 1.6.1 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 browserify: specifier: 16.2.3 version: 16.2.3 @@ -424,7 +430,7 @@ importers: version: 2.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 @@ -445,7 +451,10 @@ importers: version: 7.1.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + tsconfig: + specifier: workspace:* + version: link:../tsconfig uglifyify: specifier: 5.0.1 version: 5.0.1 @@ -479,17 +488,17 @@ importers: specifier: ^29.7.0 version: 29.7.0 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) near-workspaces: specifier: 3.5.0 version: 3.5.0(encoding@0.1.13) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -513,14 +522,14 @@ importers: specifier: ^29.7.0 version: 29.7.0 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -556,14 +565,14 @@ importers: specifier: workspace:* version: link:../keystores '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -576,14 +585,14 @@ importers: packages/types: devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -610,14 +619,14 @@ importers: specifier: ^29.7.0 version: 29.7.0 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -659,17 +668,17 @@ importers: specifier: ^29.7.0 version: 29.7.0 '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 20.0.0 + version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -945,74 +954,74 @@ packages: '@changesets/write@0.2.3': resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} - '@commitlint/cli@17.0.3': - resolution: {integrity: sha512-oAo2vi5d8QZnAbtU5+0cR2j+A7PO8zuccux65R/EycwvsZrDVyW518FFrnJK2UQxbRtHFFIG+NjQ6vOiJV0Q8A==} - engines: {node: '>=v14'} + '@commitlint/cli@19.3.0': + resolution: {integrity: sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==} + engines: {node: '>=v18'} hasBin: true - '@commitlint/config-conventional@17.0.3': - resolution: {integrity: sha512-HCnzTm5ATwwwzNVq5Y57poS0a1oOOcd5pc1MmBpLbGmSysc4i7F/++JuwtdFPu16sgM3H9J/j2zznRLOSGVO2A==} - engines: {node: '>=v14'} + '@commitlint/config-conventional@19.2.2': + resolution: {integrity: sha512-mLXjsxUVLYEGgzbxbxicGPggDuyWNkf25Ht23owXIH+zV2pv1eJuzLK3t1gDY5Gp6pxdE60jZnWUY5cvgL3ufw==} + engines: {node: '>=v18'} - '@commitlint/config-validator@17.8.1': - resolution: {integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==} - engines: {node: '>=v14'} + '@commitlint/config-validator@19.0.3': + resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==} + engines: {node: '>=v18'} - '@commitlint/ensure@17.8.1': - resolution: {integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==} - engines: {node: '>=v14'} + '@commitlint/ensure@19.0.3': + resolution: {integrity: sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==} + engines: {node: '>=v18'} - '@commitlint/execute-rule@17.8.1': - resolution: {integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==} - engines: {node: '>=v14'} + '@commitlint/execute-rule@19.0.0': + resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==} + engines: {node: '>=v18'} - '@commitlint/format@17.8.1': - resolution: {integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==} - engines: {node: '>=v14'} + '@commitlint/format@19.3.0': + resolution: {integrity: sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==} + engines: {node: '>=v18'} - '@commitlint/is-ignored@17.8.1': - resolution: {integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==} - engines: {node: '>=v14'} + '@commitlint/is-ignored@19.2.2': + resolution: {integrity: sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==} + engines: {node: '>=v18'} - '@commitlint/lint@17.8.1': - resolution: {integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==} - engines: {node: '>=v14'} + '@commitlint/lint@19.2.2': + resolution: {integrity: sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==} + engines: {node: '>=v18'} - '@commitlint/load@17.8.1': - resolution: {integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==} - engines: {node: '>=v14'} + '@commitlint/load@19.2.0': + resolution: {integrity: sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==} + engines: {node: '>=v18'} - '@commitlint/message@17.8.1': - resolution: {integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==} - engines: {node: '>=v14'} + '@commitlint/message@19.0.0': + resolution: {integrity: sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==} + engines: {node: '>=v18'} - '@commitlint/parse@17.8.1': - resolution: {integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==} - engines: {node: '>=v14'} + '@commitlint/parse@19.0.3': + resolution: {integrity: sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==} + engines: {node: '>=v18'} - '@commitlint/read@17.8.1': - resolution: {integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==} - engines: {node: '>=v14'} + '@commitlint/read@19.2.1': + resolution: {integrity: sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw==} + engines: {node: '>=v18'} - '@commitlint/resolve-extends@17.8.1': - resolution: {integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==} - engines: {node: '>=v14'} + '@commitlint/resolve-extends@19.1.0': + resolution: {integrity: sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==} + engines: {node: '>=v18'} - '@commitlint/rules@17.8.1': - resolution: {integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==} - engines: {node: '>=v14'} + '@commitlint/rules@19.0.3': + resolution: {integrity: sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==} + engines: {node: '>=v18'} - '@commitlint/to-lines@17.8.1': - resolution: {integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==} - engines: {node: '>=v14'} + '@commitlint/to-lines@19.0.0': + resolution: {integrity: sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==} + engines: {node: '>=v18'} - '@commitlint/top-level@17.8.1': - resolution: {integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==} - engines: {node: '>=v14'} + '@commitlint/top-level@19.0.0': + resolution: {integrity: sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==} + engines: {node: '>=v18'} - '@commitlint/types@17.8.1': - resolution: {integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==} - engines: {node: '>=v14'} + '@commitlint/types@19.0.3': + resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==} + engines: {node: '>=v18'} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -1156,6 +1165,16 @@ packages: cpu: [x64] os: [win32] + '@eslint-community/eslint-utils@4.4.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 + + '@eslint-community/regexpp@4.10.1': + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/eslintrc@1.4.1': resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1430,6 +1449,9 @@ packages: '@types/cacheable-request@6.0.3': resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + '@types/conventional-commits-parser@5.0.0': + resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} + '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -1466,6 +1488,9 @@ packages: '@types/node@18.11.18': resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + '@types/node@20.0.0': + resolution: {integrity: sha512-cD2uPTDnQQCVpmRefonO98/PPijuOnnEy5oytWJFPY1N9aJCz2wJ5kSGWO+zJoed2cY2JxQh6yBuUq4vIn61hw==} + '@types/node@20.5.1': resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} @@ -1478,6 +1503,9 @@ packages: '@types/semver@6.2.7': resolution: {integrity: sha512-blctEWbzUFzQx799RZjzzIdBJOXmE37YYEyDtKkx5Dg+V7o/zyyAxLPiI98A2jdTtDgxZleMdfV+7p8WbRJ1OQ==} + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -1487,63 +1515,63 @@ packages: '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@typescript-eslint/eslint-plugin@5.31.0': - resolution: {integrity: sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/eslint-plugin@6.21.0': + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@5.31.0': - resolution: {integrity: sha512-UStjQiZ9OFTFReTrN+iGrC6O/ko9LVDhreEK5S3edmXgR396JGq7CoX2TWIptqt/ESzU2iRKXAHfSF2WJFcWHw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/parser@6.21.0': + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@5.31.0': - resolution: {integrity: sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/type-utils@5.31.0': - resolution: {integrity: sha512-7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/type-utils@6.21.0': + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@5.31.0': - resolution: {integrity: sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/typescript-estree@5.31.0': - resolution: {integrity: sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/utils@5.31.0': - resolution: {integrity: sha512-kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 - '@typescript-eslint/visitor-keys@5.31.0': - resolution: {integrity: sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -1900,6 +1928,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -1976,9 +2008,9 @@ packages: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} - commitlint@17.0.3: - resolution: {integrity: sha512-/KbIyrd6nmrRvu5zj8KKrjoC4z5V6hBmYphHgCFu75kPjHODg1XTtGFgbnb0AdSGBHlGMzmDvykO7ETs8wBKFg==} - engines: {node: '>=v14'} + commitlint@19.3.0: + resolution: {integrity: sha512-B8eUVQCjz+1ZAjR3LC3+vzKg7c4/qN4QhSxkjp0u0v7Pi79t9CsnGAluvveKmFh56e885zgToPL5ax+l8BHTPg==} + engines: {node: '>=v18'} hasBin: true compare-func@2.0.0: @@ -2002,17 +2034,17 @@ packages: constants-browserify@1.0.0: resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - conventional-changelog-angular@6.0.0: - resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} - engines: {node: '>=14'} + conventional-changelog-angular@7.0.0: + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} - conventional-changelog-conventionalcommits@5.0.0: - resolution: {integrity: sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==} - engines: {node: '>=10'} + conventional-changelog-conventionalcommits@7.0.2: + resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} + engines: {node: '>=16'} - conventional-commits-parser@4.0.0: - resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} - engines: {node: '>=14'} + conventional-commits-parser@5.0.0: + resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} + engines: {node: '>=16'} hasBin: true convert-source-map@1.1.3: @@ -2027,17 +2059,16 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cosmiconfig-typescript-loader@4.4.0: - resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} - engines: {node: '>=v14.21.3'} + cosmiconfig-typescript-loader@5.0.0: + resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} + engines: {node: '>=v16'} peerDependencies: '@types/node': '*' - cosmiconfig: '>=7' - ts-node: '>=10' + cosmiconfig: '>=8.2' typescript: '>=4' - cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' @@ -2094,9 +2125,9 @@ packages: engines: {node: '>=14.13.1'} hasBin: true - dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} + dargs@8.1.0: + resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} + engines: {node: '>=12'} dash-ast@1.0.0: resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} @@ -2276,8 +2307,8 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - electron-to-chromium@1.4.805: - resolution: {integrity: sha512-8W4UJwX/w9T0QSzINJckTKG6CYpAUTqsaWcWIsdud3I1FYJcMgW9QqT1/4CBff/pP/TihWh13OmiyY8neto6vw==} + electron-to-chromium@1.4.807: + resolution: {integrity: sha512-kSmJl2ZwhNf/bcIuCH/imtNOKlpkLDn2jqT5FJ+/0CXjhnFaOa9cOe9gHKKy71eM49izwuQjZhKk+lWQ1JxB7A==} elliptic@6.5.5: resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} @@ -2299,6 +2330,10 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -2356,10 +2391,6 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2400,10 +2431,6 @@ packages: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -2431,6 +2458,10 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} @@ -2509,6 +2540,10 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} @@ -2538,10 +2573,6 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -2612,6 +2643,10 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -2620,9 +2655,9 @@ packages: resolution: {integrity: sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==} engines: {node: '>=0.10.0'} - git-raw-commits@2.0.11: - resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} - engines: {node: '>=10'} + git-raw-commits@4.0.0: + resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} + engines: {node: '>=16'} hasBin: true gitlab@10.2.1: @@ -2642,9 +2677,9 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - global-dirs@0.1.1: - resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} - engines: {node: '>=4'} + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -2675,6 +2710,9 @@ packages: grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + gzip-size@5.1.1: resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} engines: {node: '>=6'} @@ -2749,10 +2787,6 @@ packages: hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -2789,6 +2823,10 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + humps@2.0.1: resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==} @@ -2825,6 +2863,9 @@ packages: engines: {node: '>=8'} hasBin: true + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -2850,6 +2891,10 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + inline-source-map@0.6.3: resolution: {integrity: sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==} @@ -2966,6 +3011,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -2978,9 +3027,9 @@ packages: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} - is-text-path@1.0.1: - resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} - engines: {node: '>=0.10.0'} + is-text-path@2.0.0: + resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} + engines: {node: '>=8'} is-typed-array@1.1.13: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} @@ -3158,6 +3207,10 @@ packages: node-notifier: optional: true + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + jose@4.15.7: resolution: {integrity: sha512-L7ioP+JAuZe8v+T5+zVI9Tx8LtU8BL7NxkyDFVMv+Qr3JW0jSoYDedLtodaXwfqMpeCyx4WXFNyu9tJt4WvC1A==} @@ -3293,6 +3346,10 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -3375,10 +3432,6 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lru_map@0.4.1: resolution: {integrity: sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==} @@ -3414,14 +3467,14 @@ packages: memfs-or-file-map-to-github-branch@1.2.1: resolution: {integrity: sha512-I/hQzJ2a/pCGR8fkSQ9l5Yx+FQ4e7X6blNHyWBm2ojeFLT3GVzGkTj7xnyWpdclrr7Nq4dmx3xrvu70m3ypzAQ==} + meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + meow@6.1.1: resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} engines: {node: '>=8'} - meow@8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -3449,6 +3502,10 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} @@ -3470,6 +3527,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} @@ -3587,10 +3648,6 @@ packages: normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -3603,6 +3660,10 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -3621,6 +3682,10 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -3654,6 +3719,10 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -3662,6 +3731,10 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-map@2.1.0: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} @@ -3714,6 +3787,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -3722,6 +3799,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -3836,14 +3917,6 @@ packages: resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} engines: {node: '>=6.0.0'} - q@1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - deprecated: |- - You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. - - (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) - qs@6.12.1: resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} engines: {node: '>=0.6'} @@ -3946,10 +4019,6 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve-global@1.0.0: - resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} - engines: {node: '>=8'} - resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} @@ -4020,11 +4089,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} @@ -4083,6 +4147,10 @@ packages: signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} @@ -4134,8 +4202,9 @@ packages: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} engines: {node: '>=6'} - split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -4208,6 +4277,10 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -4266,9 +4339,9 @@ packages: text-encoding-utf-8@1.0.2: resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} - text-extensions@1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} + text-extensions@2.4.0: + resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} + engines: {node: '>=8'} text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -4276,9 +4349,6 @@ packages: through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -4286,8 +4356,8 @@ packages: resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} engines: {node: '>=0.6.0'} - tldts-core@6.1.27: - resolution: {integrity: sha512-uGoj4yLqgFdgF82UpR1wCweJUcd/qMdm97VA3Xo6q7PoEYmlgQxJiVZq1b1cwshmgaLj5q86sj0smoO4QngdKw==} + tldts-core@6.1.28: + resolution: {integrity: sha512-MJIfu8oVA4GVEuZKxk1GaaLpdq45w8b/UoWwuq3k+oIWbFBFtFG37xCTe3qz7D/ZBcHFZ2LmQb66grE1/Q93Hw==} tldts@6.0.23: resolution: {integrity: sha512-LaA60X7J9mts1EliB7Nq/OBqicaI7TgsheWeQ8RR1uqwcVLjvRVHTGOkWjKAPa/XF+0t2ZBy1oF6OW8ufqOsKA==} @@ -4329,6 +4399,12 @@ packages: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + ts-jest@29.1.5: resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} @@ -4367,18 +4443,9 @@ packages: '@swc/wasm': optional: true - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tty-browserify@0.0.1: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} @@ -4473,10 +4540,6 @@ packages: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} - type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -4541,6 +4604,10 @@ packages: unfetch@4.2.0: resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + universal-url@2.0.0: resolution: {integrity: sha512-3DLtXdm/G1LQMCnPj+Aw7uDoleQttNHp2g5FnNQKR6cP6taNWS1b/Ehjjx4PVyvejKi3TJyu8iBraKM4q3JQPg==} engines: {node: '>= 6'} @@ -4683,10 +4750,6 @@ packages: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -4707,6 +4770,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + snapshots: '@ampproject/remapping@2.3.0': @@ -5116,125 +5183,121 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@commitlint/cli@17.0.3': + '@commitlint/cli@19.3.0(@types/node@20.5.1)(typescript@5.4.5)': dependencies: - '@commitlint/format': 17.8.1 - '@commitlint/lint': 17.8.1 - '@commitlint/load': 17.8.1 - '@commitlint/read': 17.8.1 - '@commitlint/types': 17.8.1 - execa: 5.1.1 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 + '@commitlint/format': 19.3.0 + '@commitlint/lint': 19.2.2 + '@commitlint/load': 19.2.0(@types/node@20.5.1)(typescript@5.4.5) + '@commitlint/read': 19.2.1 + '@commitlint/types': 19.0.3 + execa: 8.0.1 yargs: 17.7.2 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + - '@types/node' + - typescript - '@commitlint/config-conventional@17.0.3': + '@commitlint/config-conventional@19.2.2': dependencies: - conventional-changelog-conventionalcommits: 5.0.0 + '@commitlint/types': 19.0.3 + conventional-changelog-conventionalcommits: 7.0.2 - '@commitlint/config-validator@17.8.1': + '@commitlint/config-validator@19.0.3': dependencies: - '@commitlint/types': 17.8.1 + '@commitlint/types': 19.0.3 ajv: 8.16.0 - '@commitlint/ensure@17.8.1': + '@commitlint/ensure@19.0.3': dependencies: - '@commitlint/types': 17.8.1 + '@commitlint/types': 19.0.3 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 lodash.startcase: 4.4.0 lodash.upperfirst: 4.3.1 - '@commitlint/execute-rule@17.8.1': {} + '@commitlint/execute-rule@19.0.0': {} - '@commitlint/format@17.8.1': + '@commitlint/format@19.3.0': dependencies: - '@commitlint/types': 17.8.1 - chalk: 4.1.1 + '@commitlint/types': 19.0.3 + chalk: 5.3.0 - '@commitlint/is-ignored@17.8.1': + '@commitlint/is-ignored@19.2.2': dependencies: - '@commitlint/types': 17.8.1 - semver: 7.5.4 + '@commitlint/types': 19.0.3 + semver: 7.6.2 - '@commitlint/lint@17.8.1': + '@commitlint/lint@19.2.2': dependencies: - '@commitlint/is-ignored': 17.8.1 - '@commitlint/parse': 17.8.1 - '@commitlint/rules': 17.8.1 - '@commitlint/types': 17.8.1 + '@commitlint/is-ignored': 19.2.2 + '@commitlint/parse': 19.0.3 + '@commitlint/rules': 19.0.3 + '@commitlint/types': 19.0.3 - '@commitlint/load@17.8.1': + '@commitlint/load@19.2.0(@types/node@20.5.1)(typescript@5.4.5)': dependencies: - '@commitlint/config-validator': 17.8.1 - '@commitlint/execute-rule': 17.8.1 - '@commitlint/resolve-extends': 17.8.1 - '@commitlint/types': 17.8.1 - '@types/node': 20.5.1 - chalk: 4.1.1 - cosmiconfig: 8.3.6(typescript@5.4.5) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.4.5))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))(typescript@5.4.5) + '@commitlint/config-validator': 19.0.3 + '@commitlint/execute-rule': 19.0.0 + '@commitlint/resolve-extends': 19.1.0 + '@commitlint/types': 19.0.3 + chalk: 5.3.0 + cosmiconfig: 9.0.0(typescript@5.4.5) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.5.1)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.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.2(@types/node@20.5.1)(typescript@5.4.5) - typescript: 5.4.5 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + - '@types/node' + - typescript - '@commitlint/message@17.8.1': {} + '@commitlint/message@19.0.0': {} - '@commitlint/parse@17.8.1': + '@commitlint/parse@19.0.3': dependencies: - '@commitlint/types': 17.8.1 - conventional-changelog-angular: 6.0.0 - conventional-commits-parser: 4.0.0 + '@commitlint/types': 19.0.3 + conventional-changelog-angular: 7.0.0 + conventional-commits-parser: 5.0.0 - '@commitlint/read@17.8.1': + '@commitlint/read@19.2.1': dependencies: - '@commitlint/top-level': 17.8.1 - '@commitlint/types': 17.8.1 - fs-extra: 11.2.0 - git-raw-commits: 2.0.11 + '@commitlint/top-level': 19.0.0 + '@commitlint/types': 19.0.3 + execa: 8.0.1 + git-raw-commits: 4.0.0 minimist: 1.2.8 - '@commitlint/resolve-extends@17.8.1': + '@commitlint/resolve-extends@19.1.0': dependencies: - '@commitlint/config-validator': 17.8.1 - '@commitlint/types': 17.8.1 - import-fresh: 3.3.0 + '@commitlint/config-validator': 19.0.3 + '@commitlint/types': 19.0.3 + global-directory: 4.0.1 + import-meta-resolve: 4.1.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 - resolve-global: 1.0.0 - '@commitlint/rules@17.8.1': + '@commitlint/rules@19.0.3': dependencies: - '@commitlint/ensure': 17.8.1 - '@commitlint/message': 17.8.1 - '@commitlint/to-lines': 17.8.1 - '@commitlint/types': 17.8.1 - execa: 5.1.1 + '@commitlint/ensure': 19.0.3 + '@commitlint/message': 19.0.0 + '@commitlint/to-lines': 19.0.0 + '@commitlint/types': 19.0.3 + execa: 8.0.1 - '@commitlint/to-lines@17.8.1': {} + '@commitlint/to-lines@19.0.0': {} - '@commitlint/top-level@17.8.1': + '@commitlint/top-level@19.0.0': dependencies: - find-up: 5.0.0 + find-up: 7.0.0 - '@commitlint/types@17.8.1': + '@commitlint/types@19.0.3': dependencies: - chalk: 4.1.1 + '@types/conventional-commits-parser': 5.0.0 + chalk: 5.3.0 '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 + optional: true '@esbuild/aix-ppc64@0.21.5': optional: true @@ -5305,6 +5368,13 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true + '@eslint-community/eslint-utils@4.4.0(eslint@8.20.0)': + dependencies: + eslint: 8.20.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.1': {} + '@eslint/eslintrc@1.4.1': dependencies: ajv: 6.12.6 @@ -5344,27 +5414,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 chalk: 4.1.1 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 ansi-escapes: 4.3.2 chalk: 4.1.1 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5392,14 +5462,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 ansi-escapes: 4.3.2 chalk: 4.1.1 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5424,7 +5494,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -5442,7 +5512,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.11.18 + '@types/node': 20.0.0 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5464,7 +5534,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 18.11.18 + '@types/node': 20.0.0 chalk: 4.1.1 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -5534,7 +5604,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.11.18 + '@types/node': 20.0.0 '@types/yargs': 17.0.32 chalk: 4.1.1 @@ -5559,6 +5629,7 @@ snapshots: dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + optional: true '@manypkg/find-root@1.1.0': dependencies: @@ -5798,13 +5869,17 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tsconfig/node10@1.0.11': {} + '@tsconfig/node10@1.0.11': + optional: true - '@tsconfig/node12@1.0.11': {} + '@tsconfig/node12@1.0.11': + optional: true - '@tsconfig/node14@1.0.3': {} + '@tsconfig/node14@1.0.3': + optional: true - '@tsconfig/node16@1.0.4': {} + '@tsconfig/node16@1.0.4': + optional: true '@types/babel__core@7.20.5': dependencies: @@ -5831,12 +5906,16 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 18.11.18 + '@types/node': 20.0.0 '@types/responselike': 1.0.3 + '@types/conventional-commits-parser@5.0.0': + dependencies: + '@types/node': 20.0.0 + '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 18.11.18 + '@types/node': 20.0.0 '@types/http-cache-semantics@4.0.4': {} @@ -5860,7 +5939,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 18.11.18 + '@types/node': 20.0.0 '@types/minimist@1.2.5': {} @@ -5868,16 +5947,20 @@ snapshots: '@types/node@18.11.18': {} + '@types/node@20.0.0': {} + '@types/node@20.5.1': {} '@types/normalize-package-data@2.4.4': {} '@types/responselike@1.0.3': dependencies: - '@types/node': 18.11.18 + '@types/node': 20.0.0 '@types/semver@6.2.7': {} + '@types/semver@7.5.8': {} + '@types/stack-utils@2.0.3': {} '@types/yargs-parser@21.0.3': {} @@ -5886,29 +5969,32 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@5.31.0(@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@5.4.5))(eslint@8.20.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.20.0)(typescript@5.4.5))(eslint@8.20.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/parser': 5.31.0(eslint@8.20.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 5.31.0 - '@typescript-eslint/type-utils': 5.31.0(eslint@8.20.0)(typescript@5.4.5) - '@typescript-eslint/utils': 5.31.0(eslint@8.20.0)(typescript@5.4.5) + '@eslint-community/regexpp': 4.10.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.20.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.20.0)(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.20.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.5 eslint: 8.20.0 - functional-red-black-tree: 1.0.1 + graphemer: 1.4.0 ignore: 5.3.1 - regexpp: 3.2.0 + natural-compare: 1.4.0 semver: 7.6.2 - tsutils: 3.21.0(typescript@5.4.5) + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.31.0(eslint@8.20.0)(typescript@5.4.5)': + '@typescript-eslint/parser@6.21.0(eslint@8.20.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 5.31.0 - '@typescript-eslint/types': 5.31.0 - '@typescript-eslint/typescript-estree': 5.31.0(typescript@5.4.5) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.5 eslint: 8.20.0 optionalDependencies: @@ -5916,54 +6002,57 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@5.31.0': + '@typescript-eslint/scope-manager@6.21.0': dependencies: - '@typescript-eslint/types': 5.31.0 - '@typescript-eslint/visitor-keys': 5.31.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/type-utils@5.31.0(eslint@8.20.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@6.21.0(eslint@8.20.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/utils': 5.31.0(eslint@8.20.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.20.0)(typescript@5.4.5) debug: 4.3.5 eslint: 8.20.0 - tsutils: 3.21.0(typescript@5.4.5) + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@5.31.0': {} + '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/typescript-estree@5.31.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 5.31.0 - '@typescript-eslint/visitor-keys': 5.31.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.3 semver: 7.6.2 - tsutils: 3.21.0(typescript@5.4.5) + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.31.0(eslint@8.20.0)(typescript@5.4.5)': + '@typescript-eslint/utils@6.21.0(eslint@8.20.0)(typescript@5.4.5)': dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.20.0) '@types/json-schema': 7.0.15 - '@typescript-eslint/scope-manager': 5.31.0 - '@typescript-eslint/types': 5.31.0 - '@typescript-eslint/typescript-estree': 5.31.0(typescript@5.4.5) + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) eslint: 8.20.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.20.0) + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@5.31.0': + '@typescript-eslint/visitor-keys@6.21.0': dependencies: - '@typescript-eslint/types': 5.31.0 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 JSONStream@1.3.5: @@ -5990,6 +6079,7 @@ snapshots: acorn-walk@8.3.3: dependencies: acorn: 8.12.0 + optional: true acorn@7.4.1: {} @@ -6038,7 +6128,8 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - arg@4.1.3: {} + arg@4.1.3: + optional: true argparse@1.0.10: dependencies: @@ -6328,7 +6419,7 @@ snapshots: browserslist@4.23.1: dependencies: caniuse-lite: 1.0.30001636 - electron-to-chromium: 1.4.805 + electron-to-chromium: 1.4.807 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) @@ -6457,6 +6548,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chalk@5.3.0: {} + char-regex@1.0.2: {} chardet@0.7.0: {} @@ -6525,13 +6618,13 @@ snapshots: commander@5.1.0: {} - commitlint@17.0.3: + commitlint@19.3.0(@types/node@20.5.1)(typescript@5.4.5): dependencies: - '@commitlint/cli': 17.0.3 - '@commitlint/types': 17.8.1 + '@commitlint/cli': 19.3.0(@types/node@20.5.1)(typescript@5.4.5) + '@commitlint/types': 19.0.3 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + - '@types/node' + - typescript compare-func@2.0.0: dependencies: @@ -6563,22 +6656,20 @@ snapshots: constants-browserify@1.0.0: {} - conventional-changelog-angular@6.0.0: + conventional-changelog-angular@7.0.0: dependencies: compare-func: 2.0.0 - conventional-changelog-conventionalcommits@5.0.0: + conventional-changelog-conventionalcommits@7.0.2: dependencies: compare-func: 2.0.0 - lodash: 4.17.21 - q: 1.5.1 - conventional-commits-parser@4.0.0: + conventional-commits-parser@5.0.0: dependencies: JSONStream: 1.3.5 - is-text-path: 1.0.1 - meow: 8.1.2 - split2: 3.2.2 + is-text-path: 2.0.0 + meow: 12.1.1 + split2: 4.2.0 convert-source-map@1.1.3: {} @@ -6588,19 +6679,19 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.4.5))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))(typescript@5.4.5): + cosmiconfig-typescript-loader@5.0.0(@types/node@20.5.1)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): dependencies: '@types/node': 20.5.1 - cosmiconfig: 8.3.6(typescript@5.4.5) - ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) + cosmiconfig: 9.0.0(typescript@5.4.5) + jiti: 1.21.6 typescript: 5.4.5 - cosmiconfig@8.3.6(typescript@5.4.5): + cosmiconfig@9.0.0(typescript@5.4.5): dependencies: + env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - path-type: 4.0.0 optionalDependencies: typescript: 5.4.5 @@ -6626,13 +6717,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): + create-jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.1 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -6656,7 +6747,8 @@ snapshots: - supports-color - ts-node - create-require@1.1.1: {} + create-require@1.1.1: + optional: true cross-spawn@5.1.0: dependencies: @@ -6748,7 +6840,7 @@ snapshots: - encoding - supports-color - dargs@7.0.0: {} + dargs@8.1.0: {} dash-ast@1.0.0: {} @@ -6864,7 +6956,8 @@ snapshots: diff-sequences@29.6.3: {} - diff@4.0.2: {} + diff@4.0.2: + optional: true diffie-hellman@5.0.3: dependencies: @@ -6898,7 +6991,7 @@ snapshots: dependencies: safe-buffer: 5.2.1 - electron-to-chromium@1.4.805: {} + electron-to-chromium@1.4.807: {} elliptic@6.5.5: dependencies: @@ -6927,6 +7020,8 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 + env-paths@2.2.1: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -7046,11 +7141,6 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 @@ -7121,8 +7211,6 @@ snapshots: dependencies: estraverse: 5.3.0 - estraverse@4.3.0: {} - estraverse@5.3.0: {} esutils@2.0.3: {} @@ -7150,6 +7238,18 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + exit@0.1.2: {} expand-tilde@2.0.2: @@ -7236,6 +7336,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + find-yarn-workspace-root2@1.2.16: dependencies: micromatch: 4.0.7 @@ -7273,12 +7379,6 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 - fs-extra@11.2.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 @@ -7345,6 +7445,8 @@ snapshots: get-stream@6.0.1: {} + get-stream@8.0.1: {} + get-symbol-description@1.0.2: dependencies: call-bind: 1.0.7 @@ -7357,13 +7459,11 @@ snapshots: fs-exists-sync: 0.1.0 homedir-polyfill: 1.0.3 - git-raw-commits@2.0.11: + git-raw-commits@4.0.0: dependencies: - dargs: 7.0.0 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 + dargs: 8.1.0 + meow: 12.1.1 + split2: 4.2.0 gitlab@10.2.1(encoding@0.1.13): dependencies: @@ -7394,9 +7494,9 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - global-dirs@0.1.1: + global-directory@4.0.1: dependencies: - ini: 1.3.8 + ini: 4.1.1 globals@11.12.0: {} @@ -7440,6 +7540,8 @@ snapshots: grapheme-splitter@1.0.4: {} + graphemer@1.4.0: {} + gzip-size@5.1.1: dependencies: duplexer: 0.1.2 @@ -7505,10 +7607,6 @@ snapshots: hosted-git-info@2.8.9: {} - hosted-git-info@4.1.0: - dependencies: - lru-cache: 6.0.0 - html-escaper@2.0.2: {} htmlescape@1.1.1: {} @@ -7548,6 +7646,8 @@ snapshots: human-signals@2.1.0: {} + human-signals@5.0.0: {} + humps@2.0.1: {} husky@7.0.4: {} @@ -7576,6 +7676,8 @@ snapshots: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + import-meta-resolve@4.1.0: {} + imurmurhash@0.1.4: {} in-publish@2.0.0: {} @@ -7593,6 +7695,8 @@ snapshots: ini@1.3.8: {} + ini@4.1.1: {} + inline-source-map@0.6.3: dependencies: source-map: 0.5.7 @@ -7703,6 +7807,8 @@ snapshots: is-stream@2.0.1: {} + is-stream@3.0.0: {} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 @@ -7715,9 +7821,9 @@ snapshots: dependencies: has-symbols: 1.0.3 - is-text-path@1.0.1: + is-text-path@2.0.0: dependencies: - text-extensions: 1.9.0 + text-extensions: 2.4.0 is-typed-array@1.1.13: dependencies: @@ -7795,7 +7901,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 chalk: 4.1.1 co: 4.6.0 dedent: 1.5.3 @@ -7815,16 +7921,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): + jest-cli@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.1 - create-jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + create-jest: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -7853,7 +7959,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): + jest-config@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -7878,13 +7984,13 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 18.11.18 - ts-node: 10.9.2(@types/node@18.11.18)(typescript@5.4.5) + '@types/node': 20.0.0 + ts-node: 10.9.2(@types/node@20.0.0)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): + jest-config@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -7909,7 +8015,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 18.11.18 + '@types/node': 20.0.0 ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros @@ -7970,7 +8076,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -7980,7 +8086,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 18.11.18 + '@types/node': 20.0.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -8019,7 +8125,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -8054,7 +8160,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 chalk: 4.1.1 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -8082,7 +8188,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 chalk: 4.1.1 cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 @@ -8128,7 +8234,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 chalk: 4.1.1 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -8147,7 +8253,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.11.18 + '@types/node': 20.0.0 ansi-escapes: 4.3.2 chalk: 4.1.1 emittery: 0.13.1 @@ -8156,17 +8262,17 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 18.11.18 + '@types/node': 20.0.0 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): + jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest-cli: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -8185,6 +8291,8 @@ snapshots: - supports-color - ts-node + jiti@1.21.6: {} + jose@4.15.7: {} js-sha256@0.9.0: {} @@ -8315,6 +8423,10 @@ snapshots: dependencies: p-locate: 5.0.0 + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + lodash.camelcase@4.3.0: {} lodash.find@4.6.0: {} @@ -8374,10 +8486,6 @@ snapshots: dependencies: yallist: 3.1.1 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - lru_map@0.4.1: {} lunr@2.3.9: {} @@ -8410,6 +8518,8 @@ snapshots: transitivePeerDependencies: - encoding + meow@12.1.1: {} + meow@6.1.1: dependencies: '@types/minimist': 1.2.5 @@ -8424,20 +8534,6 @@ snapshots: type-fest: 0.13.1 yargs-parser: 18.1.3 - meow@8.1.2: - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -8460,6 +8556,8 @@ snapshots: mimic-fn@2.1.0: {} + mimic-fn@4.0.0: {} + mimic-response@1.0.1: {} mimic-response@3.1.0: {} @@ -8474,6 +8572,10 @@ snapshots: dependencies: brace-expansion: 1.1.11 + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 @@ -8626,13 +8728,6 @@ snapshots: semver: 5.7.2 validate-npm-package-license: 3.0.4 - normalize-package-data@3.0.3: - dependencies: - hosted-git-info: 4.1.0 - is-core-module: 2.13.1 - semver: 7.6.2 - validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} normalize-url@6.1.0: {} @@ -8641,6 +8736,10 @@ snapshots: dependencies: path-key: 3.1.1 + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + object-inspect@1.13.1: {} object-keys@1.1.1: {} @@ -8660,6 +8759,10 @@ snapshots: dependencies: mimic-fn: 2.1.0 + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -8691,6 +8794,10 @@ snapshots: dependencies: yocto-queue: 0.1.0 + p-limit@4.0.0: + dependencies: + yocto-queue: 1.0.0 + p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -8699,6 +8806,10 @@ snapshots: dependencies: p-limit: 3.1.0 + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + p-map@2.1.0: {} p-try@2.2.0: {} @@ -8749,10 +8860,14 @@ snapshots: path-exists@4.0.0: {} + path-exists@5.0.0: {} + path-is-absolute@1.0.1: {} path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-platform@0.11.15: {} @@ -8860,8 +8975,6 @@ snapshots: pvutils@1.1.3: {} - q@1.5.1: {} - qs@6.12.1: dependencies: side-channel: 1.0.6 @@ -8968,10 +9081,6 @@ snapshots: resolve-from@5.0.0: {} - resolve-global@1.0.0: - dependencies: - global-dirs: 0.1.1 - resolve.exports@2.0.2: {} resolve@1.1.7: {} @@ -9038,10 +9147,6 @@ snapshots: semver@7.1.1: {} - semver@7.5.4: - dependencies: - lru-cache: 6.0.0 - semver@7.6.2: {} set-blocking@2.0.0: {} @@ -9108,6 +9213,8 @@ snapshots: signal-exit@3.0.7: {} + signal-exit@4.1.0: {} + simple-concat@1.0.1: {} sisteransi@1.0.5: {} @@ -9160,9 +9267,7 @@ snapshots: split-on-first@1.1.0: {} - split2@3.2.2: - dependencies: - readable-stream: 3.6.2 + split2@4.2.0: {} sprintf-js@1.0.3: {} @@ -9249,6 +9354,8 @@ snapshots: strip-final-newline@2.0.0: {} + strip-final-newline@3.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -9310,7 +9417,7 @@ snapshots: text-encoding-utf-8@1.0.2: {} - text-extensions@1.9.0: {} + text-extensions@2.4.0: {} text-table@0.2.0: {} @@ -9319,21 +9426,17 @@ snapshots: readable-stream: 2.3.8 xtend: 4.0.2 - through2@4.0.2: - dependencies: - readable-stream: 3.6.2 - through@2.3.8: {} timers-browserify@1.4.2: dependencies: process: 0.11.10 - tldts-core@6.1.27: {} + tldts-core@6.1.28: {} tldts@6.0.23: dependencies: - tldts-core: 6.1.27 + tldts-core: 6.1.28 tmp@0.0.33: dependencies: @@ -9361,11 +9464,15 @@ snapshots: trim-newlines@3.0.1: {} - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5): + ts-api-utils@1.3.0(typescript@5.4.5): + dependencies: + typescript: 5.4.5 + + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -9398,14 +9505,14 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.7) - ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5): + ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.11.18 + '@types/node': 20.0.0 acorn: 8.12.0 acorn-walk: 8.3.3 arg: 4.1.3 @@ -9434,16 +9541,10 @@ snapshots: typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - - tslib@1.14.1: {} + optional: true tslib@2.6.3: {} - tsutils@3.21.0(typescript@5.4.5): - dependencies: - tslib: 1.14.1 - typescript: 5.4.5 - tty-browserify@0.0.1: {} tty-table@4.2.3: @@ -9523,8 +9624,6 @@ snapshots: type-fest@0.13.1: {} - type-fest@0.18.1: {} - type-fest@0.20.2: {} type-fest@0.21.3: {} @@ -9604,6 +9703,8 @@ snapshots: unfetch@4.2.0: {} + unicorn-magic@0.1.0: {} + universal-url@2.0.0: dependencies: hasurl: 1.0.0 @@ -9636,7 +9737,8 @@ snapshots: dependencies: inherits: 2.0.3 - v8-compile-cache-lib@3.0.1: {} + v8-compile-cache-lib@3.0.1: + optional: true v8-compile-cache@2.4.0: {} @@ -9757,8 +9859,6 @@ snapshots: camelcase: 5.3.1 decamelize: 1.2.0 - yargs-parser@20.2.9: {} - yargs-parser@21.1.1: {} yargs@15.4.1: @@ -9785,6 +9885,9 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yn@3.1.1: {} + yn@3.1.1: + optional: true yocto-queue@0.1.0: {} + + yocto-queue@1.0.0: {} From 50abadb8507f975ef6e383071c393dda0dc06581 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Thu, 20 Jun 2024 14:33:15 -0700 Subject: [PATCH 22/45] test: restore timeouts --- packages/accounts/test/account.access_key.test.ts | 4 +++- packages/accounts/test/account.test.ts | 3 ++- packages/accounts/test/account_multisig.test.ts | 4 +++- packages/accounts/test/promise.test.ts | 6 ++++-- packages/providers/test/providers.test.ts | 4 ++-- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/accounts/test/account.access_key.test.ts b/packages/accounts/test/account.access_key.test.ts index 04264ac082..831b1c57b5 100644 --- a/packages/accounts/test/account.access_key.test.ts +++ b/packages/accounts/test/account.access_key.test.ts @@ -1,4 +1,4 @@ -import { beforeAll, beforeEach, expect, test } from '@jest/globals'; +import { beforeAll, beforeEach, expect, jest, test } from '@jest/globals'; import { KeyPair } from '@near-js/crypto'; import { createAccount, deployContract, generateUniqueString, networkId, setUpTestConnection } from './test-utils'; @@ -8,6 +8,8 @@ let workingAccount; let contractId; let contract; +jest.setTimeout(50000); + beforeAll(async () => { nearjs = await setUpTestConnection(); }); diff --git a/packages/accounts/test/account.test.ts b/packages/accounts/test/account.test.ts index c0882a20f2..c202077679 100644 --- a/packages/accounts/test/account.test.ts +++ b/packages/accounts/test/account.test.ts @@ -1,4 +1,4 @@ -import { afterAll, beforeAll, beforeEach, describe, expect, test } from '@jest/globals'; +import { afterAll, beforeAll, beforeEach, describe, expect, jest, test } from '@jest/globals'; import { KeyType } from '@near-js/crypto'; import { getTransactionLastResult, Logger } from '@near-js/utils'; import { actionCreators } from '@near-js/transactions'; @@ -11,6 +11,7 @@ import { createAccount, generateUniqueString, HELLO_WASM_PATH, HELLO_WASM_BALANC let nearjs; let workingAccount; +jest.setTimeout(50000); beforeAll(async () => { nearjs = await setUpTestConnection(); diff --git a/packages/accounts/test/account_multisig.test.ts b/packages/accounts/test/account_multisig.test.ts index bb1b3101ce..996a32e5db 100644 --- a/packages/accounts/test/account_multisig.test.ts +++ b/packages/accounts/test/account_multisig.test.ts @@ -1,4 +1,4 @@ -import { beforeAll, describe, expect, test } from '@jest/globals'; +import { beforeAll, describe, expect, jest, test } from '@jest/globals'; import { parseNearAmount } from '@near-js/utils'; import { KeyPair } from '@near-js/crypto'; import { InMemorySigner } from '@near-js/signers'; @@ -14,6 +14,8 @@ const { functionCall, transfer } = actionCreators; let nearjs; let startFromVersion; +jest.setTimeout(50000); + const getAccount2FA = async (account, keyMapping = ({ public_key: publicKey }) => ({ publicKey, kind: 'phone' })) => { // modifiers to functions replaces contract helper (CH) const { accountId } = account; diff --git a/packages/accounts/test/promise.test.ts b/packages/accounts/test/promise.test.ts index 85d27a5e67..8b90e305d0 100644 --- a/packages/accounts/test/promise.test.ts +++ b/packages/accounts/test/promise.test.ts @@ -1,9 +1,11 @@ -import { afterEach, beforeAll, beforeEach, describe, expect, test } from '@jest/globals'; +import { afterEach, beforeAll, beforeEach, describe, expect, jest, test } from '@jest/globals'; import { deployContract, generateUniqueString, setUpTestConnection } from './test-utils'; let nearjs; -const CONTRACT_CALL_GAS = BigInt(300000000000000); +const CONTRACT_CALL_GAS = 300000000000000n; + +jest.setTimeout(120000); beforeAll(async () => { nearjs = await setUpTestConnection(); diff --git a/packages/providers/test/providers.test.ts b/packages/providers/test/providers.test.ts index 8361681bb0..7da83fa2ab 100644 --- a/packages/providers/test/providers.test.ts +++ b/packages/providers/test/providers.test.ts @@ -1,10 +1,10 @@ -import { afterAll, beforeAll, describe, expect, test } from '@jest/globals'; +import { afterAll, beforeAll, describe, expect, jest, test } from '@jest/globals'; import { getTransactionLastResult } from '@near-js/utils'; import { Worker } from 'near-workspaces'; import { TextEncoder } from 'util'; import { FailoverRpcProvider, JsonRpcProvider } from '../src'; - +jest.setTimeout(20000); global.TextEncoder = TextEncoder; ['json provider', 'fallback provider'].forEach((name) => { From c7fee11ecf5c22aadc590b52b62d752c1e81c16e Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Thu, 20 Jun 2024 14:37:49 -0700 Subject: [PATCH 23/45] feat: export test config --- packages/near-api-js/jest.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/near-api-js/jest.config.js b/packages/near-api-js/jest.config.js index 749b7fcb2d..4b2c7ee3d5 100644 --- a/packages/near-api-js/jest.config.js +++ b/packages/near-api-js/jest.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { preset: 'ts-jest', testEnvironment: 'node', collectCoverage: true From 4a57f85d7f7974e62e7821fef3e0663b404926e9 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 21 Jun 2024 11:13:47 -0700 Subject: [PATCH 24/45] test: remove bad @ts-ignore-errors --- packages/accounts/test/providers.test.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/accounts/test/providers.test.ts b/packages/accounts/test/providers.test.ts index cac105ee13..c0989c5138 100644 --- a/packages/accounts/test/providers.test.ts +++ b/packages/accounts/test/providers.test.ts @@ -22,9 +22,7 @@ describe('providers', () => { const outcome = await sender.sendMoney(receiver.accountId, BigInt('1')); const responseWithString = await provider.txStatus(outcome.transaction.hash, sender.accountId); const responseWithUint8Array = await provider.txStatus(base58.decode(outcome.transaction.hash), sender.accountId); - // @ts-expect-error test input expect(responseWithString).toMatchObject(outcome); - // @ts-expect-error test input expect(responseWithUint8Array).toMatchObject(outcome); }); From a673324baa844ce903138bc4f64dd02863c3e056 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 21 Jun 2024 11:18:56 -0700 Subject: [PATCH 25/45] refactor: bigint literals --- packages/accounts/src/account.ts | 8 ++++---- packages/accounts/src/account_2fa.ts | 2 +- packages/accounts/src/constants.ts | 4 ++-- .../accounts/src/local-view-execution/runtime.ts | 8 ++++---- packages/accounts/test/account.test.ts | 6 +++--- packages/accounts/test/providers.test.ts | 4 ++-- packages/transactions/src/action_creators.ts | 8 ++++---- packages/transactions/test/serialize.test.ts | 2 +- packages/transactions/test/transaction.test.ts | 12 ++++++------ packages/utils/src/constants.ts | 2 +- packages/utils/src/format.ts | 6 +++--- packages/utils/src/validators.ts | 10 +++++----- packages/utils/test/validator.test.ts | 10 +++++----- packages/wallet-account/src/near.ts | 2 +- packages/wallet-account/src/wallet_account.ts | 2 +- 15 files changed, 43 insertions(+), 43 deletions(-) diff --git a/packages/accounts/src/account.ts b/packages/accounts/src/account.ts index feb61ab188..47fe2245f8 100644 --- a/packages/accounts/src/account.ts +++ b/packages/accounts/src/account.ts @@ -152,7 +152,7 @@ export class Account implements IntoConnection { const block = await this.connection.provider.block({ finality: 'final' }); const blockHash = block.header.hash; - const nonce = accessKey.nonce + BigInt(1); + const nonce = accessKey.nonce + 1n; return await signTransaction( receiverId, nonce, actions, baseDecode(blockHash), this.connection.signer, this.accountId, this.connection.networkId ); @@ -444,7 +444,7 @@ export class Account implements IntoConnection { const delegateAction = buildDelegateAction({ actions, maxBlockHeight: BigInt(header.height) + BigInt(blockHeightTtl), - nonce: BigInt(accessKey.nonce) + BigInt(1), + nonce: BigInt(accessKey.nonce) + 1n, publicKey, receiverId, senderId: this.accountId, @@ -610,7 +610,7 @@ export class Account implements IntoConnection { const validatorId = uniquePools[index]; if (state.status === 'fulfilled') { const currentBN = BigInt(state.value); - if (currentBN !== BigInt(0)) { + if (currentBN !== 0n) { return { ...result, stakedValidators: [...result.stakedValidators, { validatorId, amount: currentBN.toString() }], @@ -626,7 +626,7 @@ export class Account implements IntoConnection { } return result; }, - { stakedValidators: [], failedValidators: [], total: BigInt(0) }); + { stakedValidators: [], failedValidators: [], total: 0n }); return { ...summary, diff --git a/packages/accounts/src/account_2fa.ts b/packages/accounts/src/account_2fa.ts index 26ce031c46..c2ba68caa3 100644 --- a/packages/accounts/src/account_2fa.ts +++ b/packages/accounts/src/account_2fa.ts @@ -160,7 +160,7 @@ export class Account2FA extends AccountMultisig { const currentAccountStateKeys = currentAccountState.map(({ key }) => key.toString('base64')); return currentAccountState.length ? [ deployContract(cleanupContractBytes), - functionCall('clean', { keys: currentAccountStateKeys }, MULTISIG_GAS, BigInt('0')) + functionCall('clean', { keys: currentAccountStateKeys }, MULTISIG_GAS, 0n) ] : []; } diff --git a/packages/accounts/src/constants.ts b/packages/accounts/src/constants.ts index ad8bec4dac..7a14e61e7b 100644 --- a/packages/accounts/src/constants.ts +++ b/packages/accounts/src/constants.ts @@ -3,7 +3,7 @@ import { parseNearAmount } from '@near-js/utils'; export const MULTISIG_STORAGE_KEY = '__multisigRequest'; export const MULTISIG_ALLOWANCE = BigInt(parseNearAmount('1')); // TODO: Different gas value for different requests (can reduce gas usage dramatically) -export const MULTISIG_GAS = BigInt('100000000000000'); -export const MULTISIG_DEPOSIT = BigInt('0'); +export const MULTISIG_GAS = 100000000000000n; +export const MULTISIG_DEPOSIT = 0n; export const MULTISIG_CHANGE_METHODS = ['add_request', 'add_request_and_confirm', 'delete_request', 'confirm']; export const MULTISIG_CONFIRM_METHODS = ['confirm']; diff --git a/packages/accounts/src/local-view-execution/runtime.ts b/packages/accounts/src/local-view-execution/runtime.ts index 34311d2ee1..b005d5d16b 100644 --- a/packages/accounts/src/local-view-execution/runtime.ts +++ b/packages/accounts/src/local-view-execution/runtime.ts @@ -298,21 +298,21 @@ export class Runtime { const result = this.storageRead(key_len, key_ptr); if (result == null) { - return BigInt(0); + return 0n; } this.registers[register_id] = result; - return BigInt(1); + return 1n; } private hasStorageKey (key_len: bigint, key_ptr: bigint): bigint { const result = this.storageRead(key_len, key_ptr); if (result == null) { - return BigInt(0); + return 0n; } - return BigInt(1); + return 1n; } private getHostImports() { diff --git a/packages/accounts/test/account.test.ts b/packages/accounts/test/account.test.ts index c202077679..d8ffd908d1 100644 --- a/packages/accounts/test/account.test.ts +++ b/packages/accounts/test/account.test.ts @@ -42,7 +42,7 @@ test('create account with a secp256k1 key and then view account returns the crea const newAccountName = generateUniqueString('test'); const newAccountPublicKey = 'secp256k1:45KcWwYt6MYRnnWFSxyQVkuu9suAzxoSkUMEnFNBi9kDayTo5YPUaqMWUrf7YHUDNMMj3w75vKuvfAMgfiFXBy28'; const { amount } = await workingAccount.state(); - const newAmount = BigInt(amount) / BigInt(10); + const newAmount = BigInt(amount) / 10n; await nearjs.accountCreator.masterAccount.createAccount(newAccountName, newAccountPublicKey, newAmount); const newAccount = new Account(nearjs.connection, newAccountName); const state = await newAccount.state(); @@ -53,9 +53,9 @@ test('Secp256k1 send money', async() => { const sender = await createAccount(nearjs, KeyType.SECP256K1); const receiver = await createAccount(nearjs, KeyType.SECP256K1); const { amount: receiverAmount } = await receiver.state(); - await sender.sendMoney(receiver.accountId, BigInt(10000)); + await sender.sendMoney(receiver.accountId, 10000n); const state = await receiver.state(); - expect(state.amount).toEqual((BigInt(receiverAmount) + BigInt(10000)).toString()); + expect(state.amount).toEqual((BigInt(receiverAmount) + 10000n).toString()); }); test('send money', async() => { diff --git a/packages/accounts/test/providers.test.ts b/packages/accounts/test/providers.test.ts index c0989c5138..63d751c372 100644 --- a/packages/accounts/test/providers.test.ts +++ b/packages/accounts/test/providers.test.ts @@ -19,7 +19,7 @@ describe('providers', () => { test('txStatus with string hash and buffer hash', async () => { const sender = await createAccount(near); const receiver = await createAccount(near); - const outcome = await sender.sendMoney(receiver.accountId, BigInt('1')); + const outcome = await sender.sendMoney(receiver.accountId, 1n); const responseWithString = await provider.txStatus(outcome.transaction.hash, sender.accountId); const responseWithUint8Array = await provider.txStatus(base58.decode(outcome.transaction.hash), sender.accountId); expect(responseWithString).toMatchObject(outcome); @@ -29,7 +29,7 @@ describe('providers', () => { test('txStatusReciept with string hash and buffer hash', async () => { const sender = await createAccount(near); const receiver = await createAccount(near); - const outcome = await sender.sendMoney(receiver.accountId, BigInt('1')); + const outcome = await sender.sendMoney(receiver.accountId, 1n); const reciepts = await provider.sendJsonRpc('EXPERIMENTAL_tx_status', [outcome.transaction.hash, sender.accountId]); const responseWithString = await provider.txStatusReceipts(outcome.transaction.hash, sender.accountId); diff --git a/packages/transactions/src/action_creators.ts b/packages/transactions/src/action_creators.ts index 64b68980ed..0c0bff7c6f 100644 --- a/packages/transactions/src/action_creators.ts +++ b/packages/transactions/src/action_creators.ts @@ -98,8 +98,8 @@ export function stringifyJsonOrBytes(args: any): Buffer { function functionCall( methodName: string, args: Uint8Array | object, - gas = BigInt(0), - deposit = BigInt(0), + gas = 0n, + deposit = 0n, stringify = stringifyJsonOrBytes, jsContract = false ): Action { @@ -124,7 +124,7 @@ function functionCall( * @param deposit The amount to be deposited along with the transfer. Default: 0. * @returns A new action for transferring funds. */ -function transfer(deposit = BigInt(0)): Action { +function transfer(deposit = 0n): Action { return new Action({ transfer: new Transfer({ deposit }) }); } @@ -134,7 +134,7 @@ function transfer(deposit = BigInt(0)): Action { * @param publicKey The public key associated with the staking action. * @returns A new action for staking tokens. */ -function stake(stake = BigInt(0), publicKey: PublicKey): Action { +function stake(stake = 0n, publicKey: PublicKey): Action { return new Action({ stake: new Stake({ stake, publicKey }) }); } diff --git a/packages/transactions/test/serialize.test.ts b/packages/transactions/test/serialize.test.ts index 05249b0512..1f5f801119 100644 --- a/packages/transactions/test/serialize.test.ts +++ b/packages/transactions/test/serialize.test.ts @@ -202,7 +202,7 @@ describe('serialize and deserialize on different types of nonce', () => { 'test.near', PublicKey.fromString('Anu7LYDfpLtkP7E16LT9imXF694BdQaa9ufVkQiwTQxC'), 'whatever.near', - BigInt(1), + 1n, actions, blockHash); const serialized = encodeTransaction(transaction); diff --git a/packages/transactions/test/transaction.test.ts b/packages/transactions/test/transaction.test.ts index e6df79f41e..2efe9cbebf 100644 --- a/packages/transactions/test/transaction.test.ts +++ b/packages/transactions/test/transaction.test.ts @@ -5,26 +5,26 @@ const { functionCall } = actionCreators; test('functionCall with already serialized args', () => { const serializedArgs = Buffer.from('{}'); - const action = functionCall('methodName', serializedArgs, BigInt(1), BigInt(2)); + const action = functionCall('methodName', serializedArgs, 1n, 2n); expect(action).toMatchObject({ functionCall: { methodName: 'methodName', args: serializedArgs, - gas: BigInt(1), - deposit: BigInt(2) + gas: 1n, + deposit: 2n } }); }); test('functionCall with non-serialized args', () => { const serializedArgs = Buffer.from('{}'); - const action = functionCall('methodName', {}, BigInt(1), BigInt(2)); + const action = functionCall('methodName', {}, 1n, 2n); expect(action).toMatchObject({ functionCall: { methodName: 'methodName', args: serializedArgs, - gas: BigInt(1), - deposit: BigInt(2) + gas: 1n, + deposit: 2n } }); }); diff --git a/packages/utils/src/constants.ts b/packages/utils/src/constants.ts index 01b413f985..d6b0e3bea6 100644 --- a/packages/utils/src/constants.ts +++ b/packages/utils/src/constants.ts @@ -4,4 +4,4 @@ // Due to protocol changes that charge upfront for the maximum possible gas price inflation due to // full blocks, the price of max_prepaid_gas is decreased to `300 * 10**12`. // For discussion see https://github.com/nearprotocol/NEPs/issues/67 -export const DEFAULT_FUNCTION_CALL_GAS = BigInt('30000000000000'); \ No newline at end of file +export const DEFAULT_FUNCTION_CALL_GAS = 30000000000000n; \ No newline at end of file diff --git a/packages/utils/src/format.ts b/packages/utils/src/format.ts index 8e4830d545..56df34607c 100644 --- a/packages/utils/src/format.ts +++ b/packages/utils/src/format.ts @@ -8,13 +8,13 @@ export const NEAR_NOMINATION_EXP = 24; /** * Number of indivisible units in one NEAR. Derived from {@link NEAR_NOMINATION_EXP}. */ -export const NEAR_NOMINATION = BigInt(10) ** BigInt(NEAR_NOMINATION_EXP); +export const NEAR_NOMINATION = 10n ** BigInt(NEAR_NOMINATION_EXP); // Pre-calculate offsets used for rounding to different number of digits const ROUNDING_OFFSETS: bigint[] = []; -const BN10 = BigInt(10); +const BN10 = 10n; for ( - let i = 0, offset = BigInt(5); + let i = 0, offset = 5n; i < NEAR_NOMINATION_EXP; i++, offset = offset * BN10 ) { diff --git a/packages/utils/src/validators.ts b/packages/utils/src/validators.ts index ff167ddd61..4160f8ba02 100644 --- a/packages/utils/src/validators.ts +++ b/packages/utils/src/validators.ts @@ -29,11 +29,11 @@ function findSeatPriceForProtocolBefore49(validators: (CurrentEpochValidatorInfo throw new Error('Stakes are below seats'); } // assert stakesSum >= numSeats - let left = BigInt(1), right = stakesSum + BigInt(1); - while (left !== right - BigInt(1)) { - const mid = (left + right) / BigInt(2); + let left = 1n, right = stakesSum + 1n; + while (left !== right - 1n) { + const mid = (left + right) / 2n; let found = false; - let currentSum = BigInt(0); + let currentSum = 0n; for (let i = 0; i < stakes.length; ++i) { currentSum = currentSum + (stakes[i] / mid); if (currentSum >= num) { @@ -59,7 +59,7 @@ function findSeatPriceForProtocolAfter49(validators: (CurrentEpochValidatorInfo if (validators.length < maxNumberOfSeats) { return stakesSum * BigInt(minimumStakeRatio[0]) / BigInt(minimumStakeRatio[1]); } else { - return stakes[0] + BigInt(1); + return stakes[0] + 1n; } } diff --git a/packages/utils/test/validator.test.ts b/packages/utils/test/validator.test.ts index eb575c0e51..fffa2ee288 100644 --- a/packages/utils/test/validator.test.ts +++ b/packages/utils/test/validator.test.ts @@ -5,23 +5,23 @@ test('find seat price', async () => { expect(findSeatPrice( // @ts-expect-error test input [{ stake: '1000000' }, { stake: '1000000' }, { stake: '100' }], 2, [1, 6250], 49 - )).toEqual(BigInt('101')); + )).toEqual(101n); expect(findSeatPrice( // @ts-expect-error test input [{ stake: '1000000' }, { stake: '1000000' }, { stake: '100' }], 3, [1, 6250] - )).toEqual(BigInt('101')); + )).toEqual(101n); expect(findSeatPrice( // @ts-expect-error test input [{ stake: '1000000' }, { stake: '1000000' }, { stake: '100' }], 4, [1, 6250], 49 - )).toEqual(BigInt('320')); + )).toEqual(320n); expect(findSeatPrice( // @ts-expect-error test input [{ stake: '1000000' }, { stake: '1000000' }, { stake: '100' }], 4, [1, 6250], 48 - )).toEqual(BigInt('500000')); + )).toEqual(500000n); expect(findSeatPrice( // @ts-expect-error test input [{ stake: '1000' }, { stake: '1000' }, { stake: '200' }], 100, [1, 25] - )).toEqual(BigInt('88')); + )).toEqual(88n); }); test('diff validators', async () => { diff --git a/packages/wallet-account/src/near.ts b/packages/wallet-account/src/near.ts index 0b614e34c9..30bef48c08 100644 --- a/packages/wallet-account/src/near.ts +++ b/packages/wallet-account/src/near.ts @@ -114,7 +114,7 @@ export class Near { if (config.masterAccount) { // TODO: figure out better way of specifiying initial balance. // Hardcoded number below must be enough to pay the gas cost to dev-deploy with near-shell for multiple times - const initialBalance = config.initialBalance ? BigInt(config.initialBalance) : BigInt('500000000000000000000000000'); + const initialBalance = config.initialBalance ? BigInt(config.initialBalance) : 500000000000000000000000000n; this.accountCreator = new LocalAccountCreator(new Account(this.connection, config.masterAccount), initialBalance); } else if (config.helperUrl) { this.accountCreator = new UrlAccountCreator(this.connection, config.helperUrl); diff --git a/packages/wallet-account/src/wallet_account.ts b/packages/wallet-account/src/wallet_account.ts index 95630033f2..ca60eed4b0 100644 --- a/packages/wallet-account/src/wallet_account.ts +++ b/packages/wallet-account/src/wallet_account.ts @@ -371,7 +371,7 @@ export class ConnectedWalletAccount extends Account { const publicKey = PublicKey.from(accessKey.public_key); // TODO: Cache & listen for nonce updates for given access key - const nonce = accessKey.access_key.nonce + BigInt(1); + const nonce = accessKey.access_key.nonce + 1n; const transaction = createTransaction(this.accountId, publicKey, receiverId, nonce, actions, blockHash); await this.walletConnection.requestSignTransactions({ transactions: [transaction], From f021c3edb25ab49417d67e4b73fb9d29fc03d205 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 21 Jun 2024 11:32:56 -0700 Subject: [PATCH 26/45] test: fix test mismatch --- packages/providers/test/providers.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/providers/test/providers.test.ts b/packages/providers/test/providers.test.ts index 7da83fa2ab..44b0df64af 100644 --- a/packages/providers/test/providers.test.ts +++ b/packages/providers/test/providers.test.ts @@ -65,7 +65,7 @@ global.TextEncoder = TextEncoder; expect(response).toMatchObject({ block_hash: expect.any(String), - changes: expect.any(Array) + changes: expect.arrayContaining([]) }); }); From 2eeb4236f6f0432d39e9105ffb5e512eb2ce8954 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Fri, 21 Jun 2024 13:42:19 -0700 Subject: [PATCH 27/45] test: fix sort order --- packages/accounts/test/account.access_key.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/accounts/test/account.access_key.test.ts b/packages/accounts/test/account.access_key.test.ts index 831b1c57b5..af1517e20e 100644 --- a/packages/accounts/test/account.access_key.test.ts +++ b/packages/accounts/test/account.access_key.test.ts @@ -79,7 +79,7 @@ test('view account details after adding access keys', async() => { publicKey: keyPair2.getPublicKey().toString(), }]; - details.authorizedApps.sort((a, b) => a.contractId > b.contractId); + details.authorizedApps.sort((a, b) => a.contractId < b.contractId); expect(JSON.stringify(details.authorizedApps)).toEqual(JSON.stringify(authorizedApps)); }); From 507701057fd5c92c0a3570f85a266bb9b6a64fd9 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 6 Aug 2024 11:21:40 -0700 Subject: [PATCH 28/45] refactor: enum class --- packages/near-api-js/src/utils/enums.ts | 15 +-------------- packages/transactions/src/actions.ts | 16 +--------------- packages/types/src/enum.ts | 15 +++++++++++++++ packages/types/src/index.ts | 1 + 4 files changed, 18 insertions(+), 29 deletions(-) create mode 100644 packages/types/src/enum.ts diff --git a/packages/near-api-js/src/utils/enums.ts b/packages/near-api-js/src/utils/enums.ts index 81cfc6b73f..21ba848dcd 100644 --- a/packages/near-api-js/src/utils/enums.ts +++ b/packages/near-api-js/src/utils/enums.ts @@ -1,14 +1 @@ -/** @hidden @module */ -export abstract class Enum { - enum: string; - - constructor(properties: any) { - if (Object.keys(properties).length !== 1) { - throw new Error('Enum can only take single value'); - } - Object.keys(properties).map((key: string) => { - (this as any)[key] = properties[key]; - this.enum = key; - }); - } -} +export { Enum } from '@near-js/types'; diff --git a/packages/transactions/src/actions.ts b/packages/transactions/src/actions.ts index 5d6fb75bb6..643abebcdd 100644 --- a/packages/transactions/src/actions.ts +++ b/packages/transactions/src/actions.ts @@ -1,23 +1,9 @@ import { PublicKey } from '@near-js/crypto'; +import { Enum } from '@near-js/types'; import { DelegateAction } from './delegate'; import { Signature } from './signature'; -// TODO determine why subclassing is still necessary even though `enum` -// cannot be set in the base class or it will not be borsh-serializable -abstract class Enum { - abstract enum: string; - - constructor(properties: any) { - if (Object.keys(properties).length !== 1) { - throw new Error('Enum can only take single value'); - } - Object.keys(properties).map((key: string) => { - (this as any)[key] = properties[key]; - }); - } -} - export class FunctionCallPermission { allowance?: bigint; receiverId: string; diff --git a/packages/types/src/enum.ts b/packages/types/src/enum.ts new file mode 100644 index 0000000000..c347ae9ff5 --- /dev/null +++ b/packages/types/src/enum.ts @@ -0,0 +1,15 @@ + +// TODO determine why subclassing is still necessary even though `enum` +// cannot be set in the base class or it will not be borsh-serializable +export abstract class Enum { + abstract enum: string; + + constructor(properties: any) { + if (Object.keys(properties).length !== 1) { + throw new Error('Enum can only take single value'); + } + Object.keys(properties).map((key: string) => { + (this as any)[key] = properties[key]; + }); + } +} diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 07ad7cacbb..512df99511 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -1,2 +1,3 @@ +export * from './enum'; export * from './errors'; export * from './provider'; From 7bb21610fd8f6c6ac988b61b21ca6863b5c12f9e Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 6 Aug 2024 12:01:13 -0700 Subject: [PATCH 29/45] feat: borsh enum classes must extend Enum --- packages/crypto/src/public_key.ts | 29 +++++++++++++++++++------- packages/transactions/src/signature.ts | 29 +++++++++++++++++++------- 2 files changed, 44 insertions(+), 14 deletions(-) diff --git a/packages/crypto/src/public_key.ts b/packages/crypto/src/public_key.ts index ba6b8a1418..06984cf83c 100644 --- a/packages/crypto/src/public_key.ts +++ b/packages/crypto/src/public_key.ts @@ -1,4 +1,5 @@ import { baseEncode, baseDecode } from '@near-js/utils'; +import { Enum } from '@near-js/types'; import { ed25519 } from '@noble/curves/ed25519'; import secp256k1 from 'secp256k1'; @@ -23,19 +24,33 @@ function str_to_key_type(keyType: string): KeyType { class ED25519PublicKey { keyType: KeyType = KeyType.ED25519; data: Uint8Array; } class SECP256K1PublicKey { keyType: KeyType = KeyType.SECP256K1; data: Uint8Array; } +function resolveEnumKeyName(keyType: KeyType) { + switch (keyType) { + case KeyType.ED25519: { + return 'ed25519Key'; + } + case KeyType.SECP256K1: { + return 'secp256k1Key' + } + default: { + throw Error(`unknown type ${keyType}`); + } + } +} + /** * PublicKey representation that has type and bytes of the key. */ -export class PublicKey { +export class PublicKey extends Enum { + enum: string; ed25519Key?: ED25519PublicKey; secp256k1Key?: SECP256K1PublicKey; - constructor({ keyType, data }: { keyType: KeyType, data: Uint8Array }) { - if (keyType === KeyType.ED25519) { - this.ed25519Key = { keyType, data }; - } else if (keyType === KeyType.SECP256K1) { - this.secp256k1Key = { keyType, data }; - } + constructor(publicKey: { keyType: KeyType, data: Uint8Array }) { + const keyName = resolveEnumKeyName(publicKey.keyType); + super({ [keyName]: publicKey }); + this[keyName] = publicKey; + this.enum = keyName; } /** diff --git a/packages/transactions/src/signature.ts b/packages/transactions/src/signature.ts index ee09d2a58d..573bdf2b47 100644 --- a/packages/transactions/src/signature.ts +++ b/packages/transactions/src/signature.ts @@ -1,18 +1,33 @@ import { KeyType } from '@near-js/crypto'; +import { Enum } from '@near-js/types'; class ED25519Signature { keyType: KeyType = KeyType.ED25519; data: Uint8Array; } class SECP256K1Signature { keyType: KeyType = KeyType.SECP256K1; data: Uint8Array; } -export class Signature { +function resolveEnumKeyName(keyType: KeyType) { + switch (keyType) { + case KeyType.ED25519: { + return 'ed25519Signature'; + } + case KeyType.SECP256K1: { + return 'secp256k1Signature' + } + default: { + throw Error(`unknown type ${keyType}`); + } + } +} + +export class Signature extends Enum { + enum: string; ed25519Signature?: ED25519Signature; secp256k1Signature?: SECP256K1Signature; - constructor({ keyType, data }: { keyType: KeyType, data: Uint8Array }) { - if (keyType === KeyType.ED25519) { - this.ed25519Signature = { keyType, data }; - } else if (keyType === KeyType.SECP256K1) { - this.secp256k1Signature = { keyType, data }; - } + constructor(signature: { keyType: KeyType, data: Uint8Array }) { + const keyName = resolveEnumKeyName(signature.keyType); + super({ [keyName]: signature }); + this[keyName] = signature; + this.enum = keyName; } get signature() { From b6fb0e3186a11048ed1b6690fe6a0878b2f4aa09 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 6 Aug 2024 12:15:57 -0700 Subject: [PATCH 30/45] test: reduce noise --- packages/accounts/test/test-utils.js | 3 +++ packages/utils/src/logger/index.ts | 1 + 2 files changed, 4 insertions(+) diff --git a/packages/accounts/test/test-utils.js b/packages/accounts/test/test-utils.js index f9308eedc8..98485a59e0 100644 --- a/packages/accounts/test/test-utils.js +++ b/packages/accounts/test/test-utils.js @@ -1,11 +1,14 @@ import { KeyPair, KeyType } from '@near-js/crypto'; import { InMemoryKeyStore } from '@near-js/keystores'; +import { ConsoleLogger, Logger } from '@near-js/utils'; import fs from 'fs'; import path from 'path'; import { Account, AccountMultisig, Contract, Connection, LocalAccountCreator } from '../src'; import Config from './config'; +Logger.overrideLogger(new ConsoleLogger(['error', 'fatal'])) + export const networkId = 'unittest'; export const HELLO_WASM_PATH = process.env.HELLO_WASM_PATH || 'node_modules/near-hello/dist/main.wasm'; diff --git a/packages/utils/src/logger/index.ts b/packages/utils/src/logger/index.ts index 70a0a1249d..f640d8eca1 100644 --- a/packages/utils/src/logger/index.ts +++ b/packages/utils/src/logger/index.ts @@ -1,2 +1,3 @@ +export { ConsoleLogger } from './console.logger'; export { Logger } from './logger'; export type { LoggerService } from './interface'; From 54f86fdc9692dcef756c3812c2cdfe87fa48c92e Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 6 Aug 2024 12:31:28 -0700 Subject: [PATCH 31/45] style: lint --- packages/crypto/src/constants.ts | 10 +++++----- packages/crypto/src/public_key.ts | 2 +- .../test/browser_keystore.test.ts | 2 +- packages/transactions/src/signature.ts | 2 +- packages/utils/test/rpc-errors.test.ts | 14 +++++++------- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/crypto/src/constants.ts b/packages/crypto/src/constants.ts index d3fe154111..d028d3523f 100644 --- a/packages/crypto/src/constants.ts +++ b/packages/crypto/src/constants.ts @@ -4,8 +4,8 @@ export enum KeyType { SECP256K1 = 1, } -export enum KeySize { - SECRET_KEY = 32, - ED25519_PUBLIC_KEY = 32, - SECP256k1_PUBLIC_KEY = 64, -} \ No newline at end of file +export const KeySize = { + SECRET_KEY: 32, + ED25519_PUBLIC_KEY: 32, + SECP256k1_PUBLIC_KEY: 64, +}; diff --git a/packages/crypto/src/public_key.ts b/packages/crypto/src/public_key.ts index 06984cf83c..5aaf8e457e 100644 --- a/packages/crypto/src/public_key.ts +++ b/packages/crypto/src/public_key.ts @@ -30,7 +30,7 @@ function resolveEnumKeyName(keyType: KeyType) { return 'ed25519Key'; } case KeyType.SECP256K1: { - return 'secp256k1Key' + return 'secp256k1Key'; } default: { throw Error(`unknown type ${keyType}`); diff --git a/packages/keystores-browser/test/browser_keystore.test.ts b/packages/keystores-browser/test/browser_keystore.test.ts index 3b20fb7636..5b5541bbde 100644 --- a/packages/keystores-browser/test/browser_keystore.test.ts +++ b/packages/keystores-browser/test/browser_keystore.test.ts @@ -15,7 +15,7 @@ describe('Browser keystore', () => { }); describe('Browser multi keystore', () => { - let ctx: any = {}; + const ctx: any = {}; beforeAll(async () => { ctx.keyStore = new MultiContractBrowserLocalStorageKeyStore(LocalStorageMemory); diff --git a/packages/transactions/src/signature.ts b/packages/transactions/src/signature.ts index 573bdf2b47..e803450472 100644 --- a/packages/transactions/src/signature.ts +++ b/packages/transactions/src/signature.ts @@ -10,7 +10,7 @@ function resolveEnumKeyName(keyType: KeyType) { return 'ed25519Signature'; } case KeyType.SECP256K1: { - return 'secp256k1Signature' + return 'secp256k1Signature'; } default: { throw Error(`unknown type ${keyType}`); diff --git a/packages/utils/test/rpc-errors.test.ts b/packages/utils/test/rpc-errors.test.ts index 0f72a85469..6ed55094de 100644 --- a/packages/utils/test/rpc-errors.test.ts +++ b/packages/utils/test/rpc-errors.test.ts @@ -46,7 +46,7 @@ describe('rpc-errors', () => { }); test('test ShardCongested error', async () => { - let rpc_error = { + const rpc_error = { TxExecutionError: { InvalidTxError: { ShardCongested: { @@ -56,7 +56,7 @@ describe('rpc-errors', () => { } } }; - let error: any = parseRpcError(rpc_error); + const error: any = parseRpcError(rpc_error); expect(error.type === 'ShardCongested').toBe(true); expect(error.shard_id).toBe(2); expect(error.congestion_level).toBe(0.4); @@ -66,7 +66,7 @@ describe('rpc-errors', () => { }); test('test ShardStuck error', async () => { - let rpc_error = { + const rpc_error = { TxExecutionError: { InvalidTxError: { ShardStuck: { @@ -76,7 +76,7 @@ describe('rpc-errors', () => { } } }; - let error: any = parseRpcError(rpc_error); + const error: any = parseRpcError(rpc_error); expect(error.type === 'ShardStuck').toBe(true); expect(error.shard_id).toBe(2); expect(error.missed_chunks).toBe(5); @@ -86,7 +86,7 @@ describe('rpc-errors', () => { }); test('test ReceiptSizeExceeded error', async () => { - let rpc_error = { + const rpc_error = { TxExecutionError: { InvalidTxError: { ReceiptValidationError: { @@ -98,12 +98,12 @@ describe('rpc-errors', () => { } } }; - let error: any = parseRpcError(rpc_error); + const error: any = parseRpcError(rpc_error); expect(error.type === 'ReceiptSizeExceeded').toBe(true); expect(error.limit).toBe(100); expect(error.size).toBe(101); expect(formatError(error.type, error)).toBe( - '{\"type\":\"ReceiptSizeExceeded\",\"limit\":100,\"size\":101,\"kind\":{\"limit\":100,\"size\":101}}' + '{"type":"ReceiptSizeExceeded","limit":100,"size":101,"kind":{"limit":100,"size":101}}' ); }); From 340d66778c9c2fc262aae14fb2ac0a16755c55a4 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 6 Aug 2024 12:43:59 -0700 Subject: [PATCH 32/45] test: update configuration --- packages/accounts/jest.config.ts | 11 ++++------- packages/biometric-ed25519/jest.config.ts | 11 ++++------- packages/crypto/jest.config.ts | 11 ++++------- packages/keystores-browser/jest.config.ts | 17 +++++++---------- packages/keystores-node/jest.config.ts | 11 ++++------- packages/keystores/jest.config.ts | 11 ++++------- packages/providers/jest.config.ts | 9 +++------ packages/signers/jest.config.ts | 11 ++++------- packages/transactions/jest.config.ts | 11 ++++------- packages/utils/jest.config.ts | 11 ++++------- packages/wallet-account/jest.config.ts | 11 ++++------- 11 files changed, 46 insertions(+), 79 deletions(-) diff --git a/packages/accounts/jest.config.ts b/packages/accounts/jest.config.ts index a85677b0c9..3b66313239 100644 --- a/packages/accounts/jest.config.ts +++ b/packages/accounts/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; diff --git a/packages/biometric-ed25519/jest.config.ts b/packages/biometric-ed25519/jest.config.ts index a85677b0c9..3b66313239 100644 --- a/packages/biometric-ed25519/jest.config.ts +++ b/packages/biometric-ed25519/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; diff --git a/packages/crypto/jest.config.ts b/packages/crypto/jest.config.ts index a85677b0c9..3b66313239 100644 --- a/packages/crypto/jest.config.ts +++ b/packages/crypto/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; diff --git a/packages/keystores-browser/jest.config.ts b/packages/keystores-browser/jest.config.ts index 6725228929..d9d914d549 100644 --- a/packages/keystores-browser/jest.config.ts +++ b/packages/keystores-browser/jest.config.ts @@ -3,14 +3,11 @@ export default { collectCoverage: true, testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", - transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { - tsconfig: { - allowJs: true - } - } - }, + transform: { + '^.+\\.[tj]s$': ['ts-jest', { + tsconfig: { + allowJs: true + } + }] + }, }; diff --git a/packages/keystores-node/jest.config.ts b/packages/keystores-node/jest.config.ts index 6725228929..545639fcad 100644 --- a/packages/keystores-node/jest.config.ts +++ b/packages/keystores-node/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; diff --git a/packages/keystores/jest.config.ts b/packages/keystores/jest.config.ts index a85677b0c9..3b66313239 100644 --- a/packages/keystores/jest.config.ts +++ b/packages/keystores/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; diff --git a/packages/providers/jest.config.ts b/packages/providers/jest.config.ts index a85677b0c9..0d356a2622 100644 --- a/packages/providers/jest.config.ts +++ b/packages/providers/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true + allowJs: true } - } + }] }, }; diff --git a/packages/signers/jest.config.ts b/packages/signers/jest.config.ts index a85677b0c9..3b66313239 100644 --- a/packages/signers/jest.config.ts +++ b/packages/signers/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; diff --git a/packages/transactions/jest.config.ts b/packages/transactions/jest.config.ts index a85677b0c9..3b66313239 100644 --- a/packages/transactions/jest.config.ts +++ b/packages/transactions/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; diff --git a/packages/utils/jest.config.ts b/packages/utils/jest.config.ts index a85677b0c9..3b66313239 100644 --- a/packages/utils/jest.config.ts +++ b/packages/utils/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; diff --git a/packages/wallet-account/jest.config.ts b/packages/wallet-account/jest.config.ts index a85677b0c9..3b66313239 100644 --- a/packages/wallet-account/jest.config.ts +++ b/packages/wallet-account/jest.config.ts @@ -4,13 +4,10 @@ export default { testEnvironment: 'node', testRegex: "(/tests/.*|(\\.|/)(test|spec))\\.[jt]sx?$", transform: { - '^.+\\.[tj]s$': 'ts-jest' - }, - globals: { - 'ts-jest': { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: { - allowJs: true - } - } + allowJs: true, + }, + }], }, }; From 73690557c8e2a74386fca62f4ae123abe0651403 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 6 Aug 2024 15:54:16 -0700 Subject: [PATCH 33/45] build: changeset --- .changeset/odd-tips-yawn.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .changeset/odd-tips-yawn.md diff --git a/.changeset/odd-tips-yawn.md b/.changeset/odd-tips-yawn.md new file mode 100644 index 0000000000..49963a589b --- /dev/null +++ b/.changeset/odd-tips-yawn.md @@ -0,0 +1,18 @@ +--- +"@near-js/accounts": minor +"@near-js/biometric-ed25519": minor +"@near-js/crypto": minor +"@near-js/iframe-rpc": minor +"@near-js/keystores": minor +"@near-js/keystores-browser": minor +"@near-js/keystores-node": minor +"near-api-js": major +"@near-js/providers": major +"@near-js/signers": minor +"@near-js/transactions": minor +"@near-js/types": major +"@near-js/utils": minor +"@near-js/wallet-account": minor +--- + +Update to Node.js 20 LTS & pnpm 9.4, modularize packages, simplify dependencies, and update tests From eca1aa971ee7c4795dbe4072b2e6b04fc1289845 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 6 Aug 2024 17:11:20 -0700 Subject: [PATCH 34/45] build: update versions on pull-request workflow --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 17567df77e..e2d9501d33 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,12 +23,12 @@ jobs: - name: Setup pnpm uses: pnpm/action-setup@v4.0.0 with: - version: 7 + version: 9.4.0 - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.15.0 - name: Install Dependencies run: pnpm install From 1afa90903e96ec0f6902f8a1e40e8db79e20a583 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Thu, 8 Aug 2024 15:38:06 -0700 Subject: [PATCH 35/45] feat: commonJS builds --- packages/accounts/package.json | 14 +++-- packages/accounts/tsconfig.cjs.json | 10 ++++ packages/accounts/tsconfig.json | 2 +- packages/biometric-ed25519/package.json | 13 ++++- packages/biometric-ed25519/tsconfig.cjs.json | 10 ++++ packages/biometric-ed25519/tsconfig.json | 2 +- packages/build/cjsify.js | 58 ++++++++++++++++++++ packages/build/package.json | 9 +++ packages/cookbook/tsconfig.cjs.json | 10 ++++ packages/crypto/package.json | 14 +++-- packages/crypto/tsconfig.cjs.json | 10 ++++ packages/crypto/tsconfig.json | 2 +- packages/iframe-rpc/package.json | 15 +++-- packages/iframe-rpc/tsconfig.cjs.json | 10 ++++ packages/iframe-rpc/tsconfig.json | 2 +- packages/keystores-browser/package.json | 14 +++-- packages/keystores-browser/tsconfig.cjs.json | 10 ++++ packages/keystores-browser/tsconfig.json | 2 +- packages/keystores-node/package.json | 14 +++-- packages/keystores-node/tsconfig.cjs.json | 10 ++++ packages/keystores-node/tsconfig.json | 2 +- packages/keystores/package.json | 14 +++-- packages/keystores/tsconfig.cjs.json | 10 ++++ packages/keystores/tsconfig.json | 2 +- packages/near-api-js/package.json | 18 ++++-- packages/near-api-js/tsconfig.cjs.json | 11 ++++ packages/near-api-js/tsconfig.json | 3 +- packages/providers/package.json | 14 +++-- packages/providers/tsconfig.cjs.json | 10 ++++ packages/providers/tsconfig.json | 2 +- packages/signers/package.json | 14 +++-- packages/signers/tsconfig.cjs.json | 10 ++++ packages/signers/tsconfig.json | 2 +- packages/transactions/package.json | 14 +++-- packages/transactions/tsconfig.cjs.json | 10 ++++ packages/transactions/tsconfig.json | 2 +- packages/tsconfig/cjs.json | 6 +- packages/types/package.json | 14 +++-- packages/types/tsconfig.cjs.json | 10 ++++ packages/types/tsconfig.json | 2 +- packages/utils/package.json | 14 +++-- packages/utils/tsconfig.cjs.json | 10 ++++ packages/utils/tsconfig.json | 2 +- packages/wallet-account/package.json | 14 +++-- packages/wallet-account/tsconfig.cjs.json | 10 ++++ packages/wallet-account/tsconfig.json | 2 +- pnpm-lock.yaml | 44 +++++++++++++++ 47 files changed, 419 insertions(+), 78 deletions(-) create mode 100644 packages/accounts/tsconfig.cjs.json create mode 100644 packages/biometric-ed25519/tsconfig.cjs.json create mode 100755 packages/build/cjsify.js create mode 100644 packages/build/package.json create mode 100644 packages/cookbook/tsconfig.cjs.json create mode 100644 packages/crypto/tsconfig.cjs.json create mode 100644 packages/iframe-rpc/tsconfig.cjs.json create mode 100644 packages/keystores-browser/tsconfig.cjs.json create mode 100644 packages/keystores-node/tsconfig.cjs.json create mode 100644 packages/keystores/tsconfig.cjs.json create mode 100644 packages/near-api-js/tsconfig.cjs.json create mode 100644 packages/providers/tsconfig.cjs.json create mode 100644 packages/signers/tsconfig.cjs.json create mode 100644 packages/transactions/tsconfig.cjs.json create mode 100644 packages/types/tsconfig.cjs.json create mode 100644 packages/utils/tsconfig.cjs.json create mode 100644 packages/wallet-account/tsconfig.cjs.json diff --git a/packages/accounts/package.json b/packages/accounts/package.json index 0e125d4cf6..e82c0a0d8e 100644 --- a/packages/accounts/package.json +++ b/packages/accounts/package.json @@ -2,11 +2,12 @@ "name": "@near-js/accounts", "version": "1.2.2", "description": "Classes encapsulating account-specific functionality", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -35,6 +36,7 @@ "@types/json-schema": "^7.0.15", "@types/node": "20.0.0", "bs58": "4.0.0", + "build": "workspace:*", "jest": "29.7.0", "near-hello": "0.5.1", "near-workspaces": "3.5.0", @@ -47,8 +49,8 @@ "files": [ "lib" ], - "resolutions": { - "near-sandbox": "0.0.18", - "near-api-js": "4.0.0" + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" } } diff --git a/packages/accounts/tsconfig.cjs.json b/packages/accounts/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/accounts/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/accounts/tsconfig.json b/packages/accounts/tsconfig.json index 38fe05e1b6..a353a73d9f 100644 --- a/packages/accounts/tsconfig.json +++ b/packages/accounts/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", "lib": ["es2022", "dom"] }, "files": [ diff --git a/packages/biometric-ed25519/package.json b/packages/biometric-ed25519/package.json index 263c6bcb75..aa93298b18 100644 --- a/packages/biometric-ed25519/package.json +++ b/packages/biometric-ed25519/package.json @@ -2,11 +2,13 @@ "name": "@near-js/biometric-ed25519", "description": "JavaScript library to handle webauthn and biometric keys", "version": "1.2.5", - "main": "lib/index.js", - "types": "lib/index.d.ts", + "main": "lib/esm/index.js", + "types": "lib/esm/index.d.ts", "type": "module", "scripts": { - "build": "tsc -p ./tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -23,6 +25,7 @@ "asn1-parser": "1.1.8", "borsh": "1.0.0", "buffer": "6.0.3", + "build": "workspace:*", "cbor-js": "^0.1.0", "fido2-lib": "3.4.1" }, @@ -31,5 +34,9 @@ "@types/node": "20.0.0", "jest": "29.7.0", "ts-jest": "29.1.5" + }, + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" } } diff --git a/packages/biometric-ed25519/tsconfig.cjs.json b/packages/biometric-ed25519/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/biometric-ed25519/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/biometric-ed25519/tsconfig.json b/packages/biometric-ed25519/tsconfig.json index aec31f0049..b3d721f5ca 100644 --- a/packages/biometric-ed25519/tsconfig.json +++ b/packages/biometric-ed25519/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/browser.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts", diff --git a/packages/build/cjsify.js b/packages/build/cjsify.js new file mode 100755 index 0000000000..15a5bd0d51 --- /dev/null +++ b/packages/build/cjsify.js @@ -0,0 +1,58 @@ +import { lstat, opendir, readFile, rename, writeFile } from 'node:fs/promises'; +import path from 'node:path'; + +async function enumerateContents(contentPath) { + const dir = await opendir(contentPath); + let files = []; + for await (let entry of dir) { + if (entry.name === 'node_modules') { + continue; + } + + const entryPath = path.join(contentPath, entry.name); + if (entry.isDirectory()) { + files = [...files, ...(await enumerateContents(entryPath))]; + } else if (entry.name.endsWith('.js')) { + files.push(entryPath); + } + } + + return files; +} + +async function cjsIfy() { + const [,, inputPath] = process.argv; + const basePath = path.resolve(process.cwd(), inputPath); + + for (let projectFilePath of await enumerateContents(basePath)) { + let contents = (await readFile(projectFilePath)).toString(); + const relativeImports = [...contents.matchAll(/require\("(\.\.?\/+[^"]+)"\)/ig)]; + for (let localImport of relativeImports) { + const [matchedText, relativePath] = [...localImport]; + if (relativePath.endsWith('.json')) { + continue; + } + + const absolutePath = path.resolve(projectFilePath.split('/').slice(0, -1).join('/'), relativePath); + let isDirectory = false; + try { + isDirectory = (await lstat(absolutePath)).isDirectory(); + } catch { /* lstat has failed because `absolutePath` points to a JS file but is missing the .js extension */ } + + const replacementPath = isDirectory + ? `${relativePath}/index.cjs` + : `${relativePath}.cjs`; + contents = contents.replaceAll(matchedText, `require("${replacementPath}")`); + } + + if (relativeImports.length) { + await writeFile(projectFilePath, contents); + } + + await rename(projectFilePath, [...projectFilePath.split('.').slice(0, -1), 'cjs'].join('.')); + } +} + +(async function() { + await cjsIfy(); +}()); diff --git a/packages/build/package.json b/packages/build/package.json new file mode 100644 index 0000000000..4ae992a347 --- /dev/null +++ b/packages/build/package.json @@ -0,0 +1,9 @@ +{ + "name": "build", + "version": "0.0.0", + "type": "module", + "private": true, + "bin": { + "cjsify": "./cjsify.js" + } +} diff --git a/packages/cookbook/tsconfig.cjs.json b/packages/cookbook/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/cookbook/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/crypto/package.json b/packages/crypto/package.json index bf66f3a79d..c611a82f33 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -2,11 +2,12 @@ "name": "@near-js/crypto", "version": "1.3.0", "description": "Abstractions around NEAR-compatible elliptical curves and cryptographic keys", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -26,6 +27,7 @@ "@jest/globals": "^29.7.0", "@noble/hashes": "^1.4.0", "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", @@ -33,5 +35,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/crypto/tsconfig.cjs.json b/packages/crypto/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/crypto/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/crypto/tsconfig.json b/packages/crypto/tsconfig.json index 6789ead47a..75b9dc47ae 100644 --- a/packages/crypto/tsconfig.json +++ b/packages/crypto/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/packages/iframe-rpc/package.json b/packages/iframe-rpc/package.json index f2ee2782ed..a4a9a339cd 100644 --- a/packages/iframe-rpc/package.json +++ b/packages/iframe-rpc/package.json @@ -2,11 +2,13 @@ "name": "@near-js/iframe-rpc", "version": "0.0.2", "description": "IFrame RPC client/server implementation", - "main": "lib/index.js", - "types": "lib/index.d.ts", + "main": "lib/esm/index.js", + "types": "lib/esm/index.d.ts", "type": "module", "scripts": { - "build": "tsc -p ./tsconfig.json" + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs" }, "keywords": [], "author": "Pagoda", @@ -15,6 +17,11 @@ "events": "3.3.0" }, "devDependencies": { - "@types/node": "18.11.18" + "@types/node": "18.11.18", + "build": "workspace:*" + }, + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" } } diff --git a/packages/iframe-rpc/tsconfig.cjs.json b/packages/iframe-rpc/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/iframe-rpc/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/iframe-rpc/tsconfig.json b/packages/iframe-rpc/tsconfig.json index 34eebe6998..91b3dad6bf 100644 --- a/packages/iframe-rpc/tsconfig.json +++ b/packages/iframe-rpc/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/browser.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", "types": ["node"] }, "files": [ diff --git a/packages/keystores-browser/package.json b/packages/keystores-browser/package.json index e3033c3ed2..1cbd3966f8 100644 --- a/packages/keystores-browser/package.json +++ b/packages/keystores-browser/package.json @@ -2,11 +2,12 @@ "name": "@near-js/keystores-browser", "version": "0.1.0", "description": "KeyStore implementation for working with keys in browser LocalStorage", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -20,6 +21,7 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", + "build": "workspace:*", "jest": "29.7.0", "localstorage-memory": "1.0.3", "ts-jest": "29.1.5", @@ -28,5 +30,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/keystores-browser/tsconfig.cjs.json b/packages/keystores-browser/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/keystores-browser/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/keystores-browser/tsconfig.json b/packages/keystores-browser/tsconfig.json index a5aebcc535..2c49a46795 100644 --- a/packages/keystores-browser/tsconfig.json +++ b/packages/keystores-browser/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/browser.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index 9e521cbbed..de73f508f7 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -2,11 +2,12 @@ "name": "@near-js/keystores-node", "version": "0.0.13", "description": "KeyStore implementation for working with keys in the local filesystem", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -21,6 +22,7 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", @@ -28,5 +30,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/keystores-node/tsconfig.cjs.json b/packages/keystores-node/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/keystores-node/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/keystores-node/tsconfig.json b/packages/keystores-node/tsconfig.json index 9d8ff26d3b..5f3d7bd793 100644 --- a/packages/keystores-node/tsconfig.json +++ b/packages/keystores-node/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/packages/keystores/package.json b/packages/keystores/package.json index b925926ae1..4d585fb658 100644 --- a/packages/keystores/package.json +++ b/packages/keystores/package.json @@ -2,11 +2,12 @@ "name": "@near-js/keystores", "version": "0.1.0", "description": "Key storage and management implementations", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -21,6 +22,7 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", @@ -28,5 +30,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/keystores/tsconfig.cjs.json b/packages/keystores/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/keystores/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/keystores/tsconfig.json b/packages/keystores/tsconfig.json index 9d8ff26d3b..5f3d7bd793 100644 --- a/packages/keystores/tsconfig.json +++ b/packages/keystores/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index c07b20b9e5..cf70e7566b 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -7,9 +7,9 @@ "url": "git+https://github.com/near/near-api-js.git" }, "homepage": "https://github.com/near/near-api-js", - "main": "lib/index.js", - "browser": "lib/browser-index.js", - "types": "lib/index.d.ts", + "main": "lib/esm/index.js", + "browser": "lib/commonjs/browser-index.cjs", + "types": "lib/esm/index.d.ts", "type": "module", "dependencies": { "@near-js/accounts": "workspace:*", @@ -34,6 +34,7 @@ "browserify": "16.2.3", "bs58": "4.0.0", "buffer": "6.0.3", + "build": "workspace:*", "bundlewatch": "0.3.1", "concurrently": "7.3.0", "danger": "11.1.1", @@ -58,9 +59,10 @@ "bundle:all": "pnpm bundle && pnpm bundle:minified", "bundle": "esbuild browser-exports.js --bundle --outfile=dist/near-api-js.js --define:global=window --inject:esbuild.inject.js", "bundle:minified": "esbuild browser-exports.js --bundle --minify --outfile=dist/near-api-js.min.js --define:global=window --inject:esbuild.inject.js", - "compile": "tsc -p ./tsconfig.json", + "compile:esm": "tsc -p ./tsconfig.json", + "compile:cjs": "tsc -p ./tsconfig.cjs.json && cjsify ./lib/commonjs", "dev": "pnpm compile -w", - "build": "pnpm compile && pnpm bundle:all", + "build": "pnpm compile:esm && pnpm compile:cjs && pnpm dist", "test": "jest --passWithNoTests", "lint": "concurrently \"pnpm:lint:*(!fix) --no-error-on-unmatched-pattern\"", "lint:src": "eslint --ext .ts src", @@ -85,5 +87,9 @@ "dist", "browser-exports.js" ], - "author": "NEAR Inc" + "author": "NEAR Inc", + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/near-api-js/tsconfig.cjs.json b/packages/near-api-js/tsconfig.cjs.json new file mode 100644 index 0000000000..e7466bf3bb --- /dev/null +++ b/packages/near-api-js/tsconfig.cjs.json @@ -0,0 +1,11 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts", + "src/browser-index.ts" + ] +} diff --git a/packages/near-api-js/tsconfig.json b/packages/near-api-js/tsconfig.json index fd583f4e2f..9895257d0a 100644 --- a/packages/near-api-js/tsconfig.json +++ b/packages/near-api-js/tsconfig.json @@ -5,10 +5,9 @@ "es2022", "dom" ], - "outDir": "./lib" + "outDir": "./lib/esm" }, "files": [ "src/index.ts", - "src/browser-index.ts", ], } \ No newline at end of file diff --git a/packages/providers/package.json b/packages/providers/package.json index 1c316e4005..3c74e0ab22 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -2,11 +2,12 @@ "name": "@near-js/providers", "version": "0.2.3", "description": "Library of implementations for interfacing with the NEAR blockchain", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -25,6 +26,7 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "near-workspaces": "3.5.0", "ts-jest": "29.1.5", @@ -37,8 +39,8 @@ "files": [ "lib" ], - "resolutions": { - "near-sandbox": "0.0.18", - "near-api-js": "4.0.0" + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" } } diff --git a/packages/providers/tsconfig.cjs.json b/packages/providers/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/providers/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/providers/tsconfig.json b/packages/providers/tsconfig.json index 38fe05e1b6..a353a73d9f 100644 --- a/packages/providers/tsconfig.json +++ b/packages/providers/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", "lib": ["es2022", "dom"] }, "files": [ diff --git a/packages/signers/package.json b/packages/signers/package.json index 34232c48de..f94901b049 100644 --- a/packages/signers/package.json +++ b/packages/signers/package.json @@ -2,11 +2,12 @@ "name": "@near-js/signers", "version": "0.1.5", "description": "Modules for cryptographically signing messages", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -22,6 +23,7 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", @@ -29,5 +31,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/signers/tsconfig.cjs.json b/packages/signers/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/signers/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/signers/tsconfig.json b/packages/signers/tsconfig.json index 9d8ff26d3b..5f3d7bd793 100644 --- a/packages/signers/tsconfig.json +++ b/packages/signers/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/packages/transactions/package.json b/packages/transactions/package.json index 089ce459a6..fae3df38cc 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -2,11 +2,12 @@ "name": "@near-js/transactions", "version": "1.2.3", "description": "Functions and data types for transactions on NEAR", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -26,6 +27,7 @@ "@jest/globals": "^29.7.0", "@near-js/keystores": "workspace:*", "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", @@ -33,5 +35,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/transactions/tsconfig.cjs.json b/packages/transactions/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/transactions/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/transactions/tsconfig.json b/packages/transactions/tsconfig.json index 9d8ff26d3b..5f3d7bd793 100644 --- a/packages/transactions/tsconfig.json +++ b/packages/transactions/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/packages/tsconfig/cjs.json b/packages/tsconfig/cjs.json index d259f7f0f0..c91f19df0c 100644 --- a/packages/tsconfig/cjs.json +++ b/packages/tsconfig/cjs.json @@ -1,6 +1,8 @@ { "extends": "./base.json", - "module": "commonjs", "target": "es6", - "lib": ["es6"] + "lib": ["es6"], + "compilerOptions": { + "module": "commonjs" + } } diff --git a/packages/types/package.json b/packages/types/package.json index 8885133f79..c522cff680 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -2,11 +2,12 @@ "name": "@near-js/types", "version": "0.2.1", "description": "TypeScript types for working with the Near JS API", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts --fix" }, @@ -15,6 +16,7 @@ "license": "ISC", "devDependencies": { "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", @@ -22,5 +24,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/types/tsconfig.cjs.json b/packages/types/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/types/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index 9d8ff26d3b..5f3d7bd793 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/packages/utils/package.json b/packages/utils/package.json index 0160c8f0d4..3e7aef94ad 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -2,11 +2,12 @@ "name": "@near-js/utils", "version": "0.3.0", "description": "Common methods and constants for the NEAR API JavaScript client", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "lint": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc", "lint:fix": "eslint -c ../../.eslintrc.ts.yml src/**/*.ts test/**/*.ts --no-eslintrc --fix", "test": "jest" @@ -23,6 +24,7 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "ts-jest": "29.1.5", "tsconfig": "workspace:*", @@ -30,5 +32,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/utils/tsconfig.cjs.json b/packages/utils/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/utils/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 9d8ff26d3b..5f3d7bd793 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "tsconfig/esm.json", "compilerOptions": { - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/packages/wallet-account/package.json b/packages/wallet-account/package.json index 08159df090..ace8c48088 100644 --- a/packages/wallet-account/package.json +++ b/packages/wallet-account/package.json @@ -2,11 +2,12 @@ "name": "@near-js/wallet-account", "version": "1.2.3", "description": "Dependencies for the NEAR API JavaScript client in the browser", - "main": "lib/index.js", + "main": "lib/esm/index.js", "type": "module", "scripts": { - "build": "pnpm compile", - "compile": "tsc -p tsconfig.json", + "build": "pnpm compile:esm && pnpm compile:cjs", + "compile:esm": "tsc -p tsconfig.json", + "compile:cjs": "tsc -p tsconfig.cjs.json && cjsify ./lib/commonjs", "test": "jest" }, "keywords": [], @@ -26,6 +27,7 @@ "devDependencies": { "@jest/globals": "^29.7.0", "@types/node": "20.0.0", + "build": "workspace:*", "jest": "29.7.0", "localstorage-memory": "1.0.3", "ts-jest": "29.1.5", @@ -34,5 +36,9 @@ }, "files": [ "lib" - ] + ], + "exports": { + "require": "./lib/commonjs/index.cjs", + "import": "./lib/esm/index.js" + } } diff --git a/packages/wallet-account/tsconfig.cjs.json b/packages/wallet-account/tsconfig.cjs.json new file mode 100644 index 0000000000..83abd57c4f --- /dev/null +++ b/packages/wallet-account/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/cjs.json", + "compilerOptions": { + "outDir": "./lib/commonjs", + "lib": ["es2022", "dom"] + }, + "files": [ + "src/index.ts" + ] +} diff --git a/packages/wallet-account/tsconfig.json b/packages/wallet-account/tsconfig.json index b057ef2f48..c228e5cdfe 100644 --- a/packages/wallet-account/tsconfig.json +++ b/packages/wallet-account/tsconfig.json @@ -2,7 +2,7 @@ "extends": "tsconfig/browser.json", "compilerOptions": { "preserveSymlinks": false, - "outDir": "./lib", + "outDir": "./lib/esm", }, "files": [ "src/index.ts" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8ce04c6f3..be4d86513c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,6 +112,9 @@ importers: bs58: specifier: 4.0.0 version: 4.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -163,6 +166,9 @@ importers: buffer: specifier: 6.0.3 version: 6.0.3 + build: + specifier: workspace:* + version: link:../build cbor-js: specifier: ^0.1.0 version: 0.1.0 @@ -183,6 +189,8 @@ importers: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + packages/build: {} + packages/cookbook: dependencies: '@near-js/accounts': @@ -240,6 +248,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -262,6 +273,9 @@ importers: '@types/node': specifier: 18.11.18 version: 18.11.18 + build: + specifier: workspace:* + version: link:../build packages/keystores: dependencies: @@ -278,6 +292,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -303,6 +320,9 @@ importers: '@jest/globals': specifier: ^29.7.0 version: 29.7.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) @@ -334,6 +354,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -410,6 +433,9 @@ importers: buffer: specifier: 6.0.3 version: 6.0.3 + build: + specifier: workspace:* + version: link:../build bundlewatch: specifier: 0.3.1 version: 0.3.1 @@ -490,6 +516,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -524,6 +553,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -567,6 +599,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -587,6 +622,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -621,6 +659,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) @@ -670,6 +711,9 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 + build: + specifier: workspace:* + version: link:../build jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) From 6d08fcd29093d7a4ede9403c779808de61f8ea99 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Thu, 8 Aug 2024 15:38:24 -0700 Subject: [PATCH 36/45] chore: package cleanup --- .travis.yml | 28 - package.json | 2 +- packages/near-api-js/browser-exports.js | 2 +- packages/near-api-js/dangerfile.ts | 15 - packages/near-api-js/package.json | 9 +- pnpm-lock.yaml | 2080 ++++------------------- 6 files changed, 318 insertions(+), 1818 deletions(-) delete mode 100644 .travis.yml delete mode 100644 packages/near-api-js/dangerfile.ts diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 1d1629d303..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: node_js - -node_js: 12 - -env: - - NODE_ENV=ci - -cache: yarn - - -jobs: - include: - - name: yarn - script: - - yarn lint - - yarn test - - yarn browserify && yarn run bundlewatch - - - name: fossa - before_script: - - "curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/fossas/fossa-cli/fc60c6631a5d372d5a45fea35e31665b338f260d/install.sh | sudo bash" - script: - - fossa init - - fossa analyze --server-scan - - fossa test - - name: danger - script: - - yarn danger ci diff --git a/package.json b/package.json index d839a1f7c8..b594b5f13a 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "commitlint": "19.3.0", "eslint": "8.20.0", "husky": "7.0.4", - "rimraf": "3.0.2", + "rimraf": "6.0.1", "turbo": "1.4.5", "typedoc": "0.25.13", "tsconfig": "workspace:*", diff --git a/packages/near-api-js/browser-exports.js b/packages/near-api-js/browser-exports.js index 60d12ac115..a565e6dba3 100644 --- a/packages/near-api-js/browser-exports.js +++ b/packages/near-api-js/browser-exports.js @@ -1 +1 @@ -window.nearApi = require('./lib/browser-index'); +window.nearApi = require('./lib/commonjs/browser-index.cjs'); diff --git a/packages/near-api-js/dangerfile.ts b/packages/near-api-js/dangerfile.ts deleted file mode 100644 index 55fca86898..0000000000 --- a/packages/near-api-js/dangerfile.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { schedule, danger } from 'danger'; -import { - checkForRelease, - checkForNewDependencies, - checkForLockfileDiff, - checkForTypesInDeps -} from 'danger-plugin-yarn'; - -schedule(async () => { - const packageDiff = await danger.git.JSONDiffForFile("package.json") - checkForRelease(packageDiff) - checkForNewDependencies(packageDiff) - checkForLockfileDiff(packageDiff) - checkForTypesInDeps(packageDiff) - }) \ No newline at end of file diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index cf70e7566b..b1a396be3d 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -31,15 +31,12 @@ "devDependencies": { "@types/http-errors": "1.6.1", "@types/node": "20.0.0", - "browserify": "16.2.3", "bs58": "4.0.0", "buffer": "6.0.3", "build": "workspace:*", "bundlewatch": "0.3.1", "concurrently": "7.3.0", - "danger": "11.1.1", - "danger-plugin-yarn": "1.3.2", - "esbuild": "^0.21.5", + "esbuild": "0.23.0", "in-publish": "2.0.0", "jest": "29.7.0", "localstorage-memory": "1.0.3", @@ -50,7 +47,7 @@ "semver": "7.1.1", "ts-jest": "29.1.5", "tsconfig": "workspace:*", - "uglifyify": "5.0.1" + "util": "^0.12.5" }, "keywords": [], "license": "(MIT AND Apache-2.0)", @@ -78,7 +75,7 @@ "files": [ { "path": "dist/near-api-js.min.js", - "maxSize": "250kB" + "maxSize": "150kB" } ] }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index be4d86513c..5d533031ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -40,8 +40,8 @@ importers: specifier: 7.0.4 version: 7.0.4 rimraf: - specifier: 3.0.2 - version: 3.0.2 + specifier: 6.0.1 + version: 6.0.1 tsconfig: specifier: workspace:* version: link:packages/tsconfig @@ -132,7 +132,7 @@ importers: version: 7.1.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -187,7 +187,7 @@ importers: version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) packages/build: {} @@ -256,7 +256,7 @@ importers: version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -300,7 +300,7 @@ importers: version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -362,7 +362,7 @@ importers: version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -424,9 +424,6 @@ importers: '@types/node': specifier: 20.0.0 version: 20.0.0 - browserify: - specifier: 16.2.3 - version: 16.2.3 bs58: specifier: 4.0.0 version: 4.0.0 @@ -442,15 +439,9 @@ importers: concurrently: specifier: 7.3.0 version: 7.3.0 - danger: - specifier: 11.1.1 - version: 11.1.1(encoding@0.1.13) - danger-plugin-yarn: - specifier: 1.3.2 - version: 1.3.2 esbuild: - specifier: ^0.21.5 - version: 0.21.5 + specifier: 0.23.0 + version: 0.23.0 in-publish: specifier: 2.0.0 version: 2.0.0 @@ -477,13 +468,13 @@ importers: version: 7.1.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig - uglifyify: - specifier: 5.0.1 - version: 5.0.1 + util: + specifier: ^0.12.5 + version: 0.12.5 packages/providers: dependencies: @@ -527,7 +518,7 @@ importers: version: 3.5.0(encoding@0.1.13) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -561,7 +552,7 @@ importers: version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -607,7 +598,7 @@ importers: version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -630,7 +621,7 @@ importers: version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -667,7 +658,7 @@ importers: version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -722,7 +713,7 @@ importers: version: 1.0.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -1071,141 +1062,147 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.23.0': + resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.23.0': + resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.23.0': + resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.23.0': + resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.23.0': + resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.23.0': + resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.23.0': + resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.23.0': + resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.23.0': + resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.23.0': + resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.23.0': + resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.23.0': + resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.23.0': + resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.23.0': + resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.23.0': + resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.23.0': + resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.23.0': + resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + '@esbuild/netbsd-x64@0.23.0': + resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.23.0': + resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.23.0': + resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.23.0': + resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.23.0': + resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.23.0': + resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.23.0': + resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} + engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -1235,6 +1232,10 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} deprecated: Use @eslint/object-schema instead + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -1396,48 +1397,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@octokit/auth-token@2.5.0': - resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} - - '@octokit/core@3.6.0': - resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} - - '@octokit/endpoint@6.0.12': - resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} - - '@octokit/graphql@4.8.0': - resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} - - '@octokit/openapi-types@12.11.0': - resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} - - '@octokit/plugin-paginate-rest@2.21.3': - resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} - peerDependencies: - '@octokit/core': '>=2' - - '@octokit/plugin-request-log@1.0.4': - resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} - peerDependencies: - '@octokit/core': '>=3' - - '@octokit/plugin-rest-endpoint-methods@5.16.2': - resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} - peerDependencies: - '@octokit/core': '>=3' - - '@octokit/request-error@2.1.0': - resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} - - '@octokit/request@5.6.3': - resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} - - '@octokit/rest@18.12.0': - resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} - - '@octokit/types@6.41.0': - resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} - '@peculiar/asn1-schema@2.3.8': resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} @@ -1449,6 +1408,10 @@ packages: resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} engines: {node: '>=10.12.0'} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -1621,40 +1584,20 @@ packages: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-node@1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} - - acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - acorn-walk@8.3.3: resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} - acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.12.0: resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true - agent-base@4.3.0: - resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} - engines: {node: '>= 4.0.0'} - ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1673,6 +1616,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + ansi-sequence-parser@1.1.1: resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} @@ -1688,6 +1635,10 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -1727,22 +1678,10 @@ packages: asn1-parser@1.1.8: resolution: {integrity: sha512-3aYtVA7yzCK7r+qbBzpvzcq53kz7IRfGWTObbAGZieTj+By8wbSGSncZO7TztQ5UXrHELCesUIlJGD4JJcUAsA==} - asn1.js@4.10.1: - resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} - asn1js@3.0.5: resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} engines: {node: '>=12.0.0'} - assert@1.5.1: - resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} - - async-retry@1.2.3: - resolution: {integrity: sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -1794,9 +1733,6 @@ packages: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} - before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -1829,40 +1765,6 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - browser-pack@6.1.0: - resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==} - hasBin: true - - browser-resolve@1.11.3: - resolution: {integrity: sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==} - - browser-resolve@2.0.0: - resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} - - browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} - - browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} - - browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} - - browserify-rsa@4.1.0: - resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} - - browserify-sign@4.2.3: - resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} - engines: {node: '>= 0.12'} - - browserify-zlib@0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - - browserify@16.2.3: - resolution: {integrity: sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==} - engines: {node: '>= 0.8'} - hasBin: true - browserslist@4.23.1: resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1881,24 +1783,12 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - buffer-equal-constant-time@1.0.1: - resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - builtin-status-codes@3.0.0: - resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - bundlewatch@0.3.1: resolution: {integrity: sha512-yVuOHljZCxRrDgujRn7GED+7Ms8G7hQJmP8vtQWIquDwDfocJH6RdRX42mqDWhMXGdsT3qhB1GYJ5q5zFZ0AEA==} engines: {node: '>=10'} @@ -1920,9 +1810,6 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} - cached-path-relative@1.1.0: - resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==} - call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -1994,9 +1881,6 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} - cjs-module-lexer@1.3.1: resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} @@ -2034,20 +1918,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - - combine-source-map@0.8.0: - resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -2063,21 +1933,11 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - concurrently@7.3.0: resolution: {integrity: sha512-IiDwm+8DOcFEInca494A8V402tNTQlJaYq78RF2rijOrKEk/AOHTxhN4U1cp7GYKYX5Q6Ymh1dLTBlzIMN0ikA==} engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} hasBin: true - console-browserify@1.2.0: - resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} - - constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - conventional-changelog-angular@7.0.0: resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} engines: {node: '>=16'} @@ -2091,18 +1951,9 @@ packages: engines: {node: '>=16'} hasBin: true - convert-source-map@1.1.3: - resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - core-js@3.37.1: - resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cosmiconfig-typescript-loader@5.0.0: resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} @@ -2120,15 +1971,6 @@ packages: typescript: optional: true - create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} - - create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - - create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2144,9 +1986,6 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - crypto-browserify@3.12.0: - resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} - csv-generate@3.4.3: resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} @@ -2160,22 +1999,10 @@ packages: resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} engines: {node: '>= 0.1.90'} - danger-plugin-yarn@1.3.2: - resolution: {integrity: sha512-g+7guMig986giNyUxM15sFH32HKBGzHcKHMrAojvGOU9lpB53KwxX5yrYnokRlfW0aSaAwm9GCInXTQc9MoW3w==} - engines: {node: '>=4.0.0'} - - danger@11.1.1: - resolution: {integrity: sha512-kQX1/Rggut/KFgArOloAdw6paB7hkoznRaUhpPFKVHKRgc6FtlhC8zpb480jVE71Z6eI7rrHVDGEYLv8x96yyA==} - engines: {node: '>=14.13.1'} - hasBin: true - dargs@8.1.0: resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} engines: {node: '>=12'} - dash-ast@1.0.0: - resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} - data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -2191,9 +2018,6 @@ packages: dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} - date-fns@1.30.1: - resolution: {integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==} - date-fns@2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} @@ -2206,14 +2030,6 @@ packages: supports-color: optional: true - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.5: resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} @@ -2231,10 +2047,6 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -2269,13 +2081,6 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - defined@1.0.1: - resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} @@ -2284,16 +2089,6 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - - deps-sort@2.0.1: - resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==} - hasBin: true - - des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} - detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -2306,11 +2101,6 @@ packages: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - detective@5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2319,9 +2109,6 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -2330,10 +2117,6 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - domain-browser@1.2.0: - resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} - engines: {node: '>=0.4', npm: '>=1.2'} - dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -2342,14 +2125,11 @@ packages: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} - duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - ecdsa-sig-formatter@1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} electron-to-chromium@1.4.807: resolution: {integrity: sha512-kSmJl2ZwhNf/bcIuCH/imtNOKlpkLDn2jqT5FJ+/0CXjhnFaOa9cOe9gHKKy71eM49izwuQjZhKk+lWQ1JxB7A==} @@ -2364,6 +2144,9 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -2408,15 +2191,9 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - es6-promise@4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - - es6-promisify@5.0.0: - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} - - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + esbuild@0.23.0: + resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==} + engines: {node: '>=18'} hasBin: true escalade@3.1.2: @@ -2483,21 +2260,10 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - - events@2.1.0: - resolution: {integrity: sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==} - engines: {node: '>=0.4.x'} - events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -2510,10 +2276,6 @@ packages: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} - expand-tilde@2.0.2: - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} - engines: {node: '>=0.10.0'} - expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2521,13 +2283,6 @@ packages: exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - extend@1.3.0: - resolution: {integrity: sha512-hT3PRBs1qm4P8g2keUBZ9bPaFHAcS78o5aCd9WhFTluHZZgBEkI08R+zYrpRpImyRTH+dw7IlqxrOp9iartTkw==} - extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -2542,18 +2297,12 @@ packages: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} - fast-json-patch@3.1.1: - resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==} - fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -2572,10 +2321,6 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - filter-obj@1.1.0: - resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} - engines: {node: '>=0.10.0'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -2605,13 +2350,9 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - form-data@2.5.1: - resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} - engines: {node: '>= 0.12'} - - fs-exists-sync@0.1.0: - resolution: {integrity: sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==} - engines: {node: '>=0.10.0'} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} @@ -2660,9 +2401,6 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-assigned-identifiers@1.2.0: - resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==} - get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -2675,10 +2413,6 @@ packages: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} - get-stdin@6.0.0: - resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==} - engines: {node: '>=4'} - get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -2695,20 +2429,11 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - git-config-path@1.0.1: - resolution: {integrity: sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==} - engines: {node: '>=0.10.0'} - git-raw-commits@4.0.0: resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} engines: {node: '>=16'} hasBin: true - gitlab@10.2.1: - resolution: {integrity: sha512-z+DxRF1C9uayVbocs9aJkJz+kGy14TSm1noB/rAIEBbXOkOYbjKxyuqJzt+0zeFpXFdgA0yq6DVVbvM7HIfGwg==} - engines: {node: '>=10.0.0'} - deprecated: 'This package has found a new home in the @gitbeaker organization. For the latest GitLab API library for node, browser, and deno usage, check out @gitbeaker/rest. A full list of the features can be found here: https://github.com/jdalrymple/gitbeaker#readme' - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2717,6 +2442,11 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + glob@11.0.0: + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} + engines: {node: 20 || >=22} + hasBin: true + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -2768,10 +2498,6 @@ packages: has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - has-flag@2.0.0: - resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} - engines: {node: '>=0.10.0'} - has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -2795,18 +2521,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} - engines: {node: '>= 0.4.0'} - - hash-base@3.0.4: - resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==} - engines: {node: '>=4'} - - hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} - hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} @@ -2814,17 +2528,9 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hasurl@1.0.0: - resolution: {integrity: sha512-43ypUd3DbwyCT01UYpA99AEZxZ4aKtRxWGBHEIbjcOsUghd9YUON0C+JF6isNjaiwC/UF5neaUudy6JS9jZPZQ==} - engines: {node: '>= 4'} - hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - homedir-polyfill@1.0.3: - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} - engines: {node: '>=0.10.0'} - homedir@0.6.0: resolution: {integrity: sha512-KZFBHenkVuyyG4uaqRSXqWJr3HTxcaPguM7rU1BlH/mtbDlzaXNSXTa9AhV+fXEjrNemHu9vtLRIaM8/8OW0xA==} @@ -2834,10 +2540,6 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - htmlescape@1.1.1: - resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==} - engines: {node: '>=0.10'} - http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -2845,21 +2547,10 @@ packages: resolution: {integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==} engines: {node: '>= 0.6'} - http-proxy-agent@2.1.0: - resolution: {integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==} - engines: {node: '>= 4.5.0'} - http2-wrapper@1.0.3: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} - https-browserify@1.0.0: - resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} - - https-proxy-agent@2.2.4: - resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} - engines: {node: '>= 4.5.0'} - human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} @@ -2871,18 +2562,11 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - humps@2.0.1: - resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==} - husky@7.0.4: resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} engines: {node: '>=12'} hasBin: true - hyperlinker@1.0.0: - resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} - engines: {node: '>=4'} - iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -2932,24 +2616,18 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - ini@4.1.1: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - inline-source-map@0.6.3: - resolution: {integrity: sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==} - - insert-module-globals@7.2.1: - resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==} - hasBin: true - internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -2964,9 +2642,6 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -2986,10 +2661,6 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -3002,6 +2673,10 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -3032,10 +2707,6 @@ packages: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} - is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - is-property@1.0.2: resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} @@ -3047,10 +2718,6 @@ packages: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} - is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -3086,9 +2753,6 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -3122,6 +2786,10 @@ packages: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} + jackspeak@4.0.1: + resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==} + engines: {node: 20 || >=22} + jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3292,9 +2960,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json-stable-stringify@0.0.1: - resolution: {integrity: sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -3309,9 +2974,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsonify@0.0.1: - resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - jsonpack@1.1.5: resolution: {integrity: sha512-d2vwomK605ks7Q+uCpbwGyoIF5j+UZuJjlYcugISBt3CxM+eBo/W6y63yVPIyIvbYON+pvJYsYZjCYbzqJj/xQ==} @@ -3323,16 +2985,6 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - jsonwebtoken@8.5.1: - resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} - engines: {node: '>=4', npm: '>=1.4.28'} - - jwa@1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} - - jws@3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -3348,19 +3000,6 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - ky-universal@0.3.0: - resolution: {integrity: sha512-CM4Bgb2zZZpsprcjI6DNYTaH3oGHXL2u7BU4DK+lfCuC4snkt9/WRpMYeKbBbXscvKkeqBwzzjFX2WwmKY5K/A==} - engines: {node: '>=8'} - peerDependencies: - ky: '>=0.12.0' - - ky@0.12.0: - resolution: {integrity: sha512-t9b7v3V2fGwAcQnnDDQwKQGF55eWrf4pwi1RN08Fy8b/9GEwV7Ea0xQiaSW6ZbeghBHIwl8kgnla4vVo9seepQ==} - engines: {node: '>=8'} - - labeled-stream-splicer@2.0.2: - resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==} - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -3369,9 +3008,6 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - li@1.3.0: - resolution: {integrity: sha512-z34TU6GlMram52Tss5mt1m//ifRIpKH5Dqm7yUVOdHI+BQCs9qGPHFaCUTIzsWX7edN30aa2WrPwR7IO10FHaw==} - lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -3397,45 +3033,12 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - lodash.find@4.6.0: - resolution: {integrity: sha512-yaRZoAV3Xq28F1iafWN1+a0rflOej93l1DQUejs3SZ41h2O9UJBoS9aueGjPDgAl4B6tPC0NuuchLKaDQQ3Isg==} - - lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - - lodash.includes@4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - - lodash.isboolean@3.0.3: - resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - - lodash.isinteger@4.0.4: - resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - - lodash.isnumber@3.0.3: - resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} - - lodash.isobject@3.0.2: - resolution: {integrity: sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==} - lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - lodash.isstring@4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} - lodash.keys@4.2.0: - resolution: {integrity: sha512-J79MkJcp7Df5mizHiVNpjoHXLi4HLjh9VLS/M7lQSGoQ+0oQ+lWEigREkqKyizPB1IawvQLLKY8mzEcm1tkyxQ==} - - lodash.mapvalues@4.6.0: - resolution: {integrity: sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==} - - lodash.memoize@3.0.4: - resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==} - lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -3445,15 +3048,9 @@ packages: lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -3470,6 +3067,10 @@ packages: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} + lru-cache@11.0.0: + resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==} + engines: {node: 20 || >=22} + lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} @@ -3505,12 +3106,6 @@ packages: engines: {node: '>= 12'} hasBin: true - md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - - memfs-or-file-map-to-github-branch@1.2.1: - resolution: {integrity: sha512-I/hQzJ2a/pCGR8fkSQ9l5Yx+FQ4e7X6blNHyWBm2ojeFLT3GVzGkTj7xnyWpdclrr7Nq4dmx3xrvu70m3ypzAQ==} - meow@12.1.1: resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} engines: {node: '>=16.10'} @@ -3530,18 +3125,6 @@ packages: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} - miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} - hasBin: true - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -3568,6 +3151,10 @@ packages: minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -3594,6 +3181,10 @@ packages: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -3602,29 +3193,17 @@ packages: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true - module-deps@6.2.3: - resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==} - engines: {node: '>= 0.8.0'} - hasBin: true - ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mustache@4.0.0: resolution: {integrity: sha512-FJgjyX/IVkbXBXYUwH+OYwQKqWpFPLaLVESd70yHjSDunwzV2hZOoTBvPf4KLoxesUzzyfTH6F784Uqd7Wm5yA==} engines: {npm: '>=1.4.0'} @@ -3657,12 +3236,6 @@ packages: node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - node-cleanup@2.1.2: - resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} - - node-fetch@1.7.3: - resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} - node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -3734,9 +3307,6 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - os-browserify@0.3.0: - resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -3744,9 +3314,6 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - override-require@1.1.1: - resolution: {integrity: sha512-eoJ9YWxFcXbrn2U8FKT6RV+/Kj7fiGAB1VvHzbYKt8xM5ZuKZgCGvnHzDxmreEjcBH28ejg5MiOH4iyY1mQnkg==} - p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} @@ -3787,46 +3354,17 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parents@1.0.1: - resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} - - parse-asn1@5.1.7: - resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} - engines: {node: '>= 0.10'} - - parse-diff@0.7.1: - resolution: {integrity: sha512-1j3l8IKcy4yRK2W4o9EYvJLSzpAVwz4DXqCewYyx2vEwk2gcf3DBPqc8Fj4XV3K33OYJ08A8fWwyu/ykD/HUSg==} - - parse-git-config@2.0.3: - resolution: {integrity: sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==} - engines: {node: '>=6'} - - parse-github-url@1.0.2: - resolution: {integrity: sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==} - engines: {node: '>=0.10.0'} - hasBin: true - parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parse-link-header@2.0.0: - resolution: {integrity: sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw==} - - parse-passwd@1.0.0: - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} - engines: {node: '>=0.10.0'} - - path-browserify@0.0.1: - resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -3850,18 +3388,14 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-platform@0.11.15: - resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} - engines: {node: '>= 0.8.0'} + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} - picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} @@ -3873,9 +3407,6 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pinpoint@1.1.0: - resolution: {integrity: sha512-+04FTD9x7Cls2rihLlo57QDCcHoLBGn5Dk51SwtFBWkUWLxZaBXyNVpCw1S+atvE7GmnFjeaRZ0WLq3UYuqAdg==} - pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -3909,13 +3440,6 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - prettyjson@1.2.5: - resolution: {integrity: sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==} - hasBin: true - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -3934,15 +3458,9 @@ packages: pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} - pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -3961,18 +3479,6 @@ packages: resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} engines: {node: '>=6.0.0'} - qs@6.12.1: - resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} - engines: {node: '>=0.6'} - - query-string@6.14.1: - resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} - engines: {node: '>=6'} - - querystring-es3@0.2.1: - resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} - engines: {node: '>=0.4.x'} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -3987,15 +3493,9 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} - react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - read-only-stream@2.0.0: - resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==} - read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -4008,24 +3508,10 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readline-sync@1.4.10: - resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==} - engines: {node: '>= 0.8.0'} - redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -4067,9 +3553,6 @@ packages: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} - resolve@1.1.7: - resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} - resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -4090,8 +3573,10 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + rimraf@6.0.1: + resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} + engines: {node: 20 || >=22} + hasBin: true run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -4103,9 +3588,6 @@ packages: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -4152,16 +3634,6 @@ packages: setprototypeof@1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} - sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true - - shasum-object@1.0.0: - resolution: {integrity: sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==} - - shasum@1.0.2: - resolution: {integrity: sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==} - shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -4195,9 +3667,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -4213,13 +3682,6 @@ packages: source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -4242,10 +3704,6 @@ packages: spdx-license-ids@3.0.18: resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} - split-on-first@1.1.0: - resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} - engines: {node: '>=6'} - split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -4261,25 +3719,9 @@ packages: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} - stream-browserify@2.0.2: - resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} - - stream-combiner2@1.1.1: - resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} - - stream-http@2.8.3: - resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} - - stream-splicer@2.0.1: - resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==} - stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} - strict-uri-encode@2.0.0: - resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} - engines: {node: '>=4'} - string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -4288,6 +3730,10 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} @@ -4299,16 +3745,14 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -4333,9 +3777,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - subarg@1.0.0: - resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -4348,17 +3789,10 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - supports-hyperlinks@1.0.1: - resolution: {integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==} - engines: {node: '>=4'} - supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - syntax-error@1.4.0: - resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==} - tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -4371,11 +3805,6 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - terser@3.17.0: - resolution: {integrity: sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==} - engines: {node: '>=6.0.0'} - hasBin: true - test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -4390,16 +3819,9 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - timers-browserify@1.4.2: - resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} - engines: {node: '>=0.6.0'} - tldts-core@6.1.28: resolution: {integrity: sha512-MJIfu8oVA4GVEuZKxk1GaaLpdq45w8b/UoWwuq3k+oIWbFBFtFG37xCTe3qz7D/ZBcHFZ2LmQb66grE1/Q93Hw==} @@ -4414,9 +3836,6 @@ packages: tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - to-arraybuffer@1.0.1: - resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} - to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -4432,9 +3851,6 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -4490,9 +3906,6 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tty-browserify@0.0.1: - resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - tty-table@4.2.3: resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} engines: {node: '>=8.0.0'} @@ -4616,9 +4029,6 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typedoc@0.25.13: resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} engines: {node: '>= 16'} @@ -4631,20 +4041,9 @@ packages: engines: {node: '>=14.17'} hasBin: true - uglifyify@5.0.1: - resolution: {integrity: sha512-PO44rgExvwj3rkK0UzenHVnPU18drBy9x9HOUmgkuRh6K2KIsDqrB5LqxGtjybgGTOS1JeP8SBc+TN5rhiva6w==} - - umd@3.0.3: - resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==} - hasBin: true - unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - undeclared-identifiers@1.1.3: - resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} - hasBin: true - unfetch@4.2.0: resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} @@ -4652,13 +4051,6 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} - universal-url@2.0.0: - resolution: {integrity: sha512-3DLtXdm/G1LQMCnPj+Aw7uDoleQttNHp2g5FnNQKR6cP6taNWS1b/Ehjjx4PVyvejKi3TJyu8iBraKM4q3JQPg==} - engines: {node: '>= 6'} - - universal-user-agent@6.0.1: - resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} - universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -4676,14 +4068,8 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - url@0.11.3: - resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - util@0.10.4: - resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -4698,9 +4084,6 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vm-browserify@1.1.2: - resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} - vscode-oniguruma@1.7.0: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} @@ -4719,15 +4102,9 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -4763,6 +4140,10 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -5343,73 +4724,76 @@ snapshots: '@jridgewell/trace-mapping': 0.3.9 optional: true - '@esbuild/aix-ppc64@0.21.5': + '@esbuild/aix-ppc64@0.23.0': optional: true - '@esbuild/android-arm64@0.21.5': + '@esbuild/android-arm64@0.23.0': optional: true - '@esbuild/android-arm@0.21.5': + '@esbuild/android-arm@0.23.0': optional: true - '@esbuild/android-x64@0.21.5': + '@esbuild/android-x64@0.23.0': optional: true - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/darwin-arm64@0.23.0': optional: true - '@esbuild/darwin-x64@0.21.5': + '@esbuild/darwin-x64@0.23.0': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/freebsd-arm64@0.23.0': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/freebsd-x64@0.23.0': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-arm64@0.23.0': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-arm@0.23.0': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-ia32@0.23.0': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-loong64@0.23.0': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-mips64el@0.23.0': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-ppc64@0.23.0': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-riscv64@0.23.0': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-s390x@0.23.0': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-x64@0.23.0': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/netbsd-x64@0.23.0': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/openbsd-arm64@0.23.0': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/openbsd-x64@0.23.0': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/sunos-x64@0.23.0': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/win32-arm64@0.23.0': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-ia32@0.23.0': + optional: true + + '@esbuild/win32-x64@0.23.0': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@8.20.0)': @@ -5445,6 +4829,15 @@ snapshots: '@humanwhocodes/object-schema@1.2.1': {} + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 @@ -5802,83 +5195,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@octokit/auth-token@2.5.0': - dependencies: - '@octokit/types': 6.41.0 - - '@octokit/core@3.6.0(encoding@0.1.13)': - dependencies: - '@octokit/auth-token': 2.5.0 - '@octokit/graphql': 4.8.0(encoding@0.1.13) - '@octokit/request': 5.6.3(encoding@0.1.13) - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.1 - transitivePeerDependencies: - - encoding - - '@octokit/endpoint@6.0.12': - dependencies: - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - universal-user-agent: 6.0.1 - - '@octokit/graphql@4.8.0(encoding@0.1.13)': - dependencies: - '@octokit/request': 5.6.3(encoding@0.1.13) - '@octokit/types': 6.41.0 - universal-user-agent: 6.0.1 - transitivePeerDependencies: - - encoding - - '@octokit/openapi-types@12.11.0': {} - - '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0(encoding@0.1.13))': - dependencies: - '@octokit/core': 3.6.0(encoding@0.1.13) - '@octokit/types': 6.41.0 - - '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0(encoding@0.1.13))': - dependencies: - '@octokit/core': 3.6.0(encoding@0.1.13) - - '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0(encoding@0.1.13))': - dependencies: - '@octokit/core': 3.6.0(encoding@0.1.13) - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - - '@octokit/request-error@2.1.0': - dependencies: - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - once: 1.4.0 - - '@octokit/request@5.6.3(encoding@0.1.13)': - dependencies: - '@octokit/endpoint': 6.0.12 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - node-fetch: 2.6.7(encoding@0.1.13) - universal-user-agent: 6.0.1 - transitivePeerDependencies: - - encoding - - '@octokit/rest@18.12.0(encoding@0.1.13)': - dependencies: - '@octokit/core': 3.6.0(encoding@0.1.13) - '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0(encoding@0.1.13)) - '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0(encoding@0.1.13)) - '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0(encoding@0.1.13)) - transitivePeerDependencies: - - encoding - - '@octokit/types@6.41.0': - dependencies: - '@octokit/openapi-types': 12.11.0 - '@peculiar/asn1-schema@2.3.8': dependencies: asn1js: 3.0.5 @@ -5897,6 +5213,9 @@ snapshots: tslib: 2.6.3 webcrypto-core: 1.8.0 + '@pkgjs/parseargs@0.11.0': + optional: true + '@sinclair/typebox@0.27.8': {} '@sindresorhus/is@4.6.0': {} @@ -6104,35 +5423,17 @@ snapshots: jsonparse: 1.3.1 through: 2.3.8 - abort-controller@3.0.0: - dependencies: - event-target-shim: 5.0.1 - acorn-jsx@5.3.2(acorn@8.12.0): dependencies: acorn: 8.12.0 - acorn-node@1.8.2: - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - xtend: 4.0.2 - - acorn-walk@7.2.0: {} - acorn-walk@8.3.3: dependencies: acorn: 8.12.0 optional: true - acorn@7.4.1: {} - acorn@8.12.0: {} - agent-base@4.3.0: - dependencies: - es6-promisify: 5.0.0 - ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -6155,6 +5456,8 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.0.1: {} + ansi-sequence-parser@1.1.1: {} ansi-styles@3.2.1: @@ -6167,6 +5470,8 @@ snapshots: ansi-styles@5.2.0: {} + ansi-styles@6.2.1: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -6212,29 +5517,12 @@ snapshots: asn1-parser@1.1.8: {} - asn1.js@4.10.1: - dependencies: - bn.js: 4.12.0 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - asn1js@3.0.5: dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 tslib: 2.6.3 - assert@1.5.1: - dependencies: - object.assign: 4.1.5 - util: 0.10.4 - - async-retry@1.2.3: - dependencies: - retry: 0.12.0 - - asynckit@0.4.0: {} - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 @@ -6311,8 +5599,6 @@ snapshots: base64url@3.0.1: {} - before-after-hook@2.2.3: {} - better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 @@ -6348,118 +5634,6 @@ snapshots: brorand@1.1.0: {} - browser-pack@6.1.0: - dependencies: - JSONStream: 1.3.5 - combine-source-map: 0.8.0 - defined: 1.0.1 - safe-buffer: 5.2.1 - through2: 2.0.5 - umd: 3.0.3 - - browser-resolve@1.11.3: - dependencies: - resolve: 1.1.7 - - browser-resolve@2.0.0: - dependencies: - resolve: 1.22.8 - - browserify-aes@1.2.0: - dependencies: - buffer-xor: 1.0.3 - cipher-base: 1.0.4 - create-hash: 1.2.0 - evp_bytestokey: 1.0.3 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - browserify-cipher@1.0.1: - dependencies: - browserify-aes: 1.2.0 - browserify-des: 1.0.2 - evp_bytestokey: 1.0.3 - - browserify-des@1.0.2: - dependencies: - cipher-base: 1.0.4 - des.js: 1.1.0 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - browserify-rsa@4.1.0: - dependencies: - bn.js: 5.2.1 - randombytes: 2.1.0 - - browserify-sign@4.2.3: - dependencies: - bn.js: 5.2.1 - browserify-rsa: 4.1.0 - create-hash: 1.2.0 - create-hmac: 1.1.7 - elliptic: 6.5.5 - hash-base: 3.0.4 - inherits: 2.0.4 - parse-asn1: 5.1.7 - readable-stream: 2.3.8 - safe-buffer: 5.2.1 - - browserify-zlib@0.2.0: - dependencies: - pako: 1.0.11 - - browserify@16.2.3: - dependencies: - JSONStream: 1.3.5 - assert: 1.5.1 - browser-pack: 6.1.0 - browser-resolve: 1.11.3 - browserify-zlib: 0.2.0 - buffer: 5.7.1 - cached-path-relative: 1.1.0 - concat-stream: 1.6.2 - console-browserify: 1.2.0 - constants-browserify: 1.0.0 - crypto-browserify: 3.12.0 - defined: 1.0.1 - deps-sort: 2.0.1 - domain-browser: 1.2.0 - duplexer2: 0.1.4 - events: 2.1.0 - glob: 7.2.3 - has: 1.0.4 - htmlescape: 1.1.1 - https-browserify: 1.0.0 - inherits: 2.0.4 - insert-module-globals: 7.2.1 - labeled-stream-splicer: 2.0.2 - mkdirp: 0.5.6 - module-deps: 6.2.3 - os-browserify: 0.3.0 - parents: 1.0.1 - path-browserify: 0.0.1 - process: 0.11.10 - punycode: 1.4.1 - querystring-es3: 0.2.1 - read-only-stream: 2.0.0 - readable-stream: 2.3.8 - resolve: 1.22.8 - shasum: 1.0.2 - shell-quote: 1.8.1 - stream-browserify: 2.0.2 - stream-http: 2.8.3 - string_decoder: 1.3.0 - subarg: 1.0.0 - syntax-error: 1.4.0 - through2: 2.0.5 - timers-browserify: 1.4.2 - tty-browserify: 0.0.1 - url: 0.11.3 - util: 0.10.4 - vm-browserify: 1.1.2 - xtend: 4.0.2 - browserslist@4.23.1: dependencies: caniuse-lite: 1.0.30001636 @@ -6483,24 +5657,13 @@ snapshots: dependencies: node-int64: 0.4.0 - buffer-equal-constant-time@1.0.1: {} - buffer-from@1.1.2: {} - buffer-xor@1.0.3: {} - - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - builtin-status-codes@3.0.0: {} - bundlewatch@0.3.1: dependencies: axios: 0.19.2 @@ -6532,8 +5695,6 @@ snapshots: normalize-url: 6.1.0 responselike: 2.0.1 - cached-path-relative@1.1.0: {} - call-bind@1.0.7: dependencies: es-define-property: 1.0.0 @@ -6604,11 +5765,6 @@ snapshots: ci-info@3.9.0: {} - cipher-base@1.0.4: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - cjs-module-lexer@1.3.1: {} cliui@6.0.0: @@ -6645,21 +5801,6 @@ snapshots: color-name@1.1.4: {} - colors@1.4.0: {} - - combine-source-map@0.8.0: - dependencies: - convert-source-map: 1.1.3 - inline-source-map: 0.6.3 - lodash.memoize: 3.0.4 - source-map: 0.5.7 - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - - commander@2.20.3: {} - commander@5.1.0: {} commitlint@19.3.0(@types/node@20.5.1)(typescript@5.4.5): @@ -6677,13 +5818,6 @@ snapshots: concat-map@0.0.1: {} - concat-stream@1.6.2: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - concurrently@7.3.0: dependencies: chalk: 4.1.1 @@ -6696,10 +5830,6 @@ snapshots: tree-kill: 1.2.2 yargs: 17.7.2 - console-browserify@1.2.0: {} - - constants-browserify@1.0.0: {} - conventional-changelog-angular@7.0.0: dependencies: compare-func: 2.0.0 @@ -6715,14 +5845,8 @@ snapshots: meow: 12.1.1 split2: 4.2.0 - convert-source-map@1.1.3: {} - convert-source-map@2.0.0: {} - core-js@3.37.1: {} - - core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@5.0.0(@types/node@20.5.1)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): dependencies: '@types/node': 20.5.1 @@ -6739,28 +5863,6 @@ snapshots: optionalDependencies: typescript: 5.4.5 - create-ecdh@4.0.4: - dependencies: - bn.js: 4.12.0 - elliptic: 6.5.5 - - create-hash@1.2.0: - dependencies: - cipher-base: 1.0.4 - inherits: 2.0.4 - md5.js: 1.3.5 - ripemd160: 2.0.2 - sha.js: 2.4.11 - - create-hmac@1.1.7: - dependencies: - cipher-base: 1.0.4 - create-hash: 1.2.0 - inherits: 2.0.4 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 - create-jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 @@ -6806,20 +5908,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crypto-browserify@3.12.0: - dependencies: - browserify-cipher: 1.0.1 - browserify-sign: 4.2.3 - create-ecdh: 4.0.4 - create-hash: 1.2.0 - create-hmac: 1.1.7 - diffie-hellman: 5.0.3 - inherits: 2.0.4 - pbkdf2: 3.1.2 - public-encrypt: 4.0.3 - randombytes: 2.1.0 - randomfill: 1.0.4 - csv-generate@3.4.3: {} csv-parse@4.16.3: {} @@ -6833,61 +5921,8 @@ snapshots: csv-stringify: 5.6.5 stream-transform: 2.1.3 - danger-plugin-yarn@1.3.2: - dependencies: - date-fns: 1.30.1 - lodash.flatten: 4.4.0 - lodash.includes: 4.3.0 - node-fetch: 1.7.3 - semver: 5.7.2 - - danger@11.1.1(encoding@0.1.13): - dependencies: - '@octokit/rest': 18.12.0(encoding@0.1.13) - async-retry: 1.2.3 - chalk: 2.4.2 - commander: 2.20.3 - core-js: 3.37.1 - debug: 4.3.5 - fast-json-patch: 3.1.1 - get-stdin: 6.0.0 - gitlab: 10.2.1(encoding@0.1.13) - http-proxy-agent: 2.1.0 - https-proxy-agent: 2.2.4 - hyperlinker: 1.0.0 - json5: 2.2.3 - jsonpointer: 5.0.1 - jsonwebtoken: 8.5.1 - lodash.find: 4.6.0 - lodash.includes: 4.3.0 - lodash.isobject: 3.0.2 - lodash.keys: 4.2.0 - lodash.mapvalues: 4.6.0 - lodash.memoize: 4.1.2 - memfs-or-file-map-to-github-branch: 1.2.1(encoding@0.1.13) - micromatch: 4.0.7 - node-cleanup: 2.1.2 - node-fetch: 2.6.7(encoding@0.1.13) - override-require: 1.1.1 - p-limit: 2.3.0 - parse-diff: 0.7.1 - parse-git-config: 2.0.3 - parse-github-url: 1.0.2 - parse-link-header: 2.0.0 - pinpoint: 1.1.0 - prettyjson: 1.2.5 - readline-sync: 1.4.10 - regenerator-runtime: 0.13.11 - require-from-string: 2.0.2 - supports-hyperlinks: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dargs@8.1.0: {} - dash-ast@1.0.0: {} - data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -6908,8 +5943,6 @@ snapshots: dataloader@1.4.0: {} - date-fns@1.30.1: {} - date-fns@2.30.0: dependencies: '@babel/runtime': 7.24.7 @@ -6918,11 +5951,7 @@ snapshots: dependencies: ms: 2.0.0 - debug@3.2.7: - dependencies: - ms: 2.1.3 - - debug@4.3.5: + debug@4.3.5: dependencies: ms: 2.1.2 @@ -6933,8 +5962,6 @@ snapshots: decamelize@1.2.0: {} - decode-uri-component@0.2.2: {} - decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -6963,28 +5990,10 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - defined@1.0.1: {} - - delayed-stream@1.0.0: {} - depd@1.1.2: {} depd@2.0.0: {} - deprecation@2.3.1: {} - - deps-sort@2.0.1: - dependencies: - JSONStream: 1.3.5 - shasum-object: 1.0.0 - subarg: 1.0.0 - through2: 2.0.5 - - des.js@1.1.0: - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - detect-indent@6.1.0: {} detect-libc@2.0.3: @@ -6992,23 +6001,11 @@ snapshots: detect-newline@3.1.0: {} - detective@5.2.1: - dependencies: - acorn-node: 1.8.2 - defined: 1.0.1 - minimist: 1.2.8 - diff-sequences@29.6.3: {} diff@4.0.2: optional: true - diffie-hellman@5.0.3: - dependencies: - bn.js: 4.12.0 - miller-rabin: 4.0.1 - randombytes: 2.1.0 - dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -7017,23 +6014,15 @@ snapshots: dependencies: esutils: 2.0.3 - domain-browser@1.2.0: {} - dot-prop@5.3.0: dependencies: is-obj: 2.0.0 dotenv@8.6.0: {} - duplexer2@0.1.4: - dependencies: - readable-stream: 2.3.8 - duplexer@0.1.2: {} - ecdsa-sig-formatter@1.0.11: - dependencies: - safe-buffer: 5.2.1 + eastasianwidth@0.2.0: {} electron-to-chromium@1.4.807: {} @@ -7051,9 +6040,12 @@ snapshots: emoji-regex@8.0.0: {} + emoji-regex@9.2.2: {} + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 + optional: true end-of-stream@1.4.4: dependencies: @@ -7145,37 +6137,32 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - es6-promise@4.2.8: {} - - es6-promisify@5.0.0: - dependencies: - es6-promise: 4.2.8 - - esbuild@0.21.5: + esbuild@0.23.0: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 + '@esbuild/aix-ppc64': 0.23.0 + '@esbuild/android-arm': 0.23.0 + '@esbuild/android-arm64': 0.23.0 + '@esbuild/android-x64': 0.23.0 + '@esbuild/darwin-arm64': 0.23.0 + '@esbuild/darwin-x64': 0.23.0 + '@esbuild/freebsd-arm64': 0.23.0 + '@esbuild/freebsd-x64': 0.23.0 + '@esbuild/linux-arm': 0.23.0 + '@esbuild/linux-arm64': 0.23.0 + '@esbuild/linux-ia32': 0.23.0 + '@esbuild/linux-loong64': 0.23.0 + '@esbuild/linux-mips64el': 0.23.0 + '@esbuild/linux-ppc64': 0.23.0 + '@esbuild/linux-riscv64': 0.23.0 + '@esbuild/linux-s390x': 0.23.0 + '@esbuild/linux-x64': 0.23.0 + '@esbuild/netbsd-x64': 0.23.0 + '@esbuild/openbsd-arm64': 0.23.0 + '@esbuild/openbsd-x64': 0.23.0 + '@esbuild/sunos-x64': 0.23.0 + '@esbuild/win32-arm64': 0.23.0 + '@esbuild/win32-ia32': 0.23.0 + '@esbuild/win32-x64': 0.23.0 escalade@3.1.2: {} @@ -7259,17 +6246,8 @@ snapshots: esutils@2.0.3: {} - event-target-shim@5.0.1: {} - - events@2.1.0: {} - events@3.3.0: {} - evp_bytestokey@1.0.3: - dependencies: - md5.js: 1.3.5 - safe-buffer: 5.2.1 - execa@5.1.1: dependencies: cross-spawn: 7.0.3 @@ -7296,10 +6274,6 @@ snapshots: exit@0.1.2: {} - expand-tilde@2.0.2: - dependencies: - homedir-polyfill: 1.0.3 - expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 @@ -7310,12 +6284,6 @@ snapshots: exponential-backoff@3.1.1: {} - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - extend@1.3.0: {} - extendable-error@0.1.7: {} external-editor@3.1.0: @@ -7334,14 +6302,10 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.7 - fast-json-patch@3.1.1: {} - fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} - fast-safe-stringify@2.1.1: {} - fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -7368,8 +6332,6 @@ snapshots: dependencies: to-regex-range: 5.0.1 - filter-obj@1.1.0: {} - find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -7409,13 +6371,10 @@ snapshots: dependencies: is-callable: 1.2.7 - form-data@2.5.1: + foreground-child@3.3.0: dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - fs-exists-sync@0.1.0: {} + cross-spawn: 7.0.3 + signal-exit: 4.1.0 fs-extra@10.1.0: dependencies: @@ -7467,8 +6426,6 @@ snapshots: gensync@1.0.0-beta.2: {} - get-assigned-identifiers@1.2.0: {} - get-caller-file@2.0.5: {} get-intrinsic@1.2.4: @@ -7481,8 +6438,6 @@ snapshots: get-package-type@0.1.0: {} - get-stdin@6.0.0: {} - get-stream@5.2.0: dependencies: pump: 3.0.0 @@ -7497,30 +6452,12 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - git-config-path@1.0.1: - dependencies: - extend-shallow: 2.0.1 - fs-exists-sync: 0.1.0 - homedir-polyfill: 1.0.3 - git-raw-commits@4.0.0: dependencies: dargs: 8.1.0 meow: 12.1.1 split2: 4.2.0 - gitlab@10.2.1(encoding@0.1.13): - dependencies: - form-data: 2.5.1 - humps: 2.0.1 - ky: 0.12.0 - ky-universal: 0.3.0(encoding@0.1.13)(ky@0.12.0) - li: 1.3.0 - query-string: 6.14.1 - universal-url: 2.0.0 - transitivePeerDependencies: - - encoding - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -7529,6 +6466,15 @@ snapshots: dependencies: is-glob: 4.0.3 + glob@11.0.0: + dependencies: + foreground-child: 3.3.0 + jackspeak: 4.0.1 + minimatch: 10.0.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 2.0.0 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -7595,8 +6541,6 @@ snapshots: has-bigints@1.0.2: {} - has-flag@2.0.0: {} - has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -7613,19 +6557,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - has@1.0.4: {} - - hash-base@3.0.4: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - hash-base@3.1.0: - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - safe-buffer: 5.2.1 - hash.js@1.1.7: dependencies: inherits: 2.0.4 @@ -7635,26 +6566,18 @@ snapshots: dependencies: function-bind: 1.1.2 - hasurl@1.0.0: {} - hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - homedir-polyfill@1.0.3: - dependencies: - parse-passwd: 1.0.0 - homedir@0.6.0: {} hosted-git-info@2.8.9: {} html-escaper@2.0.2: {} - htmlescape@1.1.1: {} - http-cache-semantics@4.1.1: {} http-errors@1.7.2: @@ -7665,39 +6588,19 @@ snapshots: statuses: 1.5.0 toidentifier: 1.0.0 - http-proxy-agent@2.1.0: - dependencies: - agent-base: 4.3.0 - debug: 3.1.0 - transitivePeerDependencies: - - supports-color - http2-wrapper@1.0.3: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - https-browserify@1.0.0: {} - - https-proxy-agent@2.2.4: - dependencies: - agent-base: 4.3.0 - debug: 3.2.7 - transitivePeerDependencies: - - supports-color - human-id@1.0.2: {} human-signals@2.1.0: {} human-signals@5.0.0: {} - humps@2.0.1: {} - husky@7.0.4: {} - hyperlinker@1.0.0: {} - iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -7705,6 +6608,7 @@ snapshots: iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 + optional: true ieee754@1.2.1: {} @@ -7737,33 +6641,19 @@ snapshots: inherits@2.0.4: {} - ini@1.3.8: {} - ini@4.1.1: {} - inline-source-map@0.6.3: - dependencies: - source-map: 0.5.7 - - insert-module-globals@7.2.1: - dependencies: - JSONStream: 1.3.5 - acorn-node: 1.8.2 - combine-source-map: 0.8.0 - concat-stream: 1.6.2 - is-buffer: 1.1.6 - path-is-absolute: 1.0.1 - process: 0.11.10 - through2: 2.0.5 - undeclared-identifiers: 1.1.3 - xtend: 4.0.2 - internal-slot@1.0.7: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 + is-arguments@1.1.1: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -7780,8 +6670,6 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-buffer@1.1.6: {} - is-callable@1.2.7: {} is-ci@3.0.1: @@ -7800,14 +6688,16 @@ snapshots: dependencies: has-tostringtag: 1.0.2 - is-extendable@0.1.1: {} - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} is-generator-fn@2.1.0: {} + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -7834,8 +6724,6 @@ snapshots: is-plain-obj@1.1.0: {} - is-plain-object@5.0.0: {} - is-property@1.0.2: {} is-regex@1.1.4: @@ -7847,8 +6735,6 @@ snapshots: dependencies: call-bind: 1.0.7 - is-stream@1.1.0: {} - is-stream@2.0.1: {} is-stream@3.0.0: {} @@ -7879,8 +6765,6 @@ snapshots: is-windows@1.0.2: {} - isarray@1.0.0: {} - isarray@2.0.5: {} isexe@2.0.0: {} @@ -7933,6 +6817,12 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 + jackspeak@4.0.1: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jest-changed-files@29.7.0: dependencies: execa: 5.1.1 @@ -8364,10 +7254,6 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json-stable-stringify@0.0.1: - dependencies: - jsonify: 0.0.1 - json5@2.2.3: {} jsonc-parser@3.2.1: {} @@ -8382,38 +7268,12 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonify@0.0.1: {} - jsonpack@1.1.5: {} jsonparse@1.3.1: {} jsonpointer@5.0.1: {} - jsonwebtoken@8.5.1: - dependencies: - jws: 3.2.2 - lodash.includes: 4.3.0 - lodash.isboolean: 3.0.3 - lodash.isinteger: 4.0.4 - lodash.isnumber: 3.0.3 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - lodash.once: 4.1.1 - ms: 2.1.3 - semver: 5.7.2 - - jwa@1.4.1: - dependencies: - buffer-equal-constant-time: 1.0.1 - ecdsa-sig-formatter: 1.0.11 - safe-buffer: 5.2.1 - - jws@3.2.2: - dependencies: - jwa: 1.4.1 - safe-buffer: 5.2.1 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -8424,21 +7284,6 @@ snapshots: kleur@4.1.5: {} - ky-universal@0.3.0(encoding@0.1.13)(ky@0.12.0): - dependencies: - abort-controller: 3.0.0 - ky: 0.12.0 - node-fetch: 2.6.7(encoding@0.1.13) - transitivePeerDependencies: - - encoding - - ky@0.12.0: {} - - labeled-stream-splicer@2.0.2: - dependencies: - inherits: 2.0.4 - stream-splicer: 2.0.1 - leven@3.1.0: {} levn@0.4.1: @@ -8446,8 +7291,6 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - li@1.3.0: {} - lines-and-columns@1.2.4: {} load-yaml-file@0.2.0: @@ -8473,44 +7316,18 @@ snapshots: lodash.camelcase@4.3.0: {} - lodash.find@4.6.0: {} - - lodash.flatten@4.4.0: {} - - lodash.includes@4.3.0: {} - - lodash.isboolean@3.0.3: {} - - lodash.isinteger@4.0.4: {} - - lodash.isnumber@3.0.3: {} - - lodash.isobject@3.0.2: {} - lodash.isplainobject@4.0.6: {} - lodash.isstring@4.0.1: {} - lodash.kebabcase@4.1.1: {} - lodash.keys@4.2.0: {} - - lodash.mapvalues@4.6.0: {} - - lodash.memoize@3.0.4: {} - lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} lodash.mergewith@4.6.2: {} - lodash.once@4.1.1: {} - lodash.snakecase@4.1.1: {} - lodash.sortby@4.7.0: {} - lodash.startcase@4.4.0: {} lodash.uniq@4.5.0: {} @@ -8521,6 +7338,8 @@ snapshots: lowercase-keys@2.0.0: {} + lru-cache@11.0.0: {} + lru-cache@4.1.5: dependencies: pseudomap: 1.0.2 @@ -8550,18 +7369,6 @@ snapshots: marked@4.3.0: {} - md5.js@1.3.5: - dependencies: - hash-base: 3.1.0 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - memfs-or-file-map-to-github-branch@1.2.1(encoding@0.1.13): - dependencies: - '@octokit/rest': 18.12.0(encoding@0.1.13) - transitivePeerDependencies: - - encoding - meow@12.1.1: {} meow@6.1.1: @@ -8587,17 +7394,6 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - miller-rabin@4.0.1: - dependencies: - bn.js: 4.12.0 - brorand: 1.1.0 - - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - mimic-fn@2.1.0: {} mimic-fn@4.0.0: {} @@ -8612,6 +7408,10 @@ snapshots: minimalistic-crypto-utils@1.0.1: {} + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -8638,6 +7438,8 @@ snapshots: minipass@5.0.0: {} + minipass@7.1.2: {} + minizlib@2.1.2: dependencies: minipass: 3.3.6 @@ -8645,36 +7447,12 @@ snapshots: mixme@0.5.10: {} - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - mkdirp@1.0.4: {} - module-deps@6.2.3: - dependencies: - JSONStream: 1.3.5 - browser-resolve: 2.0.0 - cached-path-relative: 1.1.0 - concat-stream: 1.6.2 - defined: 1.0.1 - detective: 5.2.1 - duplexer2: 0.1.4 - inherits: 2.0.4 - parents: 1.0.1 - readable-stream: 2.3.8 - resolve: 1.22.8 - stream-combiner2: 1.1.1 - subarg: 1.0.0 - through2: 2.0.5 - xtend: 4.0.2 - ms@2.0.0: {} ms@2.1.2: {} - ms@2.1.3: {} - mustache@4.0.0: {} natural-compare@1.4.0: {} @@ -8739,13 +7517,6 @@ snapshots: node-addon-api@5.1.0: {} - node-cleanup@2.1.2: {} - - node-fetch@1.7.3: - dependencies: - encoding: 0.1.13 - is-stream: 1.1.0 - node-fetch@2.6.7(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 @@ -8816,14 +7587,10 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - os-browserify@0.3.0: {} - os-tmpdir@1.0.2: {} outdent@0.5.0: {} - override-require@1.1.1: {} - p-cancelable@2.1.1: {} p-filter@2.1.0: @@ -8858,35 +7625,12 @@ snapshots: p-try@2.2.0: {} - pako@1.0.11: {} + package-json-from-dist@1.0.0: {} parent-module@1.0.1: dependencies: callsites: 3.1.0 - parents@1.0.1: - dependencies: - path-platform: 0.11.15 - - parse-asn1@5.1.7: - dependencies: - asn1.js: 4.10.1 - browserify-aes: 1.2.0 - evp_bytestokey: 1.0.3 - hash-base: 3.0.4 - pbkdf2: 3.1.2 - safe-buffer: 5.2.1 - - parse-diff@0.7.1: {} - - parse-git-config@2.0.3: - dependencies: - expand-tilde: 2.0.2 - git-config-path: 1.0.1 - ini: 1.3.8 - - parse-github-url@1.0.2: {} - parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.7 @@ -8894,14 +7638,6 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-link-header@2.0.0: - dependencies: - xtend: 4.0.2 - - parse-passwd@1.0.0: {} - - path-browserify@0.0.1: {} - path-exists@4.0.0: {} path-exists@5.0.0: {} @@ -8914,26 +7650,19 @@ snapshots: path-parse@1.0.7: {} - path-platform@0.11.15: {} + path-scurry@2.0.0: + dependencies: + lru-cache: 11.0.0 + minipass: 7.1.2 path-type@4.0.0: {} - pbkdf2@3.1.2: - dependencies: - create-hash: 1.2.0 - create-hmac: 1.1.7 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 - picocolors@1.0.1: {} picomatch@2.3.1: {} pify@4.0.1: {} - pinpoint@1.1.0: {} - pirates@4.0.6: {} pkg-dir@4.2.0: @@ -8967,13 +7696,6 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - prettyjson@1.2.5: - dependencies: - colors: 1.4.0 - minimist: 1.2.8 - - process-nextick-args@2.0.1: {} - process@0.11.10: {} promisify-child-process@4.1.2: {} @@ -8991,22 +7713,11 @@ snapshots: pseudomap@1.0.2: {} - public-encrypt@4.0.3: - dependencies: - bn.js: 4.12.0 - browserify-rsa: 4.1.0 - create-hash: 1.2.0 - parse-asn1: 5.1.7 - randombytes: 2.1.0 - safe-buffer: 5.2.1 - pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - punycode@1.4.1: {} - punycode@2.3.1: {} pure-rand@6.1.0: {} @@ -9019,19 +7730,6 @@ snapshots: pvutils@1.1.3: {} - qs@6.12.1: - dependencies: - side-channel: 1.0.6 - - query-string@6.14.1: - dependencies: - decode-uri-component: 0.2.2 - filter-obj: 1.1.0 - split-on-first: 1.1.0 - strict-uri-encode: 2.0.0 - - querystring-es3@0.2.1: {} - queue-microtask@1.2.3: {} quick-lru@4.0.1: {} @@ -9042,17 +7740,8 @@ snapshots: dependencies: safe-buffer: 5.2.1 - randomfill@1.0.4: - dependencies: - randombytes: 2.1.0 - safe-buffer: 5.2.1 - react-is@18.3.1: {} - read-only-stream@2.0.0: - dependencies: - readable-stream: 2.3.8 - read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -9073,31 +7762,11 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - readline-sync@1.4.10: {} - redent@3.0.0: dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 - regenerator-runtime@0.13.11: {} - regenerator-runtime@0.14.1: {} regexp.prototype.flags@1.5.2: @@ -9127,8 +7796,6 @@ snapshots: resolve.exports@2.0.2: {} - resolve@1.1.7: {} - resolve@1.22.8: dependencies: is-core-module: 2.13.1 @@ -9147,10 +7814,10 @@ snapshots: dependencies: glob: 7.2.3 - ripemd160@2.0.2: + rimraf@6.0.1: dependencies: - hash-base: 3.1.0 - inherits: 2.0.4 + glob: 11.0.0 + package-json-from-dist: 1.0.0 run-parallel@1.2.0: dependencies: @@ -9167,8 +7834,6 @@ snapshots: has-symbols: 1.0.3 isarray: 2.0.5 - safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} safe-regex-test@1.0.3: @@ -9213,20 +7878,6 @@ snapshots: setprototypeof@1.1.1: {} - sha.js@2.4.11: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - shasum-object@1.0.0: - dependencies: - fast-safe-stringify: 2.1.1 - - shasum@1.0.2: - dependencies: - json-stable-stringify: 0.0.1 - sha.js: 2.4.11 - shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -9259,8 +7910,6 @@ snapshots: signal-exit@4.1.0: {} - simple-concat@1.0.1: {} - sisteransi@1.0.5: {} slash@3.0.0: {} @@ -9279,13 +7928,6 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.5.7: {} - source-map@0.6.1: {} spawn-command@0.0.2-1: {} @@ -9309,8 +7951,6 @@ snapshots: spdx-license-ids@3.0.18: {} - split-on-first@1.1.0: {} - split2@4.2.0: {} sprintf-js@1.0.3: {} @@ -9321,35 +7961,10 @@ snapshots: statuses@1.5.0: {} - stream-browserify@2.0.2: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - - stream-combiner2@1.1.1: - dependencies: - duplexer2: 0.1.4 - readable-stream: 2.3.8 - - stream-http@2.8.3: - dependencies: - builtin-status-codes: 3.0.0 - inherits: 2.0.4 - readable-stream: 2.3.8 - to-arraybuffer: 1.0.1 - xtend: 4.0.2 - - stream-splicer@2.0.1: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - stream-transform@2.1.3: dependencies: mixme: 0.5.10 - strict-uri-encode@2.0.0: {} - string-length@4.0.2: dependencies: char-regex: 1.0.2 @@ -9361,6 +7976,12 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 @@ -9380,18 +8001,14 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + strip-bom@3.0.0: {} strip-bom@4.0.0: {} @@ -9406,10 +8023,6 @@ snapshots: strip-json-comments@3.1.1: {} - subarg@1.0.0: - dependencies: - minimist: 1.2.8 - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -9422,17 +8035,8 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-hyperlinks@1.0.1: - dependencies: - has-flag: 2.0.0 - supports-color: 5.5.0 - supports-preserve-symlinks-flag@1.0.0: {} - syntax-error@1.4.0: - dependencies: - acorn-node: 1.8.2 - tar@6.2.1: dependencies: chownr: 2.0.0 @@ -9446,13 +8050,6 @@ snapshots: term-size@2.2.1: {} - terser@3.17.0: - dependencies: - acorn: 8.12.0 - commander: 2.20.3 - source-map: 0.6.1 - source-map-support: 0.5.21 - test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 @@ -9465,17 +8062,8 @@ snapshots: text-table@0.2.0: {} - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - through@2.3.8: {} - timers-browserify@1.4.2: - dependencies: - process: 0.11.10 - tldts-core@6.1.28: {} tldts@6.0.23: @@ -9488,8 +8076,6 @@ snapshots: tmpl@1.0.5: {} - to-arraybuffer@1.0.1: {} - to-fast-properties@2.0.0: {} to-regex-range@5.0.1: @@ -9500,10 +8086,6 @@ snapshots: tr46@0.0.3: {} - tr46@1.0.1: - dependencies: - punycode: 2.3.1 - tree-kill@1.2.2: {} trim-newlines@3.0.1: {} @@ -9512,7 +8094,7 @@ snapshots: dependencies: typescript: 5.4.5 - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 @@ -9529,7 +8111,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.7) - esbuild: 0.21.5 + esbuild: 0.23.0 ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)))(typescript@5.4.5): dependencies: @@ -9589,8 +8171,6 @@ snapshots: tslib@2.6.3: {} - tty-browserify@0.0.1: {} - tty-table@4.2.3: dependencies: chalk: 4.1.2 @@ -9708,8 +8288,6 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typedarray@0.0.6: {} - typedoc@0.25.13(typescript@5.4.5): dependencies: lunr: 2.3.9 @@ -9720,16 +8298,6 @@ snapshots: typescript@5.4.5: {} - uglifyify@5.0.1: - dependencies: - convert-source-map: 1.1.3 - extend: 1.3.0 - minimatch: 3.1.2 - terser: 3.17.0 - through: 2.3.8 - - umd@3.0.3: {} - unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 @@ -9737,25 +8305,10 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - undeclared-identifiers@1.1.3: - dependencies: - acorn-node: 1.8.2 - dash-ast: 1.0.0 - get-assigned-identifiers: 1.2.0 - simple-concat: 1.0.1 - xtend: 4.0.2 - unfetch@4.2.0: {} unicorn-magic@0.1.0: {} - universal-url@2.0.0: - dependencies: - hasurl: 1.0.0 - whatwg-url: 7.1.0 - - universal-user-agent@6.0.1: {} - universalify@0.1.2: {} universalify@2.0.1: {} @@ -9770,16 +8323,13 @@ snapshots: dependencies: punycode: 2.3.1 - url@0.11.3: + util@0.12.5: dependencies: - punycode: 1.4.1 - qs: 6.12.1 - - util-deprecate@1.0.2: {} - - util@0.10.4: - dependencies: - inherits: 2.0.3 + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.13 + which-typed-array: 1.1.15 v8-compile-cache-lib@3.0.1: optional: true @@ -9797,8 +8347,6 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vm-browserify@1.1.2: {} - vscode-oniguruma@1.7.0: {} vscode-textmate@8.0.0: {} @@ -9821,19 +8369,11 @@ snapshots: webidl-conversions@3.0.1: {} - webidl-conversions@4.0.2: {} - whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - whatwg-url@7.1.0: - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 @@ -9879,6 +8419,12 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + wrappy@1.0.2: {} write-file-atomic@4.0.2: From 1680cb9c6962f6ec98c1dd59a0bc266d4da50d8e Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Mon, 19 Aug 2024 17:05:33 -0700 Subject: [PATCH 37/45] test: fixes --- .changeset/odd-tips-yawn.md | 2 +- packages/accounts/test/account.access_key.test.ts | 2 ++ packages/accounts/test/providers.test.ts | 11 ++++++----- .../keystores-browser/test/browser_keystore.test.js | 0 packages/keystores-node/package.json | 1 + .../test/unencrypted_file_system_keystore.test.ts | 2 +- packages/near-api-js/package.json | 2 +- packages/utils/src/errors/errors.ts | 8 ++------ packages/utils/src/errors/index.ts | 2 +- packages/utils/src/errors/rpc_errors.ts | 6 +++--- pnpm-lock.yaml | 7 +++++-- 11 files changed, 23 insertions(+), 20 deletions(-) delete mode 100644 packages/keystores-browser/test/browser_keystore.test.js diff --git a/.changeset/odd-tips-yawn.md b/.changeset/odd-tips-yawn.md index 49963a589b..e44744e545 100644 --- a/.changeset/odd-tips-yawn.md +++ b/.changeset/odd-tips-yawn.md @@ -11,7 +11,7 @@ "@near-js/signers": minor "@near-js/transactions": minor "@near-js/types": major -"@near-js/utils": minor +"@near-js/utils": major "@near-js/wallet-account": minor --- diff --git a/packages/accounts/test/account.access_key.test.ts b/packages/accounts/test/account.access_key.test.ts index af1517e20e..784bc2bbb9 100644 --- a/packages/accounts/test/account.access_key.test.ts +++ b/packages/accounts/test/account.access_key.test.ts @@ -80,6 +80,8 @@ test('view account details after adding access keys', async() => { }]; details.authorizedApps.sort((a, b) => a.contractId < b.contractId); + // @ts-expect-error test input + authorizedApps.sort((a, b) => a.contractId < b.contractId); expect(JSON.stringify(details.authorizedApps)).toEqual(JSON.stringify(authorizedApps)); }); diff --git a/packages/accounts/test/providers.test.ts b/packages/accounts/test/providers.test.ts index 63d751c372..82ce5395e5 100644 --- a/packages/accounts/test/providers.test.ts +++ b/packages/accounts/test/providers.test.ts @@ -1,6 +1,6 @@ import { beforeAll, describe, expect, jest, test } from '@jest/globals'; import { KeyPair } from '@near-js/crypto'; -import ERRORS_JSON from '@near-js/utils/lib/errors/error_messages.json'; +import { ErrorMessages } from '@near-js/utils'; import base58 from 'bs58'; import { createAccount, deployContract, generateUniqueString, setUpTestConnection, sleep, waitFor } from './test-utils'; @@ -10,6 +10,7 @@ jest.setTimeout(60000); let provider; let near; + beforeAll(async () => { near = await setUpTestConnection(); provider = near.connection.provider; @@ -212,7 +213,7 @@ describe('providers errors', () => { } catch (e) { const errorType = 'MethodNotFound'; expect(e.type).toEqual(errorType); - expect(e.message).toEqual(ERRORS_JSON[errorType]); + expect(e.message).toEqual(ErrorMessages[errorType]); } }); @@ -232,7 +233,7 @@ describe('providers errors', () => { const errorType = 'CodeDoesNotExist'; expect(e.type).toEqual(errorType); expect(e.message.split(' ').slice(0, 5)).toEqual( - ERRORS_JSON[errorType].split(' ').slice(0, 5) + ErrorMessages[errorType].split(' ').slice(0, 5) ); } }); @@ -252,7 +253,7 @@ describe('providers errors', () => { const errorType = 'AccountDoesNotExist'; expect(e.type).toEqual(errorType); expect(e.message.split(' ').slice(0, 5)).toEqual( - ERRORS_JSON[errorType].split(' ').slice(0, 5) + ErrorMessages[errorType].split(' ').slice(0, 5) ); } }); @@ -274,7 +275,7 @@ describe('providers errors', () => { const errorType = 'AccessKeyDoesNotExist'; expect(e.type).toEqual(errorType); expect(e.message.split(' ').slice(0, 5)).toEqual( - ERRORS_JSON[errorType].split(' ').slice(0, 5) + ErrorMessages[errorType].split(' ').slice(0, 5) ); } }); diff --git a/packages/keystores-browser/test/browser_keystore.test.js b/packages/keystores-browser/test/browser_keystore.test.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/keystores-node/package.json b/packages/keystores-node/package.json index de73f508f7..66c16e1afc 100644 --- a/packages/keystores-node/package.json +++ b/packages/keystores-node/package.json @@ -24,6 +24,7 @@ "@types/node": "20.0.0", "build": "workspace:*", "jest": "29.7.0", + "rimraf": "^6.0.1", "ts-jest": "29.1.5", "tsconfig": "workspace:*", "typescript": "5.4.5" diff --git a/packages/keystores-node/test/unencrypted_file_system_keystore.test.ts b/packages/keystores-node/test/unencrypted_file_system_keystore.test.ts index 21bf67faa8..7d6e86f299 100644 --- a/packages/keystores-node/test/unencrypted_file_system_keystore.test.ts +++ b/packages/keystores-node/test/unencrypted_file_system_keystore.test.ts @@ -2,7 +2,7 @@ import { beforeAll, describe, expect, it } from '@jest/globals'; import { KeyPairEd25519 } from '@near-js/crypto'; import * as fs from 'fs'; import * as path from 'path'; -import rimraf from 'rimraf'; +import { rimraf } from 'rimraf'; import { UnencryptedFileSystemKeyStore } from '../src'; import { shouldStoreAndRetriveKeys } from './keystore_common'; diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index b1a396be3d..fca0c17a08 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -43,7 +43,7 @@ "near-hello": "0.5.1", "near-workspaces": "3.5.0", "process": "^0.11.10", - "rimraf": "3.0.2", + "rimraf": "6.0.1", "semver": "7.1.1", "ts-jest": "29.1.5", "tsconfig": "workspace:*", diff --git a/packages/utils/src/errors/errors.ts b/packages/utils/src/errors/errors.ts index 474e4cfac3..83725477ce 100644 --- a/packages/utils/src/errors/errors.ts +++ b/packages/utils/src/errors/errors.ts @@ -1,7 +1,3 @@ -import { Logger } from '../logger'; +import ErrorMessagesJson from './error_messages.json'; -/** @deprecated */ -export function logWarning(...args: any[]): void { - const [message, ...optionalParams] = args; - Logger.warn(message, ...optionalParams); -} +export const ErrorMessages: { [error: string]: string } = ErrorMessagesJson; diff --git a/packages/utils/src/errors/index.ts b/packages/utils/src/errors/index.ts index 4277803310..757b4441b6 100644 --- a/packages/utils/src/errors/index.ts +++ b/packages/utils/src/errors/index.ts @@ -1,4 +1,4 @@ -export { logWarning } from './errors'; +export { ErrorMessages } from './errors'; export { ServerError, formatError, diff --git a/packages/utils/src/errors/rpc_errors.ts b/packages/utils/src/errors/rpc_errors.ts index 57e73a1529..6148b8d1ee 100644 --- a/packages/utils/src/errors/rpc_errors.ts +++ b/packages/utils/src/errors/rpc_errors.ts @@ -2,7 +2,7 @@ import { TypedError } from '@near-js/types'; import Mustache from 'mustache'; import { formatNearAmount } from '../format'; -import messages from './error_messages.json'; +import { ErrorMessages } from './errors'; import schema from './rpc_error_schema.json'; const mustacheHelpers = { @@ -36,8 +36,8 @@ export function parseResultError(result: any): ServerTransactionError { } export function formatError(errorClassName: string, errorData): string { - if (typeof messages[errorClassName] === 'string') { - return Mustache.render(messages[errorClassName], { + if (typeof ErrorMessages[errorClassName] === 'string') { + return Mustache.render(ErrorMessages[errorClassName], { ...errorData, ...mustacheHelpers }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d533031ce..48e39a16ef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -360,6 +360,9 @@ importers: jest: specifier: 29.7.0 version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + rimraf: + specifier: ^6.0.1 + version: 6.0.1 ts-jest: specifier: 29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) @@ -461,8 +464,8 @@ importers: specifier: ^0.11.10 version: 0.11.10 rimraf: - specifier: 3.0.2 - version: 3.0.2 + specifier: 6.0.1 + version: 6.0.1 semver: specifier: 7.1.1 version: 7.1.1 From a674d83c37c9a4aab4d45eb26d284661dbe0c1c8 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Mon, 19 Aug 2024 17:10:33 -0700 Subject: [PATCH 38/45] chore: remove logWarning reference --- packages/near-api-js/src/utils/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/near-api-js/src/utils/index.ts b/packages/near-api-js/src/utils/index.ts index be8119f592..cbccb9398d 100644 --- a/packages/near-api-js/src/utils/index.ts +++ b/packages/near-api-js/src/utils/index.ts @@ -6,7 +6,6 @@ import * as format from './format'; import * as rpc_errors from './rpc_errors'; import { PublicKey, KeyPair, KeyPairEd25519 } from './key_pair'; -import { logWarning } from './errors'; import { Logger } from './logger'; export { @@ -18,6 +17,5 @@ export { KeyPair, KeyPairEd25519, rpc_errors, - logWarning, Logger }; From 4c2e74c6f0d84a0a1634f873432bca1c1ca739dd Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 20 Aug 2024 12:13:31 -0700 Subject: [PATCH 39/45] test: multi contract keystore --- .../accounts/test/account.access_key.test.ts | 4 +- .../multi_contract_browser_keystore_common.js | 64 ------------------- ...i_contract_browser_keystore_common.test.ts | 50 +++++++++++++++ 3 files changed, 51 insertions(+), 67 deletions(-) delete mode 100644 packages/keystores-browser/test/multi_contract_browser_keystore_common.js create mode 100644 packages/keystores-browser/test/multi_contract_browser_keystore_common.test.ts diff --git a/packages/accounts/test/account.access_key.test.ts b/packages/accounts/test/account.access_key.test.ts index 784bc2bbb9..a35286e7ad 100644 --- a/packages/accounts/test/account.access_key.test.ts +++ b/packages/accounts/test/account.access_key.test.ts @@ -79,10 +79,8 @@ test('view account details after adding access keys', async() => { publicKey: keyPair2.getPublicKey().toString(), }]; - details.authorizedApps.sort((a, b) => a.contractId < b.contractId); // @ts-expect-error test input - authorizedApps.sort((a, b) => a.contractId < b.contractId); - expect(JSON.stringify(details.authorizedApps)).toEqual(JSON.stringify(authorizedApps)); + expect(JSON.stringify(details.authorizedApps.toSorted((a, b) => a.amount < b.amount))).toEqual(JSON.stringify(authorizedApps.toSorted((a, b) => a.amount < b.amount))); }); test('loading account after adding a full key', async() => { diff --git a/packages/keystores-browser/test/multi_contract_browser_keystore_common.js b/packages/keystores-browser/test/multi_contract_browser_keystore_common.js deleted file mode 100644 index 4329544cd5..0000000000 --- a/packages/keystores-browser/test/multi_contract_browser_keystore_common.js +++ /dev/null @@ -1,64 +0,0 @@ -const { KeyPairEd25519 } = require('@near-js/crypto'); - -const NETWORK_ID = 'networkid'; -const ACCOUNT_ID = 'accountid'; -const CONTRACT_ID = 'contractid'; -const KEYPAIR = new KeyPairEd25519('2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'); - -module.exports.shouldStoreAndRetrieveKeys = ctx => { - beforeEach(async () => { - await ctx.keyStore.clear(); - await ctx.keyStore.setKey(NETWORK_ID, ACCOUNT_ID, KEYPAIR, CONTRACT_ID); - }); - - test('Get all keys with empty network returns empty list', async () => { - const emptyList = await ctx.keyStore.getAccounts('emptynetwork'); - expect(emptyList).toEqual([]); - }); - - test('Get all keys with single key in keystore', async () => { - const accountIds = await ctx.keyStore.getAccounts(NETWORK_ID); - expect(accountIds).toEqual([ACCOUNT_ID]); - }); - - test('Get not-existing account', async () => { - expect(await ctx.keyStore.getKey('somenetwork', 'someaccount', 'somecontract')).toBeNull(); - }); - - test('Get account id from a network with single key', async () => { - const key = await ctx.keyStore.getKey(NETWORK_ID, ACCOUNT_ID, CONTRACT_ID); - expect(key).toEqual(KEYPAIR); - }); - - test('Get networks', async () => { - const networks = await ctx.keyStore.getNetworks(); - expect(networks).toEqual([NETWORK_ID]); - }); - - test('Get accounts', async () => { - const accounts = await ctx.keyStore.getAccounts(NETWORK_ID); - expect(accounts).toEqual([ACCOUNT_ID]); - }); - - test('Get contracts', async () => { - const contracts = await ctx.keyStore.getContracts(NETWORK_ID, ACCOUNT_ID); - expect(contracts).toEqual([CONTRACT_ID]); - }); - - test('Add two contracts to account and retrieve them', async () => { - const networkId = 'network'; - const accountId = 'account'; - const contract1 = 'contract1'; - const contract2 = 'contract2'; - const key1Expected = KeyPairEd25519.fromRandom(); - const key2Expected = KeyPairEd25519.fromRandom(); - await ctx.keyStore.setKey(networkId, accountId, key1Expected, contract1); - await ctx.keyStore.setKey(networkId, accountId, key2Expected, contract2); - const key1 = await ctx.keyStore.getKey(networkId, accountId, contract1); - const key2 = await ctx.keyStore.getKey(networkId, accountId, contract2); - expect(key1).toEqual(key1Expected); - expect(key2).toEqual(key2Expected); - const contractIds = await ctx.keyStore.getContracts(networkId, accountId); - expect(contractIds).toEqual([contract1, contract2]); - }); -}; diff --git a/packages/keystores-browser/test/multi_contract_browser_keystore_common.test.ts b/packages/keystores-browser/test/multi_contract_browser_keystore_common.test.ts new file mode 100644 index 0000000000..6289976899 --- /dev/null +++ b/packages/keystores-browser/test/multi_contract_browser_keystore_common.test.ts @@ -0,0 +1,50 @@ +import { beforeEach, expect, test } from '@jest/globals'; +import { KeyPairEd25519 } from '@near-js/crypto'; +import LocalStorageMemory from 'localstorage-memory'; + +import { MultiContractBrowserLocalStorageKeyStore } from '../src'; + +const NETWORK_ID = 'networkid'; +const ACCOUNT_ID = 'accountid'; +const CONTRACT_ID = 'contractid'; +const KEYPAIR = new KeyPairEd25519('2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'); + +let ctx = { + keyStore: new MultiContractBrowserLocalStorageKeyStore(LocalStorageMemory) +} + +beforeEach(async () => { + await ctx.keyStore.clear(); + await ctx.keyStore.setKey(NETWORK_ID, ACCOUNT_ID, KEYPAIR, CONTRACT_ID); +}); + +test('Get not-existing account', async () => { + expect(await ctx.keyStore.getKey('somenetwork', 'someaccount', 'somecontract')).toBeNull(); +}); + +test('Get account id from a network with single key', async () => { + const key = await ctx.keyStore.getKey(NETWORK_ID, ACCOUNT_ID, CONTRACT_ID); + expect(key).toEqual(KEYPAIR); +}); + +test('Get contracts', async () => { + const contracts = await ctx.keyStore.getContracts(NETWORK_ID, ACCOUNT_ID); + expect(contracts).toEqual([CONTRACT_ID]); +}); + +test('Add two contracts to account and retrieve them', async () => { + const networkId = 'network'; + const accountId = 'account'; + const contract1 = 'contract1'; + const contract2 = 'contract2'; + const key1Expected = KeyPairEd25519.fromRandom(); + const key2Expected = KeyPairEd25519.fromRandom(); + await ctx.keyStore.setKey(networkId, accountId, key1Expected, contract1); + await ctx.keyStore.setKey(networkId, accountId, key2Expected, contract2); + const key1 = await ctx.keyStore.getKey(networkId, accountId, contract1); + const key2 = await ctx.keyStore.getKey(networkId, accountId, contract2); + expect(key1).toEqual(key1Expected); + expect(key2).toEqual(key2Expected); + const contractIds = await ctx.keyStore.getContracts(networkId, accountId); + expect(contractIds).toEqual([contract1, contract2]); +}); From e1e7c2f089f61f5d5633b9cab60a4eb117334dc7 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 20 Aug 2024 12:17:15 -0700 Subject: [PATCH 40/45] chore: lint --- ...i_contract_browser_keystore_common.test.ts | 46 +++++++++---------- packages/near-api-js/package.json | 3 -- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/packages/keystores-browser/test/multi_contract_browser_keystore_common.test.ts b/packages/keystores-browser/test/multi_contract_browser_keystore_common.test.ts index 6289976899..15b6d7397b 100644 --- a/packages/keystores-browser/test/multi_contract_browser_keystore_common.test.ts +++ b/packages/keystores-browser/test/multi_contract_browser_keystore_common.test.ts @@ -9,42 +9,42 @@ const ACCOUNT_ID = 'accountid'; const CONTRACT_ID = 'contractid'; const KEYPAIR = new KeyPairEd25519('2wyRcSwSuHtRVmkMCGjPwnzZmQLeXLzLLyED1NDMt4BjnKgQL6tF85yBx6Jr26D2dUNeC716RBoTxntVHsegogYw'); -let ctx = { +const ctx = { keyStore: new MultiContractBrowserLocalStorageKeyStore(LocalStorageMemory) -} +}; beforeEach(async () => { - await ctx.keyStore.clear(); - await ctx.keyStore.setKey(NETWORK_ID, ACCOUNT_ID, KEYPAIR, CONTRACT_ID); + await ctx.keyStore.clear(); + await ctx.keyStore.setKey(NETWORK_ID, ACCOUNT_ID, KEYPAIR, CONTRACT_ID); }); test('Get not-existing account', async () => { - expect(await ctx.keyStore.getKey('somenetwork', 'someaccount', 'somecontract')).toBeNull(); + expect(await ctx.keyStore.getKey('somenetwork', 'someaccount', 'somecontract')).toBeNull(); }); test('Get account id from a network with single key', async () => { - const key = await ctx.keyStore.getKey(NETWORK_ID, ACCOUNT_ID, CONTRACT_ID); - expect(key).toEqual(KEYPAIR); + const key = await ctx.keyStore.getKey(NETWORK_ID, ACCOUNT_ID, CONTRACT_ID); + expect(key).toEqual(KEYPAIR); }); test('Get contracts', async () => { - const contracts = await ctx.keyStore.getContracts(NETWORK_ID, ACCOUNT_ID); - expect(contracts).toEqual([CONTRACT_ID]); + const contracts = await ctx.keyStore.getContracts(NETWORK_ID, ACCOUNT_ID); + expect(contracts).toEqual([CONTRACT_ID]); }); test('Add two contracts to account and retrieve them', async () => { - const networkId = 'network'; - const accountId = 'account'; - const contract1 = 'contract1'; - const contract2 = 'contract2'; - const key1Expected = KeyPairEd25519.fromRandom(); - const key2Expected = KeyPairEd25519.fromRandom(); - await ctx.keyStore.setKey(networkId, accountId, key1Expected, contract1); - await ctx.keyStore.setKey(networkId, accountId, key2Expected, contract2); - const key1 = await ctx.keyStore.getKey(networkId, accountId, contract1); - const key2 = await ctx.keyStore.getKey(networkId, accountId, contract2); - expect(key1).toEqual(key1Expected); - expect(key2).toEqual(key2Expected); - const contractIds = await ctx.keyStore.getContracts(networkId, accountId); - expect(contractIds).toEqual([contract1, contract2]); + const networkId = 'network'; + const accountId = 'account'; + const contract1 = 'contract1'; + const contract2 = 'contract2'; + const key1Expected = KeyPairEd25519.fromRandom(); + const key2Expected = KeyPairEd25519.fromRandom(); + await ctx.keyStore.setKey(networkId, accountId, key1Expected, contract1); + await ctx.keyStore.setKey(networkId, accountId, key2Expected, contract2); + const key1 = await ctx.keyStore.getKey(networkId, accountId, contract1); + const key2 = await ctx.keyStore.getKey(networkId, accountId, contract2); + expect(key1).toEqual(key1Expected); + expect(key2).toEqual(key2Expected); + const contractIds = await ctx.keyStore.getContracts(networkId, accountId); + expect(contractIds).toEqual([contract1, contract2]); }); diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index fca0c17a08..918ed75b80 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -63,9 +63,6 @@ "test": "jest --passWithNoTests", "lint": "concurrently \"pnpm:lint:*(!fix) --no-error-on-unmatched-pattern\"", "lint:src": "eslint --ext .ts src", - "lint:fix": "concurrently \"pnpm:lint:*:fix\"", - "lint:src:fix": "eslint --ext .ts --fix src", - "lint:test:fix": "eslint --ext .js --fix test", "prefuzz": "pnpm build", "fuzz": "jsfuzz test/fuzz/borsh-roundtrip.js test/fuzz/corpus/", "clean": "pnpm rimraf lib", From 4dac4fd4a44832975a72f351ae48df452a06347d Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 27 Aug 2024 14:10:03 -0700 Subject: [PATCH 41/45] chore: duplicate Enum definition avoids short-term breaking changes for packages outdated `near-api-js` peer dependencies --- packages/crypto/src/public_key.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/crypto/src/public_key.ts b/packages/crypto/src/public_key.ts index 5aaf8e457e..fbb5c89c35 100644 --- a/packages/crypto/src/public_key.ts +++ b/packages/crypto/src/public_key.ts @@ -1,5 +1,4 @@ import { baseEncode, baseDecode } from '@near-js/utils'; -import { Enum } from '@near-js/types'; import { ed25519 } from '@noble/curves/ed25519'; import secp256k1 from 'secp256k1'; @@ -38,6 +37,24 @@ function resolveEnumKeyName(keyType: KeyType) { } } +/** + * DUPLICATED FROM @near-js/types - REPLACE WITH IMPORTED REFERENCE AND DELETE + * This ends up being necessary for Wallet Selector dependencies with + * outdated peer dependencies and should only be temporary + */ +abstract class Enum { + abstract enum: string; + + constructor(properties: any) { + if (Object.keys(properties).length !== 1) { + throw new Error('Enum can only take single value'); + } + Object.keys(properties).map((key: string) => { + (this as any)[key] = properties[key]; + }); + } +} + /** * PublicKey representation that has type and bytes of the key. */ From b23e4c89bcb0fb753179ebba158af8883ac24d1b Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 27 Aug 2024 14:10:35 -0700 Subject: [PATCH 42/45] fix: export KeyPairString --- packages/near-api-js/src/utils/index.ts | 3 ++- packages/near-api-js/src/utils/key_pair.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/near-api-js/src/utils/index.ts b/packages/near-api-js/src/utils/index.ts index cbccb9398d..1c09179e17 100644 --- a/packages/near-api-js/src/utils/index.ts +++ b/packages/near-api-js/src/utils/index.ts @@ -5,7 +5,7 @@ import * as enums from './enums'; import * as format from './format'; import * as rpc_errors from './rpc_errors'; -import { PublicKey, KeyPair, KeyPairEd25519 } from './key_pair'; +import { PublicKey, KeyPair, KeyPairString, KeyPairEd25519 } from './key_pair'; import { Logger } from './logger'; export { @@ -15,6 +15,7 @@ export { format, PublicKey, KeyPair, + KeyPairString, KeyPairEd25519, rpc_errors, Logger diff --git a/packages/near-api-js/src/utils/key_pair.ts b/packages/near-api-js/src/utils/key_pair.ts index c50a739814..90a5570cb4 100644 --- a/packages/near-api-js/src/utils/key_pair.ts +++ b/packages/near-api-js/src/utils/key_pair.ts @@ -1,5 +1,6 @@ export { KeyPair, + type KeyPairString, KeyPairEd25519, KeyType, PublicKey, From 9b863565f1eeab18519645f4cf9b9fb0f4d89b74 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 27 Aug 2024 16:26:15 -0700 Subject: [PATCH 43/45] feat: restore Assignable for backward compatibility --- .changeset/odd-tips-yawn.md | 2 +- packages/types/src/assignable.ts | 8 ++++++++ packages/types/src/index.ts | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 packages/types/src/assignable.ts diff --git a/.changeset/odd-tips-yawn.md b/.changeset/odd-tips-yawn.md index e44744e545..5a0a9f9905 100644 --- a/.changeset/odd-tips-yawn.md +++ b/.changeset/odd-tips-yawn.md @@ -10,7 +10,7 @@ "@near-js/providers": major "@near-js/signers": minor "@near-js/transactions": minor -"@near-js/types": major +"@near-js/types": minor "@near-js/utils": major "@near-js/wallet-account": minor --- diff --git a/packages/types/src/assignable.ts b/packages/types/src/assignable.ts new file mode 100644 index 0000000000..96069d3701 --- /dev/null +++ b/packages/types/src/assignable.ts @@ -0,0 +1,8 @@ +/* DEPRECATED - backward compatibility only */ +export abstract class Assignable { + constructor(properties: any) { + Object.keys(properties).map((key: any) => { + (this as any)[key] = properties[key]; + }); + } +} diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 512df99511..b8f27f715c 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -1,3 +1,4 @@ +export * from './assignable'; export * from './enum'; export * from './errors'; export * from './provider'; From 2fdb57ded598f84990adee940a76d9752ee0b908 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 27 Aug 2024 16:27:15 -0700 Subject: [PATCH 44/45] fix: keep near-api-js as commonjs, remove bundling --- packages/near-api-js/browser-exports.js | 1 - packages/near-api-js/esbuild.inject.js | 2 - packages/near-api-js/jest.config.js | 2 +- packages/near-api-js/package.json | 59 +- packages/near-api-js/tsconfig.cjs.json | 11 - packages/near-api-js/tsconfig.json | 23 +- pnpm-lock.yaml | 743 ++++++++++-------------- 7 files changed, 338 insertions(+), 503 deletions(-) delete mode 100644 packages/near-api-js/browser-exports.js delete mode 100644 packages/near-api-js/esbuild.inject.js delete mode 100644 packages/near-api-js/tsconfig.cjs.json diff --git a/packages/near-api-js/browser-exports.js b/packages/near-api-js/browser-exports.js deleted file mode 100644 index a565e6dba3..0000000000 --- a/packages/near-api-js/browser-exports.js +++ /dev/null @@ -1 +0,0 @@ -window.nearApi = require('./lib/commonjs/browser-index.cjs'); diff --git a/packages/near-api-js/esbuild.inject.js b/packages/near-api-js/esbuild.inject.js deleted file mode 100644 index f399c5852d..0000000000 --- a/packages/near-api-js/esbuild.inject.js +++ /dev/null @@ -1,2 +0,0 @@ -export { Buffer } from 'buffer'; -export { process } from 'process/browser'; diff --git a/packages/near-api-js/jest.config.js b/packages/near-api-js/jest.config.js index 4b2c7ee3d5..749b7fcb2d 100644 --- a/packages/near-api-js/jest.config.js +++ b/packages/near-api-js/jest.config.js @@ -1,4 +1,4 @@ -export default { +module.exports = { preset: 'ts-jest', testEnvironment: 'node', collectCoverage: true diff --git a/packages/near-api-js/package.json b/packages/near-api-js/package.json index 918ed75b80..2d8228d31a 100644 --- a/packages/near-api-js/package.json +++ b/packages/near-api-js/package.json @@ -7,10 +7,9 @@ "url": "git+https://github.com/near/near-api-js.git" }, "homepage": "https://github.com/near/near-api-js", - "main": "lib/esm/index.js", - "browser": "lib/commonjs/browser-index.cjs", - "types": "lib/esm/index.d.ts", - "type": "module", + "main": "lib/index.js", + "browser": "lib/browser-index.js", + "types": "lib/index.d.ts", "dependencies": { "@near-js/accounts": "workspace:*", "@near-js/crypto": "workspace:*", @@ -23,67 +22,45 @@ "@near-js/types": "workspace:*", "@near-js/utils": "workspace:*", "@near-js/wallet-account": "workspace:*", + "@noble/curves": "1.2.0", "borsh": "1.0.0", "depd": "2.0.0", "http-errors": "1.7.2", - "near-abi": "0.1.1" + "near-abi": "0.1.1", + "node-fetch": "2.6.7" }, "devDependencies": { "@types/http-errors": "1.6.1", - "@types/node": "20.0.0", + "@types/node": "18.11.18", "bs58": "4.0.0", - "buffer": "6.0.3", - "build": "workspace:*", - "bundlewatch": "0.3.1", "concurrently": "7.3.0", - "esbuild": "0.23.0", "in-publish": "2.0.0", "jest": "29.7.0", - "localstorage-memory": "1.0.3", "near-hello": "0.5.1", "near-workspaces": "3.5.0", - "process": "^0.11.10", - "rimraf": "6.0.1", + "rimraf": "^6.0.1", "semver": "7.1.1", - "ts-jest": "29.1.5", - "tsconfig": "workspace:*", - "util": "^0.12.5" + "ts-jest": "29.1.5" }, "keywords": [], "license": "(MIT AND Apache-2.0)", "scripts": { - "dist": "pnpm bundle:all", - "bundle:all": "pnpm bundle && pnpm bundle:minified", - "bundle": "esbuild browser-exports.js --bundle --outfile=dist/near-api-js.js --define:global=window --inject:esbuild.inject.js", - "bundle:minified": "esbuild browser-exports.js --bundle --minify --outfile=dist/near-api-js.min.js --define:global=window --inject:esbuild.inject.js", - "compile:esm": "tsc -p ./tsconfig.json", - "compile:cjs": "tsc -p ./tsconfig.cjs.json && cjsify ./lib/commonjs", + "compile": "tsc -p ./tsconfig.json", "dev": "pnpm compile -w", - "build": "pnpm compile:esm && pnpm compile:cjs && pnpm dist", - "test": "jest --passWithNoTests", + "build": "pnpm compile", + "test": "jest test --passWithNoTests", "lint": "concurrently \"pnpm:lint:*(!fix) --no-error-on-unmatched-pattern\"", "lint:src": "eslint --ext .ts src", + "lint:fix": "concurrently \"pnpm:lint:*:fix\"", + "lint:src:fix": "eslint --ext .ts --fix src", + "lint:test:fix": "eslint --ext .js --fix test", "prefuzz": "pnpm build", "fuzz": "jsfuzz test/fuzz/borsh-roundtrip.js test/fuzz/corpus/", - "clean": "pnpm rimraf lib", - "bundlewatch": "bundlewatch" - }, - "bundlewatch": { - "files": [ - { - "path": "dist/near-api-js.min.js", - "maxSize": "150kB" - } - ] + "clean": "pnpm rimraf lib" }, "files": [ "lib", - "dist", - "browser-exports.js" + "dist" ], - "author": "NEAR Inc", - "exports": { - "require": "./lib/commonjs/index.cjs", - "import": "./lib/esm/index.js" - } + "author": "NEAR Inc" } diff --git a/packages/near-api-js/tsconfig.cjs.json b/packages/near-api-js/tsconfig.cjs.json deleted file mode 100644 index e7466bf3bb..0000000000 --- a/packages/near-api-js/tsconfig.cjs.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "tsconfig/cjs.json", - "compilerOptions": { - "outDir": "./lib/commonjs", - "lib": ["es2022", "dom"] - }, - "files": [ - "src/index.ts", - "src/browser-index.ts" - ] -} diff --git a/packages/near-api-js/tsconfig.json b/packages/near-api-js/tsconfig.json index 9895257d0a..ceb0534566 100644 --- a/packages/near-api-js/tsconfig.json +++ b/packages/near-api-js/tsconfig.json @@ -1,13 +1,30 @@ { - "extends": "tsconfig/esm.json", "compilerOptions": { + "esModuleInterop": true, "lib": [ - "es2022", + "es2020", + "esnext", "dom" ], - "outDir": "./lib/esm" + "module": "commonjs", + "target": "es2020", + "moduleResolution": "node", + "alwaysStrict": true, + "outDir": "./lib", + "declaration": true, + "preserveSymlinks": false, + "preserveWatchOutput": true, + "pretty": false, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitReturns": true, + "noUnusedLocals": true, + "experimentalDecorators": true, + "resolveJsonModule": true, }, "files": [ "src/index.ts", + "src/browser-index.ts", ], } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48e39a16ef..f2be411fb0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -117,7 +117,7 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) near-hello: specifier: 0.5.1 version: 0.5.1 @@ -132,7 +132,7 @@ importers: version: 7.1.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -184,10 +184,10 @@ importers: version: 20.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) packages/build: {} @@ -253,10 +253,10 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -297,10 +297,10 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -325,13 +325,13 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.5.1)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -359,13 +359,13 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) rimraf: specifier: ^6.0.1 version: 6.0.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -408,6 +408,9 @@ importers: '@near-js/wallet-account': specifier: workspace:* version: link:../wallet-account + '@noble/curves': + specifier: 1.2.0 + version: 1.2.0 borsh: specifier: 1.0.0 version: 1.0.0 @@ -420,64 +423,43 @@ importers: near-abi: specifier: 0.1.1 version: 0.1.1 + node-fetch: + specifier: 2.6.7 + version: 2.6.7(encoding@0.1.13) devDependencies: '@types/http-errors': specifier: 1.6.1 version: 1.6.1 '@types/node': - specifier: 20.0.0 - version: 20.0.0 + specifier: 18.11.18 + version: 18.11.18 bs58: specifier: 4.0.0 version: 4.0.0 - buffer: - specifier: 6.0.3 - version: 6.0.3 - build: - specifier: workspace:* - version: link:../build - bundlewatch: - specifier: 0.3.1 - version: 0.3.1 concurrently: specifier: 7.3.0 version: 7.3.0 - esbuild: - specifier: 0.23.0 - version: 0.23.0 in-publish: specifier: 2.0.0 version: 2.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) - localstorage-memory: - specifier: 1.0.3 - version: 1.0.3 + version: 29.7.0(@types/node@18.11.18)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) near-hello: specifier: 0.5.1 version: 0.5.1 near-workspaces: specifier: 3.5.0 version: 3.5.0(encoding@0.1.13) - process: - specifier: ^0.11.10 - version: 0.11.10 rimraf: - specifier: 6.0.1 + specifier: ^6.0.1 version: 6.0.1 semver: specifier: 7.1.1 version: 7.1.1 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) - tsconfig: - specifier: workspace:* - version: link:../tsconfig - util: - specifier: ^0.12.5 - version: 0.12.5 + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.11.18)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5) packages/providers: dependencies: @@ -515,13 +497,13 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) near-workspaces: specifier: 3.5.0 version: 3.5.0(encoding@0.1.13) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -552,10 +534,10 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -598,10 +580,10 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -621,10 +603,10 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -658,10 +640,10 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -710,13 +692,13 @@ importers: version: link:../build jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + version: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) localstorage-memory: specifier: 1.0.3 version: 1.0.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5) tsconfig: specifier: workspace:* version: link:../tsconfig @@ -1065,150 +1047,6 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@esbuild/aix-ppc64@0.23.0': - resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.23.0': - resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.23.0': - resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.23.0': - resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.23.0': - resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.23.0': - resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.23.0': - resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.23.0': - resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.23.0': - resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.23.0': - resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.23.0': - resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.23.0': - resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.23.0': - resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.23.0': - resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.23.0': - resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.23.0': - resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.23.0': - resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-x64@0.23.0': - resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.23.0': - resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.23.0': - resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.23.0': - resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.23.0': - resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.23.0': - resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.23.0': - resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1689,10 +1527,6 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@0.19.2: - resolution: {integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==} - deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 - babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1792,15 +1626,6 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bundlewatch@0.3.1: - resolution: {integrity: sha512-yVuOHljZCxRrDgujRn7GED+7Ms8G7hQJmP8vtQWIquDwDfocJH6RdRX42mqDWhMXGdsT3qhB1GYJ5q5zFZ0AEA==} - engines: {node: '>=10'} - hasBin: true - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - bytestreamjs@2.0.1: resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} engines: {node: '>=6.0.0'} @@ -1877,9 +1702,6 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - ci-env@1.17.0: - resolution: {integrity: sha512-NtTjhgSEqv4Aj90TUYHQLxHdnCPXnjdtuGG1X8lTfp/JqeXTdw0FTWl/vUAPuvbWZTF8QVpv6ASe/XacE+7R2A==} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -1921,10 +1743,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - commitlint@19.3.0: resolution: {integrity: sha512-B8eUVQCjz+1ZAjR3LC3+vzKg7c4/qN4QhSxkjp0u0v7Pi79t9CsnGAluvveKmFh56e885zgToPL5ax+l8BHTPg==} engines: {node: '>=v18'} @@ -2025,14 +1843,6 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} - debug@3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.5: resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} @@ -2128,9 +1938,6 @@ packages: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -2194,11 +2001,6 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - esbuild@0.23.0: - resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==} - engines: {node: '>=18'} - hasBin: true - escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -2346,10 +2148,6 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - follow-redirects@1.5.10: - resolution: {integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==} - engines: {node: '>=4.0'} - for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -2490,9 +2288,8 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - gzip-size@5.1.1: - resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} - engines: {node: '>=6'} + growly@1.3.0: + resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} @@ -2627,10 +2424,6 @@ packages: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -2664,6 +2457,11 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2676,10 +2474,6 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -2756,6 +2550,10 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -2977,9 +2775,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsonpack@1.1.5: - resolution: {integrity: sha512-d2vwomK605ks7Q+uCpbwGyoIF5j+UZuJjlYcugISBt3CxM+eBo/W6y63yVPIyIvbYON+pvJYsYZjCYbzqJj/xQ==} - jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} @@ -3201,9 +2996,6 @@ packages: engines: {node: '>=10'} hasBin: true - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -3259,6 +3051,9 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-notifier@8.0.2: + resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} + node-port-check@2.0.1: resolution: {integrity: sha512-PV1tj5OPbWwxvhPcChXxwCIKl/IfVEdPP4u/gQz2lao/VGoeIUXb/4U72KSHLZpTVBmgTnMm0me7yR0wUsIuPg==} @@ -3443,10 +3238,6 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - promisify-child-process@4.1.2: resolution: {integrity: sha512-APnkIgmaHNJpkAn7k+CrJSi9WMuff5ctYFbD0CO2XIPkM8yO7d/ShouU2clywbpHV/DUsyc4bpJCsNgddNtx4g==} engines: {node: '>=8'} @@ -3656,6 +3447,9 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shellwords@0.1.1: + resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} + shiki@0.14.7: resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} @@ -4071,8 +3865,9 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -4727,78 +4522,6 @@ snapshots: '@jridgewell/trace-mapping': 0.3.9 optional: true - '@esbuild/aix-ppc64@0.23.0': - optional: true - - '@esbuild/android-arm64@0.23.0': - optional: true - - '@esbuild/android-arm@0.23.0': - optional: true - - '@esbuild/android-x64@0.23.0': - optional: true - - '@esbuild/darwin-arm64@0.23.0': - optional: true - - '@esbuild/darwin-x64@0.23.0': - optional: true - - '@esbuild/freebsd-arm64@0.23.0': - optional: true - - '@esbuild/freebsd-x64@0.23.0': - optional: true - - '@esbuild/linux-arm64@0.23.0': - optional: true - - '@esbuild/linux-arm@0.23.0': - optional: true - - '@esbuild/linux-ia32@0.23.0': - optional: true - - '@esbuild/linux-loong64@0.23.0': - optional: true - - '@esbuild/linux-mips64el@0.23.0': - optional: true - - '@esbuild/linux-ppc64@0.23.0': - optional: true - - '@esbuild/linux-riscv64@0.23.0': - optional: true - - '@esbuild/linux-s390x@0.23.0': - optional: true - - '@esbuild/linux-x64@0.23.0': - optional: true - - '@esbuild/netbsd-x64@0.23.0': - optional: true - - '@esbuild/openbsd-arm64@0.23.0': - optional: true - - '@esbuild/openbsd-x64@0.23.0': - optional: true - - '@esbuild/sunos-x64@0.23.0': - optional: true - - '@esbuild/win32-arm64@0.23.0': - optional: true - - '@esbuild/win32-ia32@0.23.0': - optional: true - - '@esbuild/win32-x64@0.23.0': - optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.20.0)': dependencies: eslint: 8.20.0 @@ -4860,10 +4583,47 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5))': + '@jest/core@29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 + '@jest/reporters': 29.7.0(node-notifier@8.0.2) + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.0.0 + ansi-escapes: 4.3.2 + chalk: 4.1.1 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.7 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + optionalDependencies: + node-notifier: 8.0.2 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/core@29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0(node-notifier@8.0.2) '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -4890,15 +4650,17 @@ snapshots: pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - babel-plugin-macros - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))': + '@jest/core@29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 + '@jest/reporters': 29.7.0(node-notifier@8.0.2) '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -4925,6 +4687,8 @@ snapshots: pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4966,7 +4730,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@jest/reporters@29.7.0': + '@jest/reporters@29.7.0(node-notifier@8.0.2)': dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 29.7.0 @@ -4992,6 +4756,8 @@ snapshots: string-length: 4.0.2 strip-ansi: 6.0.1 v8-to-istanbul: 9.2.0 + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - supports-color @@ -5530,12 +5296,6 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axios@0.19.2: - dependencies: - follow-redirects: 1.5.10 - transitivePeerDependencies: - - supports-color - babel-jest@29.7.0(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 @@ -5667,23 +5427,6 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bundlewatch@0.3.1: - dependencies: - axios: 0.19.2 - bytes: 3.1.2 - chalk: 4.1.1 - ci-env: 1.17.0 - commander: 5.1.0 - glob: 7.2.3 - gzip-size: 5.1.1 - jsonpack: 1.1.5 - lodash.merge: 4.6.2 - read-pkg-up: 7.0.1 - transitivePeerDependencies: - - supports-color - - bytes@3.1.2: {} - bytestreamjs@2.0.1: {} cacheable-lookup@5.0.4: {} @@ -5764,8 +5507,6 @@ snapshots: chownr@2.0.0: {} - ci-env@1.17.0: {} - ci-info@3.9.0: {} cjs-module-lexer@1.3.1: {} @@ -5804,8 +5545,6 @@ snapshots: color-name@1.1.4: {} - commander@5.1.0: {} - commitlint@19.3.0(@types/node@20.5.1)(typescript@5.4.5): dependencies: '@commitlint/cli': 19.3.0(@types/node@20.5.1)(typescript@5.4.5) @@ -5866,6 +5605,21 @@ snapshots: optionalDependencies: typescript: 5.4.5 + create-jest@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + create-jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 @@ -5950,10 +5704,6 @@ snapshots: dependencies: '@babel/runtime': 7.24.7 - debug@3.1.0: - dependencies: - ms: 2.0.0 - debug@4.3.5: dependencies: ms: 2.1.2 @@ -6023,8 +5773,6 @@ snapshots: dotenv@8.6.0: {} - duplexer@0.1.2: {} - eastasianwidth@0.2.0: {} electron-to-chromium@1.4.807: {} @@ -6140,33 +5888,6 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - esbuild@0.23.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.23.0 - '@esbuild/android-arm': 0.23.0 - '@esbuild/android-arm64': 0.23.0 - '@esbuild/android-x64': 0.23.0 - '@esbuild/darwin-arm64': 0.23.0 - '@esbuild/darwin-x64': 0.23.0 - '@esbuild/freebsd-arm64': 0.23.0 - '@esbuild/freebsd-x64': 0.23.0 - '@esbuild/linux-arm': 0.23.0 - '@esbuild/linux-arm64': 0.23.0 - '@esbuild/linux-ia32': 0.23.0 - '@esbuild/linux-loong64': 0.23.0 - '@esbuild/linux-mips64el': 0.23.0 - '@esbuild/linux-ppc64': 0.23.0 - '@esbuild/linux-riscv64': 0.23.0 - '@esbuild/linux-s390x': 0.23.0 - '@esbuild/linux-x64': 0.23.0 - '@esbuild/netbsd-x64': 0.23.0 - '@esbuild/openbsd-arm64': 0.23.0 - '@esbuild/openbsd-x64': 0.23.0 - '@esbuild/sunos-x64': 0.23.0 - '@esbuild/win32-arm64': 0.23.0 - '@esbuild/win32-ia32': 0.23.0 - '@esbuild/win32-x64': 0.23.0 - escalade@3.1.2: {} escape-string-regexp@1.0.5: {} @@ -6364,12 +6085,6 @@ snapshots: flatted@3.3.1: {} - follow-redirects@1.5.10: - dependencies: - debug: 3.1.0 - transitivePeerDependencies: - - supports-color - for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -6535,10 +6250,8 @@ snapshots: graphemer@1.4.0: {} - gzip-size@5.1.1: - dependencies: - duplexer: 0.1.2 - pify: 4.0.1 + growly@1.3.0: + optional: true hard-rejection@2.1.0: {} @@ -6652,11 +6365,6 @@ snapshots: hasown: 2.0.2 side-channel: 1.0.6 - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -6691,16 +6399,15 @@ snapshots: dependencies: has-tostringtag: 1.0.2 + is-docker@2.2.1: + optional: true + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} is-generator-fn@2.1.0: {} - is-generator-function@1.0.10: - dependencies: - has-tostringtag: 1.0.2 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -6768,6 +6475,11 @@ snapshots: is-windows@1.0.2: {} + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + optional: true + isarray@2.0.5: {} isexe@2.0.0: {} @@ -6858,9 +6570,30 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): + jest-cli@29.7.0(@types/node@18.11.18)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.1 + create-jest: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + optionalDependencies: + node-notifier: 8.0.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-cli@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + '@jest/core': 29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.1 @@ -6871,15 +6604,17 @@ snapshots: jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest-cli@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): + jest-cli@29.7.0(@types/node@20.5.1)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) + '@jest/core': 29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.1 @@ -6890,12 +6625,76 @@ snapshots: jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node + jest-config@29.7.0(@types/node@18.11.18)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): + dependencies: + '@babel/core': 7.24.7 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) + chalk: 4.1.1 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.7 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 18.11.18 + ts-node: 10.9.2(@types/node@18.11.18)(typescript@5.4.5) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): + dependencies: + '@babel/core': 7.24.7 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) + chalk: 4.1.1 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.7 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.0.0 + ts-node: 10.9.2(@types/node@18.11.18)(typescript@5.4.5) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + jest-config@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 @@ -7204,24 +7003,42 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): + jest@29.7.0(@types/node@18.11.18)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + '@jest/core': 29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + jest-cli: 29.7.0(@types/node@18.11.18)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): + jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) + '@jest/core': 29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) + jest-cli: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + optionalDependencies: + node-notifier: 8.0.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest@29.7.0(@types/node@20.5.1)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.5.1)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -7271,8 +7088,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonpack@1.1.5: {} - jsonparse@1.3.1: {} jsonpointer@5.0.1: {} @@ -7452,8 +7267,6 @@ snapshots: mkdirp@1.0.4: {} - ms@2.0.0: {} - ms@2.1.2: {} mustache@4.0.0: {} @@ -7535,6 +7348,16 @@ snapshots: node-int64@0.4.0: {} + node-notifier@8.0.2: + dependencies: + growly: 1.3.0 + is-wsl: 2.2.0 + semver: 7.6.2 + shellwords: 0.1.1 + uuid: 8.3.2 + which: 2.0.2 + optional: true + node-port-check@2.0.1: {} node-releases@2.0.14: {} @@ -7699,8 +7522,6 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - process@0.11.10: {} - promisify-child-process@4.1.2: {} prompts@2.4.2: @@ -7895,6 +7716,9 @@ snapshots: shell-quote@1.8.1: {} + shellwords@0.1.1: + optional: true + shiki@0.14.7: dependencies: ansi-sequence-parser: 1.1.1 @@ -8097,11 +7921,29 @@ snapshots: dependencies: typescript: 5.4.5 - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.23.0)(jest@29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.11.18)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)))(typescript@5.4.5): + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 29.7.0(@types/node@18.11.18)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5)) + jest-util: 29.7.0 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.6.2 + typescript: 5.4.5 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.24.7 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) + + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.0.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) + jest: 29.7.0(@types/node@20.0.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -8114,13 +7956,12 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.7) - esbuild: 0.23.0 - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)))(typescript@5.4.5): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@20.5.1)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) + jest: 29.7.0(@types/node@20.5.1)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -8134,6 +7975,25 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.7) + ts-node@10.9.2(@types/node@18.11.18)(typescript@5.4.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 18.11.18 + acorn: 8.12.0 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optional: true + ts-node@10.9.2(@types/node@20.0.0)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -8326,13 +8186,8 @@ snapshots: dependencies: punycode: 2.3.1 - util@0.12.5: - dependencies: - inherits: 2.0.4 - is-arguments: 1.1.1 - is-generator-function: 1.0.10 - is-typed-array: 1.1.13 - which-typed-array: 1.1.15 + uuid@8.3.2: + optional: true v8-compile-cache-lib@3.0.1: optional: true From f027f1bdbbd21122a5922cccbc30d76139eae479 Mon Sep 17 00:00:00 2001 From: Andy Haynes Date: Tue, 3 Sep 2024 16:28:19 -0700 Subject: [PATCH 45/45] docs: include breaking changes descriptions in changelog --- .changeset/odd-tips-yawn.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.changeset/odd-tips-yawn.md b/.changeset/odd-tips-yawn.md index 5a0a9f9905..7cdefaea95 100644 --- a/.changeset/odd-tips-yawn.md +++ b/.changeset/odd-tips-yawn.md @@ -16,3 +16,20 @@ --- Update to Node.js 20 LTS & pnpm 9.4, modularize packages, simplify dependencies, and update tests + +**Breaking Changes** + +- `near-api-js@5.0.0` + - The following functions are no longer exported: + - `logWarning` + - `fetchJson` + - the unnamed wrapped `fetch` function exported from `setup-node-fetch.ts` + - The browser bundle is no longer being built in version 5; for browser support please use modules + +- `@near-js/providers@1.0.0` + - The following functions are no longer exported: + - `fetchJson` + +- `@near-js/utils@1.0.0` + - The following functions are no longer exported: + - `logWarning` \ No newline at end of file