From 5f7c29adf530d4e6602e7894e9f5247d892456b1 Mon Sep 17 00:00:00 2001 From: v1rtl Date: Mon, 29 Apr 2024 17:59:48 +0300 Subject: [PATCH 1/6] move to spektr --- package.json | 2 +- pnpm-lock.yaml | 27 ++++--- src/actions/deploy.ts | 37 ++++----- src/actions/dnslink.ts | 3 +- src/actions/ens.ts | 33 ++++++-- src/actions/ping.ts | 13 ++- src/actions/status.ts | 7 +- src/cli.ts | 177 +++++++++++++++++++++++++++++++---------- src/errors.ts | 9 ++- 9 files changed, 220 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index 2047094..7059e2c 100644 --- a/package.json +++ b/package.json @@ -44,12 +44,12 @@ "@web3-storage/access": "^18.2.0", "@web3-storage/w3up-client": "^12.4.1", "ascii-bar": "^1.0.3", - "cac": "^6.7.14", "cborg": "^4.1.3", "colorette": "^2.0.20", "globby": "^14.0.1", "ipfs-car": "^1.2.0", "multiformats": "^13.1.0", + "spektr": "^0.0.3", "table": "^6.8.1", "viem": "^2.8.13" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e98769b..5264a9b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,9 +35,6 @@ importers: ascii-bar: specifier: ^1.0.3 version: 1.0.3 - cac: - specifier: ^6.7.14 - version: 6.7.14 cborg: specifier: ^4.1.3 version: 4.1.3 @@ -53,6 +50,9 @@ importers: multiformats: specifier: ^13.1.0 version: 13.1.0 + spektr: + specifier: ^0.0.3 + version: 0.0.3 table: specifier: ^6.8.1 version: 6.8.1 @@ -815,10 +815,6 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2030,6 +2026,9 @@ packages: spdx-license-ids@3.0.17: resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + spektr@0.0.3: + resolution: {integrity: sha512-WcQGaWdTyYKQX3lcZqR8+WKZULWzszoo36vBe+ws5q8d4PLydJDYhNhx3TsrrRo6mdzZHGZbnckBTtFxgKHlGQ==} + split2@1.0.0: resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} @@ -2150,6 +2149,10 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -3334,8 +3337,6 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - cac@6.7.14: {} - callsites@3.1.0: {} cborg@4.1.3: {} @@ -4512,6 +4513,12 @@ snapshots: spdx-license-ids@3.0.17: {} + spektr@0.0.3: + dependencies: + colorette: 2.0.20 + table: 6.8.1 + type-detect: 4.0.8 + split2@1.0.0: dependencies: through2: 2.0.5 @@ -4628,6 +4635,8 @@ snapshots: dependencies: prelude-ls: 1.2.1 + type-detect@4.0.8: {} + type-fest@1.4.0: {} type-fest@2.19.0: {} diff --git a/src/actions/deploy.ts b/src/actions/deploy.ts index b7d391f..944e810 100644 --- a/src/actions/deploy.ts +++ b/src/actions/deploy.ts @@ -4,9 +4,7 @@ import { MissingDirectoryError, NoProvidersError } from '../errors.js' import { walk, fileSize, packCAR, parseTokensFromEnv, tokensToProviderNames, findEnvVarProviderName } from '../index.js' import { exists } from '../utils/fs.js' import mod from 'ascii-bar' -import { ensAction } from './ens.js' -import { ChainName } from '../types.js' -import { Address } from 'viem' +import { EnsActionArgs, ensAction } from './ens.js' import { deployMessage, logger } from '../utils/logger.js' import * as colors from 'colorette' import { dnsLinkAction } from './dnslink.js' @@ -14,27 +12,24 @@ import { dnsLinkAction } from './dnslink.js' // @ts-expect-error authors of AsciiBar didnt publish the package properly const AsciiBar = mod.default -type DeployActionArgs = { +export type DeployActionArgs = Partial<{ strict: boolean - chain?: ChainName - ens?: string - resolverAddress?: Address - safe?: Address - name?: string - dist?: string - providers?: string - verbose?: boolean - dnslink?: string -} + ens: string + name: string + dist: string + providers: string + verbose: boolean + dnslink: string +}> & EnsActionArgs export const deployAction = async ( - dir: string, - { + { dir, options = {} }: { dir?: string, options?: DeployActionArgs }, +) => { + const { strict, ens, chain = 'mainnet', safe, name: customName, dist, verbose = false, providers: providersList, resolverAddress, - dnslink, - }: DeployActionArgs, -) => { + dnslink, rpcUrl, + } = options if (!dir) { if (await exists('dist')) dir = 'dist' else dir = '.' @@ -125,10 +120,10 @@ export const deployAction = async ( if (typeof ens === 'string') { console.log('\n') - await ensAction(cid, ens, { chain, safe, resolverAddress }) + await ensAction({ cid, domain: ens, options: { chain, safe, resolverAddress, rpcUrl } }) } if (dnslink) { - await dnsLinkAction(cid, dnslink, { verbose }) + await dnsLinkAction({ cid, name, options: { verbose } }) } } diff --git a/src/actions/dnslink.ts b/src/actions/dnslink.ts index f3bc88d..c1ef9e9 100644 --- a/src/actions/dnslink.ts +++ b/src/actions/dnslink.ts @@ -3,8 +3,9 @@ import { updateDnsLink } from '../utils/dnslink.js' import { logger } from '../utils/logger.js' export const dnsLinkAction = async ( - cid: string, name: string, { verbose }: { verbose: boolean }, /* { init = false }: { init?: boolean } */ + { cid, name, options = {} }: { cid: string, name: string, options?: { verbose?: boolean } }, ) => { + const { verbose = false } = options const apiKey = process.env.BLUMEN_CF_KEY const zoneId = process.env.BLUMEN_CF_ZONE_ID diff --git a/src/actions/ens.ts b/src/actions/ens.ts index 406b9b8..4801460 100644 --- a/src/actions/ens.ts +++ b/src/actions/ens.ts @@ -8,9 +8,9 @@ import { Hex, encodeFunctionData, } from 'viem' -import { MissingKeyError } from '../errors.js' +import { InvalidCIDError, MissingCLIArgsError, MissingKeyError } from '../errors.js' import { PUBLIC_RESOLVER_ADDRESS, prepareUpdateEnsArgs, abi } from '../utils/ens.js' -import { ChainName } from '../types.js' +import type { ChainName } from '../types.js' import { privateKeyToAccount } from 'viem/accounts' import { goerli, mainnet } from 'viem/chains' import { walletSafeActions, publicSafeActions } from '@stauro/piggybank/actions' @@ -21,14 +21,33 @@ import { chainIdToSafeApiUrl } from '../utils/safe.js' import * as colors from 'colorette' import { logger } from '../utils/logger.js' import { isTTY } from '../constants.js' +import { CID } from 'multiformats' + +export type EnsActionArgs = Partial<{ + chain: ChainName + safe: Address | EIP3770Address + rpcUrl: string + resolverAddress: Address +}> export const ensAction = async ( - cid: string, - domain: string, - { - chain: chainName, safe: safeAddress, rpcUrl, resolverAddress, - }: { chain: ChainName } & Partial<{ safe: Address | EIP3770Address, rpcUrl: string, resolverAddress: Address }>, + { cid, domain, options = {} }: { + cid: string + domain: string + options: EnsActionArgs + }, ) => { + const { + chain: chainName = 'mainnet', safe: safeAddress, rpcUrl, resolverAddress, + } = options + + try { + CID.parse(cid) + } + catch { + throw new InvalidCIDError(cid) + } + if (!domain) throw new MissingCLIArgsError([domain]) const chain = chainName === 'mainnet' ? mainnet : goerli const transport = http(rpcUrl ?? chain.id === 1 ? 'https://rpc.ankr.com/eth' : 'https://rpc.ankr.com/eth_goerli') diff --git a/src/actions/ping.ts b/src/actions/ping.ts index ff8de82..8d8160c 100644 --- a/src/actions/ping.ts +++ b/src/actions/ping.ts @@ -5,9 +5,14 @@ let retryCount = 0 const gwOfflineMessage = `😞 Max retries exceeded. Gateway is ${colors.bold(colors.red('Offline'))}.` export const pingAction = async ( - cid: string, endpoint: string, { maxRetries: retries = Infinity, retryInterval = 5000, timeout = 10000 }: - Partial<{ maxRetries: number, retryInterval: number, timeout: number }>, + { cid, endpoint, options }: { + cid: string + endpoint: string + options: Partial<{ maxRetries: number, retryInterval: number, timeout: number }> + }, ): Promise => { + const { maxRetries: retries = Infinity, retryInterval = 5000, timeout = 10000 } = options + retryCount++ const url = `https://${cid}.ipfs.${endpoint}` console.log(`${colors.bold(`[${retryCount}]`)}: Requesting content at ${url}`) @@ -17,7 +22,7 @@ export const pingAction = async ( if (retries > 1) { console.log(`🔄 Retrying in ${retryInterval / 1000} seconds...`) await new Promise(resolve => setTimeout(resolve, retryInterval)) - return pingAction(cid, endpoint, { maxRetries: retries - 1, retryInterval }) + return pingAction({ cid, endpoint, options: { maxRetries: retries - 1, retryInterval } }) } else { return console.error(gwOfflineMessage) @@ -35,7 +40,7 @@ export const pingAction = async ( if (error instanceof DOMException) { if (retries > 1) { console.log(`⌛ Timed out. Retrying...`) - return pingAction(cid, endpoint, { maxRetries: retries - 1, retryInterval }) + return pingAction({ cid, endpoint, options: { maxRetries: retries - 1, retryInterval } }) } else { return console.error(gwOfflineMessage) diff --git a/src/actions/status.ts b/src/actions/status.ts index e70a023..a9c86e6 100644 --- a/src/actions/status.ts +++ b/src/actions/status.ts @@ -9,9 +9,12 @@ import { parseTokensFromEnv, findEnvVarProviderName } from '../index.js' import { pinStatus } from '../utils/pin.js' export const statusAction = async ( - cid: string, - { providers: providersOptionList, verbose }: { providers: string, verbose?: boolean }, + { cid, options = {} }: { + cid: string + options?: Partial<{ providers: string, verbose: boolean }> + }, ) => { + const { providers: providersOptionList, verbose } = options // Validate CID try { CID.parse(cid) diff --git a/src/cli.ts b/src/cli.ts index d397b07..9b42021 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -1,62 +1,155 @@ #!/usr/bin/env node -import { cac } from 'cac' +import { CLI } from 'spektr' +import { colorPlugin } from 'spektr/plugins/color.js' -import { ensAction } from './actions/ens.js' +import { EnsActionArgs, ensAction } from './actions/ens.js' import { statusAction } from './actions/status.js' -import { deployAction } from './actions/deploy.js' +import { DeployActionArgs, deployAction } from './actions/deploy.js' import './polyfills/globals.js' import { pingAction } from './actions/ping.js' import { BLUMEN_VERSION } from './utils/version.js' import { dnsLinkAction } from './actions/dnslink.js' -const cli = cac('blumen') +const cli = new CLI({ name: 'blumen', plugins: [colorPlugin] }) -cli - .command('deploy [dir]', 'Deploy a web app on IPFS') - .option('--strict', 'Throw if one of the providers fails', { default: true }) - .option('--ens ', 'Update Content-Hash of an ENS domain') - .option('--resolver-address
', 'Custom ENS Resolver address') - .option('--chain ', 'Chain to use for ENS', { default: 'mainnet' }) - .option('--name ', 'Name of the distribution (without file extension)') - .option('--dist ', 'Directory to store the distribution file') - .option('--providers ', 'Explicit provider order') - .option('--verbose', 'More verbose logs') - .option('--safe ', 'Deploy using a Safe multi-sig') - .option('--dnslink ', 'Update DNSLink') - .action(deployAction) - .example('blumen deploy --strict ./dist') +const ensOptions = [{ + name: 'chain', + description: 'Chain to use for ENS', + type: 'string', +}, +{ + name: 'safe', + description: 'Deploy using a Safe multi-sig', + type: 'string', +}, +{ + name: 'resolver-address', + description: 'Custom ENS Resolver address', + type: 'string', +}, +{ + name: 'rpc-url', + description: 'Custom Ethereum RPC', + type: 'string', +}] as const + +cli.command('deploy', ([dir], options) => deployAction({ + dir: dir as string, + options: options as DeployActionArgs, +}), { + description: 'Deploy a web app on IPFS', + options: [ + { + name: 'strict', + description: 'Throw if one of the providers fails', + type: 'boolean', + }, + { + name: 'ens', + description: 'Update Content-Hash of an ENS domain', + type: 'string', + }, + { + name: 'name', + description: 'Name of the distribution (without file extension)', + type: 'string', + }, + { + name: 'dist', + description: 'Directory to store the distribution file', + type: 'string', + }, + { + name: 'providers', + description: 'Explicit provider order', + type: 'string', + }, + { + name: 'verbose', + description: 'More verbose logs', + type: 'boolean', + short: 'v', + }, + { + name: 'dnslink', + description: 'Update DNSLink', + type: 'string', + }, + ...ensOptions, + ] as const, +}) cli - .command('status ', 'Check IPFS deployment status') - .option('--providers ', 'List providers to check status from') - .option('--verbose', 'More verbose logs') - .action(statusAction) - .example('blumen status bafybeibp54tslsez36quqptgzwyda3vo66za3rraujksmsb3d5q247uht4 --providers web3.storage') + .command('status', ([cid], options) => statusAction({ cid: cid as string, options }), { + description: 'Check IPFS deployment status', + options: [ + { + name: 'providers', + description: 'List providers to check status from', + type: 'string', + }, + { + name: 'verbose', + description: 'More verbose logs', + type: 'boolean', + short: 'v', + }, + ] as const, + }) cli .command( - 'ens ', - 'Update ENS domain Content-Hash with an IFPS CID', + 'ens', + ([cid, domain], options) => ensAction({ + cid: cid as string, + domain: domain as string, + options: options as EnsActionArgs, + }), + { + description: 'Update ENS domain Content-Hash with an IFPS CID', + options: ensOptions, + }, ) - .option('--chain ', 'Chain to use', { default: 'mainnet' }) - .option('--safe ', 'Deploy using a Safe multi-sig') - .option('--rpc-url ', 'Custom Ethereum RPC') - .option('--resolver-address
', 'Custom ENS Resolver address') - .action(ensAction) - -cli.command('ping ', 'Ping an endpoint until it resolves content') - .option('--max-retries', 'Max retries', { default: Infinity }) - .option('--retry-interval', 'Interval between retries (in ms)', { default: 5000 }) - .option('--timeout', 'Request timeout until next attempt (in ms)', { default: 10000 }) - .action(pingAction) - -cli.command('dnslink ', 'Update DNSLink with a given CID using Cloudflare') - // .option('--init', 'Create a DNSLink gateway', { default: false }) - .option('--verbose', 'More verbose logs', {default:false}) - .action(dnsLinkAction) + +cli.command('ping', ([cid, endpoint], options) => pingAction({ + cid: cid as string, + endpoint: endpoint as string, + options: Object.fromEntries(Object.entries(options).map(([k, v]) => [k, parseInt(v)])), + +}), { + description: 'Ping an endpoint until it resolves content', + options: [ + { + name: 'max-retries', + description: 'Max retries', + type: 'string', + }, + { + name: 'retry-interval', + description: 'Interval between retries (in ms)', + type: 'string', + }, + { + name: 'timeout', + description: 'Request timeout until next attempt (in ms)', + type: 'string', + }, + ] as const, +}) + +cli.command('dnslink', ([cid, name], options) => dnsLinkAction({ cid: cid as string, name: name as string, options }), { + options: [ + { + name: 'verbose', + description: 'More verbose logs', + type: 'boolean', + short: 'v', + }, + ] as const, +}) cli.help() cli.version(BLUMEN_VERSION) -cli.parse() +cli.handle(process.argv.slice(2)) diff --git a/src/errors.ts b/src/errors.ts index 6c5f81d..e97ffdb 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -59,7 +59,7 @@ export class MissingKeyError extends Error { export class InvalidCIDError extends Error { name = 'InvalidCIDError' constructor(cid: string) { - super(`${cid} is invalid IPFS CID.`) + super(`${cid} is not a valid IPFS CID.`) } } @@ -83,3 +83,10 @@ export class MissingDnsLinkError extends Error { super(`No DNSLink gateway was found. Create one first.\nhttps://blumen.stauro.dev/docs/dnslink.html`) } } + +export class MissingCLIArgsError extends Error { + name = 'MissingCLIArgsError' + constructor(args: string[]) { + super(`Missing CLI arguments: ${args.join(', ')}`) + } +} From 81f13241aceaa9903a78c73efabdcdacbfb5a4f3 Mon Sep 17 00:00:00 2001 From: v1rtl Date: Mon, 29 Apr 2024 18:01:29 +0300 Subject: [PATCH 2/6] add some aliases --- src/cli.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cli.ts b/src/cli.ts index 9b42021..d36da0e 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -53,11 +53,13 @@ cli.command('deploy', ([dir], options) => deployAction({ }, { name: 'name', + short: 'n', description: 'Name of the distribution (without file extension)', type: 'string', }, { name: 'dist', + short: 'd', description: 'Directory to store the distribution file', type: 'string', }, @@ -135,6 +137,7 @@ cli.command('ping', ([cid, endpoint], options) => pingAction({ name: 'timeout', description: 'Request timeout until next attempt (in ms)', type: 'string', + short: 't', }, ] as const, }) From 098dc58edbd760778ba068d8ec9da9c89758588b Mon Sep 17 00:00:00 2001 From: v1rtl Date: Mon, 29 Apr 2024 18:30:28 +0300 Subject: [PATCH 3/6] bump spektr --- package.json | 4 +- pnpm-lock.yaml | 991 +++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 830 insertions(+), 165 deletions(-) diff --git a/package.json b/package.json index 7059e2c..2075a69 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "globby": "^14.0.1", "ipfs-car": "^1.2.0", "multiformats": "^13.1.0", - "spektr": "^0.0.3", + "spektr": "^0.0.5", "table": "^6.8.1", "viem": "^2.8.13" }, @@ -61,7 +61,7 @@ "@typescript-eslint/parser": "^7.7.1", "eslint": "^9.1.1", "globals": "^15.1.0", - "semantic-release": "^23.0.5", + "semantic-release": "^23.0.8", "typescript": "^5.4.2" }, "release": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5264a9b..14869b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,8 +51,8 @@ importers: specifier: ^13.1.0 version: 13.1.0 spektr: - specifier: ^0.0.3 - version: 0.0.3 + specifier: ^0.0.5 + version: 0.0.5 table: specifier: ^6.8.1 version: 6.8.1 @@ -82,8 +82,8 @@ importers: specifier: ^15.1.0 version: 15.1.0 semantic-release: - specifier: ^23.0.5 - version: 23.0.5(typescript@5.4.2) + specifier: ^23.0.8 + version: 23.0.8(typescript@5.4.2) typescript: specifier: ^5.4.2 version: 5.4.2 @@ -118,16 +118,16 @@ packages: '@aws-sdk/util-utf8-browser@3.259.0': resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - '@babel/code-frame@7.24.1': - resolution: {integrity: sha512-bC49z4spJQR3j8vFtJBLqzyzFV0ciuL5HYX7qfSl3KEqeMVV+eTquRvmXxpvB0AMubRrvv7y5DILiLLPi57Ewg==} + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.1': - resolution: {integrity: sha512-EPmDPxidWe/Ex+HTFINpvXdPHRmgSF3T8hGvzondYjmgzTQ/0EbLpSxyt+w3zzlYSk9cNBQNF9k0dT5Z2NiBjw==} + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} '@colors/colors@1.5.0': @@ -241,53 +241,53 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@octokit/auth-token@5.0.1': - resolution: {integrity: sha512-RTmWsLfig8SBoiSdgvCht4BXl1CHU89Co5xiQ5JF19my/sIRDFCQ1RPrmK0exgqUZuNm39C/bV8+/83+MJEjGg==} + '@octokit/auth-token@5.1.1': + resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} engines: {node: '>= 18'} - '@octokit/core@6.0.1': - resolution: {integrity: sha512-MIpPQXu8Y8GjHwXM81JLveiV+DHJZtLMcB5nKekBGOl3iAtk0HT3i12Xl8Biybu+bCS1+k4qbuKEq5d0RxNRnQ==} + '@octokit/core@6.1.2': + resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==} engines: {node: '>= 18'} - '@octokit/endpoint@10.0.0': - resolution: {integrity: sha512-emBcNDxBdC1y3+knJonS5zhUB/CG6TihubxM2U1/pG/Z1y3a4oV0Gzz3lmkCvWWQI6h3tqBAX9MgCBFp+M68Jw==} + '@octokit/endpoint@10.1.1': + resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==} engines: {node: '>= 18'} - '@octokit/graphql@8.0.1': - resolution: {integrity: sha512-lLDb6LhC1gBj2CxEDa5Xk10+H/boonhs+3Mi6jpRyetskDKNHe6crMeKmUE2efoLofMP8ruannLlCUgpTFmVzQ==} + '@octokit/graphql@8.1.1': + resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==} engines: {node: '>= 18'} - '@octokit/openapi-types@20.0.0': - resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==} + '@octokit/openapi-types@22.1.0': + resolution: {integrity: sha512-pGUdSP+eEPfZiQHNkZI0U01HLipxncisdJQB4G//OAmfeO8sqTQ9KRa0KF03TUPCziNsoXUrTg4B2Q1EX++T0Q==} - '@octokit/plugin-paginate-rest@10.0.0': - resolution: {integrity: sha512-G1Z67qOiFneKDJyMafHQkWnKm1kU3FfbRZLzxgsFg4dOa3pRNdABbdk+xo/oev6P88lnbt7GKdBNB6dJZuPphA==} + '@octokit/plugin-paginate-rest@11.2.0': + resolution: {integrity: sha512-Nd3hCJbr5GUwTgV6j2dMONIigoqNwJRm+yvA5BYb1dnGBTmVUrGYGNwYsGl2hN+xtDAYpqxDiz8vysh/NqEN+A==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-retry@7.0.3': - resolution: {integrity: sha512-T9l5Z7XnDZ7dkyNmhJPSUq0YjbqUT/xn4yQbhcSuv4WGC/LqM73/mKwkl68VDPoLw20e8oz4L7qQopWt9v6sow==} + '@octokit/plugin-retry@7.1.1': + resolution: {integrity: sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-throttling@9.0.3': - resolution: {integrity: sha512-DReKamrLBJOzld73dmmxV2H137QKJfsxszAczEZXeAJQ/Po6bzQacKajPdodA6T1jfmP9+waImus+d/R2j+R7Q==} + '@octokit/plugin-throttling@9.2.1': + resolution: {integrity: sha512-n6EK4/1Npva54sAFDdpUxAbO14FbzudJ/k7DZPjQuLYOvNTWj4DGeH//J9ZCVoLkAlvRWV5sWKLaICsmGvqg2g==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': ^6.0.0 - '@octokit/request-error@6.0.2': - resolution: {integrity: sha512-WtRVpoHcNXs84+s9s/wqfHaxM68NGMg8Av7h59B50OVO0PwwMx+2GgQ/OliUd0iQBSNWgR6N8afi/KjSHbXHWw==} + '@octokit/request-error@6.1.1': + resolution: {integrity: sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==} engines: {node: '>= 18'} - '@octokit/request@9.0.1': - resolution: {integrity: sha512-kL+cAcbSl3dctYLuJmLfx6Iku2MXXy0jszhaEIjQNaCp4zjHXrhVAHeuaRdNvJjW9qjl3u1MJ72+OuBP0YW/pg==} + '@octokit/request@9.1.1': + resolution: {integrity: sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==} engines: {node: '>= 18'} - '@octokit/types@12.6.0': - resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==} + '@octokit/types@13.4.1': + resolution: {integrity: sha512-Y73oOAzRBAUzR/iRAbGULzpNkX8vaxKCqEtg6K74Ff3w9f5apFnWtE/2nade7dMWWW3bS5Kkd6DJS4HF04xreg==} '@perma/map@1.0.3': resolution: {integrity: sha512-Bf5njk0fnJGTFE2ETntq0N1oJ6YdCPIpTDn3R3KYZJQdeYSOCNL7mBrFlGnbqav8YQhJA/p81pvHINX9vAtHkQ==} @@ -356,8 +356,8 @@ packages: resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==} engines: {node: '>=18'} - '@semantic-release/github@10.0.2': - resolution: {integrity: sha512-SP5ihhv/uQa8vPuWKmbJrrzfv8lRUkDFC6qwgaWoorrflN1DEW0IGCa9w/PxUp8Ad3dbvXZPmpXdGiP3eyTzhg==} + '@semantic-release/github@10.0.3': + resolution: {integrity: sha512-nSJQboKrG4xBn7hHpRMrK8lt5DgqJg50ZMz9UbrsfTxuRk55XVoQEadbGZ2L9M0xZAC6hkuwkDhQJKqfPU35Fw==} engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' @@ -368,9 +368,9 @@ packages: peerDependencies: semantic-release: '>=20.1.0' - '@semantic-release/release-notes-generator@12.1.0': - resolution: {integrity: sha512-g6M9AjUKAZUZnxaJZnouNBeDNTCUrJ5Ltj+VJ60gJeDaRRahcHsry9HW8yKrnKkKNkx5lbWiEP1FPMqVNQz8Kg==} - engines: {node: ^18.17 || >=20.6.1} + '@semantic-release/release-notes-generator@13.0.0': + resolution: {integrity: sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==} + engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' @@ -710,8 +710,8 @@ packages: actor@2.3.1: resolution: {integrity: sha512-ST/3wnvcP2tKDXnum7nLCLXm+/rsf8vPocXH2Fre6D8FQwNkGDd4JEitBlXj007VQJfiGYRQvXqwOBZVi+JtRg==} - agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} aggregate-error@5.0.0: @@ -732,8 +732,8 @@ packages: ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ansi-escapes@6.2.0: - resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} engines: {node: '>=14.16'} ansi-regex@5.0.1: @@ -760,6 +760,10 @@ packages: argv-formatter@1.0.0: resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} @@ -767,6 +771,10 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + ascii-bar@1.0.3: resolution: {integrity: sha512-03/Or+57cC3kGc7oOS4ASt/HPmApUfEs+pGd+W2Z878Y2CpZ76xKiNxTxwdLFlFXFBnJNFM1c6kO8fuYwwzYlg==} @@ -777,6 +785,10 @@ packages: atomically@2.0.2: resolution: {integrity: sha512-Xfmb4q5QV7uqTlVdMSTtO5eF4DCHfNOdaPyKlbFShkzeNP+3lj3yjjcbdjSmEY4+pDBKJ9g26aP+ImTe88UHoQ==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + aws4@1.12.0: resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} @@ -815,6 +827,10 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -848,8 +864,8 @@ packages: engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true - cli-table3@0.6.3: - resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + cli-table3@0.6.4: + resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==} engines: {node: 10.* || >= 12.*} cliui@7.0.4: @@ -906,6 +922,10 @@ packages: engines: {node: '>=16'} hasBin: true + convert-hrtime@5.0.0: + resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} + engines: {node: '>=12'} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -926,6 +946,18 @@ packages: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} engines: {node: '>=12'} + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + debounce-fn@5.1.2: resolution: {integrity: sha512-Sr4SdOZ4vw6eQDvPYNxHogvrxmCIld/VenC5JbNrFwMiwd7lY/Z18ZFfo+EWNG4DD9nFlAujWAo/wGuOPHmy5A==} engines: {node: '>=12'} @@ -946,6 +978,14 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -992,6 +1032,30 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -1107,9 +1171,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-versions@5.1.0: - resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} - engines: {node: '>=12'} + find-versions@6.0.0: + resolution: {integrity: sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==} + engines: {node: '>=18'} flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} @@ -1118,6 +1182,9 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + fr32-sha2-256-trunc254-padded-binary-tree-multihash@3.3.0: resolution: {integrity: sha512-O11VDxPmPvbQj5eac2BJXyieNacyd+RCMhwOzXQQM/NCI25x3c32YWB4/JwgOWPCpKnNXF6lpK/j0lj7GWOnYQ==} @@ -1131,10 +1198,25 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-timeout@1.0.1: + resolution: {integrity: sha512-6yPMImFFuaMPNaTMTBuolA8EanHJWF5Vju0NHpObRURT105J6x1Mf2a7J4P7Sqk2xDxv24N5L0RatEhTBhNmdA==} + engines: {node: '>=18'} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + get-iterator@1.0.2: resolution: {integrity: sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==} @@ -1150,6 +1232,10 @@ packages: 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'} + git-log-parser@1.2.0: resolution: {integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==} @@ -1169,6 +1255,10 @@ packages: resolution: {integrity: sha512-926gJqg+4mkxwYKiFvoomM4J0kWESfk3qfTvRL2/oc/tK/eTDBbrfcKnSa2KtfdxB5onoL7D3A3qIHQFpd4+UA==} engines: {node: '>=18'} + globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -1177,6 +1267,9 @@ packages: resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} engines: {node: '>=18'} + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} @@ -1194,6 +1287,9 @@ packages: engines: {node: '>=0.4.7'} hasBin: true + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -1202,6 +1298,21 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -1244,12 +1355,12 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} - import-from-esm@1.3.3: - resolution: {integrity: sha512-U3Qt/CyfFpTUv6LOP2jRTLYjphH6zg3okMfHbyqRa/W2w6hr8OsJWVggNlR4jxuojQy81TgTJTxgSkyoteRGMQ==} + import-from-esm@1.3.4: + resolution: {integrity: sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==} engines: {node: '>=16.20'} - import-meta-resolve@4.0.0: - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -1275,6 +1386,10 @@ packages: interface-store@5.1.8: resolution: {integrity: sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w==} + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + into-stream@7.0.0: resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} engines: {node: '>=12'} @@ -1294,12 +1409,35 @@ packages: resolution: {integrity: sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + is-electron@2.2.2: resolution: {integrity: sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==} @@ -1315,6 +1453,14 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -1331,21 +1477,47 @@ packages: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + 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'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + 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==} + engines: {node: '>= 0.4'} + is-unicode-supported@2.0.0: resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} engines: {node: '>=18'} + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1494,8 +1666,8 @@ packages: long@5.2.3: resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} - lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} lru-cache@6.0.0: @@ -1508,8 +1680,8 @@ packages: peerDependencies: marked: '>=1 <13' - marked@12.0.1: - resolution: {integrity: sha512-Y1/V2yafOcOdWQCX0XpAKXzDakPOpn6U0YLxTJs3cww6VxOzZV1BTOOYWLvH3gX38cq+iLwljHHTnMtlDfg01Q==} + marked@12.0.2: + resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} engines: {node: '>= 18'} hasBin: true @@ -1532,8 +1704,8 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} - mime@4.0.1: - resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} + mime@4.0.3: + resolution: {integrity: sha512-KgUb15Oorc0NEKPbvfa0wRU+PItIEZmiv+pyAO2i0oTIVTJhlzMclU7w4RXWQrSOVH5ax/p/CkIO7KI4OyFJTQ==} engines: {node: '>=16'} hasBin: true @@ -1627,8 +1799,8 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npm@10.5.0: - resolution: {integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==} + npm@10.6.0: + resolution: {integrity: sha512-KC70Su2ZnO9v4i2t+M0sQcsRERk++XcYbK9fy4bLWzUCV2nELhSN7UAkoe42P4HQTg2LyQxcfntgYS89OEaOsA==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true bundledDependencies: @@ -1639,6 +1811,7 @@ packages: - '@npmcli/map-workspaces' - '@npmcli/package-json' - '@npmcli/promise-spawn' + - '@npmcli/redact' - '@npmcli/run-script' - '@sigstore/tuf' - abbrev @@ -1647,8 +1820,6 @@ packages: - chalk - ci-info - cli-columns - - cli-table3 - - columnify - fastest-levenshtein - fs-minipass - glob @@ -1684,11 +1855,11 @@ packages: - npm-profile - npm-registry-fetch - npm-user-validate - - npmlog - p-map - pacote - parse-conflict-json - proc-log + - proggy - qrcode-terminal - read - semver @@ -1707,6 +1878,17 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + one-webcrypto@1.0.3: resolution: {integrity: sha512-fu9ywBVBPx0gS9K0etIROTiCkvI5S1TDjFsYFb3rC1ewFxeOqsbzq7aIMBHsYfrTHBcGXJaONXXjTl8B01cW1Q==} @@ -1761,8 +1943,8 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@7.0.1: - resolution: {integrity: sha512-2wnaR0XL/FDOj+TgpDuRb2KTjLnu3Fma6b1ZUwGY7LcqenMcvP/YFpjpbPKY6WVGsbuJZRuoUz8iPrt8ORnAFw==} + p-map@7.0.2: + resolution: {integrity: sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==} engines: {node: '>=18'} p-queue@8.0.1: @@ -1856,6 +2038,10 @@ packages: resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} engines: {node: '>=4'} + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -1894,6 +2080,10 @@ packages: react-native-fetch-api@3.0.0: resolution: {integrity: sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==} + read-package-up@11.0.0: + resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} + engines: {node: '>=18'} + read-pkg-up@11.0.0: resolution: {integrity: sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==} engines: {node: '>=18'} @@ -1910,6 +2100,10 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + registry-auth-token@5.0.2: resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} engines: {node: '>=14'} @@ -1945,17 +2139,25 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} + safe-array-concat@1.1.2: + 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==} + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - semantic-release@23.0.5: - resolution: {integrity: sha512-4eZG/vRTV8E7rw5oHPv2Fht5qx6ITemE/b1vzG42ayYVcffJqXYy40nP4bHEPWX1/kleJWWrlPVDt1hSYVlpKQ==} + semantic-release@23.0.8: + resolution: {integrity: sha512-yZkuWcTTfh5h/DrR4Q4QvJSARJdb6wjwn/sN0qKMYEkvwaVFek8YWfrgtL8oWaRdl0fLte0Y1wWMzLbwoaII1g==} engines: {node: '>=20.8.1'} hasBin: true @@ -1972,6 +2174,14 @@ packages: engines: {node: '>=10'} hasBin: true + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1980,6 +2190,10 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -2026,8 +2240,8 @@ packages: spdx-license-ids@3.0.17: resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} - spektr@0.0.3: - resolution: {integrity: sha512-WcQGaWdTyYKQX3lcZqR8+WKZULWzszoo36vBe+ws5q8d4PLydJDYhNhx3TsrrRo6mdzZHGZbnckBTtFxgKHlGQ==} + spektr@0.0.5: + resolution: {integrity: sha512-knbTTFwn08S4QdAESZMHyrnURAJKtA9um70zXeCNoRvP4VfpLqAQ0wbuHfnAZk7tCboWIHWGJY3Vxuvm7mzH6A==} split2@1.0.0: resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} @@ -2046,6 +2260,17 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -2075,6 +2300,10 @@ packages: stubborn-fs@1.2.5: resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} + super-regex@1.0.0: + resolution: {integrity: sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==} + engines: {node: '>=18'} + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -2122,6 +2351,10 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + time-span@5.1.0: + resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} + engines: {node: '>=12'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -2129,8 +2362,8 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - traverse@0.6.8: - resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} + traverse@0.6.9: + resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} engines: {node: '>= 0.4'} ts-api-utils@1.3.0: @@ -2161,14 +2394,34 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - type-fest@4.13.0: resolution: {integrity: sha512-nKO1N9IFeTec3jnNe/3nZlX+RzwZsvT3c4akWC3IlhYGQbRSPFMBe87vmoaymS3hW2l/rs+4ptDDTxzcbqAcmA==} engines: {node: '>=16'} + type-fest@4.18.0: + resolution: {integrity: sha512-+dbmiyliDY/2TTcjCS7NpI9yV2iEFlUDk5TKnsbkN7ZoRu5s7bT+zvYtNFhFXC2oLwURGT2frACAZvbbyNBI+w==} + engines: {node: '>=16'} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typedarray.prototype.slice@1.0.3: + resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} + engines: {node: '>= 0.4'} + typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} @@ -2194,6 +2447,9 @@ packages: uint8arrays@5.0.3: resolution: {integrity: sha512-6LBuKji28kHjgPJMkQ6GDaBb1lRwIhyOYq6pDGwYMoDPfImE9SkuYENVmR0yu9yGgs2clHUSY9fKDukR+AXfqQ==} + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -2249,6 +2505,13 @@ packages: when-exit@2.1.2: resolution: {integrity: sha512-u9J+toaf3CCxCAzM/484qNAxQE75rFdVgiFEEV8Xps2gzYhf0tx73s1WXDQhkwV17E3MxRMz40m7Ekd2/121Lg==} + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -2359,14 +2622,14 @@ snapshots: dependencies: tslib: 2.6.2 - '@babel/code-frame@7.24.1': + '@babel/code-frame@7.24.2': dependencies: - '@babel/highlight': 7.24.1 + '@babel/highlight': 7.24.2 picocolors: 1.0.0 '@babel/helper-validator-identifier@7.22.20': {} - '@babel/highlight@7.24.1': + '@babel/highlight@7.24.2': dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -2513,63 +2776,63 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@octokit/auth-token@5.0.1': {} + '@octokit/auth-token@5.1.1': {} - '@octokit/core@6.0.1': + '@octokit/core@6.1.2': dependencies: - '@octokit/auth-token': 5.0.1 - '@octokit/graphql': 8.0.1 - '@octokit/request': 9.0.1 - '@octokit/request-error': 6.0.2 - '@octokit/types': 12.6.0 + '@octokit/auth-token': 5.1.1 + '@octokit/graphql': 8.1.1 + '@octokit/request': 9.1.1 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.4.1 before-after-hook: 3.0.2 universal-user-agent: 7.0.2 - '@octokit/endpoint@10.0.0': + '@octokit/endpoint@10.1.1': dependencies: - '@octokit/types': 12.6.0 + '@octokit/types': 13.4.1 universal-user-agent: 7.0.2 - '@octokit/graphql@8.0.1': + '@octokit/graphql@8.1.1': dependencies: - '@octokit/request': 9.0.1 - '@octokit/types': 12.6.0 + '@octokit/request': 9.1.1 + '@octokit/types': 13.4.1 universal-user-agent: 7.0.2 - '@octokit/openapi-types@20.0.0': {} + '@octokit/openapi-types@22.1.0': {} - '@octokit/plugin-paginate-rest@10.0.0(@octokit/core@6.0.1)': + '@octokit/plugin-paginate-rest@11.2.0(@octokit/core@6.1.2)': dependencies: - '@octokit/core': 6.0.1 - '@octokit/types': 12.6.0 + '@octokit/core': 6.1.2 + '@octokit/types': 13.4.1 - '@octokit/plugin-retry@7.0.3(@octokit/core@6.0.1)': + '@octokit/plugin-retry@7.1.1(@octokit/core@6.1.2)': dependencies: - '@octokit/core': 6.0.1 - '@octokit/request-error': 6.0.2 - '@octokit/types': 12.6.0 + '@octokit/core': 6.1.2 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.4.1 bottleneck: 2.19.5 - '@octokit/plugin-throttling@9.0.3(@octokit/core@6.0.1)': + '@octokit/plugin-throttling@9.2.1(@octokit/core@6.1.2)': dependencies: - '@octokit/core': 6.0.1 - '@octokit/types': 12.6.0 + '@octokit/core': 6.1.2 + '@octokit/types': 13.4.1 bottleneck: 2.19.5 - '@octokit/request-error@6.0.2': + '@octokit/request-error@6.1.1': dependencies: - '@octokit/types': 12.6.0 + '@octokit/types': 13.4.1 - '@octokit/request@9.0.1': + '@octokit/request@9.1.1': dependencies: - '@octokit/endpoint': 10.0.0 - '@octokit/request-error': 6.0.2 - '@octokit/types': 12.6.0 + '@octokit/endpoint': 10.1.1 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.4.1 universal-user-agent: 7.0.2 - '@octokit/types@12.6.0': + '@octokit/types@13.4.1': dependencies: - '@octokit/openapi-types': 20.0.0 + '@octokit/openapi-types': 22.1.0 '@perma/map@1.0.3': dependencies: @@ -2629,27 +2892,27 @@ snapshots: '@noble/hashes': 1.3.3 '@scure/base': 1.1.5 - '@semantic-release/commit-analyzer@12.0.0(semantic-release@23.0.5(typescript@5.4.2))': + '@semantic-release/commit-analyzer@12.0.0(semantic-release@23.0.8(typescript@5.4.2))': dependencies: conventional-changelog-angular: 7.0.0 conventional-commits-filter: 4.0.0 conventional-commits-parser: 5.0.0 debug: 4.3.4 - import-from-esm: 1.3.3 + import-from-esm: 1.3.4 lodash-es: 4.17.21 micromatch: 4.0.5 - semantic-release: 23.0.5(typescript@5.4.2) + semantic-release: 23.0.8(typescript@5.4.2) transitivePeerDependencies: - supports-color '@semantic-release/error@4.0.0': {} - '@semantic-release/github@10.0.2(semantic-release@23.0.5(typescript@5.4.2))': + '@semantic-release/github@10.0.3(semantic-release@23.0.8(typescript@5.4.2))': dependencies: - '@octokit/core': 6.0.1 - '@octokit/plugin-paginate-rest': 10.0.0(@octokit/core@6.0.1) - '@octokit/plugin-retry': 7.0.3(@octokit/core@6.0.1) - '@octokit/plugin-throttling': 9.0.3(@octokit/core@6.0.1) + '@octokit/core': 6.1.2 + '@octokit/plugin-paginate-rest': 11.2.0(@octokit/core@6.1.2) + '@octokit/plugin-retry': 7.1.1(@octokit/core@6.1.2) + '@octokit/plugin-throttling': 9.2.1(@octokit/core@6.1.2) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 debug: 4.3.4 @@ -2659,14 +2922,14 @@ snapshots: https-proxy-agent: 7.0.4 issue-parser: 7.0.0 lodash-es: 4.17.21 - mime: 4.0.1 + mime: 4.0.3 p-filter: 4.1.0 - semantic-release: 23.0.5(typescript@5.4.2) + semantic-release: 23.0.8(typescript@5.4.2) url-join: 5.0.0 transitivePeerDependencies: - supports-color - '@semantic-release/npm@12.0.0(semantic-release@23.0.5(typescript@5.4.2))': + '@semantic-release/npm@12.0.0(semantic-release@23.0.8(typescript@5.4.2))': dependencies: '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 @@ -2675,15 +2938,15 @@ snapshots: lodash-es: 4.17.21 nerf-dart: 1.0.0 normalize-url: 8.0.1 - npm: 10.5.0 + npm: 10.6.0 rc: 1.2.8 read-pkg: 9.0.1 registry-auth-token: 5.0.2 - semantic-release: 23.0.5(typescript@5.4.2) + semantic-release: 23.0.8(typescript@5.4.2) semver: 7.6.0 tempy: 3.1.0 - '@semantic-release/release-notes-generator@12.1.0(semantic-release@23.0.5(typescript@5.4.2))': + '@semantic-release/release-notes-generator@13.0.0(semantic-release@23.0.8(typescript@5.4.2))': dependencies: conventional-changelog-angular: 7.0.0 conventional-changelog-writer: 7.0.1 @@ -2691,11 +2954,11 @@ snapshots: conventional-commits-parser: 5.0.0 debug: 4.3.4 get-stream: 7.0.1 - import-from-esm: 1.3.3 + import-from-esm: 1.3.4 into-stream: 7.0.0 lodash-es: 4.17.21 read-pkg-up: 11.0.0 - semantic-release: 23.0.5(typescript@5.4.2) + semantic-release: 23.0.8(typescript@5.4.2) transitivePeerDependencies: - supports-color @@ -3239,7 +3502,7 @@ snapshots: actor@2.3.1: {} - agent-base@7.1.0: + agent-base@7.1.1: dependencies: debug: 4.3.4 transitivePeerDependencies: @@ -3268,9 +3531,7 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - ansi-escapes@6.2.0: - dependencies: - type-fest: 3.13.1 + ansi-escapes@6.2.1: {} ansi-regex@5.0.1: {} @@ -3290,10 +3551,26 @@ snapshots: argv-formatter@1.0.0: {} + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + array-ify@1.0.0: {} array-union@2.1.0: {} + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + ascii-bar@1.0.3: {} astral-regex@2.0.0: {} @@ -3303,6 +3580,10 @@ snapshots: stubborn-fs: 1.2.5 when-exit: 2.1.2 + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + aws4@1.12.0: {} balanced-match@1.0.2: {} @@ -3337,6 +3618,14 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + callsites@3.1.0: {} cborg@4.1.3: {} @@ -3369,7 +3658,7 @@ snapshots: parse5-htmlparser2-tree-adapter: 6.0.1 yargs: 16.2.0 - cli-table3@0.6.3: + cli-table3@0.6.4: dependencies: string-width: 4.2.3 optionalDependencies: @@ -3446,6 +3735,8 @@ snapshots: meow: 12.1.1 split2: 4.2.0 + convert-hrtime@5.0.0: {} + core-util-is@1.0.3: {} cosmiconfig@9.0.0(typescript@5.4.2): @@ -3467,6 +3758,24 @@ snapshots: dependencies: type-fest: 1.4.0 + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + debounce-fn@5.1.2: dependencies: mimic-fn: 4.0.0 @@ -3479,6 +3788,18 @@ snapshots: deep-is@0.1.4: {} + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -3522,6 +3843,77 @@ snapshots: dependencies: is-arrayish: 0.2.1 + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + escalade@3.1.2: {} escape-string-regexp@1.0.5: {} @@ -3667,9 +4059,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-versions@5.1.0: + find-versions@6.0.0: dependencies: semver-regex: 4.0.5 + super-regex: 1.0.0 flat-cache@4.0.1: dependencies: @@ -3678,6 +4071,10 @@ snapshots: flatted@3.3.1: {} + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + fr32-sha2-256-trunc254-padded-binary-tree-multihash@3.3.0: {} from2@2.3.0: @@ -3693,8 +4090,27 @@ snapshots: function-bind@1.1.2: {} + function-timeout@1.0.1: {} + + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + get-caller-file@2.0.5: {} + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + get-iterator@1.0.2: {} get-stream@6.0.1: {} @@ -3703,6 +4119,12 @@ snapshots: get-stream@8.0.1: {} + get-symbol-description@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + git-log-parser@1.2.0: dependencies: argv-formatter: 1.0.0 @@ -3710,7 +4132,7 @@ snapshots: split2: 1.0.0 stream-combiner2: 1.1.1 through2: 2.0.5 - traverse: 0.6.8 + traverse: 0.6.9 glob-parent@5.1.2: dependencies: @@ -3724,6 +4146,10 @@ snapshots: globals@15.1.0: {} + globalthis@1.0.3: + dependencies: + define-properties: 1.2.1 + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -3742,6 +4168,10 @@ snapshots: slash: 5.1.0 unicorn-magic: 0.1.0 + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + graceful-fs@4.2.10: {} graceful-fs@4.2.11: {} @@ -3762,10 +4192,24 @@ snapshots: optionalDependencies: uglify-js: 3.17.4 + has-bigints@1.0.2: {} + has-flag@3.0.0: {} has-flag@4.0.0: {} + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -3776,18 +4220,18 @@ snapshots: hosted-git-info@7.0.1: dependencies: - lru-cache: 10.2.0 + lru-cache: 10.2.2 http-proxy-agent@7.0.2: dependencies: - agent-base: 7.1.0 + agent-base: 7.1.1 debug: 4.3.4 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: - agent-base: 7.1.0 + agent-base: 7.1.1 debug: 4.3.4 transitivePeerDependencies: - supports-color @@ -3807,14 +4251,14 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-from-esm@1.3.3: + import-from-esm@1.3.4: dependencies: debug: 4.3.4 - import-meta-resolve: 4.0.0 + import-meta-resolve: 4.1.0 transitivePeerDependencies: - supports-color - import-meta-resolve@4.0.0: {} + import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} @@ -3833,6 +4277,12 @@ snapshots: interface-store@5.1.8: {} + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + into-stream@7.0.0: dependencies: from2: 2.3.0 @@ -3899,12 +4349,36 @@ snapshots: transitivePeerDependencies: - encoding + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + is-arrayish@0.2.1: {} + is-bigint@1.0.4: + dependencies: + has-bigints: 1.0.2 + + is-boolean-object@1.1.2: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + is-core-module@2.13.1: dependencies: hasown: 2.0.2 + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 + + is-date-object@1.0.5: + dependencies: + has-tostringtag: 1.0.2 + is-electron@2.2.2: {} is-extglob@2.1.1: {} @@ -3915,6 +4389,12 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-negative-zero@2.0.3: {} + + is-number-object@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + is-number@7.0.0: {} is-obj@2.0.0: {} @@ -3923,16 +4403,43 @@ snapshots: is-plain-obj@2.1.0: {} + is-regex@1.1.4: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-shared-array-buffer@1.0.3: + dependencies: + call-bind: 1.0.7 + is-stream@3.0.0: {} + is-string@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-symbol@1.0.4: + dependencies: + has-symbols: 1.0.3 + is-text-path@2.0.0: dependencies: text-extensions: 2.4.0 + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + is-unicode-supported@2.0.0: {} + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.7 + isarray@1.0.0: {} + isarray@2.0.5: {} + isexe@2.0.0: {} iso-url@1.2.1: {} @@ -4076,23 +4583,23 @@ snapshots: long@5.2.3: {} - lru-cache@10.2.0: {} + lru-cache@10.2.2: {} lru-cache@6.0.0: dependencies: yallist: 4.0.0 - marked-terminal@7.0.0(marked@12.0.1): + marked-terminal@7.0.0(marked@12.0.2): dependencies: - ansi-escapes: 6.2.0 + ansi-escapes: 6.2.1 chalk: 5.3.0 cli-highlight: 2.1.11 - cli-table3: 0.6.3 - marked: 12.0.1 + cli-table3: 0.6.4 + marked: 12.0.2 node-emoji: 2.1.3 supports-hyperlinks: 3.0.0 - marked@12.0.1: {} + marked@12.0.2: {} meow@12.1.1: {} @@ -4109,7 +4616,7 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 - mime@4.0.1: {} + mime@4.0.3: {} mimic-fn@4.0.0: {} @@ -4185,10 +4692,21 @@ snapshots: dependencies: path-key: 4.0.0 - npm@10.5.0: {} + npm@10.6.0: {} object-assign@4.1.1: {} + object-inspect@1.13.1: {} + + object-keys@1.1.1: {} + + object.assign@4.1.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + one-webcrypto@1.0.3: {} one-webcrypto@https://codeload.github.com/web3-storage/one-webcrypto/tar.gz/5148cd14d5489a8ac4cd38223870e02db15a2382: {} @@ -4219,7 +4737,7 @@ snapshots: p-filter@4.1.0: dependencies: - p-map: 7.0.1 + p-map: 7.0.2 p-is-promise@3.0.0: {} @@ -4239,7 +4757,7 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@7.0.1: {} + p-map@7.0.2: {} p-queue@8.0.1: dependencies: @@ -4270,16 +4788,16 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.1 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 parse-json@8.1.0: dependencies: - '@babel/code-frame': 7.24.1 + '@babel/code-frame': 7.24.2 index-to-position: 0.1.2 - type-fest: 4.13.0 + type-fest: 4.18.0 parse5-htmlparser2-tree-adapter@6.0.1: dependencies: @@ -4314,6 +4832,8 @@ snapshots: find-up: 2.1.0 load-json-file: 4.0.0 + possible-typed-array-names@1.0.0: {} + prelude-ls@1.2.1: {} process-nextick-args@2.0.1: {} @@ -4360,18 +4880,24 @@ snapshots: dependencies: p-defer: 3.0.0 + read-package-up@11.0.0: + dependencies: + find-up-simple: 1.0.0 + read-pkg: 9.0.1 + type-fest: 4.18.0 + read-pkg-up@11.0.0: dependencies: find-up-simple: 1.0.0 read-pkg: 9.0.1 - type-fest: 4.13.0 + type-fest: 4.18.0 read-pkg@9.0.1: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 6.0.0 parse-json: 8.1.0 - type-fest: 4.13.0 + type-fest: 4.18.0 unicorn-magic: 0.1.0 readable-stream@2.3.8: @@ -4390,6 +4916,13 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 + regexp.prototype.flags@1.5.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + registry-auth-token@5.0.2: dependencies: '@pnpm/npm-conf': 2.2.2 @@ -4414,38 +4947,51 @@ snapshots: dependencies: mri: 1.2.0 + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + 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: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + safer-buffer@2.1.2: {} - semantic-release@23.0.5(typescript@5.4.2): + semantic-release@23.0.8(typescript@5.4.2): dependencies: - '@semantic-release/commit-analyzer': 12.0.0(semantic-release@23.0.5(typescript@5.4.2)) + '@semantic-release/commit-analyzer': 12.0.0(semantic-release@23.0.8(typescript@5.4.2)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 10.0.2(semantic-release@23.0.5(typescript@5.4.2)) - '@semantic-release/npm': 12.0.0(semantic-release@23.0.5(typescript@5.4.2)) - '@semantic-release/release-notes-generator': 12.1.0(semantic-release@23.0.5(typescript@5.4.2)) + '@semantic-release/github': 10.0.3(semantic-release@23.0.8(typescript@5.4.2)) + '@semantic-release/npm': 12.0.0(semantic-release@23.0.8(typescript@5.4.2)) + '@semantic-release/release-notes-generator': 13.0.0(semantic-release@23.0.8(typescript@5.4.2)) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.4.2) debug: 4.3.4 env-ci: 11.0.0 execa: 8.0.1 figures: 6.1.0 - find-versions: 5.1.0 + find-versions: 6.0.0 get-stream: 6.0.1 git-log-parser: 1.2.0 hook-std: 3.0.0 hosted-git-info: 7.0.1 - import-from-esm: 1.3.3 + import-from-esm: 1.3.4 lodash-es: 4.17.21 - marked: 12.0.1 - marked-terminal: 7.0.0(marked@12.0.1) + marked: 12.0.2 + marked-terminal: 7.0.0(marked@12.0.2) micromatch: 4.0.5 p-each-series: 3.0.0 p-reduce: 3.0.0 - read-pkg-up: 11.0.0 + read-package-up: 11.0.0 resolve-from: 5.0.0 semver: 7.6.0 semver-diff: 4.0.0 @@ -4465,12 +5011,35 @@ snapshots: dependencies: lru-cache: 6.0.0 + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 shebang-regex@3.0.0: {} + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + signal-exit@4.1.0: {} signale@1.4.0: @@ -4513,7 +5082,7 @@ snapshots: spdx-license-ids@3.0.17: {} - spektr@0.0.3: + spektr@0.0.5: dependencies: colorette: 2.0.20 table: 6.8.1 @@ -4540,6 +5109,25 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string.prototype.trim@1.2.9: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + string.prototype.trimend@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -4562,6 +5150,11 @@ snapshots: stubborn-fs@1.2.5: {} + super-regex@1.0.0: + dependencies: + function-timeout: 1.0.1 + time-span: 5.1.0 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -4615,13 +5208,21 @@ snapshots: through@2.3.8: {} + time-span@5.1.0: + dependencies: + convert-hrtime: 5.0.0 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 tr46@0.0.3: {} - traverse@0.6.8: {} + traverse@0.6.9: + dependencies: + gopd: 1.0.1 + typedarray.prototype.slice: 1.0.3 + which-typed-array: 1.1.15 ts-api-utils@1.3.0(typescript@5.4.2): dependencies: @@ -4641,10 +5242,51 @@ snapshots: type-fest@2.19.0: {} - type-fest@3.13.1: {} - type-fest@4.13.0: {} + type-fest@4.18.0: {} + + typed-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + typed-array-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-byte-offset@1.0.2: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-length@1.0.6: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + typedarray.prototype.slice@1.0.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + typed-array-buffer: 1.0.2 + typed-array-byte-offset: 1.0.2 + typescript@5.4.2: {} uglify-js@3.17.4: @@ -4671,6 +5313,13 @@ snapshots: dependencies: multiformats: 13.1.0 + unbox-primitive@1.0.2: + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + undici-types@5.26.5: {} unicode-emoji-modifier-base@1.0.0: {} @@ -4726,6 +5375,22 @@ snapshots: when-exit@2.1.2: {} + which-boxed-primitive@1.0.2: + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 From e685bc3b5476f0953e6418c4c1b975d565227c18 Mon Sep 17 00:00:00 2001 From: v1rtl Date: Mon, 29 Apr 2024 18:34:31 +0300 Subject: [PATCH 4/6] fix script --- scripts/version.ts | 10 +++++++--- src/utils/version.ts | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/version.ts b/scripts/version.ts index 9ee2fe5..cf2e1b4 100644 --- a/scripts/version.ts +++ b/scripts/version.ts @@ -1,7 +1,11 @@ +import { exec } from 'node:child_process' +import { promisify } from 'node:util' import { readFile, writeFile } from 'node:fs/promises' -const pkg = await readFile('./package.json', 'utf8') +const {stdout} = await promisify(exec)(`git describe --tags --abbrev=0`) -const {version} = JSON.parse(pkg) +const patchVersion = stdout.slice(stdout.lastIndexOf('.')) -await writeFile('./src/utils/version.ts', `export const BLUMEN_VERSION = '${version}'`) \ No newline at end of file +const newVersion = stdout.replace('v','').replace(patchVersion, `.${parseInt(patchVersion[1]) + 1}`) + +await writeFile('./src/utils/version.ts', `export const BLUMEN_VERSION = '${newVersion}'\n`) \ No newline at end of file diff --git a/src/utils/version.ts b/src/utils/version.ts index 48edb63..55356a6 100644 --- a/src/utils/version.ts +++ b/src/utils/version.ts @@ -1 +1 @@ -export const BLUMEN_VERSION = '0.1.2' +export const BLUMEN_VERSION = '0.10.4' From 8a8ae1e81023bda858c8f140630833f5ab1b290f Mon Sep 17 00:00:00 2001 From: v1rtl Date: Mon, 29 Apr 2024 18:35:44 +0300 Subject: [PATCH 5/6] disable colors if tty --- src/cli.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cli.ts b/src/cli.ts index d36da0e..5ec50e5 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -11,8 +11,9 @@ import './polyfills/globals.js' import { pingAction } from './actions/ping.js' import { BLUMEN_VERSION } from './utils/version.js' import { dnsLinkAction } from './actions/dnslink.js' +import { isTTY } from './constants.js' -const cli = new CLI({ name: 'blumen', plugins: [colorPlugin] }) +const cli = new CLI({ name: 'blumen', plugins: isTTY ? [] : [colorPlugin] }) const ensOptions = [{ name: 'chain', From e2589f40bd400a0d841d1fbd7796e09ab2658551 Mon Sep 17 00:00:00 2001 From: v1rtl Date: Mon, 29 Apr 2024 18:37:07 +0300 Subject: [PATCH 6/6] fix: update readme --- README.md | 2 +- site/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ff925a5..6255b24 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Status][gh-actions-img]][github-actions] ![npm](https://img.shields.io/npm/dt/bl -**Blumen** is a CLI to deploy apps on the decentralized web using IPFS and Ethereum. +**Blumen** is a CLI to deploy apps on the decentralized web using IPFS and Ethereum. Built with [Spektr](https://github.com/StauroDEV/spektr). > Blumen is in an alpha stage and has been neither audited nor tested yet. Use with caution! diff --git a/site/index.md b/site/index.md index 94b3f68..ab2baae 100644 --- a/site/index.md +++ b/site/index.md @@ -3,7 +3,7 @@

Blumen

-**Blumen** is a CLI app to deploy apps on the decentralized web using IPFS and Ethereum. +**Blumen** is a CLI to deploy apps on the decentralized web using IPFS and Ethereum. Built with [Spektr](https://github.com/StauroDEV/spektr).