From 0682630435aa85867ea8b910edc3d019d673798d Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:32 +0300
Subject: [PATCH 01/53] chore: update .github/workflows/publish.yml
---
.github/workflows/publish.yml | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index e7229b5..6e5a734 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -13,25 +13,36 @@ jobs:
id-token: write
steps:
- name: Checkout
- uses: actions/checkout@v5
+ uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- cache: true
- name: Setup Node.js
- uses: actions/setup-node@v6
+ uses: actions/setup-node@v4
with:
- node-version: '24'
+ node-version: '20'
registry-url: 'https://registry.npmjs.org'
+ cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
+ - name: Format check
+ run: pnpm run format:check
+
+ - name: Lint
+ run: pnpm run lint
+
+ - name: Test
+ run: pnpm test
+
- name: Build
- run: pnpm build
+ run: pnpm run build
- name: Publish to npm
run: pnpm publish --provenance --access public --no-git-checks
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
From e85ad8c577d2f008689de6facf043896e2495197 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:34 +0300
Subject: [PATCH 02/53] chore: update .gitignore
---
.gitignore | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/.gitignore b/.gitignore
index 4c9d7c3..426ef60 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,15 @@
.DS_Store
node_modules
dist
+coverage
+.changeset/*.md
+!.changeset/README.md
+*.tsbuildinfo
+.env
+.env.local
+.env.*.local
+.vscode
+.idea
+*.swp
+*.swo
+*~
From f195586a9d52fc019004e57714726639a65a9ff1 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:36 +0300
Subject: [PATCH 03/53] chore: update README.md
---
README.md | 886 ++++++++++++++++--------------------------------------
1 file changed, 261 insertions(+), 625 deletions(-)
diff --git a/README.md b/README.md
index e454965..ad1ce01 100644
--- a/README.md
+++ b/README.md
@@ -1,776 +1,412 @@
-
+
-
NodeJS SDK for chapa
+
NodeJS SDK for Chapa Payment Gateway
-## Features
+
+
+
+
+
+
+
-- Initialize Transaction
-- Split Payment
-- Verify Payment
-- List Banks
-- Create Subaccount
-- All Transaction
-- Transaction Logs
-- Transfer
-- Bulk Transfer
-- Verify Transfer
-- All Transfer
-- Direct Charge
-- Authorize Direct Charge
-- Refund
-- Generate Transaction Reference (Utiltiy Function)
-- Full TypeScript Support
+
+ Features •
+ Installation •
+ Quick Start •
+ Documentation •
+ Contributing
+
-## Installation
+---
-**NPM**
+## Features
-```bash
-$ npm install chapa-nodejs
-```
+**Core Features**
+- Secure payment initialization (Web & Mobile)
+- Payment verification
+- Split payments & subaccounts
+- Bank transfers (single & bulk)
+- Direct charge (Telebirr, M-Pesa, etc.)
+- Refund processing
+- Webhook signature verification
+
+**Developer Experience**
+- Full TypeScript support with type definitions
+- Input validation with Zod
+- Automatic retry logic for failed requests
+- Request/response logging & debug mode
+- Comprehensive error handling
+- 85%+ test coverage
-**Yarn**
+## Installation
```bash
-$ yarn add chapa-nodejs
-```
+# NPM
+npm install chapa-nodejs
-**Pnpm**
+# Yarn
+yarn add chapa-nodejs
-```bash
-$ pnpm add chapa-nodejs
+# PNPM
+pnpm add chapa-nodejs
```
-## Getting started
-
-Once the installation process is complete, we can import the sdk in any file.
-
-
-
-### Configuration
-
-Keep in mind to load your secret key from environment variable
+## Quick Start
```typescript
import { Chapa } from 'chapa-nodejs';
+// Initialize with your secret key
const chapa = new Chapa({
- secretKey: 'your-chapa-secret-key',
+ secretKey: process.env.CHAPA_SECRET_KEY,
});
-```
-
-
-
-### Generate Transaction Reference
-This utility method of `Chapa` instance allows you to generating a customizable random alpha numberic transaction reference.
-
-```typescript
-const tx_ref = await chapa.genTxRef(); // result: TX-JHBUVLM7HYMSWDA
-
-// Or with options
-
-const tx_ref = await chapa.genTxRef({
- removePrefix: false, // defaults to `false`
- prefix: 'TX', // defaults to `TX`
- size: 20, // defaults to `15`
-});
-```
-
-### Initialize Transaction
-
-To initialize a transaction, we have two possilbe ways. The first one is for web payment, simply call the `initialize` method from `Chapa` instance, and pass to it `InitializeOptions` options. For mobile payment use `mobileInitialize`, it accepts and returns the same format as the `initialize` method.
-
-```typescript
-// Generate transaction reference using our utility method or provide your own
+// Initialize a payment
const tx_ref = await chapa.genTxRef();
-
const response = await chapa.initialize({
first_name: 'John',
last_name: 'Doe',
- email: 'john@gmail.com',
- phone_number: '0911121314',
+ email: 'john@example.com',
currency: 'ETB',
- amount: '200',
+ amount: '1000',
tx_ref: tx_ref,
- callback_url: 'https://example.com/',
- return_url: 'https://example.com/',
- customization: {
- title: 'Test Title',
- description: 'Test Description',
- },
+ callback_url: 'https://your-site.com/callback',
+ return_url: 'https://your-site.com/return',
});
-```
-
-```typescript
-// Generate transaction reference using our utility method or provide your own
-const tx_ref = await chapa.genTxRef();
-const response = await chapa.mobileInitialize({
- first_name: 'John',
- last_name: 'Doe',
- email: 'john@gmail.com',
- phone_number: '0911121314',
- currency: 'ETB',
- amount: '200',
- tx_ref: tx_ref,
- callback_url: 'https://example.com/',
- return_url: 'https://example.com/',
- customization: {
- title: 'Test Title',
- description: 'Test Description',
- },
-});
+// Verify payment
+const verification = await chapa.verify({ tx_ref });
```
-#### InitializeOptions
+## Configuration Options
```typescript
-enum SplitType {
- PERCENTAGE = 'percentage',
- FLAT = 'flat',
-}
+const chapa = new Chapa({
+ secretKey: 'your-secret-key', // Required
+ webhookSecret: 'your-webhook-secret', // Optional: for webhook verification
+ logging: true, // Optional: enable request/response logging
+ debug: true, // Optional: detailed debug information
+ retries: 3, // Optional: retry failed requests (default: 0)
+ retryDelay: 2000, // Optional: delay between retries in ms (default: 1000)
+});
+```
-interface Subaccount {
- id: string;
- split_type?: SplitType;
- split_value?: number;
-}
+## Documentation
-interface InitializeOptions {
- first_name?: string;
- last_name?: string;
- email?: string;
- phone_number?: string;
- currency: string;
- amount: string;
- tx_ref: string;
- callback_url?: string;
- return_url?: string;
- customization?: {
- title?: string;
- description?: string;
- logo?: string;
- };
- subaccounts?: Subaccount[];
-}
-```
+### Payment Operations
-#### InitializeResponse
+
+Initialize Transaction
```typescript
-interface InitializeResponse {
- message: string;
- status: string;
- data: {
- checkout_url: string;
- };
-}
+const response = await chapa.initialize({
+ first_name: 'John',
+ last_name: 'Doe',
+ email: 'john@example.com',
+ phone_number: '0911234567',
+ currency: 'ETB',
+ amount: '1000',
+ tx_ref: await chapa.genTxRef(),
+ callback_url: 'https://example.com/callback',
+ return_url: 'https://example.com/return',
+ customization: {
+ title: 'Payment for Order #123',
+ description: 'Thank you for your purchase',
+ },
+});
```
+
-### Verify Payment
-
-To verify payment, simply call the `verify` method from `Chapa` instance, and pass to it `VerifyOptions` options.
+
+Verify Payment
```typescript
const response = await chapa.verify({
- tx_ref: 'TX-JHBUVLM7HYMSWDA',
+ tx_ref: 'TX-XXXXXXXXXXXXX',
});
-```
-
-#### VerifyOptions
-```typescript
-interface VerifyOptions {
- tx_ref: string;
+if (response.data.status === 'success') {
+ // Payment successful
}
```
+
-#### VerifyResponse
+
+Webhook Verification
```typescript
-interface VerifyResponse {
- message: string;
- status: string;
- data: {
- first_name: string;
- last_name: string;
- email: string;
- phone_number: string;
- currency: string;
- amount: string;
- charge: string;
- mode: string;
- method: string;
- type: string;
- status: string;
- reference: string;
- tx_ref: string;
- customization: {
- title: string;
- description: string;
- logo: string;
- };
- meta: any;
- created_at: Date;
- updated_at: Date;
- };
-}
+// Configure with webhook secret
+const chapa = new Chapa({
+ secretKey: 'your-secret-key',
+ webhookSecret: 'your-webhook-secret',
+});
+
+// In your webhook endpoint
+app.post('/webhook', (req, res) => {
+ const signature = req.headers['x-chapa-signature'] as string;
+ const rawBody = req.body; // ensure this is the raw body string
+ const isValid = chapa.verifyWebhook(rawBody, signature);
+
+ if (isValid) {
+ // Process webhook
+ res.status(200).send('OK');
+ } else {
+ res.status(401).send('Invalid signature');
+ }
+});
```
+
-### List Banks
+### Bank Operations
-This section describes how to get bank details for all supported banks `Chapa` is working with. `getBanks` method of `Chapa` instance returns all the Banks information for all currencies. The method does not accept any options.
+
+List Banks
```typescript
-const response = await chapa.getBanks();
+const banks = await chapa.getBanks();
```
+
-#### GetBanksResponse
+
+Transfer Funds
```typescript
-type Currency = 'ETB' | 'USD';
-
-interface Data {
- id: number;
- swift: string;
- name: string;
- acct_length: number;
- country_id: number;
- created_at: Date;
- updated_at: Date;
- is_rtgs: boolean | null;
- is_mobilemoney: boolean | null;
- currency: Currency;
-}
-
-interface GetBanksResponse {
- message: string;
- data: Data[];
-}
-```
-
-### Create Subaccount
-
-To create subaccounts, simply call the `createSubaccount` method from `Chapa` instance, and pass to it `CreateSubaccountOptions` options.
-
-```typescript
-const response = await chapa.createSubaccount({
- business_name: 'Test Business',
+const response = await chapa.transfer({
account_name: 'John Doe',
- bank_code: '80a510ea-7497-4499-8b49-ac13a3ab7d07', // Get this from the `getBanks()` method
- account_number: '0123456789',
- split_type: SplitType.PERCENTAGE,
- split_value: 0.02,
+ account_number: '1234567890',
+ amount: '1000',
+ currency: 'ETB',
+ reference: 'REF-123',
+ bank_code: 128,
});
```
+
-#### CreateSubaccountOptions
-
-```typescript
-interface CreateSubaccountOptions {
- business_name: string;
- account_name: string;
- bank_code: number;
- account_number: string;
- split_type: SplitType;
- split_value: number;
-}
-```
-
-#### CreateSubaccountResponse
+
+Bulk Transfer
```typescript
-interface CreateSubaccountResponse {
- message: string;
- status: string;
- data: string;
-}
+const response = await chapa.bulkTransfer({
+ title: 'Monthly Payroll',
+ currency: 'ETB',
+ bulk_data: [
+ {
+ account_name: 'Employee 1',
+ account_number: '1234567890',
+ amount: '5000',
+ reference: 'PAYROLL-001',
+ bank_code: 128,
+ },
+ // ... more transfers
+ ],
+});
```
+
-### Split Payment
+### Subaccounts & Split Payments
-Split payments are carried out by first creating a subaccount, then initializing the split payment. The process of implementing split payment is the same as initialize a transaction, with additional options( i.e `subaccounts`) to the `initialize` method of `Chapa`.
+
+Create Subaccount
```typescript
-// Generate transaction reference using our utility method or provide your own
-const tx_ref = await chapa.genTxRef();
+import { SplitType } from 'chapa-nodejs';
-const response = chapa.initialize({
- first_name: 'John',
- last_name: 'Doe',
- email: 'john@gmail.com',
- phone_number: '0911121314',
- currency: 'ETB',
- amount: '200',
- tx_ref: tx_ref,
- callback_url: 'https://example.com/',
- return_url: 'https://example.com/',
- customization: {
- title: 'Test Title',
- description: 'Test Description',
- },
- // Add this for split payment
- subaccounts: [
- {
- id: '80a510ea-7497-4499-8b49-ac13a3ab7d07',
- },
- ],
+const response = await chapa.createSubaccount({
+ business_name: 'My Business',
+ account_name: 'John Doe',
+ bank_code: 128,
+ account_number: '1234567890',
+ split_type: SplitType.PERCENTAGE,
+ split_value: 0.05, // 5%
});
```
+
-#### Overriding The Defaults
-
-When collecting a payment, you can override the default `split_type` and `split_value` you set when creating the subaccount, by specifying these fields in the subaccounts item.
+
+Split Payment
```typescript
+const response = await chapa.initialize({
+ // ... other payment details
subaccounts: [
{
- id: '80a510ea-7497-4499-8b49-ac13a3ab7d07',
+ id: 'subaccount-id',
split_type: SplitType.FLAT,
- split_value: 25
+ split_value: 100,
},
],
-```
-
-### All Transaction
-
-This section describes how to get all transactions. `getTransactions` method of `Chapa` instance returns all the Transaction information. The method does not accept any options.
-
-```typescript
-const response = await chapa.getTransactions();
-```
-
-#### GetTransactionsResponse
-
-```typescript
-interface Customer {
- id: number;
- email: string;
- first_name: string;
- last_name: string;
- mobile: string;
-}
-
-interface Transaction {
- status: string;
- ref_id: string;
- type: string;
- created_at: Date;
- currency: string;
- amount: string;
- charge: string;
- trans_id: string;
- payment_method: string;
- customer: Customer;
-}
-
-interface Pagination {
- per_page: number;
- current_page: number;
- first_page_url: string;
- next_page_url: string;
- prev_page_url: string;
-}
-
-interface GetTransactionsResponse {
- message: string;
- status: string;
- data: {
- transactions: Transaction[];
- pagination: Pagination;
- };
-}
-```
-
-### Transaction Logs
-
-This section describes how to get timeline for a transaction. A transaction timeline is a list of events that happened to a selected transaction. To get list of timeline, simply call the `getTransactionLogs` method from `Chapa` instance, and pass to it `GetTransactionLogsOptions` options.
-
-```typescript
-const response = await chapa.getTransactionLogs({
- ref_id: 'chewatatest-6669',
});
```
+
-#### GetTransactionLogsOptions
-
-```typescript
-interface GetTransactionLogsOptions {
- ref_id: string;
-}
-```
-
-#### GetTransactionLogsResponse
-
-```typescript
-interface Log {
- item: number;
- message: string;
- type: string;
- created_at: string;
- updated_at: string;
-}
-
-interface GetTransactionLogsResponse {
- message: string;
- status: string;
- data: Log[];
-}
-```
-
-### Transfer
+### Direct Charge
-This section describes how to send funds to Bank accounts. To initiate a transfer, simply call the `transfer` method from `Chapa` instance, and pass to it `TransferOptions` options.
+
+Initiate Direct Charge
```typescript
-const response = await chapa.transfer({
- account_name: 'John Doe',
- account_number: '32423423',
- amount: '1',
+const response = await chapa.directCharge({
+ mobile: '0911234567',
currency: 'ETB',
- reference: '3241342142sfdd',
- bank_code: 656,
+ amount: '100',
+ tx_ref: await chapa.genTxRef(),
+ type: 'telebirr',
});
```
+
-#### TransferOptions
-
-```typescript
-interface TransferOptions {
- account_name: string;
- account_number: string;
- amount: string;
- currency: string;
- reference: string;
- bank_code: number;
-}
-```
+### Refunds
-#### TransferResponse
+
+Process Refund
```typescript
-interface TransferResponse {
- message: string;
- status: string;
- data: string;
-}
+const response = await chapa.refund({
+ tx_ref: 'TX-XXXXXXXXXXXXX',
+ reason: 'Customer request',
+ amount: '1000', // Optional: partial refund
+});
```
+
-### Bulk Transfer
+### Utility Functions
-This section describes how to send funds to Bank accounts in bulk. To do this, you'll provide an array of objects called e bulk_data. Each item in this array contains details for one transfer—the same details you specify when making a single transfer. To initiate a transfer, simply call the `bulkTransfer` method from `Chapa` instance, and pass to it `BulkTransferOptions` options.
+
+Generate Transaction Reference
```typescript
-const response = await chapa.bulkTransfer({
- title: 'This Month Salary!',
- currency: 'ETB',
- bulk_data: [
- {
- account_name: 'John Doe',
- account_number: '09xxxxxxxx',
- amount: 1,
- reference: 'b1111124',
- bank_code: 128,
- },
- {
- account_name: 'John Doe',
- account_number: '09xxxxxxxx',
- amount: 1,
- reference: 'b2222e5r',
- bank_code: 128,
- },
- ],
-});
-```
+// Default: TX-XXXXXXXXXXXXXXX
+const ref1 = await chapa.genTxRef();
-#### BulkTransferOptions
+// Custom prefix
+const ref2 = await chapa.genTxRef({ prefix: 'ORDER' });
-```typescript
-interface BulkData {
- account_name: string;
- account_number: string;
- amount: string;
- reference: string;
- bank_code: number;
-}
+// No prefix
+const ref3 = await chapa.genTxRef({ removePrefix: true });
-interface BulkTransferOptions {
- title: string;
- currency: string;
- bulk_data: BulkData[];
-}
+// Custom size
+const ref4 = await chapa.genTxRef({ size: 20 });
```
+
-#### BulkTransferResponse
+## Error Handling
```typescript
-interface BulkTransferResponse {
- message: string;
- status: string;
- data: {
- id: number;
- created_at: string;
- };
+import { HttpException } from 'chapa-nodejs';
+
+try {
+ const response = await chapa.initialize({...});
+} catch (error) {
+ if (error instanceof HttpException) {
+ console.error(`Error ${error.status}: ${error.message}`);
+ }
}
```
-### Verify Transfer
+## TypeScript Support
-To verify transfer, simply call the `verifyTransfer` method from `Chapa` instance, and pass to it `VerifyTransferOptions` options.
+Full TypeScript support with comprehensive type definitions:
```typescript
-const response = await chapa.verifyTransfer({
- tx_ref: 'TX-JHBUVLM7HYMSWDA',
-});
+import {
+ Chapa,
+ InitializeOptions,
+ InitializeResponse,
+ VerifyResponse,
+ SplitType
+} from 'chapa-nodejs';
```
-#### VerifyTransferOptions
+## Requirements
-```typescript
-interface VerifyTransferOptions {
- tx_ref: string;
-}
-```
-
-#### VerifyTransferResponse
-
-```typescript
-interface Data {
- account_name: string;
- account_number: string;
- mobile: string;
- currency: string;
- amount: number;
- charge: number;
- mode: string;
- transfer_method: string;
- narration: string;
- chapa_transfer_id: string;
- bank_code: number;
- bank_name: string;
- cross_party_reference: string;
- ip_address: string;
- status: string;
- tx_ref: string;
- created_at: string;
- updated_at: string;
-}
-
-export interface VerifyTransferResponse {
- message: string;
- status: string;
- data: Data;
-}
-```
+- Node.js >= 18.0.0
+- TypeScript >= 5.0 (for TypeScript projects)
-### All Transfer
+## Contributing
-This section describes how to get all transfers. `getTransfers` method of `Chapa` instance returns all the transfer information. The method does not accept any options.
+We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
-```typescript
-const response = await chapa.getTransfers();
-```
+### Contributors
-#### GetTransfersResponse
-
-```typescript
-interface Meta {
- current_page: number;
- first_page_url: string;
- last_page: number;
- last_page_url: string;
- next_page_url: string;
- path: string;
- per_page: number;
- prev_page_url: null;
- to: number;
- total: number;
- error: any[];
-}
+
+
+
-interface Transfer {
- account_name: string;
- account_number: string;
- currency: string;
- amount: number;
- charge: number;
- transfer_type: string;
- chapa_reference: string;
- bank_code: number;
- bank_name: string;
- bank_reference: string;
- status: string;
- reference: string;
- created_at: string;
- updated_at: string;
-}
+### How to Contribute
-export interface GetTransfersResponse {
- message: string;
- status: string;
- data: Transfer[];
- meta: Meta;
-}
-```
+1. Fork the repository
+2. Create your feature branch (`git checkout -b feature/amazing-feature`)
+3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
+4. Push to the branch (`git push origin feature/amazing-feature`)
+5. Open a Pull Request
-### Direct Charge
+## Project Stats
-This section describes how to integrate direct charges. To initiate a direct charge, simply call the `directCharge` method from `Chapa` instance, and pass to it `DirectChargeOptions` options.
+
+
+
-```typescript
-const response = await chapa.directCharge({
- first_name: 'Fireayehu',
- last_name: 'Zekarias'
- email:"test@gmail.com",
- mobile: '09xxxxxxxx',
- currency: 'ETB',
- amount: '1',
- tx_ref: '3241342142sfdd',
- type: 'telebirr',
-});
-```
+
+Detailed Statistics
-#### DirectChargeOptions
+
-```typescript
-type DirectChargeType =
- | 'telebirr'
- | 'mpesa'
- | 'Amole'
- | 'CBEBirr'
- | 'Coopay-Ebirr'
- | 'AwashBirr'
- | string;
-
-interface DirectChargeOptions {
- first_name?: string;
- last_name?: string;
- email?: string;
- mobile: string;
- currency: string;
- amount: string;
- tx_ref: string;
- type: DirectChargeType;
-}
-```
+### Activity Graph
-#### DirectChargeResponse
+[](https://github.com/fireayehu/chapa-nodejs/graphs/contributors)
-```typescript
-interface Meta {
- message: string;
- ref_id: string;
- verification_type: string;
- status: string;
- data: string;
- payment_status: string;
-}
+### Star History
-interface DirectChargeResponse {
- message: string;
- status: string;
- data: {
- auth_type: string;
- meta: Meta;
- };
-}
-```
+[](https://star-history.com/#fireayehu/chapa-nodejs&Date)
-### Authorize Direct Charge
+
-This section describes the necessary actions taken to authorize transactions after payment using direct charge. To authorize direct charge, simply call the `authorizeDirectCharge` method from `Chapa` instance, and pass to it `AuthorizeDirectChargeOptions` options.
+## Testing
-```typescript
-const response = await chapa.authorizeDirectCharge({
- reference: 'CHcuKjgnN0Dk0',
- client: '',
- type: 'telebirr',
-});
-```
+```bash
+# Run tests
+pnpm test
-#### AuthorizeDirectChargeOptions
+# Run tests with coverage
+pnpm test:coverage
-```typescript
-type DirectChargeType =
- | 'telebirr'
- | 'mpesa'
- | 'Amole'
- | 'CBEBirr'
- | 'Coopay-Ebirr'
- | 'AwashBirr'
- | string;
-
-interface AuthorizeDirectChargeOptions {
- reference: string;
- client: string;
- type: DirectChargeType;
-}
+# Run tests in watch mode
+pnpm test:watch
```
-#### AuthorizeDirectChargeResponse
-
-```typescript
-export interface AuthorizeDirectChargeResponse {
- message: string;
- trx_ref: string;
- processor_id: string;
-}
-```
+## Security
-### Refund
+Please see our [Security Policy](SECURITY.md) for reporting vulnerabilities.
-This section describes how to process refunds for transactions. To initiate a refund, simply call the `refund` method from `Chapa` instance, and pass to it `RefundOptions` options.
+## Changelog
-```typescript
-const response = await chapa.refund({
- tx_ref: 'TX-JHBUVLM7HYMSWDA',
- reason: 'accidental purchase',
- amount: '1000',
- meta: {
- customer_id: '123',
- reference: 'REF123',
- },
-});
-```
+See [CHANGELOG.md](CHANGELOG.md) for release history.
-#### RefundOptions
+## License
-```typescript
-interface RefundOptions {
- tx_ref: string;
- reason?: string;
- amount?: string;
- meta?: {
- customer_id?: string;
- reference?: string;
- [key: string]: any;
- };
-}
-```
+[MIT](LICENSE) © [Fireayehu Zekarias](https://github.com/fireayehu)
-#### RefundResponse
+## Links
-```typescript
-interface RefundResponse {
- message: string;
- status: string;
- data: any;
-}
-```
+- [Chapa Official Website](https://chapa.co/)
+- [Chapa API Documentation](https://developer.chapa.co/docs)
+- [GitHub Repository](https://github.com/fireayehu/chapa-nodejs)
+- [NPM Package](https://www.npmjs.com/package/chapa-nodejs)
+- [Issue Tracker](https://github.com/fireayehu/chapa-nodejs/issues)
-## Stay in touch
+## Support
-- Author - Fireayehu Zekarias
-- Github - [https://github.com/fireayehu](https://github.com/fireayehu)
-- Twitter - [https://twitter.com/Fireayehu](https://twitter.com/Fireayehu)
-- LinkedIn - [https://www.linkedin.com/in/fireayehu/](https://www.linkedin.com/in/fireayehu/)
+- Email: fireayehuzekarias@gmail.com
+- [Report a Bug](https://github.com/fireayehu/chapa-nodejs/issues/new?template=bug_report.yml)
+- [Request a Feature](https://github.com/fireayehu/chapa-nodejs/issues/new?template=feature_request.yml)
+- [Ask a Question](https://github.com/fireayehu/chapa-nodejs/issues/new?template=question.yml)
-## License
+---
-chapa-nodejs is [MIT licensed](LICENSE).
+Made with ❤️ by Fireayehu Zekarias
From 4c99869310d3fe14273d4d7a7b0de89ea906574a Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:38 +0300
Subject: [PATCH 04/53] chore: update jest.config.js
---
jest.config.js | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/jest.config.js b/jest.config.js
index 4982711..47e0c3d 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -1,6 +1,20 @@
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
+ collectCoverage: true,
+ collectCoverageFrom: [
+ 'src/**/*.ts',
+ '!src/**/*.d.ts',
+ '!src/index.ts',
+ ],
+ coverageThreshold: {
+ global: {
+ branches: 30,
+ functions: 50,
+ lines: 69,
+ statements: 70,
+ },
+ },
transformIgnorePatterns: [
'node_modules/(?!(axios|nanoid|nanoid-dictionary)/)',
],
From a15fa78bd2dc04b810e0bf0eda511ddc05d3768d Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:41 +0300
Subject: [PATCH 05/53] chore: update package.json
---
package.json | 109 ++++++++++++++++++++++++++++++---------------------
1 file changed, 64 insertions(+), 45 deletions(-)
diff --git a/package.json b/package.json
index f6ec27d..3ae897e 100644
--- a/package.json
+++ b/package.json
@@ -1,42 +1,17 @@
{
+ "name": "chapa-nodejs",
"version": "2.1.0",
+ "description": "NodeJS SDK for Chapa payment gateway",
"license": "MIT",
- "main": "dist/index.js",
- "url": "https://github.com/fireayehu/chapa-nodejs#readme",
- "files": [
- "dist",
- "src"
- ],
- "engines": {
- "node": ">=10"
- },
- "scripts": {
- "start": "tsdx watch",
- "build": "tsdx build",
- "test": "tsdx test --passWithNoTests",
- "lint": "tsdx lint",
- "prepare": "tsdx build",
- "size": "size-limit",
- "analyze": "size-limit --why"
- },
- "husky": {
- "hooks": {
- "pre-commit": "tsdx lint"
- }
- },
- "prettier": {
- "printWidth": 80,
- "semi": true,
- "singleQuote": true,
- "trailingComma": "es5"
- },
- "name": "chapa-nodejs",
"author": "Fireayehu Zekarias",
- "module": "dist/chapa.esm.js",
+ "homepage": "https://github.com/fireayehu/chapa-nodejs#readme",
"repository": {
"type": "git",
"url": "https://github.com/fireayehu/chapa-nodejs"
},
+ "bugs": {
+ "url": "https://github.com/fireayehu/chapa-nodejs/issues"
+ },
"keywords": [
"nodejs",
"node",
@@ -44,31 +19,75 @@
"typescript",
"chapa",
"chapa-nodejs",
- "payment"
+ "payment",
+ "payment-gateway",
+ "ethiopia",
+ "sdk"
],
- "size-limit": [
- {
- "path": "dist/chapa.cjs.production.min.js",
- "limit": "10 KB"
- },
- {
- "path": "dist/chapa.esm.js",
- "limit": "10 KB"
- }
+ "main": "dist/index.js",
+ "module": "dist/index.esm.js",
+ "types": "dist/index.d.ts",
+ "files": [
+ "dist",
+ "README.md",
+ "LICENSE",
+ "CHANGELOG.md"
],
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "scripts": {
+ "build": "rollup -c",
+ "dev": "rollup -c -w",
+ "test": "jest",
+ "test:watch": "jest --watch",
+ "test:coverage": "jest --coverage",
+ "lint": "eslint src --ext .ts",
+ "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"",
+ "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"",
+ "prepare": "husky",
+ "prepublishOnly": "npm run lint && npm test",
+ "changeset": "changeset",
+ "version": "changeset version",
+ "release": "pnpm run build && changeset publish",
+ "bump:patch": "bumpp patch",
+ "bump:minor": "bumpp minor",
+ "bump:major": "bumpp major"
+ },
+ "bumpp": {
+ "files": [
+ "package.json"
+ ],
+ "commit": false,
+ "tag": false,
+ "push": false
+ },
"dependencies": {
"axios": "^1.7.7",
+ "crypto-js": "^4.2.0",
"nanoid": "^3.3.7",
"nanoid-dictionary": "^4.3.0",
- "yup": "^1.4.0"
+ "zod": "^4.3.6"
},
"devDependencies": {
- "@size-limit/preset-small-lib": "^11.1.5",
+ "@changesets/cli": "^2.29.8",
+ "@rollup/plugin-commonjs": "^28.0.2",
+ "@rollup/plugin-node-resolve": "^15.3.0",
+ "@rollup/plugin-typescript": "^12.1.2",
+ "@types/crypto-js": "^4.2.2",
"@types/jest": "^30.0.0",
"@types/nanoid-dictionary": "^4.2.3",
+ "@types/node": "^25.2.3",
+ "@typescript-eslint/eslint-plugin": "^8.18.2",
+ "@typescript-eslint/parser": "^8.18.2",
+ "eslint": "^9.18.0",
"husky": "^9.1.5",
- "size-limit": "^11.1.5",
- "tsdx": "^0.14.1",
+ "jest": "^29.7.0",
+ "bumpp": "^9.6.1",
+ "prettier": "^3.3.3",
+ "rollup": "^4.30.1",
+ "rollup-plugin-dts": "^6.1.1",
+ "ts-jest": "^29.2.5",
"tslib": "^2.7.0",
"typescript": "^5.6.2"
}
From ac2a7d2b418f4fb49fc084de135d8c43cca84015 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:43 +0300
Subject: [PATCH 06/53] chore: update pnpm-lock.yaml
---
pnpm-lock.yaml | 9725 ++++++++++++++----------------------------------
1 file changed, 2826 insertions(+), 6899 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 841ef60..ed86542 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,230 +10,142 @@ importers:
dependencies:
axios:
specifier: ^1.7.7
- version: 1.7.7
+ version: 1.13.5
+ crypto-js:
+ specifier: ^4.2.0
+ version: 4.2.0
nanoid:
specifier: ^3.3.7
- version: 3.3.7
+ version: 3.3.11
nanoid-dictionary:
specifier: ^4.3.0
version: 4.3.0
- yup:
- specifier: ^1.4.0
- version: 1.4.0
+ zod:
+ specifier: ^4.3.6
+ version: 4.3.6
devDependencies:
- '@size-limit/preset-small-lib':
- specifier: ^11.1.5
- version: 11.1.5(size-limit@11.1.5)
+ '@changesets/cli':
+ specifier: ^2.29.8
+ version: 2.29.8(@types/node@25.2.3)
+ '@rollup/plugin-commonjs':
+ specifier: ^28.0.2
+ version: 28.0.9(rollup@4.57.1)
+ '@rollup/plugin-node-resolve':
+ specifier: ^15.3.0
+ version: 15.3.1(rollup@4.57.1)
+ '@rollup/plugin-typescript':
+ specifier: ^12.1.2
+ version: 12.3.0(rollup@4.57.1)(tslib@2.8.1)(typescript@5.9.3)
+ '@types/crypto-js':
+ specifier: ^4.2.2
+ version: 4.2.2
'@types/jest':
specifier: ^30.0.0
version: 30.0.0
'@types/nanoid-dictionary':
specifier: ^4.2.3
version: 4.2.3
+ '@types/node':
+ specifier: ^25.2.3
+ version: 25.2.3
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^8.18.2
+ version: 8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser':
+ specifier: ^8.18.2
+ version: 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ bumpp:
+ specifier: ^9.6.1
+ version: 9.11.1
+ eslint:
+ specifier: ^9.18.0
+ version: 9.39.2(jiti@2.6.1)
husky:
specifier: ^9.1.5
- version: 9.1.5
- size-limit:
- specifier: ^11.1.5
- version: 11.1.5
- tsdx:
- specifier: ^0.14.1
- version: 0.14.1(@types/babel__core@7.20.5)(@types/node@20.14.10)
+ version: 9.1.7
+ jest:
+ specifier: ^29.7.0
+ version: 29.7.0(@types/node@25.2.3)
+ prettier:
+ specifier: ^3.3.3
+ version: 3.8.1
+ rollup:
+ specifier: ^4.30.1
+ version: 4.57.1
+ rollup-plugin-dts:
+ specifier: ^6.1.1
+ version: 6.3.0(rollup@4.57.1)(typescript@5.9.3)
+ ts-jest:
+ specifier: ^29.2.5
+ version: 29.4.6(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@30.2.0)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@30.2.0)(jest@29.7.0(@types/node@25.2.3))(typescript@5.9.3)
tslib:
specifier: ^2.7.0
- version: 2.7.0
+ version: 2.8.1
typescript:
specifier: ^5.6.2
- version: 5.6.2
+ version: 5.9.3
packages:
- '@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
-
- '@babel/code-frame@7.24.7':
- resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
- engines: {node: '>=6.9.0'}
-
'@babel/code-frame@7.29.0':
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.24.9':
- resolution: {integrity: sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==}
- engines: {node: '>=6.9.0'}
-
- '@babel/core@7.24.9':
- resolution: {integrity: sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/generator@7.24.9':
- resolution: {integrity: sha512-G8v3jRg+z8IwY1jHFxvCNhOPYPterE4XljNgdGTYfSTtzzwjIswIzIaSPSLs3R7yFuqnqNeay5rjICfqVr+/6A==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-annotate-as-pure@7.24.7':
- resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7':
- resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-compilation-targets@7.24.8':
- resolution: {integrity: sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-create-class-features-plugin@7.24.8':
- resolution: {integrity: sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-create-regexp-features-plugin@7.24.7':
- resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-define-polyfill-provider@0.0.3':
- resolution: {integrity: sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==}
- peerDependencies:
- '@babel/core': ^7.4.0-0
-
- '@babel/helper-define-polyfill-provider@0.6.2':
- resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
- '@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.24.7':
- resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-hoist-variables@7.24.7':
- resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-member-expression-to-functions@7.24.8':
- resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==}
+ '@babel/compat-data@7.29.0':
+ resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.24.7':
- resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
+ '@babel/core@7.29.0':
+ resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.24.9':
- resolution: {integrity: sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==}
+ '@babel/generator@7.29.1':
+ resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@babel/helper-optimise-call-expression@7.24.7':
- resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==}
+ '@babel/helper-compilation-targets@7.28.6':
+ resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-plugin-utils@7.24.8':
- resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==}
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-remap-async-to-generator@7.24.7':
- resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==}
+ '@babel/helper-module-imports@7.28.6':
+ resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@babel/helper-replace-supers@7.24.7':
- resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==}
+ '@babel/helper-module-transforms@7.28.6':
+ resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-simple-access@7.24.7':
- resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-skip-transparent-expression-wrappers@7.24.7':
- resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==}
- engines: {node: '>=6.9.0'}
-
- '@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.8':
- resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
+ '@babel/helper-plugin-utils@7.28.6':
+ resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.24.7':
- resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.28.5':
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.24.8':
- resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-wrap-function@7.24.7':
- resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helpers@7.24.8':
- resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==}
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
- '@babel/highlight@7.24.7':
- resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
+ '@babel/helpers@7.28.6':
+ resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.24.8':
- resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==}
+ '@babel/parser@7.29.0':
+ resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7':
- resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7':
- resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7':
- resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.13.0
-
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7':
- resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-proposal-class-properties@7.18.6':
- resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
- engines: {node: '>=6.9.0'}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
- resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-syntax-async-generators@7.8.4':
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
@@ -255,24 +167,8 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-dynamic-import@7.8.3':
- resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-syntax-export-namespace-from@7.8.3':
- resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-syntax-import-assertions@7.24.7':
- resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-syntax-import-attributes@7.24.7':
- resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==}
+ '@babel/plugin-syntax-import-attributes@7.28.6':
+ resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -287,6 +183,12 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-jsx@7.28.6':
+ resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==}
+ 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:
@@ -329,658 +231,475 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
- resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-transform-arrow-functions@7.24.7':
- resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==}
+ '@babel/plugin-syntax-typescript@7.28.6':
+ resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-async-generator-functions@7.24.7':
- resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==}
+ '@babel/runtime@7.28.6':
+ resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- '@babel/plugin-transform-async-to-generator@7.24.7':
- resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==}
+ '@babel/template@7.28.6':
+ resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- '@babel/plugin-transform-block-scoped-functions@7.24.7':
- resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==}
+ '@babel/traverse@7.29.0':
+ resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- '@babel/plugin-transform-block-scoping@7.24.7':
- resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==}
+ '@babel/types@7.29.0':
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- '@babel/plugin-transform-class-properties@7.24.7':
- resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@bcoe/v8-coverage@0.2.3':
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
- '@babel/plugin-transform-class-static-block@7.24.7':
- resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
+ '@changesets/apply-release-plan@7.0.14':
+ resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==}
- '@babel/plugin-transform-classes@7.24.8':
- resolution: {integrity: sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/assemble-release-plan@6.0.9':
+ resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==}
- '@babel/plugin-transform-computed-properties@7.24.7':
- resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/changelog-git@0.2.1':
+ resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==}
- '@babel/plugin-transform-destructuring@7.24.8':
- resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/cli@2.29.8':
+ resolution: {integrity: sha512-1weuGZpP63YWUYjay/E84qqwcnt5yJMM0tep10Up7Q5cS/DGe2IZ0Uj3HNMxGhCINZuR7aO9WBMdKnPit5ZDPA==}
+ hasBin: true
- '@babel/plugin-transform-dotall-regex@7.24.7':
- resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/config@3.1.2':
+ resolution: {integrity: sha512-CYiRhA4bWKemdYi/uwImjPxqWNpqGPNbEBdX1BdONALFIDK7MCUj6FPkzD+z9gJcvDFUQJn9aDVf4UG7OT6Kog==}
- '@babel/plugin-transform-duplicate-keys@7.24.7':
- resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/errors@0.2.0':
+ resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==}
- '@babel/plugin-transform-dynamic-import@7.24.7':
- resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/get-dependents-graph@2.1.3':
+ resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==}
- '@babel/plugin-transform-exponentiation-operator@7.24.7':
- resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/get-release-plan@4.0.14':
+ resolution: {integrity: sha512-yjZMHpUHgl4Xl5gRlolVuxDkm4HgSJqT93Ri1Uz8kGrQb+5iJ8dkXJ20M2j/Y4iV5QzS2c5SeTxVSKX+2eMI0g==}
- '@babel/plugin-transform-export-namespace-from@7.24.7':
- resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/get-version-range-type@0.4.0':
+ resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==}
- '@babel/plugin-transform-for-of@7.24.7':
- resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/git@3.0.4':
+ resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==}
- '@babel/plugin-transform-function-name@7.24.7':
- resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/logger@0.1.1':
+ resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==}
- '@babel/plugin-transform-json-strings@7.24.7':
- resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/parse@0.4.2':
+ resolution: {integrity: sha512-Uo5MC5mfg4OM0jU3up66fmSn6/NE9INK+8/Vn/7sMVcdWg46zfbvvUSjD9EMonVqPi9fbrJH9SXHn48Tr1f2yA==}
- '@babel/plugin-transform-literals@7.24.7':
- resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/pre@2.0.2':
+ resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==}
- '@babel/plugin-transform-logical-assignment-operators@7.24.7':
- resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/read@0.6.6':
+ resolution: {integrity: sha512-P5QaN9hJSQQKJShzzpBT13FzOSPyHbqdoIBUd2DJdgvnECCyO6LmAOWSV+O8se2TaZJVwSXjL+v9yhb+a9JeJg==}
- '@babel/plugin-transform-member-expression-literals@7.24.7':
- resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/should-skip-package@0.1.2':
+ resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==}
- '@babel/plugin-transform-modules-amd@7.24.7':
- resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/types@4.1.0':
+ resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
- '@babel/plugin-transform-modules-commonjs@7.24.8':
- resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/types@6.1.0':
+ resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==}
- '@babel/plugin-transform-modules-systemjs@7.24.7':
- resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@changesets/write@0.4.0':
+ resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==}
- '@babel/plugin-transform-modules-umd@7.24.7':
- resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==}
- engines: {node: '>=6.9.0'}
+ '@eslint-community/eslint-utils@4.9.1':
+ resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
- '@babel/core': ^7.0.0-0
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@babel/plugin-transform-named-capturing-groups-regex@7.24.7':
- resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@eslint-community/regexpp@4.12.2':
+ resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@babel/plugin-transform-new-target@7.24.7':
- resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@eslint/config-array@0.21.1':
+ resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@babel/plugin-transform-nullish-coalescing-operator@7.24.7':
- resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@eslint/config-helpers@0.4.2':
+ resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@babel/plugin-transform-numeric-separator@7.24.7':
- resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@eslint/core@0.17.0':
+ resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@babel/plugin-transform-object-rest-spread@7.24.7':
- resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@eslint/eslintrc@3.3.3':
+ resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@babel/plugin-transform-object-super@7.24.7':
- resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@eslint/js@9.39.2':
+ resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@babel/plugin-transform-optional-catch-binding@7.24.7':
- resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@eslint/object-schema@2.1.7':
+ resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@babel/plugin-transform-optional-chaining@7.24.8':
- resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@eslint/plugin-kit@0.4.1':
+ resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@babel/plugin-transform-parameters@7.24.7':
- resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+ engines: {node: '>=18.18.0'}
- '@babel/plugin-transform-private-methods@7.24.7':
- resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@humanfs/node@0.16.7':
+ resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
+ engines: {node: '>=18.18.0'}
- '@babel/plugin-transform-private-property-in-object@7.24.7':
- resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@humanwhocodes/module-importer@1.0.1':
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
- '@babel/plugin-transform-property-literals@7.24.7':
- resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+ engines: {node: '>=18.18'}
- '@babel/plugin-transform-regenerator@7.24.7':
- resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==}
- engines: {node: '>=6.9.0'}
+ '@inquirer/external-editor@1.0.3':
+ resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==}
+ engines: {node: '>=18'}
peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- '@babel/plugin-transform-reserved-words@7.24.7':
- resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@istanbuljs/load-nyc-config@1.1.0':
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
- '@babel/plugin-transform-shorthand-properties@7.24.7':
- resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@istanbuljs/schema@0.1.3':
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
- '@babel/plugin-transform-spread@7.24.7':
- resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@jest/console@29.7.0':
+ resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@babel/plugin-transform-sticky-regex@7.24.7':
- resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==}
- engines: {node: '>=6.9.0'}
+ '@jest/core@29.7.0':
+ resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
- '@babel/core': ^7.0.0-0
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
- '@babel/plugin-transform-template-literals@7.24.7':
- resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@jest/diff-sequences@30.0.1':
+ resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- '@babel/plugin-transform-typeof-symbol@7.24.8':
- resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@jest/environment@29.7.0':
+ resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@babel/plugin-transform-unicode-escapes@7.24.7':
- resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@jest/expect-utils@29.7.0':
+ resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@babel/plugin-transform-unicode-property-regex@7.24.7':
- resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@jest/expect-utils@30.2.0':
+ resolution: {integrity: sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- '@babel/plugin-transform-unicode-regex@7.24.7':
- resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@jest/expect@29.7.0':
+ resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@babel/plugin-transform-unicode-sets-regex@7.24.7':
- resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@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}
- '@babel/preset-env@7.24.8':
- resolution: {integrity: sha512-vObvMZB6hNWuDxhSaEPTKCwcqkAIuDtE+bQGn4XMXne1DSLzFVY8Vmj1bm+mUQXYNN8NmaQEO+r8MMbzPr1jBQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@jest/get-type@30.1.0':
+ resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- '@babel/preset-modules@0.1.6-no-external-plugins':
- resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+ '@jest/globals@29.7.0':
+ resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@babel/regjsgen@0.8.0':
- resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+ '@jest/pattern@30.0.1':
+ resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- '@babel/runtime@7.24.8':
- resolution: {integrity: sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==}
- engines: {node: '>=6.9.0'}
+ '@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
- '@babel/template@7.24.7':
- resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==}
- engines: {node: '>=6.9.0'}
+ '@jest/schemas@29.6.3':
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@babel/traverse@7.24.8':
- resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==}
- engines: {node: '>=6.9.0'}
+ '@jest/schemas@30.0.5':
+ resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- '@babel/types@7.24.9':
- resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==}
- engines: {node: '>=6.9.0'}
+ '@jest/source-map@29.6.3':
+ resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@bcoe/v8-coverage@0.2.3':
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+ '@jest/test-result@29.7.0':
+ resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@cnakazawa/watch@1.0.4':
- resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==}
- engines: {node: '>=0.1.95'}
- hasBin: true
+ '@jest/test-sequencer@29.7.0':
+ resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@esbuild/aix-ppc64@0.23.1':
- resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
+ '@jest/transform@29.7.0':
+ resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@esbuild/android-arm64@0.23.1':
- resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
+ '@jest/types@29.6.3':
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@esbuild/android-arm@0.23.1':
- resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
- engines: {node: '>=18'}
+ '@jest/types@30.2.0':
+ resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@manypkg/find-root@1.1.0':
+ resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
+
+ '@manypkg/get-packages@1.1.3':
+ resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@rollup/plugin-commonjs@28.0.9':
+ resolution: {integrity: sha512-PIR4/OHZ79romx0BVVll/PkwWpJ7e5lsqFa3gFfcrFPWwLXLV39JVUzQV9RKjWerE7B845Hqjj9VYlQeieZ2dA==}
+ engines: {node: '>=16.0.0 || 14 >= 14.17'}
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-node-resolve@15.3.1':
+ resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-typescript@12.3.0':
+ resolution: {integrity: sha512-7DP0/p7y3t67+NabT9f8oTBFE6gGkto4SA6Np2oudYmZE/m1dt8RB0SjL1msMxFpLo631qjRCcBlAbq1ml/Big==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.14.0||^3.0.0||^4.0.0
+ tslib: '*'
+ typescript: '>=3.7.0'
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ tslib:
+ optional: true
+
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.57.1':
+ resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.23.1':
- resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
- engines: {node: '>=18'}
- cpu: [x64]
+ '@rollup/rollup-android-arm64@4.57.1':
+ resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==}
+ cpu: [arm64]
os: [android]
- '@esbuild/darwin-arm64@0.23.1':
- resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
- engines: {node: '>=18'}
+ '@rollup/rollup-darwin-arm64@4.57.1':
+ resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.23.1':
- resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
- engines: {node: '>=18'}
+ '@rollup/rollup-darwin-x64@4.57.1':
+ resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.23.1':
- resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
- engines: {node: '>=18'}
+ '@rollup/rollup-freebsd-arm64@4.57.1':
+ resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.23.1':
- resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
- engines: {node: '>=18'}
+ '@rollup/rollup-freebsd-x64@4.57.1':
+ resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.23.1':
- resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
- engines: {node: '>=18'}
- cpu: [arm64]
+ '@rollup/rollup-linux-arm-gnueabihf@4.57.1':
+ resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==}
+ cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.23.1':
- resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-arm-musleabihf@4.57.1':
+ resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.23.1':
- resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
+ '@rollup/rollup-linux-arm64-gnu@4.57.1':
+ resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==}
+ cpu: [arm64]
os: [linux]
- '@esbuild/linux-loong64@0.23.1':
- resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-arm64-musl@4.57.1':
+ resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-loong64-gnu@4.57.1':
+ resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.23.1':
- resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
- engines: {node: '>=18'}
- cpu: [mips64el]
+ '@rollup/rollup-linux-loong64-musl@4.57.1':
+ resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==}
+ cpu: [loong64]
os: [linux]
- '@esbuild/linux-ppc64@0.23.1':
- resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-ppc64-gnu@4.57.1':
+ resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.23.1':
- resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-ppc64-musl@4.57.1':
+ resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.57.1':
+ resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.23.1':
- resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-riscv64-musl@4.57.1':
+ resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.57.1':
+ resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.23.1':
- resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-x64-gnu@4.57.1':
+ resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-x64@0.23.1':
- resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-x64-musl@4.57.1':
+ resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==}
cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-arm64@0.23.1':
- resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
+ os: [linux]
- '@esbuild/openbsd-x64@0.23.1':
- resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
- engines: {node: '>=18'}
+ '@rollup/rollup-openbsd-x64@4.57.1':
+ resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==}
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.23.1':
- resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
+ '@rollup/rollup-openharmony-arm64@4.57.1':
+ resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==}
+ cpu: [arm64]
+ os: [openharmony]
- '@esbuild/win32-arm64@0.23.1':
- resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
- engines: {node: '>=18'}
+ '@rollup/rollup-win32-arm64-msvc@4.57.1':
+ resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.23.1':
- resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
- engines: {node: '>=18'}
+ '@rollup/rollup-win32-ia32-msvc@4.57.1':
+ resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.23.1':
- resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
- engines: {node: '>=18'}
+ '@rollup/rollup-win32-x64-gnu@4.57.1':
+ resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==}
cpu: [x64]
os: [win32]
- '@istanbuljs/load-nyc-config@1.1.0':
- resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
- engines: {node: '>=8'}
-
- '@istanbuljs/schema@0.1.3':
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
-
- '@jest/console@25.5.0':
- resolution: {integrity: sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==}
- engines: {node: '>= 8.3'}
-
- '@jest/core@25.5.4':
- resolution: {integrity: sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==}
- engines: {node: '>= 8.3'}
-
- '@jest/diff-sequences@30.0.1':
- resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- '@jest/environment@25.5.0':
- resolution: {integrity: sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==}
- engines: {node: '>= 8.3'}
-
- '@jest/expect-utils@30.2.0':
- resolution: {integrity: sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- '@jest/fake-timers@25.5.0':
- resolution: {integrity: sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==}
- engines: {node: '>= 8.3'}
-
- '@jest/get-type@30.1.0':
- resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- '@jest/globals@25.5.2':
- resolution: {integrity: sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==}
- engines: {node: '>= 8.3'}
-
- '@jest/pattern@30.0.1':
- resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- '@jest/reporters@25.5.1':
- resolution: {integrity: sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==}
- engines: {node: '>= 8.3'}
-
- '@jest/schemas@30.0.5':
- resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- '@jest/source-map@25.5.0':
- resolution: {integrity: sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==}
- engines: {node: '>= 8.3'}
-
- '@jest/test-result@25.5.0':
- resolution: {integrity: sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==}
- engines: {node: '>= 8.3'}
-
- '@jest/test-sequencer@25.5.4':
- resolution: {integrity: sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==}
- engines: {node: '>= 8.3'}
-
- '@jest/transform@25.5.1':
- resolution: {integrity: sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==}
- engines: {node: '>= 8.3'}
-
- '@jest/types@25.5.0':
- resolution: {integrity: sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==}
- engines: {node: '>= 8.3'}
-
- '@jest/types@30.2.0':
- resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
- '@rollup/plugin-babel@5.3.1':
- resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@types/babel__core': ^7.1.9
- rollup: ^1.20.0||^2.0.0
- peerDependenciesMeta:
- '@types/babel__core':
- optional: true
-
- '@rollup/plugin-commonjs@11.1.0':
- resolution: {integrity: sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==}
- engines: {node: '>= 8.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
-
- '@rollup/plugin-json@4.1.0':
- resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==}
- peerDependencies:
- rollup: ^1.20.0 || ^2.0.0
-
- '@rollup/plugin-node-resolve@9.0.0':
- resolution: {integrity: sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==}
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
-
- '@rollup/plugin-replace@2.4.2':
- resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
- peerDependencies:
- rollup: ^1.20.0 || ^2.0.0
+ '@rollup/rollup-win32-x64-msvc@4.57.1':
+ resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==}
+ cpu: [x64]
+ os: [win32]
- '@rollup/pluginutils@3.1.0':
- resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
- engines: {node: '>= 8.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
+ '@sinclair/typebox@0.27.10':
+ resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==}
'@sinclair/typebox@0.34.48':
resolution: {integrity: sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==}
- '@sinonjs/commons@1.8.6':
- resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
+ '@sinonjs/commons@3.0.1':
+ resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
- '@size-limit/esbuild@11.1.5':
- resolution: {integrity: sha512-AywMXRGzJmgAXb8bPAHjK+zxPwuPmIazL2BKDT3zp//8Fb3B/8ld1D4yXMYro4QgJEp47W2KZAZdM5RGrc6Z/A==}
- engines: {node: ^18.0.0 || >=20.0.0}
- peerDependencies:
- size-limit: 11.1.5
-
- '@size-limit/file@11.1.5':
- resolution: {integrity: sha512-oz/XBVUJh95GpzDb9/f4sEQD/ACJ9zEKSRgBtvMUTN0c+O/9uq+RzvFeXFN2Kjpx3Dmur1ta+oZsp3zQFxlb3Q==}
- engines: {node: ^18.0.0 || >=20.0.0}
- peerDependencies:
- size-limit: 11.1.5
-
- '@size-limit/preset-small-lib@11.1.5':
- resolution: {integrity: sha512-++IMlbAQpCFQp8UN9XHrcZ3SHY+u/ZzxSUA8zIHXDjZJdkb9WIW12CJXwJADj8tMRgWHWC4ixbi1DdnHYJ3ZpA==}
- peerDependencies:
- size-limit: 11.1.5
+ '@sinonjs/fake-timers@10.3.0':
+ resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
- '@types/babel__generator@7.6.8':
- resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
'@types/babel__template@7.4.4':
resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
- '@types/babel__traverse@7.20.6':
- resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
-
- '@types/eslint-visitor-keys@1.0.0':
- resolution: {integrity: sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==}
+ '@types/babel__traverse@7.28.0':
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
- '@types/estree@0.0.39':
- resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
+ '@types/crypto-js@4.2.2':
+ resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==}
- '@types/estree@1.0.5':
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
'@types/graceful-fs@4.1.9':
resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
@@ -991,44 +710,26 @@ packages:
'@types/istanbul-lib-report@3.0.3':
resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
- '@types/istanbul-reports@1.1.2':
- resolution: {integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==}
-
'@types/istanbul-reports@3.0.4':
resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
- '@types/jest@25.2.3':
- resolution: {integrity: sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==}
-
'@types/jest@30.0.0':
resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==}
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- '@types/json5@0.0.29':
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
-
'@types/nanoid-dictionary@4.2.3':
resolution: {integrity: sha512-T98Halw1f2aJ802GtCNMHZgqX2q1LX85eMP+K7N+OXSLagdmAzooAEhB565FQXTiCxdF4wNijOBroAQJat4uig==}
- '@types/node@20.14.10':
- resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==}
-
- '@types/normalize-package-data@2.4.4':
- resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
-
- '@types/parse-json@4.0.2':
- resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
-
- '@types/prettier@1.19.1':
- resolution: {integrity: sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==}
+ '@types/node@12.20.55':
+ resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
- '@types/resolve@1.17.1':
- resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
+ '@types/node@25.2.3':
+ resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==}
- '@types/stack-utils@1.0.1':
- resolution: {integrity: sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==}
+ '@types/resolve@1.20.2':
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
'@types/stack-utils@2.0.3':
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
@@ -1036,76 +737,75 @@ 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.35':
resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==}
- '@typescript-eslint/eslint-plugin@2.34.0':
- resolution: {integrity: sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==}
- engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
+ '@typescript-eslint/eslint-plugin@8.55.0':
+ resolution: {integrity: sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^2.0.0
- eslint: ^5.0.0 || ^6.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@typescript-eslint/parser': ^8.55.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/experimental-utils@2.34.0':
- resolution: {integrity: sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==}
- engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
+ '@typescript-eslint/parser@8.55.0':
+ resolution: {integrity: sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: '*'
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@2.34.0':
- resolution: {integrity: sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==}
- engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
+ '@typescript-eslint/project-service@8.55.0':
+ resolution: {integrity: sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^5.0.0 || ^6.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/scope-manager@8.55.0':
+ resolution: {integrity: sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@2.34.0':
- resolution: {integrity: sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==}
- engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
+ '@typescript-eslint/tsconfig-utils@8.55.0':
+ resolution: {integrity: sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/type-utils@8.55.0':
+ resolution: {integrity: sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/types@8.55.0':
+ resolution: {integrity: sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@8.55.0':
+ resolution: {integrity: sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
- abab@2.0.6:
- resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
- deprecated: Use your platform's native atob() and btoa() methods instead
+ '@typescript-eslint/utils@8.55.0':
+ resolution: {integrity: sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
- acorn-globals@4.3.4:
- resolution: {integrity: sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==}
+ '@typescript-eslint/visitor-keys@8.55.0':
+ resolution: {integrity: sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn-walk@6.2.0:
- resolution: {integrity: sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==}
- engines: {node: '>=0.4.0'}
-
- acorn@6.4.2:
- resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- acorn@7.4.1:
- resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- acorn@8.12.1:
- resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
hasBin: true
@@ -1116,30 +816,14 @@ packages:
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
engines: {node: '>=6'}
- ansi-escapes@3.2.0:
- resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==}
- engines: {node: '>=4'}
-
ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
- ansi-regex@3.0.1:
- resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==}
- engines: {node: '>=4'}
-
- ansi-regex@4.1.1:
- resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
- engines: {node: '>=6'}
-
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
- ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
-
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -1148,9 +832,6 @@ packages:
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
engines: {node: '>=10'}
- anymatch@2.0.0:
- resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==}
-
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
@@ -1158,244 +839,99 @@ packages:
argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
- aria-query@5.1.3:
- resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
+ 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'}
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
- arr-flatten@1.1.0:
- resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==}
- engines: {node: '>=0.10.0'}
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
- arr-union@3.1.0:
- resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
- engines: {node: '>=0.10.0'}
+ axios@1.13.5:
+ resolution: {integrity: sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==}
- array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
+ 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.8.0
- array-equal@1.0.2:
- resolution: {integrity: sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==}
+ babel-plugin-istanbul@6.1.1:
+ resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
+ engines: {node: '>=8'}
- array-includes@3.1.8:
- resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
- engines: {node: '>= 0.4'}
+ 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}
- array-unique@0.3.2:
- resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==}
- engines: {node: '>=0.10.0'}
+ babel-preset-current-node-syntax@1.2.0:
+ resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0 || ^8.0.0-0
- array.prototype.findlast@1.2.5:
- resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
- engines: {node: '>= 0.4'}
+ 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
- array.prototype.findlastindex@1.2.5:
- resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
- engines: {node: '>= 0.4'}
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- array.prototype.flat@1.3.2:
- resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
- engines: {node: '>= 0.4'}
+ baseline-browser-mapping@2.9.19:
+ resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==}
+ hasBin: true
- array.prototype.flatmap@1.3.2:
- resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
- engines: {node: '>= 0.4'}
+ better-path-resolve@1.0.0:
+ resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
+ engines: {node: '>=4'}
- array.prototype.toreversed@1.1.2:
- resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+ brace-expansion@1.1.12:
+ resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
- array.prototype.tosorted@1.1.4:
- resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
- engines: {node: '>= 0.4'}
+ brace-expansion@2.0.2:
+ resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
- arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
- asn1@0.2.6:
- resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
+ browserslist@4.28.1:
+ resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
- assert-plus@1.0.0:
- resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
- engines: {node: '>=0.8'}
+ bs-logger@0.2.6:
+ resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
+ engines: {node: '>= 6'}
- assign-symbols@1.0.0:
- resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
- engines: {node: '>=0.10.0'}
+ bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
- ast-types-flow@0.0.8:
- resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- astral-regex@1.0.0:
- resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==}
- engines: {node: '>=4'}
+ bumpp@9.11.1:
+ resolution: {integrity: sha512-jBHlab9NnRwrpHsockb5E+MBo0os2yS6S7i3cnN8hB6EkTardKQotmd0CFdOc8pubLz2fxj2AD6RGtrySVG6Mw==}
+ engines: {node: '>=10'}
+ hasBin: true
- asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
-
- asyncro@3.0.0:
- resolution: {integrity: sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==}
-
- at-least-node@1.0.0:
- resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
- engines: {node: '>= 4.0.0'}
-
- 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'}
-
- aws-sign2@0.7.0:
- resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
-
- aws4@1.13.0:
- resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==}
-
- axe-core@4.9.1:
- resolution: {integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==}
- engines: {node: '>=4'}
-
- axios@1.7.7:
- resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==}
-
- axobject-query@3.1.1:
- resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==}
-
- babel-eslint@10.1.0:
- resolution: {integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==}
- engines: {node: '>=6'}
- deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
- peerDependencies:
- eslint: '>= 4.12.1'
-
- babel-jest@25.5.1:
- resolution: {integrity: sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==}
- engines: {node: '>= 8.3'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- babel-plugin-annotate-pure-calls@0.4.0:
- resolution: {integrity: sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==}
- peerDependencies:
- '@babel/core': ^6.0.0-0 || 7.x
-
- babel-plugin-dev-expression@0.2.3:
- resolution: {integrity: sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- babel-plugin-istanbul@6.1.1:
- resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
- engines: {node: '>=8'}
-
- babel-plugin-jest-hoist@25.5.0:
- resolution: {integrity: sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==}
- engines: {node: '>= 8.3'}
-
- babel-plugin-macros@2.8.0:
- resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==}
-
- babel-plugin-polyfill-corejs2@0.4.11:
- resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
- babel-plugin-polyfill-corejs3@0.10.4:
- resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
- babel-plugin-polyfill-regenerator@0.0.4:
- resolution: {integrity: sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- babel-plugin-polyfill-regenerator@0.6.2:
- resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
+ c12@2.0.4:
+ resolution: {integrity: sha512-3DbbhnFt0fKJHxU4tEUPmD1ahWE4PWPMomqfYsTJdrhpmEnRKJi3qSC4rO5U6E6zN1+pjBY7+z8fUmNRMaVKLw==}
peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
- babel-plugin-transform-rename-import@2.3.0:
- resolution: {integrity: sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==}
-
- babel-preset-current-node-syntax@0.1.4:
- resolution: {integrity: sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- babel-preset-jest@25.5.0:
- resolution: {integrity: sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==}
- engines: {node: '>= 8.3'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- base@0.11.2:
- resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==}
- engines: {node: '>=0.10.0'}
-
- bcrypt-pbkdf@1.0.2:
- resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
-
- braces@2.3.2:
- resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==}
- engines: {node: '>=0.10.0'}
+ magicast: ^0.3.5
+ peerDependenciesMeta:
+ magicast:
+ optional: true
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
engines: {node: '>=8'}
- browser-process-hrtime@1.0.0:
- resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
-
- browser-resolve@1.11.3:
- resolution: {integrity: sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==}
-
- browserslist@4.23.2:
- resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
- bs-logger@0.2.6:
- resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
- engines: {node: '>= 6'}
-
- bser@2.1.1:
- resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
-
- buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
-
- builtin-modules@3.3.0:
- resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
- engines: {node: '>=6'}
-
- bytes-iec@3.1.1:
- resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==}
- engines: {node: '>= 0.8'}
-
- cache-base@1.0.1:
- resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==}
- engines: {node: '>=0.10.0'}
-
- call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
callsites@3.1.0:
@@ -1410,94 +946,57 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
- caniuse-lite@1.0.30001642:
- resolution: {integrity: sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==}
-
- capture-exit@2.0.0:
- resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==}
- engines: {node: 6.* || 8.* || >= 10.*}
-
- caseless@0.12.0:
- resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
-
- chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
-
- chalk@3.0.0:
- resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
- engines: {node: '>=8'}
+ caniuse-lite@1.0.30001769:
+ resolution: {integrity: sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==}
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- chardet@0.7.0:
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
- ci-info@2.0.0:
- resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
+ char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
- ci-info@4.4.0:
- resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==}
- engines: {node: '>=8'}
+ chardet@2.1.1:
+ resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==}
- class-utils@0.3.6:
- resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==}
- engines: {node: '>=0.10.0'}
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
- cli-cursor@2.1.0:
- resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
- engines: {node: '>=4'}
+ chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
- cli-cursor@3.1.0:
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
- cli-spinners@1.3.1:
- resolution: {integrity: sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==}
- engines: {node: '>=4'}
-
- cli-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
+ ci-info@4.4.0:
+ resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==}
+ engines: {node: '>=8'}
- cli-width@3.0.0:
- resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
- engines: {node: '>= 10'}
+ citty@0.1.6:
+ resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
- cliui@6.0.0:
- resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+ cjs-module-lexer@1.4.3:
+ resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
- clone@1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
- engines: {node: '>=0.8'}
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
co@4.6.0:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
- 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==}
+ collect-v8-coverage@1.0.3:
+ resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==}
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
- color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
@@ -1505,118 +1004,51 @@ packages:
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==}
-
commondir@1.0.1:
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
- component-emitter@1.3.1:
- resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
-
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- confusing-browser-globals@1.0.11:
- resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
- convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
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-compat@3.37.1:
- resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
-
- core-util-is@1.0.2:
- resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
-
- cosmiconfig@6.0.0:
- resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
- engines: {node: '>=8'}
-
- cross-spawn@6.0.5:
- resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
- engines: {node: '>=4.8'}
+ create-jest@29.7.0:
+ resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ hasBin: true
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
- 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'}
-
- damerau-levenshtein@1.0.8:
- resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
-
- dashdash@1.14.1:
- resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
- engines: {node: '>=0.10'}
-
- data-urls@1.1.0:
- resolution: {integrity: sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==}
-
- 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'}
-
- debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ crypto-js@4.2.0:
+ resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
- debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
- debug@4.3.5:
- resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
- engines: {node: '>=6.0'}
+ dedent@1.7.1:
+ resolution: {integrity: sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg==}
peerDependencies:
- supports-color: '*'
+ babel-plugin-macros: ^3.1.0
peerDependenciesMeta:
- supports-color:
+ babel-plugin-macros:
optional: true
- decamelize@1.2.0:
- 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'}
-
- deep-equal@2.2.3:
- resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==}
- engines: {node: '>= 0.4'}
-
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@@ -1624,341 +1056,160 @@ packages:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
- defaults@1.0.4:
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
-
- 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'}
-
- 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'}
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
+
+ detect-indent@6.1.0:
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
+ engines: {node: '>=8'}
+
detect-newline@3.1.0:
resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
engines: {node: '>=8'}
- diff-sequences@25.2.6:
- resolution: {integrity: sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==}
- engines: {node: '>= 8.3'}
-
- doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
+ diff-sequences@29.6.3:
+ resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
- domexception@1.0.1:
- resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==}
- deprecated: Use your platform's native DOMException instead
+ dotenv@16.6.1:
+ resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
+ engines: {node: '>=12'}
- ecc-jsbn@0.1.2:
- resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
- electron-to-chromium@1.4.827:
- resolution: {integrity: sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==}
+ electron-to-chromium@1.5.286:
+ resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==}
- emoji-regex@7.0.3:
- resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==}
+ 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==}
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
- end-of-stream@1.4.4:
- resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
-
enquirer@2.4.1:
resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
engines: {node: '>=8.6'}
- 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'}
+ error-ex@1.3.4:
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
- es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
- es-get-iterator@1.1.3:
- resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
-
- es-iterator-helpers@1.0.19:
- resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
- 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==}
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
- es-shim-unscopables@1.0.2:
- resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
-
- es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
engines: {node: '>= 0.4'}
- esbuild@0.23.1:
- resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
- engines: {node: '>=18'}
- hasBin: true
-
- escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
- escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
escape-string-regexp@2.0.0:
resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
engines: {node: '>=8'}
- escodegen@1.14.3:
- resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==}
- engines: {node: '>=4.0'}
- hasBin: true
-
- eslint-config-prettier@6.15.0:
- resolution: {integrity: sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==}
- hasBin: true
- peerDependencies:
- eslint: '>=3.14.1'
-
- eslint-config-react-app@5.2.1:
- resolution: {integrity: sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==}
- peerDependencies:
- '@typescript-eslint/eslint-plugin': 2.x
- '@typescript-eslint/parser': 2.x
- babel-eslint: 10.x
- eslint: 6.x
- eslint-plugin-flowtype: 3.x || 4.x
- eslint-plugin-import: 2.x
- eslint-plugin-jsx-a11y: 6.x
- eslint-plugin-react: 7.x
- eslint-plugin-react-hooks: 1.x || 2.x
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
-
- eslint-module-utils@2.8.1:
- resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
- engines: {node: '>=4'}
- peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: '*'
- eslint-import-resolver-node: '*'
- eslint-import-resolver-typescript: '*'
- eslint-import-resolver-webpack: '*'
- peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
- eslint:
- optional: true
- eslint-import-resolver-node:
- optional: true
- eslint-import-resolver-typescript:
- optional: true
- eslint-import-resolver-webpack:
- optional: true
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
- eslint-plugin-flowtype@3.13.0:
- resolution: {integrity: sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==}
- engines: {node: '>=4'}
- peerDependencies:
- eslint: '>=5.0.0'
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint-plugin-import@2.29.1:
- resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
- engines: {node: '>=4'}
- peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
- peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- eslint-plugin-jsx-a11y@6.9.0:
- resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==}
- engines: {node: '>=4.0'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint-plugin-prettier@3.4.1:
- resolution: {integrity: sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==}
- engines: {node: '>=6.0.0'}
+ eslint@9.39.2:
+ resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
peerDependencies:
- eslint: '>=5.0.0'
- eslint-config-prettier: '*'
- prettier: '>=1.13.0'
+ jiti: '*'
peerDependenciesMeta:
- eslint-config-prettier:
+ jiti:
optional: true
- eslint-plugin-react-hooks@2.5.1:
- resolution: {integrity: sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==}
- engines: {node: '>=7'}
- peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
-
- eslint-plugin-react@7.34.4:
- resolution: {integrity: sha512-Np+jo9bUwJNxCsT12pXtrGhJgT3T44T1sHhn1Ssr42XFn8TES0267wPGo5nNrMHi8qkyimDAX2BUmkf9pSaVzA==}
- engines: {node: '>=4'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
-
- eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
-
- eslint-utils@1.4.3:
- resolution: {integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==}
- engines: {node: '>=6'}
-
- eslint-utils@2.1.0:
- resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
- engines: {node: '>=6'}
-
- eslint-visitor-keys@1.3.0:
- resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==}
- engines: {node: '>=4'}
-
- eslint@6.8.0:
- resolution: {integrity: sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==}
- engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
- hasBin: true
-
- espree@6.2.1:
- resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==}
- engines: {node: '>=6.0.0'}
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
- esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ esquery@1.7.0:
+ resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
engines: {node: '>=0.10'}
esrecurse@4.3.0:
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'}
- estree-walker@0.6.1:
- resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
-
- estree-walker@1.0.1:
- resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
- 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@3.4.0:
- resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==}
- engines: {node: ^8.12.0 || >=9.7.0}
-
- execa@4.1.0:
- resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
engines: {node: '>=10'}
exit@0.1.2:
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'}
-
- expect@25.5.0:
- resolution: {integrity: sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==}
- engines: {node: '>= 8.3'}
+ expect@29.7.0:
+ resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
expect@30.2.0:
resolution: {integrity: sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- extend-shallow@2.0.1:
- 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@3.0.2:
- resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
-
- external-editor@3.1.0:
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
- engines: {node: '>=4'}
-
- extglob@2.0.4:
- resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==}
- engines: {node: '>=0.10.0'}
-
- extsprintf@1.3.0:
- resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
- engines: {'0': node >=0.6.0}
+ extendable-error@0.1.7:
+ resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-diff@1.3.0:
- resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
@@ -1966,50 +1217,46 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ fastq@1.20.1:
+ resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
+
fb-watchman@2.0.2:
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
- fdir@6.3.0:
- resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==}
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
- figures@3.2.0:
- resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
- engines: {node: '>=8'}
-
- file-entry-cache@5.0.1:
- resolution: {integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==}
- engines: {node: '>=4'}
-
- 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'}
-
- find-cache-dir@3.3.2:
- resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
- flat-cache@2.0.1:
- resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==}
- engines: {node: '>=4'}
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
- flatted@2.0.2:
- resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==}
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
- follow-redirects@1.15.6:
- resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
+ follow-redirects@1.15.11:
+ resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
@@ -2017,35 +1264,21 @@ packages:
debug:
optional: true
- 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'}
-
- forever-agent@0.6.1:
- resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
-
- form-data@2.3.3:
- resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
- engines: {node: '>= 0.12'}
-
- form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ form-data@4.0.5:
+ resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
engines: {node: '>= 6'}
- fragment-cache@0.2.1:
- resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
- engines: {node: '>=0.10.0'}
+ fs-extra@7.0.1:
+ resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
+ engines: {node: '>=6 <7 || >=8'}
fs-extra@8.1.0:
resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
engines: {node: '>=6 <7 || >=8'}
- fs-extra@9.1.0:
- resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
- engines: {node: '>=10'}
+ fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -2058,16 +1291,6 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
-
- functional-red-black-tree@1.0.1:
- resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==}
-
- functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
-
gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
@@ -2076,166 +1299,108 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
- get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
get-package-type@0.1.0:
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@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'}
-
- get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
- get-value@2.0.6:
- resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
- engines: {node: '>=0.10.0'}
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
- getpass@0.1.7:
- resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
+ giget@1.2.5:
+ resolution: {integrity: sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==}
+ hasBin: true
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
- globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
- globals@12.4.0:
- resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==}
- engines: {node: '>=8'}
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
- globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
- globalyzer@0.1.0:
- resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
-
- globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
-
- gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
-
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- growly@1.3.0:
- resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==}
-
- har-schema@2.0.0:
- resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==}
- engines: {node: '>=4'}
-
- har-validator@5.1.5:
- resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==}
- engines: {node: '>=6'}
- deprecated: this library is no longer supported
-
- 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'}
+ handlebars@4.7.8:
+ resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
+ engines: {node: '>=0.4.7'}
+ hasBin: true
has-flag@4.0.0:
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==}
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
has-tostringtag@1.0.2:
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'}
-
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
- hosted-git-info@2.8.9:
- resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
-
- html-encoding-sniffer@1.0.2:
- resolution: {integrity: sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==}
-
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
- http-signature@1.2.0:
- resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
- engines: {node: '>=0.8', npm: '>=1.3.7'}
-
- human-signals@1.1.1:
- resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
- engines: {node: '>=8.12.0'}
+ human-id@4.1.3:
+ resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==}
+ hasBin: true
- humanize-duration@3.32.1:
- resolution: {integrity: sha512-inh5wue5XdfObhu/IGEMiA1nUXigSGcaKNemcbLRKa7jXYGDZXr3LoT9pTIzq2hPEbld7w/qv9h+ikWGz8fL1g==}
+ human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
- husky@9.1.5:
- resolution: {integrity: sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag==}
+ husky@9.1.7:
+ resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
engines: {node: '>=18'}
hasBin: true
- iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ iconv-lite@0.7.2:
+ resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==}
engines: {node: '>=0.10.0'}
- ignore@4.0.6:
- resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ ignore@7.0.5:
+ resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
engines: {node: '>= 4'}
- import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
- import-local@3.1.0:
- resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
+ import-local@3.2.0:
+ resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
engines: {node: '>=8'}
hasBin: true
@@ -2250,111 +1415,17 @@ packages:
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- inquirer@7.3.3:
- resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==}
- engines: {node: '>=8.0.0'}
-
- internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
-
- interpret@1.4.0:
- resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
- engines: {node: '>= 0.10'}
-
- ip-regex@2.1.0:
- resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==}
- engines: {node: '>=4'}
-
- is-accessor-descriptor@1.0.1:
- resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
- engines: {node: '>= 0.10'}
-
- 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'}
-
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
- is-async-function@2.0.0:
- resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
- engines: {node: '>= 0.4'}
-
- is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
- is-boolean-object@1.1.2:
- 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'}
-
- is-ci@2.0.0:
- resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==}
- hasBin: true
-
- is-core-module@2.14.0:
- resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==}
- engines: {node: '>= 0.4'}
-
- 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==}
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
- is-date-object@1.0.5:
- 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'}
- is-finalizationregistry@1.0.2:
- resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
-
- is-fullwidth-code-point@2.0.0:
- resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
- engines: {node: '>=4'}
-
is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
@@ -2363,134 +1434,47 @@ 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'}
- is-interactive@1.0.0:
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
- engines: {node: '>=8'}
-
- is-map@2.0.3:
- resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
- engines: {node: '>= 0.4'}
-
is-module@1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
- 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@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'}
- is-plain-object@2.0.4:
- resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
- engines: {node: '>=0.10.0'}
-
is-reference@1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
- is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
-
- is-set@2.0.3:
- resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
- engines: {node: '>= 0.4'}
-
- is-shared-array-buffer@1.0.3:
- 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'}
- 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-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
-
- is-typedarray@1.0.0:
- resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
-
- is-weakmap@2.0.2:
- resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
- engines: {node: '>= 0.4'}
-
- is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
-
- is-weakset@2.0.3:
- resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
- engines: {node: '>= 0.4'}
+ is-subdir@1.2.0:
+ resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
+ engines: {node: '>=4'}
is-windows@1.0.2:
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==}
-
- isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
-
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'}
-
- isstream@0.1.2:
- resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
-
istanbul-lib-coverage@3.2.2:
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.3:
+ resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==}
+ engines: {node: '>=10'}
+
istanbul-lib-report@3.0.1:
resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
engines: {node: '>=10'}
@@ -2499,85 +1483,91 @@ packages:
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
engines: {node: '>=10'}
- istanbul-reports@3.1.7:
- resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
+ istanbul-reports@3.2.0:
+ resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==}
engines: {node: '>=8'}
- iterator.prototype@1.1.2:
- resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ 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-changed-files@25.5.0:
- resolution: {integrity: sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==}
- engines: {node: '>= 8.3'}
+ 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@25.5.4:
- resolution: {integrity: sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==}
- engines: {node: '>= 8.3'}
+ 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@25.5.4:
- resolution: {integrity: sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==}
- engines: {node: '>= 8.3'}
+ 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@25.5.0:
- resolution: {integrity: sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==}
- engines: {node: '>= 8.3'}
+ jest-diff@29.7.0:
+ resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
jest-diff@30.2.0:
resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-docblock@25.3.0:
- resolution: {integrity: sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==}
- engines: {node: '>= 8.3'}
-
- jest-each@25.5.0:
- resolution: {integrity: sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==}
- engines: {node: '>= 8.3'}
+ jest-docblock@29.7.0:
+ resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-environment-jsdom@25.5.0:
- resolution: {integrity: sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==}
- engines: {node: '>= 8.3'}
+ 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@25.5.0:
- resolution: {integrity: sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==}
- engines: {node: '>= 8.3'}
+ 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@25.2.6:
- resolution: {integrity: sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==}
- engines: {node: '>= 8.3'}
+ jest-get-type@29.6.3:
+ resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-haste-map@25.5.1:
- resolution: {integrity: sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==}
- engines: {node: '>= 8.3'}
+ 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@25.5.4:
- resolution: {integrity: sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==}
- engines: {node: '>= 8.3'}
+ 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@25.5.0:
- resolution: {integrity: sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==}
- engines: {node: '>= 8.3'}
-
- jest-matcher-utils@25.5.0:
- resolution: {integrity: sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==}
- engines: {node: '>= 8.3'}
+ 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@30.2.0:
resolution: {integrity: sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-message-util@25.5.0:
- resolution: {integrity: sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==}
- engines: {node: '>= 8.3'}
+ 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@30.2.0:
resolution: {integrity: sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-mock@25.5.0:
- resolution: {integrity: sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==}
- engines: {node: '>= 8.3'}
+ jest-mock@29.7.0:
+ resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
jest-mock@30.2.0:
resolution: {integrity: sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==}
@@ -2592,179 +1582,122 @@ packages:
jest-resolve:
optional: true
- jest-regex-util@25.2.6:
- resolution: {integrity: sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==}
- engines: {node: '>= 8.3'}
+ jest-regex-util@29.6.3:
+ resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
jest-regex-util@30.0.1:
resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-resolve-dependencies@25.5.4:
- resolution: {integrity: sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==}
- engines: {node: '>= 8.3'}
-
- jest-resolve@25.5.1:
- resolution: {integrity: sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==}
- engines: {node: '>= 8.3'}
+ 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@25.5.4:
- resolution: {integrity: sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==}
- engines: {node: '>= 8.3'}
+ jest-resolve@29.7.0:
+ resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-runtime@25.5.4:
- resolution: {integrity: sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==}
- engines: {node: '>= 8.3'}
- hasBin: true
+ jest-runner@29.7.0:
+ resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-serializer@25.5.0:
- resolution: {integrity: sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==}
- engines: {node: '>= 8.3'}
+ jest-runtime@29.7.0:
+ resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-snapshot@25.5.1:
- resolution: {integrity: sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==}
- engines: {node: '>= 8.3'}
+ 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@25.5.0:
- resolution: {integrity: sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==}
- engines: {node: '>= 8.3'}
+ jest-util@29.7.0:
+ resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
jest-util@30.2.0:
resolution: {integrity: sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-validate@25.5.0:
- resolution: {integrity: sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==}
- engines: {node: '>= 8.3'}
-
- jest-watch-typeahead@0.5.0:
- resolution: {integrity: sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==}
+ 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@25.5.0:
- resolution: {integrity: sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==}
- engines: {node: '>= 8.3'}
+ 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@24.9.0:
- resolution: {integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==}
- engines: {node: '>= 6'}
-
- jest-worker@25.5.0:
- resolution: {integrity: sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==}
- engines: {node: '>= 8.3'}
+ jest-worker@29.7.0:
+ resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest@25.5.4:
- resolution: {integrity: sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==}
- engines: {node: '>= 8.3'}
+ 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
- jiti@1.21.6:
- resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ jiti@2.6.1:
+ resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
- jpjs@1.2.1:
- resolution: {integrity: sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==}
-
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- js-yaml@3.14.1:
- resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ js-yaml@3.14.2:
+ resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==}
hasBin: true
- jsbn@0.1.1:
- resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
-
- jsdom@15.2.1:
- resolution: {integrity: sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==}
- engines: {node: '>=8'}
- peerDependencies:
- canvas: ^2.5.0
- peerDependenciesMeta:
- canvas:
- optional: true
-
- jsesc@0.5.0:
- resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
- jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
hasBin: true
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- json-schema@0.4.0:
- resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
-
json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- json-stringify-safe@5.0.1:
- resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
-
- json5@1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
- hasBin: true
-
json5@2.2.3:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+
jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
- jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
-
- jsprim@1.4.2:
- resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
- engines: {node: '>=0.6.0'}
-
- jsx-ast-utils@3.3.5:
- resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
- engines: {node: '>=4.0'}
-
- 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'}
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
kleur@3.0.3:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
- language-subtag-registry@0.3.23:
- resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
-
- language-tags@1.0.9:
- resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
- engines: {node: '>=0.10'}
-
leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
- levn@0.3.0:
- resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==}
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
- engines: {node: '>=14'}
-
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
@@ -2772,8 +1705,9 @@ packages:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
engines: {node: '>=8'}
- lodash.debounce@4.0.8:
- resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
@@ -2781,39 +1715,14 @@ packages:
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- lodash.sortby@4.7.0:
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
-
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
-
- log-symbols@3.0.0:
- resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==}
- engines: {node: '>=8'}
-
- log-update@2.3.0:
- resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==}
- engines: {node: '>=4'}
-
- lolex@5.1.2:
- resolution: {integrity: sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==}
-
- loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
-
- lower-case@2.0.2:
- resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ lodash.startcase@4.4.0:
+ resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- magic-string@0.25.9:
- resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
-
- make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
@@ -2825,24 +1734,16 @@ 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-visit@1.0.0:
- resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==}
- engines: {node: '>=0.10.0'}
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- 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'}
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
@@ -2856,10 +1757,6 @@ packages:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
- mimic-fn@1.2.0:
- resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
- engines: {node: '>=4'}
-
mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
@@ -2867,191 +1764,124 @@ packages:
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- mixin-deep@1.3.2:
- resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
- engines: {node: '>=0.10.0'}
+ minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+
+ minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+
+ minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
- mkdirp@0.5.6:
- resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
hasBin: true
+ mlly@1.8.0:
+ resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
+
mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
- 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==}
- mute-stream@0.0.8:
- resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
-
nanoid-dictionary@4.3.0:
resolution: {integrity: sha512-Xw1+/QnRGWO1KJ0rLfU1xR85qXmAHyLbE3TUkklu9gOIDburP6CsUnLmTaNECGpBh5SHb2uPFmx0VT8UPyoeyw==}
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- nanoid@5.0.7:
- resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==}
- engines: {node: ^18 || >=20}
- hasBin: true
-
- nanomatch@1.2.13:
- resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
- engines: {node: '>=0.10.0'}
-
- nanospinner@1.1.0:
- resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==}
-
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- nice-try@1.0.5:
- resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
+ neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
- no-case@3.0.4:
- resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ node-fetch-native@1.6.7:
+ resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
node-int64@0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
- node-notifier@6.0.0:
- resolution: {integrity: sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==}
-
- node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
-
- normalize-package-data@2.5.0:
- resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
-
- normalize-path@2.1.1:
- resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==}
- engines: {node: '>=0.10.0'}
+ node-releases@2.0.27:
+ resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
- 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.12:
- resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==}
+ nypm@0.5.4:
+ resolution: {integrity: sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==}
+ engines: {node: ^14.16.0 || >=16.10.0}
+ hasBin: true
- oauth-sign@0.9.0:
- resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==}
+ ohash@2.0.11:
+ resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- object-copy@0.1.0:
- resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==}
- engines: {node: '>=0.10.0'}
-
- object-inspect@1.13.2:
- resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
- engines: {node: '>= 0.4'}
-
- object-is@1.1.6:
- resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
- engines: {node: '>= 0.4'}
-
- object-keys@1.1.1:
- 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.entries@1.1.8:
- resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
- engines: {node: '>= 0.4'}
-
- object.fromentries@2.0.8:
- resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
- engines: {node: '>= 0.4'}
-
- object.groupby@1.0.3:
- resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
- engines: {node: '>= 0.4'}
-
- object.pick@1.3.0:
- resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
- engines: {node: '>=0.10.0'}
-
- object.values@1.2.0:
- resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
- engines: {node: '>= 0.4'}
-
- once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
-
- onetime@2.0.1:
- resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
- engines: {node: '>=4'}
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
onetime@5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
- optionator@0.8.3:
- resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
- ora@4.1.1:
- resolution: {integrity: sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==}
- engines: {node: '>=8'}
-
- os-tmpdir@1.0.2:
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
- engines: {node: '>=0.10.0'}
-
- p-each-series@2.2.0:
- resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==}
- engines: {node: '>=8'}
-
- p-finally@1.0.0:
- resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
- engines: {node: '>=4'}
+ outdent@0.5.0:
+ resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
- p-finally@2.0.1:
- resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==}
+ p-filter@2.1.0:
+ resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
engines: {node: '>=8'}
p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ p-map@2.1.0:
+ resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
+ engines: {node: '>=6'}
+
p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
+ package-manager-detector@0.2.11:
+ resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==}
+
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -3060,16 +1890,6 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
- parse5@5.1.0:
- resolution: {integrity: sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==}
-
- pascal-case@3.1.2:
- resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
-
- pascalcase@0.1.1:
- resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==}
- engines: {node: '>=0.10.0'}
-
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
@@ -3078,10 +1898,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'}
@@ -3093,14 +1909,11 @@ packages:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
- performance-now@2.1.0:
- resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
- picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
-
- picocolors@1.1.0:
- resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -3109,193 +1922,85 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
- picomatch@4.0.2:
- resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+
+ pirates@4.0.7:
+ resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
engines: {node: '>= 6'}
pkg-dir@4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
- pn@1.1.0:
- resolution: {integrity: sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==}
-
- 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'}
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
- prelude-ls@1.1.2:
- resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prettier-linter-helpers@1.0.0:
- resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
- engines: {node: '>=6.0.0'}
+ prettier@2.8.8:
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
- prettier@1.19.1:
- resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==}
- engines: {node: '>=4'}
+ prettier@3.8.1:
+ resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
+ engines: {node: '>=14'}
hasBin: true
- pretty-format@25.5.0:
- resolution: {integrity: sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==}
- engines: {node: '>= 8.3'}
+ pretty-format@29.7.0:
+ resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
pretty-format@30.2.0:
resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- progress-estimator@0.2.2:
- resolution: {integrity: sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==}
-
- progress@2.0.3:
- resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
- engines: {node: '>=0.4.0'}
-
prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
- prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
-
- property-expr@2.0.6:
- resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==}
-
proxy-from-env@1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
- psl@1.9.0:
- resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
-
- pump@3.0.0:
- resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
-
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- qs@6.5.3:
- resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
- engines: {node: '>=0.6'}
+ pure-rand@6.1.0:
+ resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
- randombytes@2.1.0:
- resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ quansync@0.2.11:
+ resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==}
- react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ rc9@2.1.2:
+ resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
- read-pkg-up@7.0.1:
- resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
- engines: {node: '>=8'}
-
- read-pkg@5.2.0:
- resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
- engines: {node: '>=8'}
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
- realpath-native@2.0.0:
- resolution: {integrity: sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==}
- engines: {node: '>=8'}
-
- rechoir@0.6.2:
- resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
- engines: {node: '>= 0.10'}
-
- reflect.getprototypeof@1.0.6:
- resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
- engines: {node: '>= 0.4'}
-
- regenerate-unicode-properties@10.1.1:
- resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
- engines: {node: '>=4'}
-
- regenerate@1.4.2:
- resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
-
- regenerator-runtime@0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
-
- regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
-
- regenerator-transform@0.15.2:
- resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
-
- 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'}
-
- regexpp@2.0.1:
- resolution: {integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==}
- engines: {node: '>=6.5.0'}
-
- regexpp@3.2.0:
- resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
- engines: {node: '>=8'}
-
- regexpu-core@5.3.2:
- resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
- engines: {node: '>=4'}
-
- regjsparser@0.9.1:
- resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
- hasBin: true
-
- 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'}
-
- request-promise-core@1.1.4:
- resolution: {integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==}
- engines: {node: '>=0.10.0'}
- peerDependencies:
- request: ^2.34
-
- request-promise-native@1.0.9:
- resolution: {integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==}
- engines: {node: '>=0.12.0'}
- deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
- peerDependencies:
- request: ^2.34
+ read-yaml-file@1.1.0:
+ resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
+ engines: {node: '>=6'}
- request@2.88.2:
- resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
- engines: {node: '>= 6'}
- deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
- require-main-filename@2.0.0:
- resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
-
resolve-cwd@3.0.0:
resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
engines: {node: '>=8'}
@@ -3308,328 +2013,93 @@ packages:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
- resolve-url@0.2.1:
- resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==}
- deprecated: https://github.com/lydell/resolve-url#deprecated
-
- resolve@1.1.7:
- resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==}
-
- resolve@1.17.0:
- resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==}
-
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
-
- resolve@2.0.0-next.5:
- resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
- hasBin: true
-
- restore-cursor@2.0.0:
- resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
- engines: {node: '>=4'}
-
- restore-cursor@3.1.0:
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
- engines: {node: '>=8'}
-
- ret@0.1.15:
- resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
- engines: {node: '>=0.12'}
-
- rimraf@2.6.3:
- resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
+ resolve.exports@2.0.3:
+ resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==}
+ engines: {node: '>=10'}
- rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
+ resolve@1.22.11:
+ resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
+ engines: {node: '>= 0.4'}
hasBin: true
- rollup-plugin-sourcemaps@0.6.3:
- resolution: {integrity: sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- '@types/node': '>=10.0.0'
- rollup: '>=0.31.2'
- peerDependenciesMeta:
- '@types/node':
- optional: true
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rollup-plugin-terser@5.3.1:
- resolution: {integrity: sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==}
- deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
+ rollup-plugin-dts@6.3.0:
+ resolution: {integrity: sha512-d0UrqxYd8KyZ6i3M2Nx7WOMy708qsV/7fTHMHxCMCBOAe3V/U7OMPu5GkX8hC+cmkHhzGnfeYongl1IgiooddA==}
+ engines: {node: '>=16'}
peerDependencies:
- rollup: '>=0.66.0 <3'
+ rollup: ^3.29.4 || ^4
+ typescript: ^4.5 || ^5.0
- rollup-plugin-typescript2@0.27.3:
- resolution: {integrity: sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==}
- peerDependencies:
- rollup: '>=1.26.3'
- typescript: '>=2.4.0'
-
- rollup-pluginutils@2.8.2:
- resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
-
- rollup@1.32.1:
- resolution: {integrity: sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==}
+ rollup@4.57.1:
+ resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
- rsvp@4.8.5:
- resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==}
- engines: {node: 6.* || >= 7.*}
-
- run-async@2.4.1:
- resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
- engines: {node: '>=0.12.0'}
-
- rxjs@6.6.7:
- resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
- engines: {npm: '>=2.0.0'}
-
- sade@1.8.1:
- 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.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'}
-
- safe-regex@1.1.0:
- resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==}
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
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@3.1.11:
- resolution: {integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==}
- engines: {node: '>=8'}
-
- semver@5.7.2:
- resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
- hasBin: true
-
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- semver@7.6.2:
- resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
+ semver@7.7.4:
+ resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
- serialize-javascript@4.0.0:
- resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
-
- set-blocking@2.0.0:
- resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
-
- 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'}
-
- set-value@2.0.1:
- resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
- engines: {node: '>=0.10.0'}
-
- shebang-command@1.2.0:
- resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
- engines: {node: '>=0.10.0'}
-
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
- shebang-regex@1.0.0:
- resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
- engines: {node: '>=0.10.0'}
-
shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shelljs@0.8.5:
- resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
- engines: {node: '>=4'}
- hasBin: true
-
- shellwords@0.1.1:
- resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==}
-
- side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
- engines: {node: '>= 0.4'}
-
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'}
+
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- size-limit@11.1.5:
- resolution: {integrity: sha512-dtw/Tcm+9aonYySPG6wQCe1BwogK5HRGSrSqr0zXGfKtynJGvKAsyHCTGxdphFEHjHRoHFWua3D3zqYLUVVIig==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
-
slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
- slice-ansi@2.1.0:
- resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==}
- engines: {node: '>=6'}
-
- 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-resolve@0.6.0:
- resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==}
- deprecated: See https://github.com/lydell/source-map-resolve#deprecated
-
- 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'}
+ source-map-support@0.5.13:
+ resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
- source-map@0.7.4:
- resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
- engines: {node: '>= 8'}
-
- sourcemap-codec@1.4.8:
- resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
- deprecated: Please use @jridgewell/sourcemap-codec instead
-
- spdx-correct@3.2.0:
- resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
-
- spdx-exceptions@2.5.0:
- resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
-
- spdx-expression-parse@3.0.1:
- resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
-
- spdx-license-ids@3.0.18:
- resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==}
-
- split-string@3.1.0:
- resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
- engines: {node: '>=0.10.0'}
+ spawndamnit@3.0.1:
+ resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==}
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- sshpk@1.18.0:
- resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
- engines: {node: '>=0.10.0'}
- hasBin: true
-
- stack-utils@1.0.5:
- resolution: {integrity: sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==}
- engines: {node: '>=8'}
-
stack-utils@2.0.6:
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
engines: {node: '>=10'}
- static-extend@0.1.2:
- resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==}
- engines: {node: '>=0.10.0'}
-
- stealthy-require@1.1.1:
- resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==}
- engines: {node: '>=0.10.0'}
-
- stop-iteration-iterator@1.0.0:
- resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
- engines: {node: '>= 0.4'}
-
- string-length@3.1.0:
- resolution: {integrity: sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==}
- engines: {node: '>=8'}
-
- string-width@2.1.1:
- resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
- engines: {node: '>=4'}
-
- string-width@3.1.0:
- resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==}
- engines: {node: '>=6'}
+ string-length@4.0.2:
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+ engines: {node: '>=10'}
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
- string.prototype.includes@2.0.0:
- resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==}
-
- string.prototype.matchall@4.0.11:
- resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
- engines: {node: '>= 0.4'}
-
- string.prototype.repeat@1.0.0:
- resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
-
- 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'}
-
- strip-ansi@4.0.0:
- resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==}
- engines: {node: '>=4'}
-
- strip-ansi@5.2.0:
- resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
- engines: {node: '>=6'}
-
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -3642,10 +2112,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'}
@@ -3654,145 +2120,86 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
- supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
-
- supports-color@6.1.0:
- resolution: {integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==}
- engines: {node: '>=6'}
-
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
- supports-hyperlinks@2.3.0:
- resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
- engines: {node: '>=8'}
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
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==}
-
- table@5.4.6:
- resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==}
- engines: {node: '>=6.0.0'}
+ tar@6.2.1:
+ resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
+ engines: {node: '>=10'}
+ deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
- terminal-link@2.1.1:
- resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
+ term-size@2.2.1:
+ resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
engines: {node: '>=8'}
- terser@4.8.1:
- resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
test-exclude@6.0.0:
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
engines: {node: '>=8'}
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
-
- throat@5.0.0:
- resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==}
+ tiny-conventional-commits-parser@0.0.1:
+ resolution: {integrity: sha512-N5+AZWdBeHNSgTIaxvx0+9mFrnW4H1BbjQ84H7i3TuWSkno8Hju886hLaHZhE/hYEKrfrfl/uHurqpZJHDuYGQ==}
- through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
- tiny-case@1.0.3:
- resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==}
-
- tiny-glob@0.2.9:
- resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
-
- tinyglobby@0.2.6:
- resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==}
+ tinyglobby@0.2.15:
+ resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
- tmp@0.0.33:
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
- engines: {node: '>=0.6.0'}
-
tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
- to-fast-properties@2.0.0:
- 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'}
-
- toposort@2.0.2:
- resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==}
-
- tough-cookie@2.5.0:
- resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
- engines: {node: '>=0.8'}
-
- tough-cookie@3.0.1:
- resolution: {integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==}
- engines: {node: '>=6'}
-
- tr46@1.0.1:
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+ ts-api-utils@2.4.0:
+ resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
- ts-jest@25.5.1:
- resolution: {integrity: sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==}
- engines: {node: '>= 8'}
+ ts-jest@29.4.6:
+ resolution: {integrity: sha512-fSpWtOO/1AjSNQguk43hb/JCo16oJDnMJf3CdEGNkqsEX3t0KX96xvyX1D7PfLCpVoKu4MfVrqUkFyblYoY4lA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
- jest: '>=25 <26'
- typescript: '>=3.4 <4.0'
+ '@babel/core': '>=7.0.0-beta.0 <8'
+ '@jest/transform': ^29.0.0 || ^30.0.0
+ '@jest/types': ^29.0.0 || ^30.0.0
+ babel-jest: ^29.0.0 || ^30.0.0
+ esbuild: '*'
+ jest: ^29.0.0 || ^30.0.0
+ jest-util: ^29.0.0 || ^30.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
+ jest-util:
+ optional: true
- tsconfig-paths@3.15.0:
- resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- tsdx@0.14.1:
- resolution: {integrity: sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==}
- engines: {node: '>=10'}
- hasBin: true
-
- tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
-
- tslib@2.0.1:
- resolution: {integrity: sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==}
-
- tslib@2.7.0:
- resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
-
- 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'
-
- tunnel-agent@0.6.0:
- resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
-
- tweetnacl@0.14.5:
- resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
-
- type-check@0.3.2:
- resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
type-detect@4.0.8:
@@ -3803,87 +2210,32 @@ packages:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'}
- type-fest@0.6.0:
- resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
- engines: {node: '>=8'}
-
- type-fest@0.8.1:
- resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
- engines: {node: '>=8'}
-
- type-fest@2.19.0:
- resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
- engines: {node: '>=12.20'}
-
- 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-to-buffer@3.1.5:
- resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+ type-fest@4.41.0:
+ resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
+ engines: {node: '>=16'}
- typescript@3.9.10:
- resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==}
- engines: {node: '>=4.2.0'}
- hasBin: true
-
- typescript@5.6.2:
- resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
- unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
-
- undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
-
- unicode-canonical-property-names-ecmascript@2.0.0:
- resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
- engines: {node: '>=4'}
-
- unicode-match-property-ecmascript@2.0.0:
- resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
- engines: {node: '>=4'}
-
- unicode-match-property-value-ecmascript@2.1.0:
- resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
- engines: {node: '>=4'}
+ ufo@1.6.3:
+ resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==}
- unicode-property-aliases-ecmascript@2.1.0:
- resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
- engines: {node: '>=4'}
+ uglify-js@3.19.3:
+ resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
- union-value@1.0.1:
- resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
- engines: {node: '>=0.10.0'}
+ undici-types@7.16.0:
+ resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
universalify@0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
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.1.0:
- resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
+ update-browserslist-db@1.2.3:
+ resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -3891,80 +2243,13 @@ 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
-
- use@3.1.1:
- resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==}
- engines: {node: '>=0.10.0'}
-
- uuid@3.4.0:
- resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
- deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
- hasBin: true
-
- v8-compile-cache@2.4.0:
- resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
-
- v8-to-istanbul@4.1.4:
- resolution: {integrity: sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==}
- engines: {node: 8.x.x || >=10.10.0}
-
- validate-npm-package-license@3.0.4:
- resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
-
- verror@1.10.0:
- resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
- engines: {'0': node >=0.6.0}
-
- 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@1.1.2:
- resolution: {integrity: sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==}
+ v8-to-istanbul@9.3.0:
+ resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
+ engines: {node: '>=10.12.0'}
walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
- wcwidth@1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
-
- webidl-conversions@4.0.2:
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
-
- 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@7.1.0:
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
-
- which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
-
- which-builtin-type@1.1.3:
- resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
- engines: {node: '>= 0.4'}
-
- which-collection@1.0.2:
- resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
- engines: {node: '>= 0.4'}
-
- which-module@2.0.1:
- resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
-
- which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
- engines: {node: '>= 0.4'}
-
- which@1.3.1:
- resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
- hasBin: true
-
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -3974,74 +2259,46 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
- wrap-ansi@3.0.1:
- resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==}
- engines: {node: '>=4'}
+ wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
- wrap-ansi@6.2.0:
- resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
- engines: {node: '>=8'}
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
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==}
-
- write@1.0.3:
- resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==}
- engines: {node: '>=4'}
-
- ws@7.5.10:
- resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
- 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==}
+ 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}
- xmlchars@2.2.0:
- resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
-
- y18n@4.0.3:
- resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
-
- yargs-parser@18.1.3:
- resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
- engines: {node: '>=6'}
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- yargs@15.4.1:
- resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
- engines: {node: '>=8'}
+ yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
- yup@1.4.0:
- resolution: {integrity: sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==}
+ yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
-snapshots:
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
- '@ampproject/remapping@2.3.0':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
+ zod@4.3.6:
+ resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
- '@babel/code-frame@7.24.7':
- dependencies:
- '@babel/highlight': 7.24.7
- picocolors: 1.0.1
+snapshots:
'@babel/code-frame@7.29.0':
dependencies:
@@ -4049,1182 +2306,799 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.24.9': {}
+ '@babel/compat-data@7.29.0': {}
- '@babel/core@7.24.9':
+ '@babel/core@7.29.0':
dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.24.9
- '@babel/helper-compilation-targets': 7.24.8
- '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9)
- '@babel/helpers': 7.24.8
- '@babel/parser': 7.24.8
- '@babel/template': 7.24.7
- '@babel/traverse': 7.24.8
- '@babel/types': 7.24.9
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+ '@babel/helpers': 7.28.6
+ '@babel/parser': 7.29.0
+ '@babel/template': 7.28.6
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ '@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0
- debug: 4.3.5
+ debug: 4.4.3
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.24.9':
- dependencies:
- '@babel/types': 7.24.9
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
-
- '@babel/helper-annotate-as-pure@7.24.7':
+ '@babel/generator@7.29.1':
dependencies:
- '@babel/types': 7.24.9
-
- '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7':
- dependencies:
- '@babel/traverse': 7.24.8
- '@babel/types': 7.24.9
- transitivePeerDependencies:
- - supports-color
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
- '@babel/helper-compilation-targets@7.24.8':
+ '@babel/helper-compilation-targets@7.28.6':
dependencies:
- '@babel/compat-data': 7.24.9
- '@babel/helper-validator-option': 7.24.8
- browserslist: 4.23.2
+ '@babel/compat-data': 7.29.0
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.28.1
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.24.8(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-environment-visitor': 7.24.7
- '@babel/helper-function-name': 7.24.7
- '@babel/helper-member-expression-to-functions': 7.24.8
- '@babel/helper-optimise-call-expression': 7.24.7
- '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9)
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
- '@babel/helper-split-export-declaration': 7.24.7
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-annotate-as-pure': 7.24.7
- regexpu-core: 5.3.2
- semver: 6.3.1
+ '@babel/helper-globals@7.28.0': {}
- '@babel/helper-define-polyfill-provider@0.0.3(@babel/core@7.24.9)':
+ '@babel/helper-module-imports@7.28.6':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-compilation-targets': 7.24.8
- '@babel/helper-module-imports': 7.24.7
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/traverse': 7.24.8
- debug: 4.3.5
- lodash.debounce: 4.0.8
- resolve: 1.22.8
- semver: 6.3.1
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
transitivePeerDependencies:
- supports-color
- '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.9)':
+ '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-compilation-targets': 7.24.8
- '@babel/helper-plugin-utils': 7.24.8
- debug: 4.3.5
- lodash.debounce: 4.0.8
- resolve: 1.22.8
+ '@babel/core': 7.29.0
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/helper-validator-identifier': 7.28.5
+ '@babel/traverse': 7.29.0
transitivePeerDependencies:
- supports-color
- '@babel/helper-environment-visitor@7.24.7':
- dependencies:
- '@babel/types': 7.24.9
+ '@babel/helper-plugin-utils@7.28.6': {}
- '@babel/helper-function-name@7.24.7':
- dependencies:
- '@babel/template': 7.24.7
- '@babel/types': 7.24.9
+ '@babel/helper-string-parser@7.27.1': {}
- '@babel/helper-hoist-variables@7.24.7':
- dependencies:
- '@babel/types': 7.24.9
+ '@babel/helper-validator-identifier@7.28.5': {}
- '@babel/helper-member-expression-to-functions@7.24.8':
- dependencies:
- '@babel/traverse': 7.24.8
- '@babel/types': 7.24.9
- transitivePeerDependencies:
- - supports-color
+ '@babel/helper-validator-option@7.27.1': {}
- '@babel/helper-module-imports@7.24.7':
+ '@babel/helpers@7.28.6':
dependencies:
- '@babel/traverse': 7.24.8
- '@babel/types': 7.24.9
- transitivePeerDependencies:
- - supports-color
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
- '@babel/helper-module-transforms@7.24.9(@babel/core@7.24.9)':
+ '@babel/parser@7.29.0':
dependencies:
- '@babel/core': 7.24.9
- '@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/types': 7.29.0
- '@babel/helper-optimise-call-expression@7.24.7':
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.0)':
dependencies:
- '@babel/types': 7.24.9
-
- '@babel/helper-plugin-utils@7.24.8': {}
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-environment-visitor': 7.24.7
- '@babel/helper-wrap-function': 7.24.7
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-environment-visitor': 7.24.7
- '@babel/helper-member-expression-to-functions': 7.24.8
- '@babel/helper-optimise-call-expression': 7.24.7
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-simple-access@7.24.7':
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.0)':
dependencies:
- '@babel/traverse': 7.24.8
- '@babel/types': 7.24.9
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers@7.24.7':
+ '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)':
dependencies:
- '@babel/traverse': 7.24.8
- '@babel/types': 7.24.9
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-split-export-declaration@7.24.7':
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.0)':
dependencies:
- '@babel/types': 7.24.9
-
- '@babel/helper-string-parser@7.24.8': {}
-
- '@babel/helper-validator-identifier@7.24.7': {}
-
- '@babel/helper-validator-identifier@7.28.5': {}
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-validator-option@7.24.8': {}
-
- '@babel/helper-wrap-function@7.24.7':
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.0)':
dependencies:
- '@babel/helper-function-name': 7.24.7
- '@babel/template': 7.24.7
- '@babel/traverse': 7.24.8
- '@babel/types': 7.24.9
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/helpers@7.24.8':
+ '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)':
dependencies:
- '@babel/template': 7.24.7
- '@babel/types': 7.24.9
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/highlight@7.24.7':
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.0)':
dependencies:
- '@babel/helper-validator-identifier': 7.24.7
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/parser@7.24.8':
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.0)':
dependencies:
- '@babel/types': 7.24.9
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-environment-visitor': 7.24.7
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
- '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9)
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-environment-visitor': 7.24.7
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.9)':
+ '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/runtime@7.28.6': {}
- '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.9)':
+ '@babel/template@7.28.6':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/code-frame': 7.29.0
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
- '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.9)':
+ '@babel/traverse@7.29.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.29.0
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
- '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.9)':
+ '@babel/types@7.29.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
- '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@bcoe/v8-coverage@0.2.3': {}
- '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/apply-release-plan@7.0.14':
+ dependencies:
+ '@changesets/config': 3.1.2
+ '@changesets/get-version-range-type': 0.4.0
+ '@changesets/git': 3.0.4
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ detect-indent: 6.1.0
+ fs-extra: 7.0.1
+ lodash.startcase: 4.4.0
+ outdent: 0.5.0
+ prettier: 2.8.8
+ resolve-from: 5.0.0
+ semver: 7.7.4
+
+ '@changesets/assemble-release-plan@6.0.9':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ semver: 7.7.4
+
+ '@changesets/changelog-git@0.2.1':
+ dependencies:
+ '@changesets/types': 6.1.0
+
+ '@changesets/cli@2.29.8(@types/node@25.2.3)':
+ dependencies:
+ '@changesets/apply-release-plan': 7.0.14
+ '@changesets/assemble-release-plan': 6.0.9
+ '@changesets/changelog-git': 0.2.1
+ '@changesets/config': 3.1.2
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/get-release-plan': 4.0.14
+ '@changesets/git': 3.0.4
+ '@changesets/logger': 0.1.1
+ '@changesets/pre': 2.0.2
+ '@changesets/read': 0.6.6
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@changesets/write': 0.4.0
+ '@inquirer/external-editor': 1.0.3(@types/node@25.2.3)
+ '@manypkg/get-packages': 1.1.3
+ ansi-colors: 4.1.3
+ ci-info: 3.9.0
+ enquirer: 2.4.1
+ fs-extra: 7.0.1
+ mri: 1.2.0
+ p-limit: 2.3.0
+ package-manager-detector: 0.2.11
+ picocolors: 1.1.1
+ resolve-from: 5.0.0
+ semver: 7.7.4
+ spawndamnit: 3.0.1
+ term-size: 2.2.1
+ transitivePeerDependencies:
+ - '@types/node'
- '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.9)':
+ '@changesets/config@3.1.2':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/logger': 0.1.1
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ fs-extra: 7.0.1
+ micromatch: 4.0.8
- '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.9)':
+ '@changesets/errors@0.2.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ extendable-error: 0.1.7
- '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.9)':
+ '@changesets/get-dependents-graph@2.1.3':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ picocolors: 1.1.1
+ semver: 7.7.4
- '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.9)':
+ '@changesets/get-release-plan@4.0.14':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/assemble-release-plan': 6.0.9
+ '@changesets/config': 3.1.2
+ '@changesets/pre': 2.0.2
+ '@changesets/read': 0.6.6
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
- '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/get-version-range-type@0.4.0': {}
- '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.9)':
+ '@changesets/git@3.0.4':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/errors': 0.2.0
+ '@manypkg/get-packages': 1.1.3
+ is-subdir: 1.2.0
+ micromatch: 4.0.8
+ spawndamnit: 3.0.1
- '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.9)':
+ '@changesets/logger@0.1.1':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ picocolors: 1.1.1
- '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.9)':
+ '@changesets/parse@0.4.2':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/types': 6.1.0
+ js-yaml: 4.1.1
- '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.9)':
+ '@changesets/pre@2.0.2':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/errors': 0.2.0
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ fs-extra: 7.0.1
- '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.9)':
+ '@changesets/read@0.6.6':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/git': 3.0.4
+ '@changesets/logger': 0.1.1
+ '@changesets/parse': 0.4.2
+ '@changesets/types': 6.1.0
+ fs-extra: 7.0.1
+ p-filter: 2.1.0
+ picocolors: 1.1.1
- '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.9)':
+ '@changesets/should-skip-package@0.1.2':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
- '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/types@4.1.0': {}
+
+ '@changesets/types@6.1.0': {}
- '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.9)':
+ '@changesets/write@0.4.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@changesets/types': 6.1.0
+ fs-extra: 7.0.1
+ human-id: 4.1.3
+ prettier: 2.8.8
- '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.9)':
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-environment-visitor': 7.24.7
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9)
- transitivePeerDependencies:
- - supports-color
+ eslint: 9.39.2(jiti@2.6.1)
+ eslint-visitor-keys: 3.4.3
- '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.9)':
+ '@eslint-community/regexpp@4.12.2': {}
+
+ '@eslint/config-array@0.21.1':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-module-imports': 7.24.7
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.9)
+ '@eslint/object-schema': 2.1.7
+ debug: 4.4.3
+ minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.9)':
+ '@eslint/config-helpers@0.4.2':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@eslint/core': 0.17.0
- '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.9)':
+ '@eslint/core@0.17.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@types/json-schema': 7.0.15
- '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.9)':
+ '@eslint/eslintrc@3.3.3':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
+ ajv: 6.12.6
+ debug: 4.4.3
+ espree: 10.4.0
+ globals: 14.0.0
+ ignore: 5.3.2
+ import-fresh: 3.3.1
+ js-yaml: 4.1.1
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9)
- transitivePeerDependencies:
- - supports-color
+ '@eslint/js@9.39.2': {}
- '@babel/plugin-transform-classes@7.24.8(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-compilation-targets': 7.24.8
- '@babel/helper-environment-visitor': 7.24.7
- '@babel/helper-function-name': 7.24.7
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9)
- '@babel/helper-split-export-declaration': 7.24.7
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
+ '@eslint/object-schema@2.1.7': {}
- '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.9)':
+ '@eslint/plugin-kit@0.4.1':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/template': 7.24.7
+ '@eslint/core': 0.17.0
+ levn: 0.4.1
- '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@humanfs/core@0.19.1': {}
- '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.9)':
+ '@humanfs/node@0.16.7':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.4.3
- '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/retry@0.4.3': {}
- '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.9)':
+ '@inquirer/external-editor@1.0.3(@types/node@25.2.3)':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9)
+ chardet: 2.1.1
+ iconv-lite: 0.7.2
+ optionalDependencies:
+ '@types/node': 25.2.3
- '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.9)':
+ '@istanbuljs/load-nyc-config@1.1.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7
- '@babel/helper-plugin-utils': 7.24.8
- transitivePeerDependencies:
- - supports-color
+ camelcase: 5.3.1
+ find-up: 4.1.0
+ get-package-type: 0.1.0
+ js-yaml: 3.14.2
+ resolve-from: 5.0.0
+
+ '@istanbuljs/schema@0.1.3': {}
- '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.9)':
+ '@jest/console@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9)
+ '@jest/types': 29.6.3
+ '@types/node': 25.2.3
+ chalk: 4.1.2
+ jest-message-util: 29.7.0
+ jest-util: 29.7.0
+ slash: 3.0.0
- '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.9)':
+ '@jest/core@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
+ '@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': 25.2.3
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ 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@25.2.3)
+ 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.8
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ strip-ansi: 6.0.1
transitivePeerDependencies:
+ - babel-plugin-macros
- supports-color
+ - ts-node
- '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-compilation-targets': 7.24.8
- '@babel/helper-function-name': 7.24.7
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9)
+ '@jest/diff-sequences@30.0.1': {}
- '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.9)':
+ '@jest/environment@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 25.2.3
+ jest-mock: 29.7.0
- '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.9)':
+ '@jest/expect-utils@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9)
+ jest-get-type: 29.6.3
- '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.9)':
+ '@jest/expect-utils@30.2.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@jest/get-type': 30.1.0
- '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.9)':
+ '@jest/expect@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
+ expect: 29.7.0
+ jest-snapshot: 29.7.0
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.24.9)':
+ '@jest/fake-timers@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-simple-access': 7.24.7
- transitivePeerDependencies:
- - supports-color
+ '@jest/types': 29.6.3
+ '@sinonjs/fake-timers': 10.3.0
+ '@types/node': 25.2.3
+ jest-message-util: 29.7.0
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
+
+ '@jest/get-type@30.1.0': {}
- '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.9)':
+ '@jest/globals@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-hoist-variables': 7.24.7
- '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-validator-identifier': 7.24.7
+ '@jest/environment': 29.7.0
+ '@jest/expect': 29.7.0
+ '@jest/types': 29.6.3
+ jest-mock: 29.7.0
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.9)':
+ '@jest/pattern@30.0.1':
+ dependencies:
+ '@types/node': 25.2.3
+ jest-regex-util: 30.0.1
+
+ '@jest/reporters@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
+ '@bcoe/v8-coverage': 0.2.3
+ '@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.31
+ '@types/node': 25.2.3
+ chalk: 4.1.2
+ collect-v8-coverage: 1.0.3
+ exit: 0.1.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-instrument: 6.0.3
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 4.0.1
+ istanbul-reports: 3.2.0
+ jest-message-util: 29.7.0
+ jest-util: 29.7.0
+ jest-worker: 29.7.0
+ slash: 3.0.0
+ string-length: 4.0.2
+ strip-ansi: 6.0.1
+ v8-to-istanbul: 9.3.0
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.9)':
+ '@jest/schemas@29.6.3':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
+ '@sinclair/typebox': 0.27.10
- '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.9)':
+ '@jest/schemas@30.0.5':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@sinclair/typebox': 0.34.48
- '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.9)':
+ '@jest/source-map@29.6.3':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9)
+ '@jridgewell/trace-mapping': 0.3.31
+ callsites: 3.1.0
+ graceful-fs: 4.2.11
- '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.9)':
+ '@jest/test-result@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9)
+ '@jest/console': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.6
+ collect-v8-coverage: 1.0.3
- '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.9)':
+ '@jest/test-sequencer@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-compilation-targets': 7.24.8
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9)
+ '@jest/test-result': 29.7.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.7.0
+ slash: 3.0.0
- '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.9)':
+ '@jest/transform@29.7.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9)
+ '@babel/core': 7.29.0
+ '@jest/types': 29.6.3
+ '@jridgewell/trace-mapping': 0.3.31
+ babel-plugin-istanbul: 6.1.1
+ chalk: 4.1.2
+ convert-source-map: 2.0.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.7.0
+ jest-regex-util: 29.6.3
+ jest-util: 29.7.0
+ micromatch: 4.0.8
+ pirates: 4.0.7
+ slash: 3.0.0
+ write-file-atomic: 4.0.2
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.9)':
+ '@jest/types@29.6.3':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9)
+ '@jest/schemas': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 25.2.3
+ '@types/yargs': 17.0.35
+ chalk: 4.1.2
- '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.24.9)':
+ '@jest/types@30.2.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9)
- transitivePeerDependencies:
- - supports-color
+ '@jest/pattern': 30.0.1
+ '@jest/schemas': 30.0.5
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 25.2.3
+ '@types/yargs': 17.0.35
+ chalk: 4.1.2
- '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.9)':
+ '@jridgewell/gen-mapping@0.3.13':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
- '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.9)':
+ '@jridgewell/remapping@2.3.5':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
- transitivePeerDependencies:
- - supports-color
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
- '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9)
- transitivePeerDependencies:
- - supports-color
+ '@jridgewell/resolve-uri@3.1.2': {}
- '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@jridgewell/sourcemap-codec@1.5.5': {}
- '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.9)':
+ '@jridgewell/trace-mapping@0.3.31':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- regenerator-transform: 0.15.2
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
- '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.9)':
+ '@manypkg/find-root@1.1.0':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/runtime': 7.28.6
+ '@types/node': 12.20.55
+ find-up: 4.1.0
+ fs-extra: 8.1.0
- '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.9)':
+ '@manypkg/get-packages@1.1.3':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.9)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9)
- '@babel/helper-plugin-utils': 7.24.8
-
- '@babel/preset-env@7.24.8(@babel/core@7.24.9)':
- dependencies:
- '@babel/compat-data': 7.24.9
- '@babel/core': 7.24.9
- '@babel/helper-compilation-targets': 7.24.8
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-validator-option': 7.24.8
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.9)
- '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-classes': 7.24.8(@babel/core@7.24.9)
- '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.24.9)
- '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9)
- '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9)
- '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.24.9)
- '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.9)
- '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.9)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.9)
- babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.9)
- babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.9)
- babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.9)
- core-js-compat: 3.37.1
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
+ '@babel/runtime': 7.28.6
+ '@changesets/types': 4.1.0
+ '@manypkg/find-root': 1.1.0
+ fs-extra: 8.1.0
+ globby: 11.1.0
+ read-yaml-file: 1.1.0
- '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.9)':
+ '@nodelib/fs.scandir@2.1.5':
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/types': 7.24.9
- esutils: 2.0.3
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
- '@babel/regjsgen@0.8.0': {}
+ '@nodelib/fs.stat@2.0.5': {}
- '@babel/runtime@7.24.8':
+ '@nodelib/fs.walk@1.2.8':
dependencies:
- regenerator-runtime: 0.14.1
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.20.1
- '@babel/template@7.24.7':
+ '@rollup/plugin-commonjs@28.0.9(rollup@4.57.1)':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/parser': 7.24.8
- '@babel/types': 7.24.9
+ '@rollup/pluginutils': 5.3.0(rollup@4.57.1)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ fdir: 6.5.0(picomatch@4.0.3)
+ is-reference: 1.2.1
+ magic-string: 0.30.21
+ picomatch: 4.0.3
+ optionalDependencies:
+ rollup: 4.57.1
- '@babel/traverse@7.24.8':
+ '@rollup/plugin-node-resolve@15.3.1(rollup@4.57.1)':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.24.9
- '@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.8
- '@babel/types': 7.24.9
- debug: 4.3.5
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
+ '@rollup/pluginutils': 5.3.0(rollup@4.57.1)
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-module: 1.0.0
+ resolve: 1.22.11
+ optionalDependencies:
+ rollup: 4.57.1
- '@babel/types@7.24.9':
+ '@rollup/plugin-typescript@12.3.0(rollup@4.57.1)(tslib@2.8.1)(typescript@5.9.3)':
dependencies:
- '@babel/helper-string-parser': 7.24.8
- '@babel/helper-validator-identifier': 7.24.7
- to-fast-properties: 2.0.0
-
- '@bcoe/v8-coverage@0.2.3': {}
+ '@rollup/pluginutils': 5.3.0(rollup@4.57.1)
+ resolve: 1.22.11
+ typescript: 5.9.3
+ optionalDependencies:
+ rollup: 4.57.1
+ tslib: 2.8.1
- '@cnakazawa/watch@1.0.4':
+ '@rollup/pluginutils@5.3.0(rollup@4.57.1)':
dependencies:
- exec-sh: 0.3.6
- minimist: 1.2.8
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+ optionalDependencies:
+ rollup: 4.57.1
- '@esbuild/aix-ppc64@0.23.1':
+ '@rollup/rollup-android-arm-eabi@4.57.1':
optional: true
- '@esbuild/android-arm64@0.23.1':
+ '@rollup/rollup-android-arm64@4.57.1':
optional: true
- '@esbuild/android-arm@0.23.1':
+ '@rollup/rollup-darwin-arm64@4.57.1':
optional: true
- '@esbuild/android-x64@0.23.1':
+ '@rollup/rollup-darwin-x64@4.57.1':
optional: true
- '@esbuild/darwin-arm64@0.23.1':
+ '@rollup/rollup-freebsd-arm64@4.57.1':
optional: true
- '@esbuild/darwin-x64@0.23.1':
+ '@rollup/rollup-freebsd-x64@4.57.1':
optional: true
- '@esbuild/freebsd-arm64@0.23.1':
+ '@rollup/rollup-linux-arm-gnueabihf@4.57.1':
optional: true
- '@esbuild/freebsd-x64@0.23.1':
+ '@rollup/rollup-linux-arm-musleabihf@4.57.1':
optional: true
- '@esbuild/linux-arm64@0.23.1':
+ '@rollup/rollup-linux-arm64-gnu@4.57.1':
optional: true
- '@esbuild/linux-arm@0.23.1':
+ '@rollup/rollup-linux-arm64-musl@4.57.1':
optional: true
- '@esbuild/linux-ia32@0.23.1':
+ '@rollup/rollup-linux-loong64-gnu@4.57.1':
optional: true
- '@esbuild/linux-loong64@0.23.1':
+ '@rollup/rollup-linux-loong64-musl@4.57.1':
optional: true
- '@esbuild/linux-mips64el@0.23.1':
+ '@rollup/rollup-linux-ppc64-gnu@4.57.1':
optional: true
- '@esbuild/linux-ppc64@0.23.1':
+ '@rollup/rollup-linux-ppc64-musl@4.57.1':
optional: true
- '@esbuild/linux-riscv64@0.23.1':
+ '@rollup/rollup-linux-riscv64-gnu@4.57.1':
optional: true
- '@esbuild/linux-s390x@0.23.1':
+ '@rollup/rollup-linux-riscv64-musl@4.57.1':
optional: true
- '@esbuild/linux-x64@0.23.1':
+ '@rollup/rollup-linux-s390x-gnu@4.57.1':
optional: true
- '@esbuild/netbsd-x64@0.23.1':
+ '@rollup/rollup-linux-x64-gnu@4.57.1':
optional: true
- '@esbuild/openbsd-arm64@0.23.1':
+ '@rollup/rollup-linux-x64-musl@4.57.1':
optional: true
- '@esbuild/openbsd-x64@0.23.1':
+ '@rollup/rollup-openbsd-x64@4.57.1':
optional: true
- '@esbuild/sunos-x64@0.23.1':
+ '@rollup/rollup-openharmony-arm64@4.57.1':
optional: true
- '@esbuild/win32-arm64@0.23.1':
+ '@rollup/rollup-win32-arm64-msvc@4.57.1':
optional: true
- '@esbuild/win32-ia32@0.23.1':
+ '@rollup/rollup-win32-ia32-msvc@4.57.1':
optional: true
- '@esbuild/win32-x64@0.23.1':
+ '@rollup/rollup-win32-x64-gnu@4.57.1':
optional: true
- '@istanbuljs/load-nyc-config@1.1.0':
- dependencies:
- camelcase: 5.3.1
- find-up: 4.1.0
- get-package-type: 0.1.0
- js-yaml: 3.14.1
- resolve-from: 5.0.0
-
- '@istanbuljs/schema@0.1.3': {}
-
- '@jest/console@25.5.0':
- dependencies:
- '@jest/types': 25.5.0
- chalk: 3.0.0
- jest-message-util: 25.5.0
- jest-util: 25.5.0
- slash: 3.0.0
-
- '@jest/core@25.5.4':
- dependencies:
- '@jest/console': 25.5.0
- '@jest/reporters': 25.5.1
- '@jest/test-result': 25.5.0
- '@jest/transform': 25.5.1
- '@jest/types': 25.5.0
- ansi-escapes: 4.3.2
- chalk: 3.0.0
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-changed-files: 25.5.0
- jest-config: 25.5.4
- jest-haste-map: 25.5.1
- jest-message-util: 25.5.0
- jest-regex-util: 25.2.6
- jest-resolve: 25.5.1
- jest-resolve-dependencies: 25.5.4
- jest-runner: 25.5.4
- jest-runtime: 25.5.4
- jest-snapshot: 25.5.1
- jest-util: 25.5.0
- jest-validate: 25.5.0
- jest-watcher: 25.5.0
- micromatch: 4.0.7
- p-each-series: 2.2.0
- realpath-native: 2.0.0
- rimraf: 3.0.2
- slash: 3.0.0
- strip-ansi: 6.0.1
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- '@jest/diff-sequences@30.0.1': {}
-
- '@jest/environment@25.5.0':
- dependencies:
- '@jest/fake-timers': 25.5.0
- '@jest/types': 25.5.0
- jest-mock: 25.5.0
-
- '@jest/expect-utils@30.2.0':
- dependencies:
- '@jest/get-type': 30.1.0
-
- '@jest/fake-timers@25.5.0':
- dependencies:
- '@jest/types': 25.5.0
- jest-message-util: 25.5.0
- jest-mock: 25.5.0
- jest-util: 25.5.0
- lolex: 5.1.2
-
- '@jest/get-type@30.1.0': {}
-
- '@jest/globals@25.5.2':
- dependencies:
- '@jest/environment': 25.5.0
- '@jest/types': 25.5.0
- expect: 25.5.0
-
- '@jest/pattern@30.0.1':
- dependencies:
- '@types/node': 20.14.10
- jest-regex-util: 30.0.1
-
- '@jest/reporters@25.5.1':
- dependencies:
- '@bcoe/v8-coverage': 0.2.3
- '@jest/console': 25.5.0
- '@jest/test-result': 25.5.0
- '@jest/transform': 25.5.1
- '@jest/types': 25.5.0
- chalk: 3.0.0
- 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-report: 3.0.1
- istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.1.7
- jest-haste-map: 25.5.1
- jest-resolve: 25.5.1
- jest-util: 25.5.0
- jest-worker: 25.5.0
- slash: 3.0.0
- source-map: 0.6.1
- string-length: 3.1.0
- terminal-link: 2.1.1
- v8-to-istanbul: 4.1.4
- optionalDependencies:
- node-notifier: 6.0.0
- transitivePeerDependencies:
- - supports-color
-
- '@jest/schemas@30.0.5':
- dependencies:
- '@sinclair/typebox': 0.34.48
-
- '@jest/source-map@25.5.0':
- dependencies:
- callsites: 3.1.0
- graceful-fs: 4.2.11
- source-map: 0.6.1
-
- '@jest/test-result@25.5.0':
- dependencies:
- '@jest/console': 25.5.0
- '@jest/types': 25.5.0
- '@types/istanbul-lib-coverage': 2.0.6
- collect-v8-coverage: 1.0.2
-
- '@jest/test-sequencer@25.5.4':
- dependencies:
- '@jest/test-result': 25.5.0
- graceful-fs: 4.2.11
- jest-haste-map: 25.5.1
- jest-runner: 25.5.4
- jest-runtime: 25.5.4
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- '@jest/transform@25.5.1':
- dependencies:
- '@babel/core': 7.24.9
- '@jest/types': 25.5.0
- babel-plugin-istanbul: 6.1.1
- chalk: 3.0.0
- convert-source-map: 1.9.0
- fast-json-stable-stringify: 2.1.0
- graceful-fs: 4.2.11
- jest-haste-map: 25.5.1
- jest-regex-util: 25.2.6
- jest-util: 25.5.0
- micromatch: 4.0.7
- pirates: 4.0.6
- realpath-native: 2.0.0
- slash: 3.0.0
- source-map: 0.6.1
- write-file-atomic: 3.0.3
- transitivePeerDependencies:
- - supports-color
-
- '@jest/types@25.5.0':
- dependencies:
- '@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-reports': 1.1.2
- '@types/yargs': 15.0.19
- chalk: 3.0.0
-
- '@jest/types@30.2.0':
- dependencies:
- '@jest/pattern': 30.0.1
- '@jest/schemas': 30.0.5
- '@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-reports': 3.0.4
- '@types/node': 20.14.10
- '@types/yargs': 17.0.35
- chalk: 4.1.2
-
- '@jridgewell/gen-mapping@0.3.5':
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/set-array@1.2.1': {}
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@jridgewell/trace-mapping@0.3.25':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@rollup/plugin-babel@5.3.1(@babel/core@7.24.9)(@types/babel__core@7.20.5)(rollup@1.32.1)':
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-module-imports': 7.24.7
- '@rollup/pluginutils': 3.1.0(rollup@1.32.1)
- rollup: 1.32.1
- optionalDependencies:
- '@types/babel__core': 7.20.5
- transitivePeerDependencies:
- - supports-color
-
- '@rollup/plugin-commonjs@11.1.0(rollup@1.32.1)':
- dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@1.32.1)
- commondir: 1.0.1
- estree-walker: 1.0.1
- glob: 7.2.3
- is-reference: 1.2.1
- magic-string: 0.25.9
- resolve: 1.22.8
- rollup: 1.32.1
-
- '@rollup/plugin-json@4.1.0(rollup@1.32.1)':
- dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@1.32.1)
- rollup: 1.32.1
-
- '@rollup/plugin-node-resolve@9.0.0(rollup@1.32.1)':
- dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@1.32.1)
- '@types/resolve': 1.17.1
- builtin-modules: 3.3.0
- deepmerge: 4.3.1
- is-module: 1.0.0
- resolve: 1.22.8
- rollup: 1.32.1
-
- '@rollup/plugin-replace@2.4.2(rollup@1.32.1)':
- dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@1.32.1)
- magic-string: 0.25.9
- rollup: 1.32.1
+ '@rollup/rollup-win32-x64-msvc@4.57.1':
+ optional: true
- '@rollup/pluginutils@3.1.0(rollup@1.32.1)':
- dependencies:
- '@types/estree': 0.0.39
- estree-walker: 1.0.1
- picomatch: 2.3.1
- rollup: 1.32.1
+ '@sinclair/typebox@0.27.10': {}
'@sinclair/typebox@0.34.48': {}
- '@sinonjs/commons@1.8.6':
+ '@sinonjs/commons@3.0.1':
dependencies:
type-detect: 4.0.8
- '@size-limit/esbuild@11.1.5(size-limit@11.1.5)':
- dependencies:
- esbuild: 0.23.1
- nanoid: 5.0.7
- size-limit: 11.1.5
-
- '@size-limit/file@11.1.5(size-limit@11.1.5)':
+ '@sinonjs/fake-timers@10.3.0':
dependencies:
- size-limit: 11.1.5
-
- '@size-limit/preset-small-lib@11.1.5(size-limit@11.1.5)':
- dependencies:
- '@size-limit/esbuild': 11.1.5(size-limit@11.1.5)
- '@size-limit/file': 11.1.5(size-limit@11.1.5)
- size-limit: 11.1.5
+ '@sinonjs/commons': 3.0.1
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.24.8
- '@babel/types': 7.24.9
- '@types/babel__generator': 7.6.8
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ '@types/babel__generator': 7.27.0
'@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.20.6
+ '@types/babel__traverse': 7.28.0
- '@types/babel__generator@7.6.8':
+ '@types/babel__generator@7.27.0':
dependencies:
- '@babel/types': 7.24.9
+ '@babel/types': 7.29.0
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.24.8
- '@babel/types': 7.24.9
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
- '@types/babel__traverse@7.20.6':
+ '@types/babel__traverse@7.28.0':
dependencies:
- '@babel/types': 7.24.9
+ '@babel/types': 7.29.0
- '@types/eslint-visitor-keys@1.0.0': {}
+ '@types/crypto-js@4.2.2': {}
- '@types/estree@0.0.39': {}
-
- '@types/estree@1.0.5': {}
+ '@types/estree@1.0.8': {}
'@types/graceful-fs@4.1.9':
dependencies:
- '@types/node': 20.14.10
+ '@types/node': 25.2.3
'@types/istanbul-lib-coverage@2.0.6': {}
@@ -5232,20 +3106,10 @@ snapshots:
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-reports@1.1.2':
- dependencies:
- '@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-lib-report': 3.0.3
-
'@types/istanbul-reports@3.0.4':
dependencies:
'@types/istanbul-lib-report': 3.0.3
- '@types/jest@25.2.3':
- dependencies:
- jest-diff: 25.5.0
- pretty-format: 25.5.0
-
'@types/jest@30.0.0':
dependencies:
expect: 30.2.0
@@ -5253,106 +3117,120 @@ snapshots:
'@types/json-schema@7.0.15': {}
- '@types/json5@0.0.29': {}
-
'@types/nanoid-dictionary@4.2.3': {}
- '@types/node@20.14.10':
- dependencies:
- undici-types: 5.26.5
-
- '@types/normalize-package-data@2.4.4': {}
+ '@types/node@12.20.55': {}
- '@types/parse-json@4.0.2': {}
-
- '@types/prettier@1.19.1': {}
-
- '@types/resolve@1.17.1':
+ '@types/node@25.2.3':
dependencies:
- '@types/node': 20.14.10
+ undici-types: 7.16.0
- '@types/stack-utils@1.0.1': {}
+ '@types/resolve@1.20.2': {}
'@types/stack-utils@2.0.3': {}
'@types/yargs-parser@21.0.3': {}
- '@types/yargs@15.0.19':
- dependencies:
- '@types/yargs-parser': 21.0.3
-
'@types/yargs@17.0.35':
dependencies:
'@types/yargs-parser': 21.0.3
- '@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0)(typescript@5.6.2)':
+ '@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/experimental-utils': 2.34.0(eslint@6.8.0)(typescript@3.9.10)
- '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@3.9.10)
- eslint: 6.8.0
- functional-red-black-tree: 1.0.1
- regexpp: 3.2.0
- tsutils: 3.21.0(typescript@3.9.10)
- optionalDependencies:
- typescript: 5.6.2
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.55.0
+ '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.55.0
+ eslint: 9.39.2(jiti@2.6.1)
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+ ts-api-utils: 2.4.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/experimental-utils@2.34.0(eslint@6.8.0)(typescript@3.9.10)':
+ '@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@types/json-schema': 7.0.15
- '@typescript-eslint/typescript-estree': 2.34.0(typescript@3.9.10)
- eslint: 6.8.0
- eslint-scope: 5.1.1
- eslint-utils: 2.1.0
+ '@typescript-eslint/scope-manager': 8.55.0
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.55.0
+ debug: 4.4.3
+ eslint: 9.39.2(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- - typescript
- '@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@3.9.10)':
+ '@typescript-eslint/project-service@8.55.0(typescript@5.9.3)':
dependencies:
- '@types/eslint-visitor-keys': 1.0.0
- '@typescript-eslint/experimental-utils': 2.34.0(eslint@6.8.0)(typescript@3.9.10)
- '@typescript-eslint/typescript-estree': 2.34.0(typescript@3.9.10)
- eslint: 6.8.0
- eslint-visitor-keys: 1.3.0
- optionalDependencies:
- typescript: 3.9.10
+ '@typescript-eslint/tsconfig-utils': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.55.0
+ debug: 4.4.3
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@2.34.0(typescript@3.9.10)':
+ '@typescript-eslint/scope-manager@8.55.0':
dependencies:
- debug: 4.3.5
- eslint-visitor-keys: 1.3.0
- glob: 7.2.3
- is-glob: 4.0.3
- lodash: 4.17.21
- semver: 7.6.2
- tsutils: 3.21.0(typescript@3.9.10)
- optionalDependencies:
- typescript: 3.9.10
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/visitor-keys': 8.55.0
+
+ '@typescript-eslint/tsconfig-utils@8.55.0(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@typescript-eslint/type-utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ debug: 4.4.3
+ eslint: 9.39.2(jiti@2.6.1)
+ ts-api-utils: 2.4.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- abab@2.0.6: {}
+ '@typescript-eslint/types@8.55.0': {}
- acorn-globals@4.3.4:
+ '@typescript-eslint/typescript-estree@8.55.0(typescript@5.9.3)':
dependencies:
- acorn: 6.4.2
- acorn-walk: 6.2.0
+ '@typescript-eslint/project-service': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/visitor-keys': 8.55.0
+ debug: 4.4.3
+ minimatch: 9.0.5
+ semver: 7.7.4
+ tinyglobby: 0.2.15
+ ts-api-utils: 2.4.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- acorn-jsx@5.3.2(acorn@7.4.1):
+ '@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- acorn: 7.4.1
-
- acorn-walk@6.2.0: {}
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.55.0
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3)
+ eslint: 9.39.2(jiti@2.6.1)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- acorn@6.4.2: {}
+ '@typescript-eslint/visitor-keys@8.55.0':
+ dependencies:
+ '@typescript-eslint/types': 8.55.0
+ eslint-visitor-keys: 4.2.1
- acorn@7.4.1: {}
+ acorn-jsx@5.3.2(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
- acorn@8.12.1: {}
+ acorn@8.15.0: {}
ajv@6.12.6:
dependencies:
@@ -5363,35 +3241,18 @@ snapshots:
ansi-colors@4.1.3: {}
- ansi-escapes@3.2.0: {}
-
ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
- ansi-regex@3.0.1: {}
-
- ansi-regex@4.1.1: {}
-
ansi-regex@5.0.1: {}
- ansi-styles@3.2.1:
- dependencies:
- color-convert: 1.9.3
-
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
ansi-styles@5.2.0: {}
- anymatch@2.0.0:
- dependencies:
- micromatch: 3.1.10
- normalize-path: 2.1.1
- transitivePeerDependencies:
- - supports-color
-
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
@@ -5401,3491 +3262,1582 @@ snapshots:
dependencies:
sprintf-js: 1.0.3
- aria-query@5.1.3:
- dependencies:
- deep-equal: 2.2.3
+ argparse@2.0.1: {}
- arr-diff@4.0.0: {}
+ array-union@2.1.0: {}
- arr-flatten@1.1.0: {}
+ asynckit@0.4.0: {}
- arr-union@3.1.0: {}
+ axios@1.13.5:
+ dependencies:
+ follow-redirects: 1.15.11
+ form-data: 4.0.5
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
- array-buffer-byte-length@1.0.1:
+ babel-jest@29.7.0(@babel/core@7.29.0):
dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.4
+ '@babel/core': 7.29.0
+ '@jest/transform': 29.7.0
+ '@types/babel__core': 7.20.5
+ babel-plugin-istanbul: 6.1.1
+ babel-preset-jest: 29.6.3(@babel/core@7.29.0)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
- array-equal@1.0.2: {}
+ babel-plugin-istanbul@6.1.1:
+ dependencies:
+ '@babel/helper-plugin-utils': 7.28.6
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 5.2.1
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
- array-includes@3.1.8:
+ babel-plugin-jest-hoist@29.6.3:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
- get-intrinsic: 1.2.4
- is-string: 1.0.7
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+ '@types/babel__core': 7.20.5
+ '@types/babel__traverse': 7.28.0
+
+ babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.0)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.0)
+ '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.0)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.0)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.0)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.0)
+
+ babel-preset-jest@29.6.3(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+ babel-plugin-jest-hoist: 29.6.3
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0)
+
+ balanced-match@1.0.2: {}
- array-unique@0.3.2: {}
+ baseline-browser-mapping@2.9.19: {}
- array.prototype.findlast@1.2.5:
+ better-path-resolve@1.0.0:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-shim-unscopables: 1.0.2
+ is-windows: 1.0.2
- array.prototype.findlastindex@1.2.5:
+ brace-expansion@1.1.12:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-shim-unscopables: 1.0.2
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ brace-expansion@2.0.2:
+ dependencies:
+ balanced-match: 1.0.2
- array.prototype.flat@1.3.2:
+ braces@3.0.3:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-shim-unscopables: 1.0.2
+ fill-range: 7.1.1
- array.prototype.flatmap@1.3.2:
+ browserslist@4.28.1:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-shim-unscopables: 1.0.2
+ baseline-browser-mapping: 2.9.19
+ caniuse-lite: 1.0.30001769
+ electron-to-chromium: 1.5.286
+ node-releases: 2.0.27
+ update-browserslist-db: 1.2.3(browserslist@4.28.1)
- array.prototype.toreversed@1.1.2:
+ bs-logger@0.2.6:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-shim-unscopables: 1.0.2
+ fast-json-stable-stringify: 2.1.0
- array.prototype.tosorted@1.1.4:
+ bser@2.1.1:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-errors: 1.3.0
- es-shim-unscopables: 1.0.2
+ node-int64: 0.4.0
+
+ buffer-from@1.1.2: {}
- arraybuffer.prototype.slice@1.0.3:
+ bumpp@9.11.1:
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
+ c12: 2.0.4
+ cac: 6.7.14
+ escalade: 3.2.0
+ js-yaml: 4.1.1
+ jsonc-parser: 3.3.1
+ package-manager-detector: 0.2.11
+ prompts: 2.4.2
+ semver: 7.7.4
+ tiny-conventional-commits-parser: 0.0.1
+ tinyexec: 0.3.2
+ tinyglobby: 0.2.15
+ transitivePeerDependencies:
+ - magicast
- asn1@0.2.6:
+ c12@2.0.4:
dependencies:
- safer-buffer: 2.1.2
+ chokidar: 4.0.3
+ confbox: 0.1.8
+ defu: 6.1.4
+ dotenv: 16.6.1
+ giget: 1.2.5
+ jiti: 2.6.1
+ mlly: 1.8.0
+ ohash: 2.0.11
+ pathe: 2.0.3
+ perfect-debounce: 1.0.0
+ pkg-types: 1.3.1
+ rc9: 2.1.2
+
+ cac@6.7.14: {}
- assert-plus@1.0.0: {}
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
- assign-symbols@1.0.0: {}
+ callsites@3.1.0: {}
- ast-types-flow@0.0.8: {}
+ camelcase@5.3.1: {}
- astral-regex@1.0.0: {}
+ camelcase@6.3.0: {}
- asynckit@0.4.0: {}
+ caniuse-lite@1.0.30001769: {}
- asyncro@3.0.0: {}
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
- at-least-node@1.0.0: {}
+ char-regex@1.0.2: {}
- atob@2.1.2: {}
+ chardet@2.1.1: {}
- available-typed-arrays@1.0.7:
+ chokidar@4.0.3:
dependencies:
- possible-typed-array-names: 1.0.0
+ readdirp: 4.1.2
- aws-sign2@0.7.0: {}
+ chownr@2.0.0: {}
- aws4@1.13.0: {}
+ ci-info@3.9.0: {}
- axe-core@4.9.1: {}
+ ci-info@4.4.0: {}
- axios@1.7.7:
+ citty@0.1.6:
dependencies:
- follow-redirects: 1.15.6
- form-data: 4.0.0
- proxy-from-env: 1.1.0
- transitivePeerDependencies:
- - debug
+ consola: 3.4.2
- axobject-query@3.1.1:
- dependencies:
- deep-equal: 2.2.3
+ cjs-module-lexer@1.4.3: {}
- babel-eslint@10.1.0(eslint@6.8.0):
+ cliui@8.0.1:
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/parser': 7.24.8
- '@babel/traverse': 7.24.8
- '@babel/types': 7.24.9
- eslint: 6.8.0
- eslint-visitor-keys: 1.3.0
- resolve: 1.22.8
- transitivePeerDependencies:
- - supports-color
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
- babel-jest@25.5.1(@babel/core@7.24.9):
- dependencies:
- '@babel/core': 7.24.9
- '@jest/transform': 25.5.1
- '@jest/types': 25.5.0
- '@types/babel__core': 7.20.5
- babel-plugin-istanbul: 6.1.1
- babel-preset-jest: 25.5.0(@babel/core@7.24.9)
- chalk: 3.0.0
- graceful-fs: 4.2.11
- slash: 3.0.0
- transitivePeerDependencies:
- - supports-color
+ co@4.6.0: {}
- babel-plugin-annotate-pure-calls@0.4.0(@babel/core@7.24.9):
- dependencies:
- '@babel/core': 7.24.9
+ collect-v8-coverage@1.0.3: {}
- babel-plugin-dev-expression@0.2.3(@babel/core@7.24.9):
+ color-convert@2.0.1:
dependencies:
- '@babel/core': 7.24.9
+ color-name: 1.1.4
- babel-plugin-istanbul@6.1.1:
- dependencies:
- '@babel/helper-plugin-utils': 7.24.8
- '@istanbuljs/load-nyc-config': 1.1.0
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-instrument: 5.2.1
- test-exclude: 6.0.0
- transitivePeerDependencies:
- - supports-color
+ color-name@1.1.4: {}
- babel-plugin-jest-hoist@25.5.0:
+ combined-stream@1.0.8:
dependencies:
- '@babel/template': 7.24.7
- '@babel/types': 7.24.9
- '@types/babel__traverse': 7.20.6
+ delayed-stream: 1.0.0
- babel-plugin-macros@2.8.0:
- dependencies:
- '@babel/runtime': 7.24.8
- cosmiconfig: 6.0.0
- resolve: 1.22.8
+ commondir@1.0.1: {}
- babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.9):
- dependencies:
- '@babel/compat-data': 7.24.9
- '@babel/core': 7.24.9
- '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
+ concat-map@0.0.1: {}
- babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.9):
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9)
- core-js-compat: 3.37.1
- transitivePeerDependencies:
- - supports-color
+ confbox@0.1.8: {}
- babel-plugin-polyfill-regenerator@0.0.4(@babel/core@7.24.9):
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-define-polyfill-provider': 0.0.3(@babel/core@7.24.9)
- transitivePeerDependencies:
- - supports-color
+ consola@3.4.2: {}
+
+ convert-source-map@2.0.0: {}
- babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.9):
+ create-jest@29.7.0(@types/node@25.2.3):
dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9)
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-config: 29.7.0(@types/node@25.2.3)
+ jest-util: 29.7.0
+ prompts: 2.4.2
transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
- supports-color
+ - ts-node
- babel-plugin-transform-rename-import@2.3.0: {}
-
- babel-preset-current-node-syntax@0.1.4(@babel/core@7.24.9):
+ cross-spawn@7.0.6:
dependencies:
- '@babel/core': 7.24.9
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9)
- '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9)
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
- babel-preset-jest@25.5.0(@babel/core@7.24.9):
+ crypto-js@4.2.0: {}
+
+ debug@4.4.3:
dependencies:
- '@babel/core': 7.24.9
- babel-plugin-jest-hoist: 25.5.0
- babel-preset-current-node-syntax: 0.1.4(@babel/core@7.24.9)
+ ms: 2.1.3
- balanced-match@1.0.2: {}
+ dedent@1.7.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
+ deep-is@0.1.4: {}
- bcrypt-pbkdf@1.0.2:
- dependencies:
- tweetnacl: 0.14.5
+ deepmerge@4.3.1: {}
- binary-extensions@2.3.0: {}
+ defu@6.1.4: {}
- brace-expansion@1.1.11:
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
+ delayed-stream@1.0.0: {}
- 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
+ destr@2.0.5: {}
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
+ detect-indent@6.1.0: {}
- browser-process-hrtime@1.0.0: {}
+ detect-newline@3.1.0: {}
- browser-resolve@1.11.3:
- dependencies:
- resolve: 1.1.7
+ diff-sequences@29.6.3: {}
- browserslist@4.23.2:
+ dir-glob@3.0.1:
dependencies:
- caniuse-lite: 1.0.30001642
- electron-to-chromium: 1.4.827
- node-releases: 2.0.14
- update-browserslist-db: 1.1.0(browserslist@4.23.2)
+ path-type: 4.0.0
- bs-logger@0.2.6:
- dependencies:
- fast-json-stable-stringify: 2.1.0
+ dotenv@16.6.1: {}
- bser@2.1.1:
+ dunder-proto@1.0.1:
dependencies:
- node-int64: 0.4.0
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
- buffer-from@1.1.2: {}
+ electron-to-chromium@1.5.286: {}
- builtin-modules@3.3.0: {}
+ emittery@0.13.1: {}
- bytes-iec@3.1.1: {}
+ emoji-regex@8.0.0: {}
- cache-base@1.0.1:
+ enquirer@2.4.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
+ ansi-colors: 4.1.3
+ strip-ansi: 6.0.1
- call-bind@1.0.7:
+ error-ex@1.3.4:
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: {}
+ is-arrayish: 0.2.1
- camelcase@5.3.1: {}
+ es-define-property@1.0.1: {}
- camelcase@6.3.0: {}
+ es-errors@1.3.0: {}
- caniuse-lite@1.0.30001642: {}
+ es-object-atoms@1.1.1:
+ dependencies:
+ es-errors: 1.3.0
- capture-exit@2.0.0:
+ es-set-tostringtag@2.1.0:
dependencies:
- rsvp: 4.8.5
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
- caseless@0.12.0: {}
+ escalade@3.2.0: {}
- chalk@2.4.2:
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
+ escape-string-regexp@2.0.0: {}
- chalk@3.0.0:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
+ escape-string-regexp@4.0.0: {}
- chalk@4.1.2:
+ eslint-scope@8.4.0:
dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ eslint-visitor-keys@3.4.3: {}
- chardet@0.7.0: {}
+ eslint-visitor-keys@4.2.1: {}
- chokidar@3.6.0:
+ eslint@9.39.2(jiti@2.6.1):
dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
+ '@eslint-community/regexpp': 4.12.2
+ '@eslint/config-array': 0.21.1
+ '@eslint/config-helpers': 0.4.2
+ '@eslint/core': 0.17.0
+ '@eslint/eslintrc': 3.3.3
+ '@eslint/js': 9.39.2
+ '@eslint/plugin-kit': 0.4.1
+ '@humanfs/node': 0.16.7
+ '@humanwhocodes/module-importer': 1.0.1
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.8
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+ debug: 4.4.3
+ escape-string-regexp: 4.0.0
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ esquery: 1.7.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 8.0.0
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ ignore: 5.3.2
+ imurmurhash: 0.1.4
is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.4
optionalDependencies:
- fsevents: 2.3.3
-
- ci-info@2.0.0: {}
-
- ci-info@4.4.0: {}
+ jiti: 2.6.1
+ transitivePeerDependencies:
+ - supports-color
- class-utils@0.3.6:
+ espree@10.4.0:
dependencies:
- arr-union: 3.1.0
- define-property: 0.2.5
- isobject: 3.0.1
- static-extend: 0.1.2
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ eslint-visitor-keys: 4.2.1
- cli-cursor@2.1.0:
- dependencies:
- restore-cursor: 2.0.0
+ esprima@4.0.1: {}
- cli-cursor@3.1.0:
+ esquery@1.7.0:
dependencies:
- restore-cursor: 3.1.0
-
- cli-spinners@1.3.1: {}
-
- cli-spinners@2.9.2: {}
-
- cli-width@3.0.0: {}
+ estraverse: 5.3.0
- cliui@6.0.0:
+ esrecurse@4.3.0:
dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 6.2.0
+ estraverse: 5.3.0
- clone@1.0.4: {}
+ estraverse@5.3.0: {}
- co@4.6.0: {}
+ estree-walker@2.0.2: {}
- collect-v8-coverage@1.0.2: {}
+ esutils@2.0.3: {}
- collection-visit@1.0.0:
+ execa@5.1.1:
dependencies:
- map-visit: 1.0.0
- object-visit: 1.0.1
+ cross-spawn: 7.0.6
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ 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
- color-convert@1.9.3:
- dependencies:
- color-name: 1.1.3
+ exit@0.1.2: {}
- color-convert@2.0.1:
+ expect@29.7.0:
dependencies:
- color-name: 1.1.4
+ '@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
- color-name@1.1.3: {}
-
- color-name@1.1.4: {}
-
- combined-stream@1.0.8:
+ expect@30.2.0:
dependencies:
- delayed-stream: 1.0.0
-
- commander@2.20.3: {}
-
- commondir@1.0.1: {}
+ '@jest/expect-utils': 30.2.0
+ '@jest/get-type': 30.1.0
+ jest-matcher-utils: 30.2.0
+ jest-message-util: 30.2.0
+ jest-mock: 30.2.0
+ jest-util: 30.2.0
- component-emitter@1.3.1: {}
+ extendable-error@0.1.7: {}
- concat-map@0.0.1: {}
+ fast-deep-equal@3.1.3: {}
- confusing-browser-globals@1.0.11: {}
+ fast-glob@3.3.3:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
- convert-source-map@1.9.0: {}
+ fast-json-stable-stringify@2.1.0: {}
- convert-source-map@2.0.0: {}
+ fast-levenshtein@2.0.6: {}
- copy-descriptor@0.1.1: {}
+ fastq@1.20.1:
+ dependencies:
+ reusify: 1.1.0
- core-js-compat@3.37.1:
+ fb-watchman@2.0.2:
dependencies:
- browserslist: 4.23.2
+ bser: 2.1.1
- core-util-is@1.0.2: {}
+ fdir@6.5.0(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
- cosmiconfig@6.0.0:
+ file-entry-cache@8.0.0:
dependencies:
- '@types/parse-json': 4.0.2
- import-fresh: 3.3.0
- parse-json: 5.2.0
- path-type: 4.0.0
- yaml: 1.10.2
+ flat-cache: 4.0.1
- cross-spawn@6.0.5:
+ fill-range@7.1.1:
dependencies:
- nice-try: 1.0.5
- path-key: 2.0.1
- semver: 5.7.2
- shebang-command: 1.2.0
- which: 1.3.1
+ to-regex-range: 5.0.1
- cross-spawn@7.0.3:
+ find-up@4.1.0:
dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- cssom@0.3.8: {}
+ locate-path: 5.0.0
+ path-exists: 4.0.0
- cssom@0.4.4: {}
+ find-up@5.0.0:
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
- cssstyle@2.3.0:
+ flat-cache@4.0.1:
dependencies:
- cssom: 0.3.8
+ flatted: 3.3.3
+ keyv: 4.5.4
- damerau-levenshtein@1.0.8: {}
+ flatted@3.3.3: {}
- dashdash@1.14.1:
- dependencies:
- assert-plus: 1.0.0
+ follow-redirects@1.15.11: {}
- data-urls@1.1.0:
+ form-data@4.0.5:
dependencies:
- abab: 2.0.6
- whatwg-mimetype: 2.3.0
- whatwg-url: 7.1.0
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
+ mime-types: 2.1.35
- data-view-buffer@1.0.1:
+ fs-extra@7.0.1:
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
- data-view-byte-length@1.0.1:
+ fs-extra@8.1.0:
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
- data-view-byte-offset@1.0.0:
+ fs-minipass@2.1.0:
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
+ minipass: 3.3.6
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
+ fs.realpath@1.0.0: {}
- debug@3.2.7:
- dependencies:
- ms: 2.1.3
+ fsevents@2.3.3:
+ optional: true
- debug@4.3.5:
- dependencies:
- ms: 2.1.2
+ function-bind@1.1.2: {}
- decamelize@1.2.0: {}
+ gensync@1.0.0-beta.2: {}
- decode-uri-component@0.2.2: {}
+ get-caller-file@2.0.5: {}
- deep-equal@2.2.3:
+ get-intrinsic@1.3.0:
dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
- es-get-iterator: 1.1.3
- get-intrinsic: 1.2.4
- is-arguments: 1.1.1
- is-array-buffer: 3.0.4
- is-date-object: 1.0.5
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- isarray: 2.0.5
- object-is: 1.1.6
- object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- side-channel: 1.0.6
- which-boxed-primitive: 1.0.2
- which-collection: 1.0.2
- which-typed-array: 1.1.15
-
- deep-is@0.1.4: {}
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ function-bind: 1.1.2
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.2
+ math-intrinsics: 1.1.0
- deepmerge@4.3.1: {}
+ get-package-type@0.1.0: {}
- defaults@1.0.4:
+ get-proto@1.0.1:
dependencies:
- clone: 1.0.4
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
- define-data-property@1.1.4:
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- gopd: 1.0.1
+ get-stream@6.0.1: {}
- define-properties@1.2.1:
+ giget@1.2.5:
dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
+ citty: 0.1.6
+ consola: 3.4.2
+ defu: 6.1.4
+ node-fetch-native: 1.6.7
+ nypm: 0.5.4
+ pathe: 2.0.3
+ tar: 6.2.1
- define-property@0.2.5:
+ glob-parent@5.1.2:
dependencies:
- is-descriptor: 0.1.7
+ is-glob: 4.0.3
- define-property@1.0.0:
+ glob-parent@6.0.2:
dependencies:
- is-descriptor: 1.0.3
+ is-glob: 4.0.3
- define-property@2.0.2:
+ glob@7.2.3:
dependencies:
- is-descriptor: 1.0.3
- isobject: 3.0.1
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
- delayed-stream@1.0.0: {}
+ globals@14.0.0: {}
- detect-newline@3.1.0: {}
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.3
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 3.0.0
- diff-sequences@25.2.6: {}
+ gopd@1.2.0: {}
- doctrine@2.1.0:
- dependencies:
- esutils: 2.0.3
+ graceful-fs@4.2.11: {}
- doctrine@3.0.0:
+ handlebars@4.7.8:
dependencies:
- esutils: 2.0.3
+ minimist: 1.2.8
+ neo-async: 2.6.2
+ source-map: 0.6.1
+ wordwrap: 1.0.0
+ optionalDependencies:
+ uglify-js: 3.19.3
+
+ has-flag@4.0.0: {}
+
+ has-symbols@1.1.0: {}
- domexception@1.0.1:
+ has-tostringtag@1.0.2:
dependencies:
- webidl-conversions: 4.0.2
+ has-symbols: 1.1.0
- ecc-jsbn@0.1.2:
+ hasown@2.0.2:
dependencies:
- jsbn: 0.1.1
- safer-buffer: 2.1.2
+ function-bind: 1.1.2
- electron-to-chromium@1.4.827: {}
+ html-escaper@2.0.2: {}
- emoji-regex@7.0.3: {}
+ human-id@4.1.3: {}
- emoji-regex@8.0.0: {}
+ human-signals@2.1.0: {}
- emoji-regex@9.2.2: {}
+ husky@9.1.7: {}
- end-of-stream@1.4.4:
+ iconv-lite@0.7.2:
dependencies:
- once: 1.4.0
+ safer-buffer: 2.1.2
- enquirer@2.4.1:
- dependencies:
- ansi-colors: 4.1.3
- strip-ansi: 6.0.1
+ ignore@5.3.2: {}
- error-ex@1.3.2:
- dependencies:
- is-arrayish: 0.2.1
+ ignore@7.0.5: {}
- es-abstract@1.23.3:
+ import-fresh@3.3.1:
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.4
- 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.2
- 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-get-iterator@1.1.3:
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- is-arguments: 1.1.1
- is-map: 2.0.3
- is-set: 2.0.3
- is-string: 1.0.7
- isarray: 2.0.5
- stop-iteration-iterator: 1.0.0
-
- es-iterator-helpers@1.0.19:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-errors: 1.3.0
- es-set-tostringtag: 2.0.3
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- globalthis: 1.0.4
- has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- internal-slot: 1.0.7
- iterator.prototype: 1.1.2
- safe-array-concat: 1.1.2
-
- 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-shim-unscopables@1.0.2:
- dependencies:
- 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
-
- esbuild@0.23.1:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.23.1
- '@esbuild/android-arm': 0.23.1
- '@esbuild/android-arm64': 0.23.1
- '@esbuild/android-x64': 0.23.1
- '@esbuild/darwin-arm64': 0.23.1
- '@esbuild/darwin-x64': 0.23.1
- '@esbuild/freebsd-arm64': 0.23.1
- '@esbuild/freebsd-x64': 0.23.1
- '@esbuild/linux-arm': 0.23.1
- '@esbuild/linux-arm64': 0.23.1
- '@esbuild/linux-ia32': 0.23.1
- '@esbuild/linux-loong64': 0.23.1
- '@esbuild/linux-mips64el': 0.23.1
- '@esbuild/linux-ppc64': 0.23.1
- '@esbuild/linux-riscv64': 0.23.1
- '@esbuild/linux-s390x': 0.23.1
- '@esbuild/linux-x64': 0.23.1
- '@esbuild/netbsd-x64': 0.23.1
- '@esbuild/openbsd-arm64': 0.23.1
- '@esbuild/openbsd-x64': 0.23.1
- '@esbuild/sunos-x64': 0.23.1
- '@esbuild/win32-arm64': 0.23.1
- '@esbuild/win32-ia32': 0.23.1
- '@esbuild/win32-x64': 0.23.1
-
- escalade@3.1.2: {}
-
- escape-string-regexp@1.0.5: {}
-
- escape-string-regexp@2.0.0: {}
-
- escodegen@1.14.3:
- dependencies:
- esprima: 4.0.1
- estraverse: 4.3.0
- esutils: 2.0.3
- optionator: 0.8.3
- optionalDependencies:
- source-map: 0.6.1
-
- eslint-config-prettier@6.15.0(eslint@6.8.0):
- dependencies:
- eslint: 6.8.0
- get-stdin: 6.0.0
-
- eslint-config-react-app@5.2.1(@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0)(typescript@3.9.10))(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(babel-eslint@10.1.0(eslint@6.8.0))(eslint-plugin-flowtype@3.13.0(eslint@6.8.0))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0))(eslint-plugin-jsx-a11y@6.9.0(eslint@6.8.0))(eslint-plugin-react-hooks@2.5.1(eslint@6.8.0))(eslint-plugin-react@7.34.4(eslint@6.8.0))(eslint@6.8.0)(typescript@3.9.10):
- dependencies:
- '@typescript-eslint/eslint-plugin': 2.34.0(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0)(typescript@5.6.2)
- '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@3.9.10)
- babel-eslint: 10.1.0(eslint@6.8.0)
- confusing-browser-globals: 1.0.11
- eslint: 6.8.0
- eslint-plugin-flowtype: 3.13.0(eslint@6.8.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0)
- eslint-plugin-jsx-a11y: 6.9.0(eslint@6.8.0)
- eslint-plugin-react: 7.34.4(eslint@6.8.0)
- eslint-plugin-react-hooks: 2.5.1(eslint@6.8.0)
- optionalDependencies:
- typescript: 3.9.10
-
- eslint-import-resolver-node@0.3.9:
- dependencies:
- debug: 3.2.7
- is-core-module: 2.14.0
- resolve: 1.22.8
- transitivePeerDependencies:
- - supports-color
-
- eslint-module-utils@2.8.1(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@6.8.0):
- dependencies:
- debug: 3.2.7
- optionalDependencies:
- '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@3.9.10)
- eslint: 6.8.0
- eslint-import-resolver-node: 0.3.9
- transitivePeerDependencies:
- - supports-color
-
- eslint-plugin-flowtype@3.13.0(eslint@6.8.0):
- dependencies:
- eslint: 6.8.0
- lodash: 4.17.21
-
- eslint-plugin-import@2.29.1(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0):
- dependencies:
- array-includes: 3.1.8
- array.prototype.findlastindex: 1.2.5
- array.prototype.flat: 1.3.2
- array.prototype.flatmap: 1.3.2
- debug: 3.2.7
- doctrine: 2.1.0
- eslint: 6.8.0
- eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@6.8.0)
- hasown: 2.0.2
- is-core-module: 2.14.0
- is-glob: 4.0.3
- minimatch: 3.1.2
- object.fromentries: 2.0.8
- object.groupby: 1.0.3
- object.values: 1.2.0
- semver: 6.3.1
- tsconfig-paths: 3.15.0
- optionalDependencies:
- '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@3.9.10)
- transitivePeerDependencies:
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- - supports-color
-
- eslint-plugin-jsx-a11y@6.9.0(eslint@6.8.0):
- dependencies:
- aria-query: 5.1.3
- array-includes: 3.1.8
- array.prototype.flatmap: 1.3.2
- ast-types-flow: 0.0.8
- axe-core: 4.9.1
- axobject-query: 3.1.1
- damerau-levenshtein: 1.0.8
- emoji-regex: 9.2.2
- es-iterator-helpers: 1.0.19
- eslint: 6.8.0
- hasown: 2.0.2
- jsx-ast-utils: 3.3.5
- language-tags: 1.0.9
- minimatch: 3.1.2
- object.fromentries: 2.0.8
- safe-regex-test: 1.0.3
- string.prototype.includes: 2.0.0
-
- eslint-plugin-prettier@3.4.1(eslint-config-prettier@6.15.0(eslint@6.8.0))(eslint@6.8.0)(prettier@1.19.1):
- dependencies:
- eslint: 6.8.0
- prettier: 1.19.1
- prettier-linter-helpers: 1.0.0
- optionalDependencies:
- eslint-config-prettier: 6.15.0(eslint@6.8.0)
-
- eslint-plugin-react-hooks@2.5.1(eslint@6.8.0):
- dependencies:
- eslint: 6.8.0
-
- eslint-plugin-react@7.34.4(eslint@6.8.0):
- dependencies:
- array-includes: 3.1.8
- array.prototype.findlast: 1.2.5
- array.prototype.flatmap: 1.3.2
- array.prototype.toreversed: 1.1.2
- array.prototype.tosorted: 1.1.4
- doctrine: 2.1.0
- es-iterator-helpers: 1.0.19
- eslint: 6.8.0
- estraverse: 5.3.0
- hasown: 2.0.2
- jsx-ast-utils: 3.3.5
- minimatch: 3.1.2
- object.entries: 1.1.8
- object.fromentries: 2.0.8
- object.values: 1.2.0
- prop-types: 15.8.1
- resolve: 2.0.0-next.5
- semver: 6.3.1
- string.prototype.matchall: 4.0.11
- string.prototype.repeat: 1.0.0
-
- eslint-scope@5.1.1:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
-
- eslint-utils@1.4.3:
- dependencies:
- eslint-visitor-keys: 1.3.0
-
- eslint-utils@2.1.0:
- dependencies:
- eslint-visitor-keys: 1.3.0
-
- eslint-visitor-keys@1.3.0: {}
-
- eslint@6.8.0:
- dependencies:
- '@babel/code-frame': 7.24.7
- ajv: 6.12.6
- chalk: 2.4.2
- cross-spawn: 6.0.5
- debug: 4.3.5
- doctrine: 3.0.0
- eslint-scope: 5.1.1
- eslint-utils: 1.4.3
- eslint-visitor-keys: 1.3.0
- espree: 6.2.1
- esquery: 1.6.0
- esutils: 2.0.3
- file-entry-cache: 5.0.1
- functional-red-black-tree: 1.0.1
- glob-parent: 5.1.2
- globals: 12.4.0
- ignore: 4.0.6
- import-fresh: 3.3.0
- imurmurhash: 0.1.4
- inquirer: 7.3.3
- is-glob: 4.0.3
- js-yaml: 3.14.1
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.3.0
- lodash: 4.17.21
- minimatch: 3.1.2
- mkdirp: 0.5.6
- natural-compare: 1.4.0
- optionator: 0.8.3
- progress: 2.0.3
- regexpp: 2.0.1
- semver: 6.3.1
- strip-ansi: 5.2.0
- strip-json-comments: 3.1.1
- table: 5.4.6
- text-table: 0.2.0
- v8-compile-cache: 2.4.0
- transitivePeerDependencies:
- - supports-color
-
- espree@6.2.1:
- dependencies:
- acorn: 7.4.1
- acorn-jsx: 5.3.2(acorn@7.4.1)
- eslint-visitor-keys: 1.3.0
-
- esprima@4.0.1: {}
-
- esquery@1.6.0:
- dependencies:
- estraverse: 5.3.0
-
- esrecurse@4.3.0:
- dependencies:
- estraverse: 5.3.0
-
- estraverse@4.3.0: {}
-
- estraverse@5.3.0: {}
-
- estree-walker@0.6.1: {}
-
- estree-walker@1.0.1: {}
-
- esutils@2.0.3: {}
-
- 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@3.4.0:
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 5.2.0
- human-signals: 1.1.1
- is-stream: 2.0.1
- merge-stream: 2.0.0
- npm-run-path: 4.0.1
- onetime: 5.1.2
- p-finally: 2.0.1
- signal-exit: 3.0.7
- strip-final-newline: 2.0.0
-
- 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
-
- 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
-
- expect@25.5.0:
- dependencies:
- '@jest/types': 25.5.0
- ansi-styles: 4.3.0
- jest-get-type: 25.2.6
- jest-matcher-utils: 25.5.0
- jest-message-util: 25.5.0
- jest-regex-util: 25.2.6
-
- expect@30.2.0:
- dependencies:
- '@jest/expect-utils': 30.2.0
- '@jest/get-type': 30.1.0
- jest-matcher-utils: 30.2.0
- jest-message-util: 30.2.0
- jest-mock: 30.2.0
- jest-util: 30.2.0
-
- extend-shallow@2.0.1:
- dependencies:
- is-extendable: 0.1.1
-
- extend-shallow@3.0.2:
- dependencies:
- assign-symbols: 1.0.0
- is-extendable: 1.0.1
-
- extend@3.0.2: {}
-
- external-editor@3.1.0:
- dependencies:
- chardet: 0.7.0
- 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
-
- extsprintf@1.3.0: {}
-
- fast-deep-equal@3.1.3: {}
-
- fast-diff@1.3.0: {}
-
- fast-json-stable-stringify@2.1.0: {}
-
- fast-levenshtein@2.0.6: {}
-
- fb-watchman@2.0.2:
- dependencies:
- bser: 2.1.1
-
- fdir@6.3.0(picomatch@4.0.2):
- optionalDependencies:
- picomatch: 4.0.2
-
- figures@3.2.0:
- dependencies:
- escape-string-regexp: 1.0.5
-
- file-entry-cache@5.0.1:
- dependencies:
- flat-cache: 2.0.1
-
- 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
-
- find-cache-dir@3.3.2:
- dependencies:
- commondir: 1.0.1
- make-dir: 3.1.0
- pkg-dir: 4.2.0
-
- find-up@4.1.0:
- dependencies:
- locate-path: 5.0.0
- path-exists: 4.0.0
-
- flat-cache@2.0.1:
- dependencies:
- flatted: 2.0.2
- rimraf: 2.6.3
- write: 1.0.3
-
- flatted@2.0.2: {}
-
- follow-redirects@1.15.6: {}
-
- for-each@0.3.3:
- dependencies:
- is-callable: 1.2.7
-
- for-in@1.0.2: {}
-
- forever-agent@0.6.1: {}
-
- form-data@2.3.3:
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- mime-types: 2.1.35
-
- form-data@4.0.0:
- 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-extra@8.1.0:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 4.0.0
- universalify: 0.1.2
-
- fs-extra@9.1.0:
- dependencies:
- at-least-node: 1.0.0
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
-
- fs.realpath@1.0.0: {}
-
- fsevents@2.3.3:
- optional: true
-
- function-bind@1.1.2: {}
-
- 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
-
- functional-red-black-tree@1.0.1: {}
-
- functions-have-names@1.2.3: {}
-
- gensync@1.0.0-beta.2: {}
-
- 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-package-type@0.1.0: {}
-
- 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
-
- get-symbol-description@1.0.2:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
-
- get-value@2.0.6: {}
-
- getpass@0.1.7:
- dependencies:
- assert-plus: 1.0.0
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- glob@7.2.3:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
- globals@11.12.0: {}
-
- globals@12.4.0:
- dependencies:
- type-fest: 0.8.1
-
- globalthis@1.0.4:
- dependencies:
- define-properties: 1.2.1
- gopd: 1.0.1
-
- globalyzer@0.1.0: {}
-
- globrex@0.1.2: {}
-
- gopd@1.0.1:
- dependencies:
- get-intrinsic: 1.2.4
-
- graceful-fs@4.2.11: {}
-
- growly@1.3.0:
- optional: true
-
- har-schema@2.0.0: {}
-
- har-validator@5.1.5:
- dependencies:
- ajv: 6.12.6
- har-schema: 2.0.0
-
- 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
-
- 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
-
- hasown@2.0.2:
- dependencies:
- function-bind: 1.1.2
-
- hosted-git-info@2.8.9: {}
-
- html-encoding-sniffer@1.0.2:
- dependencies:
- whatwg-encoding: 1.0.5
-
- html-escaper@2.0.2: {}
-
- http-signature@1.2.0:
- dependencies:
- assert-plus: 1.0.0
- jsprim: 1.4.2
- sshpk: 1.18.0
-
- human-signals@1.1.1: {}
-
- humanize-duration@3.32.1: {}
-
- husky@9.1.5: {}
-
- iconv-lite@0.4.24:
- dependencies:
- safer-buffer: 2.1.2
-
- ignore@4.0.6: {}
-
- import-fresh@3.3.0:
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
-
- import-local@3.1.0:
- dependencies:
- pkg-dir: 4.2.0
- resolve-cwd: 3.0.0
-
- imurmurhash@0.1.4: {}
-
- inflight@1.0.6:
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
-
- inherits@2.0.4: {}
-
- inquirer@7.3.3:
- dependencies:
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-width: 3.0.0
- external-editor: 3.1.0
- figures: 3.2.0
- lodash: 4.17.21
- mute-stream: 0.0.8
- run-async: 2.4.1
- rxjs: 6.6.7
- string-width: 4.2.3
- strip-ansi: 6.0.1
- through: 2.3.8
-
- internal-slot@1.0.7:
- dependencies:
- es-errors: 1.3.0
- hasown: 2.0.2
- side-channel: 1.0.6
-
- interpret@1.4.0: {}
-
- ip-regex@2.1.0: {}
-
- is-accessor-descriptor@1.0.1:
- dependencies:
- hasown: 2.0.2
-
- 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
- get-intrinsic: 1.2.4
-
- is-arrayish@0.2.1: {}
-
- is-async-function@2.0.0:
- dependencies:
- has-tostringtag: 1.0.2
-
- is-bigint@1.0.4:
- dependencies:
- has-bigints: 1.0.2
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-boolean-object@1.1.2:
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
-
- is-buffer@1.1.6: {}
-
- is-callable@1.2.7: {}
-
- is-ci@2.0.0:
- dependencies:
- ci-info: 2.0.0
-
- is-core-module@2.14.0:
- 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
-
- is-date-object@1.0.5:
- 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-finalizationregistry@1.0.2:
- dependencies:
- call-bind: 1.0.7
-
- is-fullwidth-code-point@2.0.0: {}
-
- 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
-
- is-interactive@1.0.0: {}
-
- is-map@2.0.3: {}
-
- is-module@1.0.0: {}
-
- is-negative-zero@2.0.3: {}
-
- is-number-object@1.0.7:
- dependencies:
- has-tostringtag: 1.0.2
-
- is-number@3.0.0:
- dependencies:
- kind-of: 3.2.2
-
- is-number@7.0.0: {}
-
- is-plain-object@2.0.4:
- dependencies:
- isobject: 3.0.1
-
- is-reference@1.2.1:
- dependencies:
- '@types/estree': 1.0.5
-
- is-regex@1.1.4:
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
-
- is-set@2.0.3: {}
-
- is-shared-array-buffer@1.0.3:
- dependencies:
- call-bind: 1.0.7
-
- is-stream@1.1.0: {}
-
- is-stream@2.0.1: {}
-
- is-string@1.0.7:
- dependencies:
- has-tostringtag: 1.0.2
-
- is-symbol@1.0.4:
- dependencies:
- has-symbols: 1.0.3
-
- is-typed-array@1.1.13:
- dependencies:
- which-typed-array: 1.1.15
-
- is-typedarray@1.0.0: {}
-
- is-weakmap@2.0.2: {}
-
- is-weakref@1.0.2:
- dependencies:
- call-bind: 1.0.7
-
- is-weakset@2.0.3:
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
-
- 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: {}
-
- isstream@0.1.2: {}
-
- istanbul-lib-coverage@3.2.2: {}
-
- istanbul-lib-instrument@4.0.3:
- dependencies:
- '@babel/core': 7.24.9
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.2
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- istanbul-lib-instrument@5.2.1:
- dependencies:
- '@babel/core': 7.24.9
- '@babel/parser': 7.24.8
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.2
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- istanbul-lib-report@3.0.1:
- dependencies:
- istanbul-lib-coverage: 3.2.2
- make-dir: 4.0.0
- supports-color: 7.2.0
-
- istanbul-lib-source-maps@4.0.1:
- dependencies:
- debug: 4.3.5
- istanbul-lib-coverage: 3.2.2
- source-map: 0.6.1
- transitivePeerDependencies:
- - supports-color
-
- istanbul-reports@3.1.7:
- dependencies:
- html-escaper: 2.0.2
- istanbul-lib-report: 3.0.1
-
- iterator.prototype@1.1.2:
- dependencies:
- define-properties: 1.2.1
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- reflect.getprototypeof: 1.0.6
- set-function-name: 2.0.2
-
- jest-changed-files@25.5.0:
- dependencies:
- '@jest/types': 25.5.0
- execa: 3.4.0
- throat: 5.0.0
-
- jest-cli@25.5.4:
- dependencies:
- '@jest/core': 25.5.4
- '@jest/test-result': 25.5.0
- '@jest/types': 25.5.0
- chalk: 3.0.0
- exit: 0.1.2
- graceful-fs: 4.2.11
- import-local: 3.1.0
- is-ci: 2.0.0
- jest-config: 25.5.4
- jest-util: 25.5.0
- jest-validate: 25.5.0
- prompts: 2.4.2
- realpath-native: 2.0.0
- yargs: 15.4.1
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- jest-config@25.5.4:
- dependencies:
- '@babel/core': 7.24.9
- '@jest/test-sequencer': 25.5.4
- '@jest/types': 25.5.0
- babel-jest: 25.5.1(@babel/core@7.24.9)
- chalk: 3.0.0
- deepmerge: 4.3.1
- glob: 7.2.3
- graceful-fs: 4.2.11
- jest-environment-jsdom: 25.5.0
- jest-environment-node: 25.5.0
- jest-get-type: 25.2.6
- jest-jasmine2: 25.5.4
- jest-regex-util: 25.2.6
- jest-resolve: 25.5.1
- jest-util: 25.5.0
- jest-validate: 25.5.0
- micromatch: 4.0.7
- pretty-format: 25.5.0
- realpath-native: 2.0.0
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- jest-diff@25.5.0:
- dependencies:
- chalk: 3.0.0
- diff-sequences: 25.2.6
- jest-get-type: 25.2.6
- pretty-format: 25.5.0
-
- jest-diff@30.2.0:
- dependencies:
- '@jest/diff-sequences': 30.0.1
- '@jest/get-type': 30.1.0
- chalk: 4.1.2
- pretty-format: 30.2.0
-
- jest-docblock@25.3.0:
- dependencies:
- detect-newline: 3.1.0
-
- jest-each@25.5.0:
- dependencies:
- '@jest/types': 25.5.0
- chalk: 3.0.0
- jest-get-type: 25.2.6
- jest-util: 25.5.0
- pretty-format: 25.5.0
-
- jest-environment-jsdom@25.5.0:
- dependencies:
- '@jest/environment': 25.5.0
- '@jest/fake-timers': 25.5.0
- '@jest/types': 25.5.0
- jest-mock: 25.5.0
- jest-util: 25.5.0
- jsdom: 15.2.1
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - utf-8-validate
-
- jest-environment-node@25.5.0:
- dependencies:
- '@jest/environment': 25.5.0
- '@jest/fake-timers': 25.5.0
- '@jest/types': 25.5.0
- jest-mock: 25.5.0
- jest-util: 25.5.0
- semver: 6.3.1
-
- jest-get-type@25.2.6: {}
-
- jest-haste-map@25.5.1:
- dependencies:
- '@jest/types': 25.5.0
- '@types/graceful-fs': 4.1.9
- anymatch: 3.1.3
- fb-watchman: 2.0.2
- graceful-fs: 4.2.11
- jest-serializer: 25.5.0
- jest-util: 25.5.0
- jest-worker: 25.5.0
- micromatch: 4.0.7
- sane: 4.1.0
- walker: 1.0.8
- which: 2.0.2
- optionalDependencies:
- fsevents: 2.3.3
- transitivePeerDependencies:
- - supports-color
-
- jest-jasmine2@25.5.4:
- dependencies:
- '@babel/traverse': 7.24.8
- '@jest/environment': 25.5.0
- '@jest/source-map': 25.5.0
- '@jest/test-result': 25.5.0
- '@jest/types': 25.5.0
- chalk: 3.0.0
- co: 4.6.0
- expect: 25.5.0
- is-generator-fn: 2.1.0
- jest-each: 25.5.0
- jest-matcher-utils: 25.5.0
- jest-message-util: 25.5.0
- jest-runtime: 25.5.4
- jest-snapshot: 25.5.1
- jest-util: 25.5.0
- pretty-format: 25.5.0
- throat: 5.0.0
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- jest-leak-detector@25.5.0:
- dependencies:
- jest-get-type: 25.2.6
- pretty-format: 25.5.0
-
- jest-matcher-utils@25.5.0:
- dependencies:
- chalk: 3.0.0
- jest-diff: 25.5.0
- jest-get-type: 25.2.6
- pretty-format: 25.5.0
-
- jest-matcher-utils@30.2.0:
- dependencies:
- '@jest/get-type': 30.1.0
- chalk: 4.1.2
- jest-diff: 30.2.0
- pretty-format: 30.2.0
-
- jest-message-util@25.5.0:
- dependencies:
- '@babel/code-frame': 7.24.7
- '@jest/types': 25.5.0
- '@types/stack-utils': 1.0.1
- chalk: 3.0.0
- graceful-fs: 4.2.11
- micromatch: 4.0.7
- slash: 3.0.0
- stack-utils: 1.0.5
-
- jest-message-util@30.2.0:
- dependencies:
- '@babel/code-frame': 7.29.0
- '@jest/types': 30.2.0
- '@types/stack-utils': 2.0.3
- chalk: 4.1.2
- graceful-fs: 4.2.11
- micromatch: 4.0.8
- pretty-format: 30.2.0
- slash: 3.0.0
- stack-utils: 2.0.6
-
- jest-mock@25.5.0:
- dependencies:
- '@jest/types': 25.5.0
-
- jest-mock@30.2.0:
- dependencies:
- '@jest/types': 30.2.0
- '@types/node': 20.14.10
- jest-util: 30.2.0
-
- jest-pnp-resolver@1.2.3(jest-resolve@25.5.1):
- optionalDependencies:
- jest-resolve: 25.5.1
-
- jest-regex-util@25.2.6: {}
-
- jest-regex-util@30.0.1: {}
-
- jest-resolve-dependencies@25.5.4:
- dependencies:
- '@jest/types': 25.5.0
- jest-regex-util: 25.2.6
- jest-snapshot: 25.5.1
-
- jest-resolve@25.5.1:
- dependencies:
- '@jest/types': 25.5.0
- browser-resolve: 1.11.3
- chalk: 3.0.0
- graceful-fs: 4.2.11
- jest-pnp-resolver: 1.2.3(jest-resolve@25.5.1)
- read-pkg-up: 7.0.1
- realpath-native: 2.0.0
- resolve: 1.22.8
- slash: 3.0.0
-
- jest-runner@25.5.4:
- dependencies:
- '@jest/console': 25.5.0
- '@jest/environment': 25.5.0
- '@jest/test-result': 25.5.0
- '@jest/types': 25.5.0
- chalk: 3.0.0
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-config: 25.5.4
- jest-docblock: 25.3.0
- jest-haste-map: 25.5.1
- jest-jasmine2: 25.5.4
- jest-leak-detector: 25.5.0
- jest-message-util: 25.5.0
- jest-resolve: 25.5.1
- jest-runtime: 25.5.4
- jest-util: 25.5.0
- jest-worker: 25.5.0
- source-map-support: 0.5.21
- throat: 5.0.0
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- jest-runtime@25.5.4:
- dependencies:
- '@jest/console': 25.5.0
- '@jest/environment': 25.5.0
- '@jest/globals': 25.5.2
- '@jest/source-map': 25.5.0
- '@jest/test-result': 25.5.0
- '@jest/transform': 25.5.1
- '@jest/types': 25.5.0
- '@types/yargs': 15.0.19
- chalk: 3.0.0
- collect-v8-coverage: 1.0.2
- exit: 0.1.2
- glob: 7.2.3
- graceful-fs: 4.2.11
- jest-config: 25.5.4
- jest-haste-map: 25.5.1
- jest-message-util: 25.5.0
- jest-mock: 25.5.0
- jest-regex-util: 25.2.6
- jest-resolve: 25.5.1
- jest-snapshot: 25.5.1
- jest-util: 25.5.0
- jest-validate: 25.5.0
- realpath-native: 2.0.0
- slash: 3.0.0
- strip-bom: 4.0.0
- yargs: 15.4.1
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- jest-serializer@25.5.0:
- dependencies:
- graceful-fs: 4.2.11
-
- jest-snapshot@25.5.1:
- dependencies:
- '@babel/types': 7.24.9
- '@jest/types': 25.5.0
- '@types/prettier': 1.19.1
- chalk: 3.0.0
- expect: 25.5.0
- graceful-fs: 4.2.11
- jest-diff: 25.5.0
- jest-get-type: 25.2.6
- jest-matcher-utils: 25.5.0
- jest-message-util: 25.5.0
- jest-resolve: 25.5.1
- make-dir: 3.1.0
- natural-compare: 1.4.0
- pretty-format: 25.5.0
- semver: 6.3.1
-
- jest-util@25.5.0:
- dependencies:
- '@jest/types': 25.5.0
- chalk: 3.0.0
- graceful-fs: 4.2.11
- is-ci: 2.0.0
- make-dir: 3.1.0
-
- jest-util@30.2.0:
- dependencies:
- '@jest/types': 30.2.0
- '@types/node': 20.14.10
- chalk: 4.1.2
- ci-info: 4.4.0
- graceful-fs: 4.2.11
- picomatch: 4.0.2
-
- jest-validate@25.5.0:
- dependencies:
- '@jest/types': 25.5.0
- camelcase: 5.3.1
- chalk: 3.0.0
- jest-get-type: 25.2.6
- leven: 3.1.0
- pretty-format: 25.5.0
-
- jest-watch-typeahead@0.5.0:
- dependencies:
- ansi-escapes: 4.3.2
- chalk: 3.0.0
- jest-regex-util: 25.2.6
- jest-watcher: 25.5.0
- slash: 3.0.0
- string-length: 3.1.0
- strip-ansi: 6.0.1
-
- jest-watcher@25.5.0:
- dependencies:
- '@jest/test-result': 25.5.0
- '@jest/types': 25.5.0
- ansi-escapes: 4.3.2
- chalk: 3.0.0
- jest-util: 25.5.0
- string-length: 3.1.0
-
- jest-worker@24.9.0:
- dependencies:
- merge-stream: 2.0.0
- supports-color: 6.1.0
-
- jest-worker@25.5.0:
- dependencies:
- merge-stream: 2.0.0
- supports-color: 7.2.0
-
- jest@25.5.4:
- dependencies:
- '@jest/core': 25.5.4
- import-local: 3.1.0
- jest-cli: 25.5.4
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- jiti@1.21.6: {}
-
- jpjs@1.2.1: {}
-
- js-tokens@4.0.0: {}
-
- js-yaml@3.14.1:
- dependencies:
- argparse: 1.0.10
- esprima: 4.0.1
-
- jsbn@0.1.1: {}
-
- jsdom@15.2.1:
- dependencies:
- abab: 2.0.6
- acorn: 7.4.1
- acorn-globals: 4.3.4
- array-equal: 1.0.2
- cssom: 0.4.4
- cssstyle: 2.3.0
- data-urls: 1.1.0
- domexception: 1.0.1
- escodegen: 1.14.3
- html-encoding-sniffer: 1.0.2
- nwsapi: 2.2.12
- parse5: 5.1.0
- pn: 1.1.0
- request: 2.88.2
- request-promise-native: 1.0.9(request@2.88.2)
- saxes: 3.1.11
- symbol-tree: 3.2.4
- tough-cookie: 3.0.1
- w3c-hr-time: 1.0.2
- w3c-xmlserializer: 1.1.2
- webidl-conversions: 4.0.2
- whatwg-encoding: 1.0.5
- whatwg-mimetype: 2.3.0
- whatwg-url: 7.1.0
- ws: 7.5.10
- xml-name-validator: 3.0.0
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- jsesc@0.5.0: {}
-
- jsesc@2.5.2: {}
-
- json-parse-even-better-errors@2.3.1: {}
-
- json-schema-traverse@0.4.1: {}
-
- json-schema@0.4.0: {}
-
- json-stable-stringify-without-jsonify@1.0.1: {}
-
- json-stringify-safe@5.0.1: {}
-
- json5@1.0.2:
- dependencies:
- minimist: 1.2.8
-
- json5@2.2.3: {}
-
- jsonfile@4.0.0:
- optionalDependencies:
- graceful-fs: 4.2.11
-
- jsonfile@6.1.0:
- dependencies:
- universalify: 2.0.1
- optionalDependencies:
- graceful-fs: 4.2.11
-
- jsprim@1.4.2:
- dependencies:
- assert-plus: 1.0.0
- extsprintf: 1.3.0
- json-schema: 0.4.0
- verror: 1.10.0
-
- jsx-ast-utils@3.3.5:
- dependencies:
- array-includes: 3.1.8
- array.prototype.flat: 1.3.2
- object.assign: 4.1.5
- object.values: 1.2.0
-
- 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: {}
-
- language-subtag-registry@0.3.23: {}
-
- language-tags@1.0.9:
- dependencies:
- language-subtag-registry: 0.3.23
-
- leven@3.1.0: {}
-
- levn@0.3.0:
- dependencies:
- prelude-ls: 1.1.2
- type-check: 0.3.2
-
- lilconfig@3.1.2: {}
-
- lines-and-columns@1.2.4: {}
-
- locate-path@5.0.0:
- dependencies:
- p-locate: 4.1.0
-
- lodash.debounce@4.0.8: {}
-
- lodash.memoize@4.1.2: {}
-
- lodash.merge@4.6.2: {}
-
- lodash.sortby@4.7.0: {}
-
- lodash@4.17.21: {}
-
- log-symbols@3.0.0:
- dependencies:
- chalk: 2.4.2
-
- log-update@2.3.0:
- dependencies:
- ansi-escapes: 3.2.0
- cli-cursor: 2.1.0
- wrap-ansi: 3.0.1
-
- lolex@5.1.2:
- dependencies:
- '@sinonjs/commons': 1.8.6
-
- loose-envify@1.4.0:
- dependencies:
- js-tokens: 4.0.0
-
- lower-case@2.0.2:
- dependencies:
- tslib: 2.7.0
-
- lru-cache@5.1.1:
- dependencies:
- yallist: 3.1.1
-
- magic-string@0.25.9:
- dependencies:
- sourcemap-codec: 1.4.8
-
- make-dir@3.1.0:
- dependencies:
- semver: 6.3.1
-
- make-dir@4.0.0:
- dependencies:
- semver: 7.6.2
-
- make-error@1.3.6: {}
-
- makeerror@1.0.12:
- dependencies:
- tmpl: 1.0.5
-
- map-cache@0.2.2: {}
-
- map-visit@1.0.0:
- dependencies:
- object-visit: 1.0.1
-
- merge-stream@2.0.0: {}
-
- 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
- picomatch: 2.3.1
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- mime-db@1.52.0: {}
-
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
-
- mimic-fn@1.2.0: {}
-
- mimic-fn@2.1.0: {}
-
- minimatch@3.1.2:
- dependencies:
- brace-expansion: 1.1.11
-
- minimist@1.2.8: {}
-
- mixin-deep@1.3.2:
- dependencies:
- for-in: 1.0.2
- is-extendable: 1.0.1
-
- mkdirp@0.5.6:
- dependencies:
- minimist: 1.2.8
-
- mri@1.2.0: {}
-
- ms@2.0.0: {}
-
- ms@2.1.2: {}
-
- ms@2.1.3: {}
-
- mute-stream@0.0.8: {}
-
- nanoid-dictionary@4.3.0: {}
-
- nanoid@3.3.7: {}
-
- nanoid@5.0.7: {}
-
- 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
-
- nanospinner@1.1.0:
- dependencies:
- picocolors: 1.1.0
-
- natural-compare@1.4.0: {}
-
- nice-try@1.0.5: {}
-
- no-case@3.0.4:
- dependencies:
- lower-case: 2.0.2
- tslib: 2.7.0
-
- node-int64@0.4.0: {}
-
- node-notifier@6.0.0:
- dependencies:
- growly: 1.3.0
- is-wsl: 2.2.0
- semver: 6.3.1
- shellwords: 0.1.1
- which: 1.3.1
- optional: true
-
- node-releases@2.0.14: {}
-
- normalize-package-data@2.5.0:
- dependencies:
- hosted-git-info: 2.8.9
- resolve: 1.22.8
- semver: 5.7.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: {}
-
- 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.12: {}
-
- oauth-sign@0.9.0: {}
-
- object-assign@4.1.1: {}
-
- 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.2: {}
-
- object-is@1.1.6:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.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
- define-properties: 1.2.1
- has-symbols: 1.0.3
- object-keys: 1.1.1
-
- object.entries@1.1.8:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
-
- object.fromentries@2.0.8:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
-
- object.groupby@1.0.3:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
-
- object.pick@1.3.0:
- dependencies:
- isobject: 3.0.1
-
- object.values@1.2.0:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
-
- once@1.4.0:
- dependencies:
- wrappy: 1.0.2
-
- onetime@2.0.1:
- dependencies:
- mimic-fn: 1.2.0
-
- onetime@5.1.2:
- dependencies:
- mimic-fn: 2.1.0
-
- optionator@0.8.3:
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.3.0
- prelude-ls: 1.1.2
- type-check: 0.3.2
- word-wrap: 1.2.5
-
- ora@4.1.1:
- dependencies:
- chalk: 3.0.0
- cli-cursor: 3.1.0
- cli-spinners: 2.9.2
- is-interactive: 1.0.0
- log-symbols: 3.0.0
- mute-stream: 0.0.8
- strip-ansi: 6.0.1
- wcwidth: 1.0.1
-
- os-tmpdir@1.0.2: {}
-
- p-each-series@2.2.0: {}
-
- p-finally@1.0.0: {}
-
- p-finally@2.0.1: {}
-
- p-limit@2.3.0:
- dependencies:
- p-try: 2.2.0
-
- p-locate@4.1.0:
- dependencies:
- p-limit: 2.3.0
-
- p-try@2.2.0: {}
-
- parent-module@1.0.1:
- dependencies:
- callsites: 3.1.0
-
- parse-json@5.2.0:
- dependencies:
- '@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
-
- parse5@5.1.0: {}
-
- pascal-case@3.1.2:
- dependencies:
- no-case: 3.0.4
- tslib: 2.7.0
-
- pascalcase@0.1.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: {}
-
- path-type@4.0.0: {}
-
- performance-now@2.1.0: {}
-
- picocolors@1.0.1: {}
-
- picocolors@1.1.0: {}
-
- picocolors@1.1.1: {}
-
- picomatch@2.3.1: {}
-
- picomatch@4.0.2: {}
-
- pirates@4.0.6: {}
-
- pkg-dir@4.2.0:
- dependencies:
- find-up: 4.1.0
-
- pn@1.1.0: {}
-
- posix-character-classes@0.1.1: {}
-
- possible-typed-array-names@1.0.0: {}
-
- prelude-ls@1.1.2: {}
-
- prettier-linter-helpers@1.0.0:
- dependencies:
- fast-diff: 1.3.0
-
- prettier@1.19.1: {}
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
- pretty-format@25.5.0:
+ import-local@3.2.0:
dependencies:
- '@jest/types': 25.5.0
- ansi-regex: 5.0.1
- ansi-styles: 4.3.0
- react-is: 16.13.1
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
- pretty-format@30.2.0:
- dependencies:
- '@jest/schemas': 30.0.5
- ansi-styles: 5.2.0
- react-is: 18.3.1
+ imurmurhash@0.1.4: {}
- progress-estimator@0.2.2:
+ inflight@1.0.6:
dependencies:
- chalk: 2.4.2
- cli-spinners: 1.3.1
- humanize-duration: 3.32.1
- log-update: 2.3.0
+ once: 1.4.0
+ wrappy: 1.0.2
- progress@2.0.3: {}
+ inherits@2.0.4: {}
- prompts@2.4.2:
- dependencies:
- kleur: 3.0.3
- sisteransi: 1.0.5
+ is-arrayish@0.2.1: {}
- prop-types@15.8.1:
+ is-core-module@2.16.1:
dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- react-is: 16.13.1
+ hasown: 2.0.2
- property-expr@2.0.6: {}
+ is-extglob@2.1.1: {}
- proxy-from-env@1.1.0: {}
+ is-fullwidth-code-point@3.0.0: {}
- psl@1.9.0: {}
+ is-generator-fn@2.1.0: {}
- pump@3.0.0:
+ is-glob@4.0.3:
dependencies:
- end-of-stream: 1.4.4
- once: 1.4.0
+ is-extglob: 2.1.1
- punycode@2.3.1: {}
+ is-module@1.0.0: {}
- qs@6.5.3: {}
+ is-number@7.0.0: {}
- randombytes@2.1.0:
+ is-reference@1.2.1:
dependencies:
- safe-buffer: 5.2.1
-
- react-is@16.13.1: {}
+ '@types/estree': 1.0.8
- react-is@18.3.1: {}
+ is-stream@2.0.1: {}
- read-pkg-up@7.0.1:
+ is-subdir@1.2.0:
dependencies:
- find-up: 4.1.0
- read-pkg: 5.2.0
- type-fest: 0.8.1
+ better-path-resolve: 1.0.0
- read-pkg@5.2.0:
- dependencies:
- '@types/normalize-package-data': 2.4.4
- normalize-package-data: 2.5.0
- parse-json: 5.2.0
- type-fest: 0.6.0
+ is-windows@1.0.2: {}
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
+ isexe@2.0.0: {}
- realpath-native@2.0.0: {}
+ istanbul-lib-coverage@3.2.2: {}
- rechoir@0.6.2:
+ istanbul-lib-instrument@5.2.1:
dependencies:
- resolve: 1.22.8
+ '@babel/core': 7.29.0
+ '@babel/parser': 7.29.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.2
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
- reflect.getprototypeof@1.0.6:
+ istanbul-lib-instrument@6.0.3:
dependencies:
- 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
- globalthis: 1.0.4
- which-builtin-type: 1.1.3
+ '@babel/core': 7.29.0
+ '@babel/parser': 7.29.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.2
+ semver: 7.7.4
+ transitivePeerDependencies:
+ - supports-color
- regenerate-unicode-properties@10.1.1:
+ istanbul-lib-report@3.0.1:
dependencies:
- regenerate: 1.4.2
-
- regenerate@1.4.2: {}
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
+ supports-color: 7.2.0
- regenerator-runtime@0.13.11: {}
+ istanbul-lib-source-maps@4.0.1:
+ dependencies:
+ debug: 4.4.3
+ istanbul-lib-coverage: 3.2.2
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
- regenerator-runtime@0.14.1: {}
+ istanbul-reports@3.2.0:
+ dependencies:
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
- regenerator-transform@0.15.2:
+ jest-changed-files@29.7.0:
dependencies:
- '@babel/runtime': 7.24.8
+ execa: 5.1.1
+ jest-util: 29.7.0
+ p-limit: 3.1.0
- regex-not@1.0.2:
+ jest-circus@29.7.0:
dependencies:
- extend-shallow: 3.0.2
- safe-regex: 1.1.0
+ '@jest/environment': 29.7.0
+ '@jest/expect': 29.7.0
+ '@jest/test-result': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 25.2.3
+ chalk: 4.1.2
+ co: 4.6.0
+ dedent: 1.7.1
+ 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
- regexp.prototype.flags@1.5.2:
+ jest-cli@29.7.0(@types/node@25.2.3):
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-errors: 1.3.0
- set-function-name: 2.0.2
+ '@jest/core': 29.7.0
+ '@jest/test-result': 29.7.0
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ create-jest: 29.7.0(@types/node@25.2.3)
+ exit: 0.1.2
+ import-local: 3.2.0
+ jest-config: 29.7.0(@types/node@25.2.3)
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
- regexpp@2.0.1: {}
+ jest-config@29.7.0(@types/node@25.2.3):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@jest/test-sequencer': 29.7.0
+ '@jest/types': 29.6.3
+ babel-jest: 29.7.0(@babel/core@7.29.0)
+ chalk: 4.1.2
+ 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.8
+ parse-json: 5.2.0
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ optionalDependencies:
+ '@types/node': 25.2.3
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
- regexpp@3.2.0: {}
+ jest-diff@29.7.0:
+ dependencies:
+ chalk: 4.1.2
+ diff-sequences: 29.6.3
+ jest-get-type: 29.6.3
+ pretty-format: 29.7.0
- regexpu-core@5.3.2:
+ jest-diff@30.2.0:
dependencies:
- '@babel/regjsgen': 0.8.0
- regenerate: 1.4.2
- regenerate-unicode-properties: 10.1.1
- regjsparser: 0.9.1
- unicode-match-property-ecmascript: 2.0.0
- unicode-match-property-value-ecmascript: 2.1.0
+ '@jest/diff-sequences': 30.0.1
+ '@jest/get-type': 30.1.0
+ chalk: 4.1.2
+ pretty-format: 30.2.0
- regjsparser@0.9.1:
+ jest-docblock@29.7.0:
dependencies:
- jsesc: 0.5.0
+ detect-newline: 3.1.0
- remove-trailing-separator@1.1.0: {}
+ jest-each@29.7.0:
+ dependencies:
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ jest-util: 29.7.0
+ pretty-format: 29.7.0
- repeat-element@1.1.4: {}
+ jest-environment-node@29.7.0:
+ dependencies:
+ '@jest/environment': 29.7.0
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 25.2.3
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
- repeat-string@1.6.1: {}
+ jest-get-type@29.6.3: {}
- request-promise-core@1.1.4(request@2.88.2):
+ jest-haste-map@29.7.0:
dependencies:
- lodash: 4.17.21
- request: 2.88.2
+ '@jest/types': 29.6.3
+ '@types/graceful-fs': 4.1.9
+ '@types/node': 25.2.3
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 29.6.3
+ jest-util: 29.7.0
+ jest-worker: 29.7.0
+ micromatch: 4.0.8
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
- request-promise-native@1.0.9(request@2.88.2):
+ jest-leak-detector@29.7.0:
dependencies:
- request: 2.88.2
- request-promise-core: 1.1.4(request@2.88.2)
- stealthy-require: 1.1.1
- tough-cookie: 2.5.0
+ jest-get-type: 29.6.3
+ pretty-format: 29.7.0
- request@2.88.2:
+ jest-matcher-utils@29.7.0:
dependencies:
- aws-sign2: 0.7.0
- aws4: 1.13.0
- caseless: 0.12.0
- combined-stream: 1.0.8
- extend: 3.0.2
- forever-agent: 0.6.1
- form-data: 2.3.3
- har-validator: 5.1.5
- http-signature: 1.2.0
- is-typedarray: 1.0.0
- isstream: 0.1.2
- json-stringify-safe: 5.0.1
- mime-types: 2.1.35
- oauth-sign: 0.9.0
- performance-now: 2.1.0
- qs: 6.5.3
- safe-buffer: 5.2.1
- tough-cookie: 2.5.0
- tunnel-agent: 0.6.0
- uuid: 3.4.0
-
- require-directory@2.1.1: {}
+ chalk: 4.1.2
+ jest-diff: 29.7.0
+ jest-get-type: 29.6.3
+ pretty-format: 29.7.0
- require-main-filename@2.0.0: {}
+ jest-matcher-utils@30.2.0:
+ dependencies:
+ '@jest/get-type': 30.1.0
+ chalk: 4.1.2
+ jest-diff: 30.2.0
+ pretty-format: 30.2.0
- resolve-cwd@3.0.0:
+ jest-message-util@29.7.0:
dependencies:
- resolve-from: 5.0.0
+ '@babel/code-frame': 7.29.0
+ '@jest/types': 29.6.3
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.8
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ stack-utils: 2.0.6
- resolve-from@4.0.0: {}
+ jest-message-util@30.2.0:
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@jest/types': 30.2.0
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.8
+ pretty-format: 30.2.0
+ slash: 3.0.0
+ stack-utils: 2.0.6
- resolve-from@5.0.0: {}
+ jest-mock@29.7.0:
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 25.2.3
+ jest-util: 29.7.0
- resolve-url@0.2.1: {}
+ jest-mock@30.2.0:
+ dependencies:
+ '@jest/types': 30.2.0
+ '@types/node': 25.2.3
+ jest-util: 30.2.0
- resolve@1.1.7: {}
+ jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
+ optionalDependencies:
+ jest-resolve: 29.7.0
- resolve@1.17.0:
- dependencies:
- path-parse: 1.0.7
+ jest-regex-util@29.6.3: {}
- resolve@1.22.8:
- dependencies:
- is-core-module: 2.14.0
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
+ jest-regex-util@30.0.1: {}
- resolve@2.0.0-next.5:
+ jest-resolve-dependencies@29.7.0:
dependencies:
- is-core-module: 2.14.0
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
+ jest-regex-util: 29.6.3
+ jest-snapshot: 29.7.0
+ transitivePeerDependencies:
+ - supports-color
- restore-cursor@2.0.0:
+ jest-resolve@29.7.0:
dependencies:
- onetime: 2.0.1
- signal-exit: 3.0.7
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ 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.11
+ resolve.exports: 2.0.3
+ slash: 3.0.0
- restore-cursor@3.1.0:
+ jest-runner@29.7.0:
dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
-
- ret@0.1.15: {}
+ '@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': 25.2.3
+ chalk: 4.1.2
+ emittery: 0.13.1
+ graceful-fs: 4.2.11
+ 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:
+ - supports-color
- rimraf@2.6.3:
+ jest-runtime@29.7.0:
dependencies:
+ '@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': 25.2.3
+ chalk: 4.1.2
+ cjs-module-lexer: 1.4.3
+ collect-v8-coverage: 1.0.3
glob: 7.2.3
+ graceful-fs: 4.2.11
+ 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
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-snapshot@29.7.0:
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0)
+ '@babel/types': 7.29.0
+ '@jest/expect-utils': 29.7.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 29.6.3
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0)
+ chalk: 4.1.2
+ expect: 29.7.0
+ graceful-fs: 4.2.11
+ 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: 29.7.0
+ semver: 7.7.4
+ transitivePeerDependencies:
+ - supports-color
- rimraf@3.0.2:
+ jest-util@29.7.0:
dependencies:
- glob: 7.2.3
+ '@jest/types': 29.6.3
+ '@types/node': 25.2.3
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
- rollup-plugin-sourcemaps@0.6.3(@types/node@20.14.10)(rollup@1.32.1):
+ jest-util@30.2.0:
dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@1.32.1)
- rollup: 1.32.1
- source-map-resolve: 0.6.0
- optionalDependencies:
- '@types/node': 20.14.10
+ '@jest/types': 30.2.0
+ '@types/node': 25.2.3
+ chalk: 4.1.2
+ ci-info: 4.4.0
+ graceful-fs: 4.2.11
+ picomatch: 4.0.3
- rollup-plugin-terser@5.3.1(rollup@1.32.1):
+ jest-validate@29.7.0:
dependencies:
- '@babel/code-frame': 7.24.7
- jest-worker: 24.9.0
- rollup: 1.32.1
- rollup-pluginutils: 2.8.2
- serialize-javascript: 4.0.0
- terser: 4.8.1
+ '@jest/types': 29.6.3
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ leven: 3.1.0
+ pretty-format: 29.7.0
- rollup-plugin-typescript2@0.27.3(rollup@1.32.1)(typescript@3.9.10):
+ jest-watcher@29.7.0:
dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@1.32.1)
- find-cache-dir: 3.3.2
- fs-extra: 8.1.0
- resolve: 1.17.0
- rollup: 1.32.1
- tslib: 2.0.1
- typescript: 3.9.10
+ '@jest/test-result': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 25.2.3
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.13.1
+ jest-util: 29.7.0
+ string-length: 4.0.2
- rollup-pluginutils@2.8.2:
+ jest-worker@29.7.0:
dependencies:
- estree-walker: 0.6.1
+ '@types/node': 25.2.3
+ jest-util: 29.7.0
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
- rollup@1.32.1:
+ jest@29.7.0(@types/node@25.2.3):
dependencies:
- '@types/estree': 1.0.5
- '@types/node': 20.14.10
- acorn: 7.4.1
+ '@jest/core': 29.7.0
+ '@jest/types': 29.6.3
+ import-local: 3.2.0
+ jest-cli: 29.7.0(@types/node@25.2.3)
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
- rsvp@4.8.5: {}
+ jiti@2.6.1: {}
- run-async@2.4.1: {}
+ js-tokens@4.0.0: {}
- rxjs@6.6.7:
+ js-yaml@3.14.2:
dependencies:
- tslib: 1.14.1
+ argparse: 1.0.10
+ esprima: 4.0.1
- sade@1.8.1:
+ js-yaml@4.1.1:
dependencies:
- mri: 1.2.0
+ argparse: 2.0.1
- 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
+ jsesc@3.1.0: {}
- safe-buffer@5.2.1: {}
+ json-buffer@3.0.1: {}
- safe-regex-test@1.0.3:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-regex: 1.1.4
+ json-parse-even-better-errors@2.3.1: {}
- safe-regex@1.1.0:
- dependencies:
- ret: 0.1.15
+ json-schema-traverse@0.4.1: {}
- safer-buffer@2.1.2: {}
+ json-stable-stringify-without-jsonify@1.0.1: {}
- 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
+ json5@2.2.3: {}
- saxes@3.1.11:
- dependencies:
- xmlchars: 2.2.0
+ jsonc-parser@3.3.1: {}
+
+ jsonfile@4.0.0:
+ optionalDependencies:
+ graceful-fs: 4.2.11
- semver@5.7.2: {}
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
- semver@6.3.1: {}
+ kleur@3.0.3: {}
- semver@7.6.2: {}
+ leven@3.1.0: {}
- serialize-javascript@4.0.0:
+ levn@0.4.1:
dependencies:
- randombytes: 2.1.0
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
- set-blocking@2.0.0: {}
+ lines-and-columns@1.2.4: {}
- set-function-length@1.2.2:
+ locate-path@5.0.0:
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
+ p-locate: 4.1.0
- set-function-name@2.0.2:
+ locate-path@6.0.0:
dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- functions-have-names: 1.2.3
- has-property-descriptors: 1.0.2
+ p-locate: 5.0.0
- 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
+ lodash.memoize@4.1.2: {}
- shebang-command@1.2.0:
- dependencies:
- shebang-regex: 1.0.0
+ lodash.merge@4.6.2: {}
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
+ lodash.startcase@4.4.0: {}
- shebang-regex@1.0.0: {}
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
- shebang-regex@3.0.0: {}
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
- shelljs@0.8.5:
+ make-dir@4.0.0:
dependencies:
- glob: 7.2.3
- interpret: 1.4.0
- rechoir: 0.6.2
+ semver: 7.7.4
- shellwords@0.1.1:
- optional: true
+ make-error@1.3.6: {}
- side-channel@1.0.6:
+ makeerror@1.0.12:
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- object-inspect: 1.13.2
+ tmpl: 1.0.5
- signal-exit@3.0.7: {}
+ math-intrinsics@1.1.0: {}
- sisteransi@1.0.5: {}
+ merge-stream@2.0.0: {}
+
+ merge2@1.4.1: {}
- size-limit@11.1.5:
+ micromatch@4.0.8:
dependencies:
- bytes-iec: 3.1.1
- chokidar: 3.6.0
- jiti: 1.21.6
- lilconfig: 3.1.2
- nanospinner: 1.1.0
- picocolors: 1.1.0
- tinyglobby: 0.2.6
+ braces: 3.0.3
+ picomatch: 2.3.1
- slash@3.0.0: {}
+ mime-db@1.52.0: {}
- slice-ansi@2.1.0:
+ mime-types@2.1.35:
dependencies:
- ansi-styles: 3.2.1
- astral-regex: 1.0.0
- is-fullwidth-code-point: 2.0.0
+ mime-db: 1.52.0
- snapdragon-node@2.1.1:
- dependencies:
- define-property: 1.0.0
- isobject: 3.0.1
- snapdragon-util: 3.0.1
+ mimic-fn@2.1.0: {}
- snapdragon-util@3.0.1:
+ minimatch@3.1.2:
dependencies:
- kind-of: 3.2.2
+ brace-expansion: 1.1.12
- snapdragon@0.8.2:
+ minimatch@9.0.5:
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
+ brace-expansion: 2.0.2
+
+ minimist@1.2.8: {}
- source-map-resolve@0.5.3:
+ minipass@3.3.6:
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
+ yallist: 4.0.0
- source-map-resolve@0.6.0:
+ minipass@5.0.0: {}
+
+ minizlib@2.1.2:
dependencies:
- atob: 2.1.2
- decode-uri-component: 0.2.2
+ minipass: 3.3.6
+ yallist: 4.0.0
+
+ mkdirp@1.0.4: {}
- source-map-support@0.5.21:
+ mlly@1.8.0:
dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
+ acorn: 8.15.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.3
- source-map-url@0.4.1: {}
+ mri@1.2.0: {}
- source-map@0.5.7: {}
+ ms@2.1.3: {}
- source-map@0.6.1: {}
+ nanoid-dictionary@4.3.0: {}
- source-map@0.7.4: {}
+ nanoid@3.3.11: {}
- sourcemap-codec@1.4.8: {}
+ natural-compare@1.4.0: {}
- spdx-correct@3.2.0:
- dependencies:
- spdx-expression-parse: 3.0.1
- spdx-license-ids: 3.0.18
+ neo-async@2.6.2: {}
- spdx-exceptions@2.5.0: {}
+ node-fetch-native@1.6.7: {}
- spdx-expression-parse@3.0.1:
- dependencies:
- spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.18
+ node-int64@0.4.0: {}
- spdx-license-ids@3.0.18: {}
+ node-releases@2.0.27: {}
- split-string@3.1.0:
- dependencies:
- extend-shallow: 3.0.2
+ normalize-path@3.0.0: {}
- sprintf-js@1.0.3: {}
+ npm-run-path@4.0.1:
+ dependencies:
+ path-key: 3.1.1
- sshpk@1.18.0:
+ nypm@0.5.4:
dependencies:
- asn1: 0.2.6
- assert-plus: 1.0.0
- bcrypt-pbkdf: 1.0.2
- dashdash: 1.14.1
- ecc-jsbn: 0.1.2
- getpass: 0.1.7
- jsbn: 0.1.1
- safer-buffer: 2.1.2
- tweetnacl: 0.14.5
+ citty: 0.1.6
+ consola: 3.4.2
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ tinyexec: 0.3.2
+ ufo: 1.6.3
+
+ ohash@2.0.11: {}
- stack-utils@1.0.5:
+ once@1.4.0:
dependencies:
- escape-string-regexp: 2.0.0
+ wrappy: 1.0.2
- stack-utils@2.0.6:
+ onetime@5.1.2:
dependencies:
- escape-string-regexp: 2.0.0
+ mimic-fn: 2.1.0
- static-extend@0.1.2:
+ optionator@0.9.4:
dependencies:
- define-property: 0.2.5
- object-copy: 0.1.0
+ 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
- stealthy-require@1.1.1: {}
+ outdent@0.5.0: {}
- stop-iteration-iterator@1.0.0:
+ p-filter@2.1.0:
dependencies:
- internal-slot: 1.0.7
+ p-map: 2.1.0
- string-length@3.1.0:
+ p-limit@2.3.0:
dependencies:
- astral-regex: 1.0.0
- strip-ansi: 5.2.0
+ p-try: 2.2.0
- string-width@2.1.1:
+ p-limit@3.1.0:
dependencies:
- is-fullwidth-code-point: 2.0.0
- strip-ansi: 4.0.0
+ yocto-queue: 0.1.0
- string-width@3.1.0:
+ p-locate@4.1.0:
dependencies:
- emoji-regex: 7.0.3
- is-fullwidth-code-point: 2.0.0
- strip-ansi: 5.2.0
+ p-limit: 2.3.0
- string-width@4.2.3:
+ p-locate@5.0.0:
dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
+ p-limit: 3.1.0
- string.prototype.includes@2.0.0:
- dependencies:
- define-properties: 1.2.1
- es-abstract: 1.23.3
+ p-map@2.1.0: {}
- string.prototype.matchall@4.0.11:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-errors: 1.3.0
- es-object-atoms: 1.0.0
- get-intrinsic: 1.2.4
- gopd: 1.0.1
- has-symbols: 1.0.3
- internal-slot: 1.0.7
- regexp.prototype.flags: 1.5.2
- set-function-name: 2.0.2
- side-channel: 1.0.6
+ p-try@2.2.0: {}
- string.prototype.repeat@1.0.0:
+ package-manager-detector@0.2.11:
dependencies:
- define-properties: 1.2.1
- es-abstract: 1.23.3
+ quansync: 0.2.11
- string.prototype.trim@1.2.9:
+ parent-module@1.0.1:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
+ callsites: 3.1.0
- string.prototype.trimend@1.0.8:
+ parse-json@5.2.0:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ '@babel/code-frame': 7.29.0
+ error-ex: 1.3.4
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
- string.prototype.trimstart@1.0.8:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ path-exists@4.0.0: {}
- strip-ansi@4.0.0:
- dependencies:
- ansi-regex: 3.0.1
+ path-is-absolute@1.0.1: {}
- strip-ansi@5.2.0:
- dependencies:
- ansi-regex: 4.1.1
+ path-key@3.1.1: {}
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
+ path-parse@1.0.7: {}
- strip-bom@3.0.0: {}
+ path-type@4.0.0: {}
- strip-bom@4.0.0: {}
+ pathe@2.0.3: {}
- strip-eof@1.0.0: {}
+ perfect-debounce@1.0.0: {}
- strip-final-newline@2.0.0: {}
+ picocolors@1.1.1: {}
- strip-json-comments@3.1.1: {}
+ picomatch@2.3.1: {}
- supports-color@5.5.0:
- dependencies:
- has-flag: 3.0.0
+ picomatch@4.0.3: {}
- supports-color@6.1.0:
- dependencies:
- has-flag: 3.0.0
+ pify@4.0.1: {}
- supports-color@7.2.0:
+ pirates@4.0.7: {}
+
+ pkg-dir@4.2.0:
dependencies:
- has-flag: 4.0.0
+ find-up: 4.1.0
- supports-hyperlinks@2.3.0:
+ pkg-types@1.3.1:
dependencies:
- has-flag: 4.0.0
- supports-color: 7.2.0
+ confbox: 0.1.8
+ mlly: 1.8.0
+ pathe: 2.0.3
- supports-preserve-symlinks-flag@1.0.0: {}
+ prelude-ls@1.2.1: {}
- symbol-tree@3.2.4: {}
+ prettier@2.8.8: {}
- table@5.4.6:
- dependencies:
- ajv: 6.12.6
- lodash: 4.17.21
- slice-ansi: 2.1.0
- string-width: 3.1.0
+ prettier@3.8.1: {}
- terminal-link@2.1.1:
+ pretty-format@29.7.0:
dependencies:
- ansi-escapes: 4.3.2
- supports-hyperlinks: 2.3.0
+ '@jest/schemas': 29.6.3
+ ansi-styles: 5.2.0
+ react-is: 18.3.1
- terser@4.8.1:
+ pretty-format@30.2.0:
dependencies:
- acorn: 8.12.1
- commander: 2.20.3
- source-map: 0.6.1
- source-map-support: 0.5.21
+ '@jest/schemas': 30.0.5
+ ansi-styles: 5.2.0
+ react-is: 18.3.1
- test-exclude@6.0.0:
+ prompts@2.4.2:
dependencies:
- '@istanbuljs/schema': 0.1.3
- glob: 7.2.3
- minimatch: 3.1.2
+ kleur: 3.0.3
+ sisteransi: 1.0.5
- text-table@0.2.0: {}
+ proxy-from-env@1.1.0: {}
- throat@5.0.0: {}
+ punycode@2.3.1: {}
- through@2.3.8: {}
+ pure-rand@6.1.0: {}
- tiny-case@1.0.3: {}
+ quansync@0.2.11: {}
- tiny-glob@0.2.9:
- dependencies:
- globalyzer: 0.1.0
- globrex: 0.1.2
+ queue-microtask@1.2.3: {}
- tinyglobby@0.2.6:
+ rc9@2.1.2:
dependencies:
- fdir: 6.3.0(picomatch@4.0.2)
- picomatch: 4.0.2
+ defu: 6.1.4
+ destr: 2.0.5
- tmp@0.0.33:
- dependencies:
- os-tmpdir: 1.0.2
+ react-is@18.3.1: {}
- tmpl@1.0.5: {}
+ read-yaml-file@1.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ js-yaml: 3.14.2
+ pify: 4.0.1
+ strip-bom: 3.0.0
- to-fast-properties@2.0.0: {}
+ readdirp@4.1.2: {}
- to-object-path@0.3.0:
- dependencies:
- kind-of: 3.2.2
+ require-directory@2.1.1: {}
- to-regex-range@2.1.1:
+ resolve-cwd@3.0.0:
dependencies:
- is-number: 3.0.0
- repeat-string: 1.6.1
+ resolve-from: 5.0.0
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
+ resolve-from@4.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
+ resolve-from@5.0.0: {}
- toposort@2.0.2: {}
+ resolve.exports@2.0.3: {}
- tough-cookie@2.5.0:
+ resolve@1.22.11:
dependencies:
- psl: 1.9.0
- punycode: 2.3.1
+ is-core-module: 2.16.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
- tough-cookie@3.0.1:
- dependencies:
- ip-regex: 2.1.0
- psl: 1.9.0
- punycode: 2.3.1
+ reusify@1.1.0: {}
- tr46@1.0.1:
+ rollup-plugin-dts@6.3.0(rollup@4.57.1)(typescript@5.9.3):
dependencies:
- punycode: 2.3.1
+ magic-string: 0.30.21
+ rollup: 4.57.1
+ typescript: 5.9.3
+ optionalDependencies:
+ '@babel/code-frame': 7.29.0
- ts-jest@25.5.1(jest@25.5.4)(typescript@3.9.10):
+ rollup@4.57.1:
dependencies:
- bs-logger: 0.2.6
- buffer-from: 1.1.2
- fast-json-stable-stringify: 2.1.0
- jest: 25.5.4
- json5: 2.2.3
- lodash.memoize: 4.1.2
- make-error: 1.3.6
- micromatch: 4.0.7
- mkdirp: 0.5.6
- semver: 6.3.1
- typescript: 3.9.10
- yargs-parser: 18.1.3
+ '@types/estree': 1.0.8
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.57.1
+ '@rollup/rollup-android-arm64': 4.57.1
+ '@rollup/rollup-darwin-arm64': 4.57.1
+ '@rollup/rollup-darwin-x64': 4.57.1
+ '@rollup/rollup-freebsd-arm64': 4.57.1
+ '@rollup/rollup-freebsd-x64': 4.57.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.57.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.57.1
+ '@rollup/rollup-linux-arm64-gnu': 4.57.1
+ '@rollup/rollup-linux-arm64-musl': 4.57.1
+ '@rollup/rollup-linux-loong64-gnu': 4.57.1
+ '@rollup/rollup-linux-loong64-musl': 4.57.1
+ '@rollup/rollup-linux-ppc64-gnu': 4.57.1
+ '@rollup/rollup-linux-ppc64-musl': 4.57.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.57.1
+ '@rollup/rollup-linux-riscv64-musl': 4.57.1
+ '@rollup/rollup-linux-s390x-gnu': 4.57.1
+ '@rollup/rollup-linux-x64-gnu': 4.57.1
+ '@rollup/rollup-linux-x64-musl': 4.57.1
+ '@rollup/rollup-openbsd-x64': 4.57.1
+ '@rollup/rollup-openharmony-arm64': 4.57.1
+ '@rollup/rollup-win32-arm64-msvc': 4.57.1
+ '@rollup/rollup-win32-ia32-msvc': 4.57.1
+ '@rollup/rollup-win32-x64-gnu': 4.57.1
+ '@rollup/rollup-win32-x64-msvc': 4.57.1
+ fsevents: 2.3.3
- tsconfig-paths@3.15.0:
+ run-parallel@1.2.0:
dependencies:
- '@types/json5': 0.0.29
- json5: 1.0.2
- minimist: 1.2.8
- strip-bom: 3.0.0
-
- tsdx@0.14.1(@types/babel__core@7.20.5)(@types/node@20.14.10):
- dependencies:
- '@babel/core': 7.24.9
- '@babel/helper-module-imports': 7.24.7
- '@babel/parser': 7.24.8
- '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.9)
- '@babel/preset-env': 7.24.8(@babel/core@7.24.9)
- '@babel/traverse': 7.24.8
- '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.9)(@types/babel__core@7.20.5)(rollup@1.32.1)
- '@rollup/plugin-commonjs': 11.1.0(rollup@1.32.1)
- '@rollup/plugin-json': 4.1.0(rollup@1.32.1)
- '@rollup/plugin-node-resolve': 9.0.0(rollup@1.32.1)
- '@rollup/plugin-replace': 2.4.2(rollup@1.32.1)
- '@types/jest': 25.2.3
- '@typescript-eslint/eslint-plugin': 2.34.0(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0)(typescript@5.6.2)
- '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@3.9.10)
- ansi-escapes: 4.3.2
- asyncro: 3.0.0
- babel-eslint: 10.1.0(eslint@6.8.0)
- babel-plugin-annotate-pure-calls: 0.4.0(@babel/core@7.24.9)
- babel-plugin-dev-expression: 0.2.3(@babel/core@7.24.9)
- babel-plugin-macros: 2.8.0
- babel-plugin-polyfill-regenerator: 0.0.4(@babel/core@7.24.9)
- babel-plugin-transform-rename-import: 2.3.0
- camelcase: 6.3.0
- chalk: 4.1.2
- enquirer: 2.4.1
- eslint: 6.8.0
- eslint-config-prettier: 6.15.0(eslint@6.8.0)
- eslint-config-react-app: 5.2.1(@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0)(typescript@3.9.10))(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(babel-eslint@10.1.0(eslint@6.8.0))(eslint-plugin-flowtype@3.13.0(eslint@6.8.0))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0))(eslint-plugin-jsx-a11y@6.9.0(eslint@6.8.0))(eslint-plugin-react-hooks@2.5.1(eslint@6.8.0))(eslint-plugin-react@7.34.4(eslint@6.8.0))(eslint@6.8.0)(typescript@3.9.10)
- eslint-plugin-flowtype: 3.13.0(eslint@6.8.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@5.6.2))(eslint@6.8.0)
- eslint-plugin-jsx-a11y: 6.9.0(eslint@6.8.0)
- eslint-plugin-prettier: 3.4.1(eslint-config-prettier@6.15.0(eslint@6.8.0))(eslint@6.8.0)(prettier@1.19.1)
- eslint-plugin-react: 7.34.4(eslint@6.8.0)
- eslint-plugin-react-hooks: 2.5.1(eslint@6.8.0)
- execa: 4.1.0
- fs-extra: 9.1.0
- jest: 25.5.4
- jest-watch-typeahead: 0.5.0
- jpjs: 1.2.1
- lodash.merge: 4.6.2
- ora: 4.1.1
- pascal-case: 3.1.2
- prettier: 1.19.1
- progress-estimator: 0.2.2
- regenerator-runtime: 0.13.11
- rollup: 1.32.1
- rollup-plugin-sourcemaps: 0.6.3(@types/node@20.14.10)(rollup@1.32.1)
- rollup-plugin-terser: 5.3.1(rollup@1.32.1)
- rollup-plugin-typescript2: 0.27.3(rollup@1.32.1)(typescript@3.9.10)
- sade: 1.8.1
- semver: 7.6.2
- shelljs: 0.8.5
- tiny-glob: 0.2.9
- ts-jest: 25.5.1(jest@25.5.4)(typescript@3.9.10)
- tslib: 1.14.1
- typescript: 3.9.10
- transitivePeerDependencies:
- - '@types/babel__core'
- - '@types/node'
- - bufferutil
- - canvas
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- - supports-color
- - utf-8-validate
-
- tslib@1.14.1: {}
+ queue-microtask: 1.2.3
- tslib@2.0.1: {}
+ safer-buffer@2.1.2: {}
- tslib@2.7.0: {}
+ semver@6.3.1: {}
- tsutils@3.21.0(typescript@3.9.10):
- dependencies:
- tslib: 1.14.1
- typescript: 3.9.10
+ semver@7.7.4: {}
- tunnel-agent@0.6.0:
+ shebang-command@2.0.0:
dependencies:
- safe-buffer: 5.2.1
+ shebang-regex: 3.0.0
- tweetnacl@0.14.5: {}
+ shebang-regex@3.0.0: {}
- type-check@0.3.2:
- dependencies:
- prelude-ls: 1.1.2
+ signal-exit@3.0.7: {}
- type-detect@4.0.8: {}
+ signal-exit@4.1.0: {}
- type-fest@0.21.3: {}
+ sisteransi@1.0.5: {}
- type-fest@0.6.0: {}
+ slash@3.0.0: {}
- type-fest@0.8.1: {}
+ source-map-support@0.5.13:
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
- type-fest@2.19.0: {}
+ source-map@0.6.1: {}
- typed-array-buffer@1.0.2:
+ spawndamnit@3.0.1:
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-typed-array: 1.1.13
+ cross-spawn: 7.0.6
+ signal-exit: 4.1.0
- 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
+ sprintf-js@1.0.3: {}
- typed-array-byte-offset@1.0.2:
+ stack-utils@2.0.6:
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
+ escape-string-regexp: 2.0.0
- typed-array-length@1.0.6:
+ string-length@4.0.2:
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
+ char-regex: 1.0.2
+ strip-ansi: 6.0.1
- typedarray-to-buffer@3.1.5:
+ string-width@4.2.3:
dependencies:
- is-typedarray: 1.0.0
-
- typescript@3.9.10: {}
-
- typescript@5.6.2: {}
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
- unbox-primitive@1.0.2:
+ strip-ansi@6.0.1:
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: {}
+ ansi-regex: 5.0.1
- unicode-canonical-property-names-ecmascript@2.0.0: {}
+ strip-bom@3.0.0: {}
- unicode-match-property-ecmascript@2.0.0:
- dependencies:
- unicode-canonical-property-names-ecmascript: 2.0.0
- unicode-property-aliases-ecmascript: 2.1.0
+ strip-bom@4.0.0: {}
- unicode-match-property-value-ecmascript@2.1.0: {}
+ strip-final-newline@2.0.0: {}
- unicode-property-aliases-ecmascript@2.1.0: {}
+ strip-json-comments@3.1.1: {}
- union-value@1.0.1:
+ supports-color@7.2.0:
dependencies:
- arr-union: 3.1.0
- get-value: 2.0.6
- is-extendable: 0.1.1
- set-value: 2.0.1
+ has-flag: 4.0.0
- universalify@0.1.2: {}
+ supports-color@8.1.1:
+ dependencies:
+ has-flag: 4.0.0
- universalify@2.0.1: {}
+ supports-preserve-symlinks-flag@1.0.0: {}
- unset-value@1.0.0:
+ tar@6.2.1:
dependencies:
- has-value: 0.3.1
- isobject: 3.0.1
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 5.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
- update-browserslist-db@1.1.0(browserslist@4.23.2):
- dependencies:
- browserslist: 4.23.2
- escalade: 3.1.2
- picocolors: 1.0.1
+ term-size@2.2.1: {}
- uri-js@4.4.1:
+ test-exclude@6.0.0:
dependencies:
- punycode: 2.3.1
+ '@istanbuljs/schema': 0.1.3
+ glob: 7.2.3
+ minimatch: 3.1.2
- urix@0.1.0: {}
+ tiny-conventional-commits-parser@0.0.1: {}
- use@3.1.1: {}
+ tinyexec@0.3.2: {}
- uuid@3.4.0: {}
+ tinyglobby@0.2.15:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
- v8-compile-cache@2.4.0: {}
+ tmpl@1.0.5: {}
- v8-to-istanbul@4.1.4:
+ to-regex-range@5.0.1:
dependencies:
- '@types/istanbul-lib-coverage': 2.0.6
- convert-source-map: 1.9.0
- source-map: 0.7.4
+ is-number: 7.0.0
- validate-npm-package-license@3.0.4:
+ ts-api-utils@2.4.0(typescript@5.9.3):
dependencies:
- spdx-correct: 3.2.0
- spdx-expression-parse: 3.0.1
+ typescript: 5.9.3
- verror@1.10.0:
+ ts-jest@29.4.6(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@30.2.0)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@30.2.0)(jest@29.7.0(@types/node@25.2.3))(typescript@5.9.3):
dependencies:
- assert-plus: 1.0.0
- core-util-is: 1.0.2
- extsprintf: 1.3.0
+ bs-logger: 0.2.6
+ fast-json-stable-stringify: 2.1.0
+ handlebars: 4.7.8
+ jest: 29.7.0(@types/node@25.2.3)
+ json5: 2.2.3
+ lodash.memoize: 4.1.2
+ make-error: 1.3.6
+ semver: 7.7.4
+ type-fest: 4.41.0
+ typescript: 5.9.3
+ yargs-parser: 21.1.1
+ optionalDependencies:
+ '@babel/core': 7.29.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 30.2.0
+ babel-jest: 29.7.0(@babel/core@7.29.0)
+ jest-util: 30.2.0
- w3c-hr-time@1.0.2:
- dependencies:
- browser-process-hrtime: 1.0.0
+ tslib@2.8.1: {}
- w3c-xmlserializer@1.1.2:
+ type-check@0.4.0:
dependencies:
- domexception: 1.0.1
- webidl-conversions: 4.0.2
- xml-name-validator: 3.0.0
+ prelude-ls: 1.2.1
- walker@1.0.8:
- dependencies:
- makeerror: 1.0.12
+ type-detect@4.0.8: {}
- wcwidth@1.0.1:
- dependencies:
- defaults: 1.0.4
+ type-fest@0.21.3: {}
- webidl-conversions@4.0.2: {}
+ type-fest@4.41.0: {}
- whatwg-encoding@1.0.5:
- dependencies:
- iconv-lite: 0.4.24
+ typescript@5.9.3: {}
+
+ ufo@1.6.3: {}
+
+ uglify-js@3.19.3:
+ optional: true
+
+ undici-types@7.16.0: {}
- whatwg-mimetype@2.3.0: {}
+ universalify@0.1.2: {}
- whatwg-url@7.1.0:
+ update-browserslist-db@1.2.3(browserslist@4.28.1):
dependencies:
- lodash.sortby: 4.7.0
- tr46: 1.0.1
- webidl-conversions: 4.0.2
+ browserslist: 4.28.1
+ escalade: 3.2.0
+ picocolors: 1.1.1
- which-boxed-primitive@1.0.2:
+ uri-js@4.4.1:
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
+ punycode: 2.3.1
- which-builtin-type@1.1.3:
+ v8-to-istanbul@9.3.0:
dependencies:
- function.prototype.name: 1.1.6
- has-tostringtag: 1.0.2
- is-async-function: 2.0.0
- is-date-object: 1.0.5
- is-finalizationregistry: 1.0.2
- is-generator-function: 1.0.10
- is-regex: 1.1.4
- is-weakref: 1.0.2
- isarray: 2.0.5
- which-boxed-primitive: 1.0.2
- which-collection: 1.0.2
- which-typed-array: 1.1.15
-
- which-collection@1.0.2:
- dependencies:
- is-map: 2.0.3
- is-set: 2.0.3
- is-weakmap: 2.0.2
- is-weakset: 2.0.3
-
- which-module@2.0.1: {}
-
- 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
+ '@jridgewell/trace-mapping': 0.3.31
+ '@types/istanbul-lib-coverage': 2.0.6
+ convert-source-map: 2.0.0
- which@1.3.1:
+ walker@1.0.8:
dependencies:
- isexe: 2.0.0
+ makeerror: 1.0.12
which@2.0.2:
dependencies:
@@ -8893,12 +4845,9 @@ snapshots:
word-wrap@1.2.5: {}
- wrap-ansi@3.0.1:
- dependencies:
- string-width: 2.1.1
- strip-ansi: 4.0.0
+ wordwrap@1.0.0: {}
- wrap-ansi@6.2.0:
+ wrap-ansi@7.0.0:
dependencies:
ansi-styles: 4.3.0
string-width: 4.2.3
@@ -8906,51 +4855,29 @@ 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
-
- write@1.0.3:
- dependencies:
- mkdirp: 0.5.6
- ws@7.5.10: {}
-
- xml-name-validator@3.0.0: {}
-
- xmlchars@2.2.0: {}
-
- y18n@4.0.3: {}
+ y18n@5.0.8: {}
yallist@3.1.1: {}
- yaml@1.10.2: {}
+ yallist@4.0.0: {}
- yargs-parser@18.1.3:
- dependencies:
- camelcase: 5.3.1
- decamelize: 1.2.0
+ yargs-parser@21.1.1: {}
- yargs@15.4.1:
+ yargs@17.7.2:
dependencies:
- cliui: 6.0.0
- decamelize: 1.2.0
- find-up: 4.1.0
+ cliui: 8.0.1
+ escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
- require-main-filename: 2.0.0
- set-blocking: 2.0.0
string-width: 4.2.3
- which-module: 2.0.1
- y18n: 4.0.3
- yargs-parser: 18.1.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
- yup@1.4.0:
- dependencies:
- property-expr: 2.0.6
- tiny-case: 1.0.3
- toposort: 2.0.2
- type-fest: 2.19.0
+ yocto-queue@0.1.0: {}
+
+ zod@4.3.6: {}
From 9391262dd99a07c498c99027fdbf77317bc650c3 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:46 +0300
Subject: [PATCH 07/53] chore: update src/chapa.ts
---
src/chapa.ts | 401 ++++++++++++++-------------------------------------
1 file changed, 111 insertions(+), 290 deletions(-)
diff --git a/src/chapa.ts b/src/chapa.ts
index 1a329dd..f6f7470 100644
--- a/src/chapa.ts
+++ b/src/chapa.ts
@@ -1,8 +1,10 @@
-import axios from 'axios';
+import { AxiosInstance } from 'axios';
import { customAlphabet } from 'nanoid';
import { alphanumeric } from 'nanoid-dictionary';
+import { createAxiosInstance } from './axios-instance';
import { ChapaUrls } from './enums';
-import { HttpException } from './http-exception';
+import { withErrorHandling } from './utils';
+import { verifyWebhookSignature, WebhookPayload } from './webhook';
import {
AuthorizeDirectChargeOptions,
AuthorizeDirectChargeResponse,
@@ -40,6 +42,7 @@ import {
validateRefundOptions,
validateTransferOptions,
validateVerifyOptions,
+ validateVerifyTransferOptions,
} from './validations';
interface IChapa {
@@ -66,93 +69,56 @@ interface IChapa {
options: AuthorizeDirectChargeOptions
): Promise;
refund(options: RefundOptions): Promise;
+ verifyWebhook(payload: WebhookPayload | string, signature: string): boolean;
}
export class Chapa implements IChapa {
- constructor(private chapaOptions: ChapaOptions) {}
+ private axiosInstance: AxiosInstance;
+ private webhookSecret?: string;
- async initialize(options: InitializeOptions): Promise {
- try {
- await validateInitializeOptions(options);
+ constructor(chapaOptions: ChapaOptions) {
+ this.axiosInstance = createAxiosInstance(
+ chapaOptions.secretKey,
+ chapaOptions.logging,
+ chapaOptions.debug,
+ chapaOptions.retries,
+ chapaOptions.retryDelay
+ );
+ this.webhookSecret = chapaOptions.webhookSecret;
+ }
- const response = await axios.post(
+ async initialize(options: InitializeOptions): Promise {
+ return withErrorHandling(async () => {
+ validateInitializeOptions(options);
+ const response = await this.axiosInstance.post(
ChapaUrls.INITIALIZE,
- options,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ options
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async mobileInitialize(
options: InitializeOptions
): Promise {
- try {
- await validateInitializeOptions(options);
-
- const response = await axios.post(
+ return withErrorHandling(async () => {
+ validateInitializeOptions(options);
+ const response = await this.axiosInstance.post(
ChapaUrls.MOBILE_INITIALIZE,
- options,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ options
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async verify(options: VerifyOptions): Promise {
- try {
- await validateVerifyOptions(options);
- const response = await axios.get(
- `${ChapaUrls.VERIFY}/${options.tx_ref}`,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ return withErrorHandling(async () => {
+ validateVerifyOptions(options);
+ const response = await this.axiosInstance.get(
+ `${ChapaUrls.VERIFY}/${options.tx_ref}`
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async genTxRef(options?: GenTxRefOptions): Promise {
@@ -168,307 +134,162 @@ export class Chapa implements IChapa {
}
async getBanks(): Promise {
- try {
- const banks = await axios.get(ChapaUrls.BANK, {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- });
+ return withErrorHandling(async () => {
+ const banks = await this.axiosInstance.get(
+ ChapaUrls.BANK
+ );
return banks.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else {
- throw error;
- }
- }
+ });
}
async createSubaccount(
options: CreateSubaccountOptions
): Promise {
- try {
- await validateCreateSubaccountOptions(options);
- const response = await axios.post(
+ return withErrorHandling(async () => {
+ validateCreateSubaccountOptions(options);
+ const response = await this.axiosInstance.post(
ChapaUrls.SUBACCOUNT,
- options,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ options
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async getTransactions(): Promise {
- try {
- const response = await axios.get(
- ChapaUrls.TRANSACTION,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ return withErrorHandling(async () => {
+ const response = await this.axiosInstance.get(
+ ChapaUrls.TRANSACTION
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else {
- throw error;
- }
- }
+ });
}
async getTransactionLogs(
options: GetTransactionLogsOptions
): Promise {
- try {
- await validateGetTransactionLogsOptions(options);
- const response = await axios.get(
- `${ChapaUrls.TRANSACTION_LOG}/${options.ref_id}`,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ return withErrorHandling(async () => {
+ validateGetTransactionLogsOptions(options);
+ const response = await this.axiosInstance.get(
+ `${ChapaUrls.TRANSACTION_LOG}/${options.ref_id}`
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async transfer(options: TransferOptions): Promise {
- try {
- await validateTransferOptions(options);
-
- const response = await axios.post(
+ return withErrorHandling(async () => {
+ validateTransferOptions(options);
+ const response = await this.axiosInstance.post(
ChapaUrls.TRANSFER,
- options,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ options
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async bulkTransfer(
options: BulkTransferOptions
): Promise {
- try {
- await validateBulkTransferOptions(options);
-
- const response = await axios.post(
+ return withErrorHandling(async () => {
+ validateBulkTransferOptions(options);
+ const response = await this.axiosInstance.post(
ChapaUrls.BULK_TRANSFER,
- options,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ options
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async verifyTransfer(
options: VerifyTransferOptions
): Promise {
- try {
- await validateVerifyOptions(options);
- const response = await axios.get(
- `${ChapaUrls.VERIFY_TRANSFER}/${options.tx_ref}`,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ return withErrorHandling(async () => {
+ validateVerifyTransferOptions(options);
+ const response = await this.axiosInstance.get(
+ `${ChapaUrls.VERIFY_TRANSFER}/${options.tx_ref}`
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async getTransfers(): Promise {
- try {
- const response = await axios.get(
- ChapaUrls.TRANSFER,
- {
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
+ return withErrorHandling(async () => {
+ const response = await this.axiosInstance.get(
+ ChapaUrls.TRANSFER
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else {
- throw error;
- }
- }
+ });
}
async directCharge(
options: DirectChargeOptions
): Promise {
- try {
- await validateDirectChargeOptions(options);
-
- const response = await axios.post(
+ return withErrorHandling(async () => {
+ validateDirectChargeOptions(options);
+ const response = await this.axiosInstance.post(
ChapaUrls.DIRECT_CHARGE,
options,
{
params: {
type: options.type,
},
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
}
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ });
}
async authorizeDirectCharge(
options: AuthorizeDirectChargeOptions
): Promise {
- try {
- await validateAuthorizeDirectChargeOptions(options);
-
- const response = await axios.post(
- ChapaUrls.AUTHORIZE_DIRECT_CHARGE,
- options,
- {
- params: {
- type: options.type,
- },
- headers: {
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
- },
- }
- );
- return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
+ return withErrorHandling(async () => {
+ validateAuthorizeDirectChargeOptions(options);
+ const response =
+ await this.axiosInstance.post(
+ ChapaUrls.AUTHORIZE_DIRECT_CHARGE,
+ options,
+ {
+ params: {
+ type: options.type,
+ },
+ }
);
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
- }
+ return response.data;
+ });
}
async refund(options: RefundOptions): Promise {
- try {
- await validateRefundOptions(options);
-
+ return withErrorHandling(async () => {
+ validateRefundOptions(options);
const { tx_ref, ...body } = options;
- const response = await axios.post(
+ const formBody = new URLSearchParams();
+ Object.entries(body).forEach(([key, value]) => {
+ if (value === undefined) {
+ return;
+ }
+ if (key === 'meta' && typeof value === 'object' && value !== null) {
+ formBody.set(key, JSON.stringify(value));
+ return;
+ }
+ formBody.set(key, String(value));
+ });
+ const response = await this.axiosInstance.post(
`${ChapaUrls.REFUND}/${tx_ref}`,
- body,
+ formBody,
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
- Authorization: `Bearer ${this.chapaOptions.secretKey}`,
},
}
);
return response.data;
- } catch (error) {
- if (error.response) {
- throw new HttpException(
- error.response.data.message,
- error.response.status
- );
- } else if (error.name === 'ValidationError') {
- throw new HttpException(error.errors[0], 400);
- } else {
- throw error;
- }
+ });
+ }
+
+ verifyWebhook(payload: WebhookPayload | string, signature: string): boolean {
+ if (!this.webhookSecret) {
+ throw new Error('Webhook secret not configured');
}
+ return verifyWebhookSignature(payload, signature, this.webhookSecret);
}
}
From cd57630b0b66672b6eab8fded21d60a49f7be490 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:48 +0300
Subject: [PATCH 08/53] chore: update src/enums/chapa-urls.enum.ts
---
src/enums/chapa-urls.enum.ts | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/enums/chapa-urls.enum.ts b/src/enums/chapa-urls.enum.ts
index 518680e..9d05ecb 100644
--- a/src/enums/chapa-urls.enum.ts
+++ b/src/enums/chapa-urls.enum.ts
@@ -1,15 +1,15 @@
export enum ChapaUrls {
- INITIALIZE = 'https://api.chapa.co/v1/transaction/initialize',
- MOBILE_INITIALIZE = 'https://api.chapa.co/v1/transaction/mobile-initialize',
- VERIFY = 'https://api.chapa.co/v1/transaction/verify',
- BANK = 'https://api.chapa.co/v1/banks',
- SUBACCOUNT = 'https://api.chapa.co/v1/subaccount',
- TRANSACTION = 'https://api.chapa.co/v1/transactions',
- TRANSACTION_LOG = 'https://api.chapa.co/v1/transaction/events',
- TRANSFER = 'https://api.chapa.co/v1/transfers',
- BULK_TRANSFER = 'https://api.chapa.co/v1/bulk-transfers',
- VERIFY_TRANSFER = 'https://api.chapa.co/v1/transfers/verify',
- DIRECT_CHARGE = 'https://api.chapa.co/v1/charges',
- AUTHORIZE_DIRECT_CHARGE = 'https://api.chapa.co/v1/validate',
- REFUND = 'https://api.chapa.co/v1/refund',
+ INITIALIZE = '/transaction/initialize',
+ MOBILE_INITIALIZE = '/transaction/mobile-initialize',
+ VERIFY = '/transaction/verify',
+ BANK = '/banks',
+ SUBACCOUNT = '/subaccount',
+ TRANSACTION = '/transactions',
+ TRANSACTION_LOG = '/transaction/events',
+ TRANSFER = '/transfers',
+ BULK_TRANSFER = '/bulk-transfers',
+ VERIFY_TRANSFER = '/transfers/verify',
+ DIRECT_CHARGE = '/charges',
+ AUTHORIZE_DIRECT_CHARGE = '/validate',
+ REFUND = '/refund',
}
From 6365ee6110ec8e68dcbcc88bd72dcad75a3fcec6 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:51 +0300
Subject: [PATCH 09/53] chore: update src/http-exception.ts
---
src/http-exception.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/http-exception.ts b/src/http-exception.ts
index 5a1088b..09173de 100644
--- a/src/http-exception.ts
+++ b/src/http-exception.ts
@@ -3,6 +3,6 @@ export class HttpException extends Error {
constructor(message: string, status: number) {
super(message);
this.status = status;
- Error.captureStackTrace(this, this.constructor);
+ this.name = 'HttpException';
}
}
From 552c4bce77719d964fc5d31517263f613bb46b2c Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:53 +0300
Subject: [PATCH 10/53] chore: update src/index.ts
---
src/index.ts | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/index.ts b/src/index.ts
index 2318a1c..882ad3a 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,3 +1,6 @@
export * from './chapa';
export * from './interfaces';
export * from './enums';
+export * from './http-exception';
+export * from './types';
+export * from './webhook';
From f13b8d6b61bd7928fe9ad54f05376682d2d28c37 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:55 +0300
Subject: [PATCH 11/53] chore: update src/interfaces/chapa-options.interface.ts
---
src/interfaces/chapa-options.interface.ts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/interfaces/chapa-options.interface.ts b/src/interfaces/chapa-options.interface.ts
index e97c33e..59e3f1f 100644
--- a/src/interfaces/chapa-options.interface.ts
+++ b/src/interfaces/chapa-options.interface.ts
@@ -1,3 +1,8 @@
export interface ChapaOptions {
secretKey: string;
+ webhookSecret?: string;
+ logging?: boolean;
+ debug?: boolean;
+ retries?: number;
+ retryDelay?: number;
}
From e3fd7a4f8203fb121d53ffaeae10be4062e59966 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:57 +0300
Subject: [PATCH 12/53] chore: update src/interfaces/get-banks.interface.ts
---
src/interfaces/get-banks.interface.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/interfaces/get-banks.interface.ts b/src/interfaces/get-banks.interface.ts
index 5bde4c2..9cc06df 100644
--- a/src/interfaces/get-banks.interface.ts
+++ b/src/interfaces/get-banks.interface.ts
@@ -6,8 +6,8 @@ interface Data {
name: string;
acct_length: number;
country_id: number;
- created_at: Date;
- updated_at: Date;
+ created_at: string;
+ updated_at: string;
is_rtgs: boolean | null;
is_mobilemoney: boolean | null;
currency: Currency;
From ed685f239af0bbe9f6bc7906216e0e5bc050a7c2 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:02:59 +0300
Subject: [PATCH 13/53] chore: update src/interfaces/index.ts
---
src/interfaces/index.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts
index 2ccfb60..1ba3f78 100644
--- a/src/interfaces/index.ts
+++ b/src/interfaces/index.ts
@@ -6,4 +6,4 @@ export * from './create-subaccount.interface';
export * from './transaction.interface';
export * from './transfer.interface';
export * from './direct-charge.interface';
-export * from './refund.interface';
\ No newline at end of file
+export * from './refund.interface';
From 9e9b8d2143588e474d086372cab3cbb564c6d37d Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:03:02 +0300
Subject: [PATCH 14/53] chore: update src/interfaces/payment.interface.ts
---
src/interfaces/payment.interface.ts | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/interfaces/payment.interface.ts b/src/interfaces/payment.interface.ts
index d418bff..6b59b5d 100644
--- a/src/interfaces/payment.interface.ts
+++ b/src/interfaces/payment.interface.ts
@@ -67,8 +67,8 @@ export interface VerifyResponse {
description: string;
logo: string;
};
- meta: any;
- created_at: Date;
- updated_at: Date;
+ meta: Record;
+ created_at: string;
+ updated_at: string;
};
}
From 02d560f9b33aa67353aa52127d16a4e5a0a45cda Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:03:04 +0300
Subject: [PATCH 15/53] chore: update src/interfaces/refund.interface.ts
---
src/interfaces/refund.interface.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/interfaces/refund.interface.ts b/src/interfaces/refund.interface.ts
index 229e7fa..c5ed5bd 100644
--- a/src/interfaces/refund.interface.ts
+++ b/src/interfaces/refund.interface.ts
@@ -5,12 +5,12 @@ export interface RefundOptions {
meta?: {
customer_id?: string;
reference?: string;
- [key: string]: any;
+ [key: string]: unknown;
};
}
export interface RefundResponse {
message: string;
status: string;
- data: any;
+ data: Record;
}
From c0c298ce3350aa15b8ddf3fea97322b29f1bd29c Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:03:06 +0300
Subject: [PATCH 16/53] chore: update src/interfaces/transaction.interface.ts
---
src/interfaces/transaction.interface.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/interfaces/transaction.interface.ts b/src/interfaces/transaction.interface.ts
index c4d5e0d..83e7e2b 100644
--- a/src/interfaces/transaction.interface.ts
+++ b/src/interfaces/transaction.interface.ts
@@ -22,7 +22,7 @@ interface Transaction {
status: string;
ref_id: string;
type: string;
- created_at: Date;
+ created_at: string;
currency: string;
amount: string;
charge: string;
From 8e7a2415554eb53dc5633dc49bfb6e0a5ee7ad10 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:03:08 +0300
Subject: [PATCH 17/53] chore: update src/interfaces/transfer.interface.ts
---
src/interfaces/transfer.interface.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/interfaces/transfer.interface.ts b/src/interfaces/transfer.interface.ts
index 3e60269..18ad52f 100644
--- a/src/interfaces/transfer.interface.ts
+++ b/src/interfaces/transfer.interface.ts
@@ -59,7 +59,7 @@ interface Meta {
prev_page_url: null;
to: number;
total: number;
- error: any[];
+ error: unknown[];
}
interface Transfer {
From bf86d2f016536f354914dc28f6c90977aadf9bbb Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:03:10 +0300
Subject: [PATCH 18/53] chore: update
src/validations/create-subaccount.validation.ts
---
.../create-subaccount.validation.ts | 27 +++++++++----------
1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/src/validations/create-subaccount.validation.ts b/src/validations/create-subaccount.validation.ts
index 370b73f..62b7352 100644
--- a/src/validations/create-subaccount.validation.ts
+++ b/src/validations/create-subaccount.validation.ts
@@ -1,21 +1,18 @@
-import * as yup from 'yup';
+import { z } from 'zod';
import { SplitType } from '../enums';
import { CreateSubaccountOptions } from '../interfaces';
-export const validateCreateSubaccountOptions = async (
+const createSubaccountSchema = z.object({
+ business_name: z.string(),
+ account_name: z.string(),
+ bank_code: z.number(),
+ account_number: z.string(),
+ split_type: z.nativeEnum(SplitType),
+ split_value: z.number(),
+});
+
+export const validateCreateSubaccountOptions = (
createSubaccountOptions: CreateSubaccountOptions
) => {
- const schema = yup.object().shape({
- business_name: yup.string().required(),
- account_name: yup.string().required(),
- bank_code: yup.number().required(),
- account_number: yup.string().required(),
- split_type: yup
- .mixed()
- .oneOf(Object.values(SplitType))
- .required(),
- split_value: yup.number().required(),
- });
-
- return await schema.validate(createSubaccountOptions);
+ return createSubaccountSchema.parse(createSubaccountOptions);
};
From 82d9953b0f3e96db7b3e66ac00ff06c835838277 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:03:12 +0300
Subject: [PATCH 19/53] chore: update
src/validations/direct-charge.validation.ts
---
src/validations/direct-charge.validation.ts | 65 +++++++++------------
1 file changed, 26 insertions(+), 39 deletions(-)
diff --git a/src/validations/direct-charge.validation.ts b/src/validations/direct-charge.validation.ts
index 218d67c..582f511 100644
--- a/src/validations/direct-charge.validation.ts
+++ b/src/validations/direct-charge.validation.ts
@@ -1,50 +1,37 @@
-import * as yup from 'yup';
+import { z } from 'zod';
import {
AuthorizeDirectChargeOptions,
DirectChargeOptions,
} from '../interfaces';
-export const validateDirectChargeOptions = async (
- options: DirectChargeOptions
-) => {
- const schema = yup.object().shape({
- first_name: yup
- .string()
- .nullable()
- .optional(),
- last_name: yup
- .string()
- .nullable()
- .optional(),
- email: yup
- .string()
- .email()
- .nullable()
- .optional(),
- mobile: yup
- .string()
- .matches(
- /^0[79]\d{8}$/,
- 'Phone number must be 10 digits and start with 09 or 07'
- )
- .required(),
- currency: yup.string().required(),
- amount: yup.string().required(),
- tx_ref: yup.string().required(),
- type: yup.string().required(),
- });
+const directChargeSchema = z.object({
+ first_name: z.string().optional(),
+ last_name: z.string().optional(),
+ email: z.string().email().optional(),
+ mobile: z
+ .string()
+ .regex(
+ /^0[79]\d{8}$/,
+ 'Phone number must be 10 digits and start with 09 or 07'
+ ),
+ currency: z.string(),
+ amount: z.string(),
+ tx_ref: z.string(),
+ type: z.string(),
+});
+
+const authorizeDirectChargeSchema = z.object({
+ reference: z.string(),
+ client: z.string(),
+ type: z.string(),
+});
- return await schema.validate(options);
+export const validateDirectChargeOptions = (options: DirectChargeOptions) => {
+ return directChargeSchema.parse(options);
};
-export const validateAuthorizeDirectChargeOptions = async (
+export const validateAuthorizeDirectChargeOptions = (
options: AuthorizeDirectChargeOptions
) => {
- const schema = yup.object().shape({
- reference: yup.string().required(),
- client: yup.string().required(),
- type: yup.string().required(),
- });
-
- return await schema.validate(options);
+ return authorizeDirectChargeSchema.parse(options);
};
From ad4250a42e89fe647379f0f5337d495c06eb983e Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:03:15 +0300
Subject: [PATCH 20/53] chore: remove src/validations/gen-tx-ref.validation.ts
---
src/validations/gen-tx-ref.validation.ts | 14 --------------
1 file changed, 14 deletions(-)
delete mode 100644 src/validations/gen-tx-ref.validation.ts
diff --git a/src/validations/gen-tx-ref.validation.ts b/src/validations/gen-tx-ref.validation.ts
deleted file mode 100644
index 578ffd8..0000000
--- a/src/validations/gen-tx-ref.validation.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import * as yup from 'yup';
-import { GenTxRefOptions } from '../interfaces';
-
-export const validateGenTxRefOptions = async (
- genTxRefOptions: GenTxRefOptions
-) => {
- const schema = yup.object().shape({
- removePrefix: yup.boolean().optional(),
- prefix: yup.string().optional(),
- size: yup.number().optional(),
- });
-
- return await schema.validate(genTxRefOptions);
-};
From 01a10bd3cc6aebdf9547a6f8b8f13ccb5801e625 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:03:17 +0300
Subject: [PATCH 21/53] chore: update src/validations/payment.validation.ts
---
src/validations/payment.validation.ts | 118 +++++++++-----------------
1 file changed, 42 insertions(+), 76 deletions(-)
diff --git a/src/validations/payment.validation.ts b/src/validations/payment.validation.ts
index 4150495..028ff2e 100644
--- a/src/validations/payment.validation.ts
+++ b/src/validations/payment.validation.ts
@@ -1,83 +1,49 @@
-import * as yup from 'yup';
+import { z } from 'zod';
+import { SplitType } from '../enums';
import { InitializeOptions, VerifyOptions } from '../interfaces';
-export const validateInitializeOptions = async (options: InitializeOptions) => {
- const schema = yup.object().shape({
- first_name: yup
- .string()
- .nullable()
- .optional(),
- last_name: yup
- .string()
- .nullable()
- .optional(),
- email: yup
- .string()
- .email()
- .nullable()
- .optional(),
- phone_number: yup
- .string()
- .matches(
- /^0[79]\d{8}$/,
- 'Phone number must be 10 digits and start with 09 or 07'
- )
- .nullable()
- .optional(),
- currency: yup.string().required(),
- amount: yup.string().required(),
- tx_ref: yup.string().required(),
- callback_url: yup
- .string()
- .nullable()
- .optional(),
- return_url: yup
- .string()
- .nullable()
- .optional(),
- customization: yup
- .object()
- .shape({
- title: yup
- .string()
- .nullable()
- .optional(),
- description: yup
- .string()
- .nullable()
- .optional(),
- logo: yup
- .string()
- .nullable()
- .optional(),
+const initializeSchema = z.object({
+ first_name: z.string().optional(),
+ last_name: z.string().optional(),
+ email: z.string().email().optional(),
+ phone_number: z
+ .string()
+ .regex(
+ /^0[79]\d{8}$/,
+ 'Phone number must be 10 digits and start with 09 or 07'
+ )
+ .optional(),
+ currency: z.string(),
+ amount: z.string(),
+ tx_ref: z.string(),
+ callback_url: z.string().optional(),
+ return_url: z.string().optional(),
+ customization: z
+ .object({
+ title: z.string().optional(),
+ description: z.string().optional(),
+ logo: z.string().optional(),
+ })
+ .optional(),
+ subaccounts: z
+ .array(
+ z.object({
+ id: z.string(),
+ split_type: z.nativeEnum(SplitType).optional(),
+ split_value: z.coerce.number().optional(),
})
- .optional(),
- subaccounts: yup
- .array()
- .of(
- yup.object().shape({
- id: yup.string().required(),
- split_type: yup
- .string()
- .nullable()
- .optional(),
- split_value: yup
- .string()
- .nullable()
- .optional(),
- })
- )
- .nullable()
- .optional(),
- });
+ )
+ .optional(),
+});
- return await schema.validate(options);
-};
+const verifySchema = z.object({
+ tx_ref: z.string(),
+});
-export const validateVerifyOptions = async (options: VerifyOptions) => {
- const schema = yup.object().shape({
- tx_ref: yup.string().required(),
- });
+export const validateInitializeOptions = (options: InitializeOptions) => {
+ return initializeSchema.parse(options);
+};
- return await schema.validate(options);
+export const validateVerifyOptions = (options: VerifyOptions) => {
+ return verifySchema.parse(options);
};
From e29c894f0cf50f1928b7c6cad403c2c7582bd57d Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:05:18 +0300
Subject: [PATCH 22/53] chore: update src/validations/refund.validation.ts
- Replace yup validation library with zod for schema validation
- Convert validateRefundOptions from async to synchronous function
- Update schema definition to use zod syntax with z.object() and z.string()
- Simplify validation call from schema.validate() to schema.parse()
- Maintain same validation rules for tx_ref, reason, amount, and meta fields
---
src/validations/refund.validation.ts | 29 ++++++++++++++--------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/src/validations/refund.validation.ts b/src/validations/refund.validation.ts
index fcc61d2..87690a2 100644
--- a/src/validations/refund.validation.ts
+++ b/src/validations/refund.validation.ts
@@ -1,19 +1,18 @@
-import * as yup from 'yup';
+import { z } from 'zod';
import { RefundOptions } from '../interfaces';
-export const validateRefundOptions = async (options: RefundOptions) => {
- const schema = yup.object().shape({
- tx_ref: yup.string().required(),
- reason: yup.string().optional(),
- amount: yup.string().optional(),
- meta: yup
- .object()
- .shape({
- customer_id: yup.string().optional(),
- reference: yup.string().optional(),
- })
- .optional(),
- });
+const refundSchema = z.object({
+ tx_ref: z.string(),
+ reason: z.string().optional(),
+ amount: z.string().optional(),
+ meta: z
+ .object({
+ customer_id: z.string().optional(),
+ reference: z.string().optional(),
+ })
+ .optional(),
+});
- return await schema.validate(options);
+export const validateRefundOptions = (options: RefundOptions) => {
+ return refundSchema.parse(options);
};
From 9f736c9ce2e58b4d0f56d3a5f38c7eef982c1d26 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:06:08 +0300
Subject: [PATCH 23/53] chore: add changeset configuration
- Add .changeset/config.json with schema reference and default settings
- Configure changelog generation using @changesets/cli
- Set access level to restricted for package publishing
- Set base branch to main for version tracking
- Configure internal dependency updates to patch level
- Disable automatic commit creation on version bumps
---
.changeset/README.md | 8 ++++++++
.changeset/config.json | 11 +++++++++++
2 files changed, 19 insertions(+)
create mode 100644 .changeset/README.md
create mode 100644 .changeset/config.json
diff --git a/.changeset/README.md b/.changeset/README.md
new file mode 100644
index 0000000..e5b6d8d
--- /dev/null
+++ b/.changeset/README.md
@@ -0,0 +1,8 @@
+# Changesets
+
+Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
+with multi-package repos, or single-package repos to help you version and publish your code. You can
+find the full documentation for it [in our repository](https://github.com/changesets/changesets)
+
+We have a quick list of common questions to get you started engaging with this project in
+[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
diff --git a/.changeset/config.json b/.changeset/config.json
new file mode 100644
index 0000000..ad6f18a
--- /dev/null
+++ b/.changeset/config.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json",
+ "changelog": "@changesets/cli/changelog",
+ "commit": false,
+ "fixed": [],
+ "linked": [],
+ "access": "restricted",
+ "baseBranch": "main",
+ "updateInternalDependencies": "patch",
+ "ignore": []
+}
From 93ff1c3e6fc957869fa8cc29a8541072732e30a3 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:06:20 +0300
Subject: [PATCH 24/53] chore: add GitHub issue templates
- Add bug report template with reproduction steps and environment details
- Add feature request template with problem statement and proposed solution
- Add question template for user inquiries
- Add issue template config to disable blank issues and link to documentation
- Standardize issue creation workflow with structured forms
---
.github/ISSUE_TEMPLATE/bug_report.yml | 85 ++++++++++++++++++++++
.github/ISSUE_TEMPLATE/config.yml | 8 ++
.github/ISSUE_TEMPLATE/feature_request.yml | 52 +++++++++++++
.github/ISSUE_TEMPLATE/question.yml | 34 +++++++++
4 files changed, 179 insertions(+)
create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml
create mode 100644 .github/ISSUE_TEMPLATE/config.yml
create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml
create mode 100644 .github/ISSUE_TEMPLATE/question.yml
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..09f2e30
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,85 @@
+name: Bug Report
+description: Report a bug or issue with chapa-nodejs
+title: "[Bug]: "
+labels: ["bug", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to report a bug! Please fill out the form below.
+
+ - type: textarea
+ id: description
+ attributes:
+ label: Bug Description
+ description: A clear and concise description of what the bug is.
+ placeholder: Tell us what you see!
+ validations:
+ required: true
+
+ - type: textarea
+ id: reproduction
+ attributes:
+ label: Steps to Reproduce
+ description: Steps to reproduce the behavior
+ placeholder: |
+ 1. Initialize Chapa with...
+ 2. Call method...
+ 3. See error...
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected
+ attributes:
+ label: Expected Behavior
+ description: What did you expect to happen?
+ validations:
+ required: true
+
+ - type: textarea
+ id: code
+ attributes:
+ label: Code Sample
+ description: Please provide a minimal code sample that reproduces the issue
+ render: typescript
+ validations:
+ required: false
+
+ - type: input
+ id: version
+ attributes:
+ label: Package Version
+ description: What version of chapa-nodejs are you using?
+ placeholder: e.g., 2.3.1
+ validations:
+ required: true
+
+ - type: input
+ id: node-version
+ attributes:
+ label: Node.js Version
+ description: What version of Node.js are you using?
+ placeholder: e.g., 20.10.0
+ validations:
+ required: true
+
+ - type: dropdown
+ id: environment
+ attributes:
+ label: Environment
+ description: Where are you running this?
+ options:
+ - Development
+ - Production
+ - Testing
+ validations:
+ required: true
+
+ - type: textarea
+ id: additional
+ attributes:
+ label: Additional Context
+ description: Add any other context about the problem here
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..1969944
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Documentation
+ url: https://github.com/fireayehu/chapa-nodejs#readme
+ about: Check the documentation for usage examples
+ - name: Chapa API Documentation
+ url: https://developer.chapa.co/docs
+ about: Official Chapa API documentation
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..72f9cb4
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,52 @@
+name: Feature Request
+description: Suggest a new feature or enhancement
+title: "[Feature]: "
+labels: ["enhancement"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for suggesting a new feature!
+
+ - type: textarea
+ id: problem
+ attributes:
+ label: Problem Statement
+ description: Is your feature request related to a problem? Please describe.
+ placeholder: I'm always frustrated when...
+ validations:
+ required: true
+
+ - type: textarea
+ id: solution
+ attributes:
+ label: Proposed Solution
+ description: Describe the solution you'd like
+ placeholder: I would like to see...
+ validations:
+ required: true
+
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Alternatives Considered
+ description: Describe alternatives you've considered
+ validations:
+ required: false
+
+ - type: textarea
+ id: example
+ attributes:
+ label: Example Usage
+ description: Show how you'd like to use this feature
+ render: typescript
+ validations:
+ required: false
+
+ - type: textarea
+ id: additional
+ attributes:
+ label: Additional Context
+ description: Add any other context or screenshots about the feature request
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml
new file mode 100644
index 0000000..227b08c
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/question.yml
@@ -0,0 +1,34 @@
+name: Question
+description: Ask a question about chapa-nodejs
+title: "[Question]: "
+labels: ["question"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Have a question? We're here to help!
+
+ - type: textarea
+ id: question
+ attributes:
+ label: Your Question
+ description: What would you like to know?
+ validations:
+ required: true
+
+ - type: textarea
+ id: context
+ attributes:
+ label: Context
+ description: Provide any relevant context or what you've tried so far
+ validations:
+ required: false
+
+ - type: textarea
+ id: code
+ attributes:
+ label: Code Sample
+ description: If applicable, provide a code sample
+ render: typescript
+ validations:
+ required: false
From 5fa1ccf209d2fd3b19b9c69c00e15d7a3a5933e4 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:06:36 +0300
Subject: [PATCH 25/53] ci: add GitHub Actions CI workflow
- Add CI workflow that runs on push to main and develop branches
- Add pull request trigger for main and develop branches
- Configure matrix testing across Node.js versions 18.x, 20.x, and 22.x
- Add steps for dependency installation with pnpm frozen lockfile
- Add format check, linting, and test execution steps
- Add build step to verify compilation
- Add codecov integration for coverage reporting on Node.js 20.x
- Automate quality checks and test execution on code changes
---
.github/workflows/ci.yml | 51 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 .github/workflows/ci.yml
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..e9c9c1e
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,51 @@
+name: CI
+
+on:
+ push:
+ branches: [main, develop]
+ pull_request:
+ branches: [main, develop]
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [18.x, 20.x, 22.x]
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: 10
+
+ - name: Setup Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node-version }}
+ cache: 'pnpm'
+
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Format check
+ run: pnpm run format:check
+
+ - name: Lint
+ run: pnpm run lint
+
+ - name: Test
+ run: pnpm test
+
+ - name: Build
+ run: pnpm run build
+
+ - name: Upload coverage
+ if: matrix.node-version == '20.x'
+ uses: codecov/codecov-action@v4
+ with:
+ files: ./coverage/lcov.info
+ flags: unittests
+ name: codecov-umbrella
From 6a42a972045208a8c526cc3a4cee5446e9518336 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:06:45 +0300
Subject: [PATCH 26/53] chore: add pull request template
- Add GitHub pull request template to standardize PR submissions
- Include sections for description, change type, and related issues
- Add checklist for code quality, testing, and documentation requirements
- Provide structure for contributors to follow when creating pull requests
---
.github/PULL_REQUEST_TEMPLATE.md | 49 ++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..3574a2f
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,49 @@
+## Description
+
+
+## Type of Change
+
+
+- [ ] Bug fix (non-breaking change which fixes an issue)
+- [ ] New feature (non-breaking change which adds functionality)
+- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
+- [ ] Documentation update
+- [ ] Code refactoring
+- [ ] Performance improvement
+- [ ] Test coverage improvement
+
+## Related Issue
+
+Closes #
+
+## Changes Made
+
+
+-
+-
+-
+
+## Testing
+
+
+- [ ] All existing tests pass
+- [ ] Added new tests for new functionality
+- [ ] Manual testing completed
+
+## Checklist
+
+
+- [ ] My code follows the project's code style
+- [ ] I have performed a self-review of my code
+- [ ] I have commented my code, particularly in hard-to-understand areas
+- [ ] I have made corresponding changes to the documentation
+- [ ] My changes generate no new warnings
+- [ ] I have added tests that prove my fix is effective or that my feature works
+- [ ] New and existing unit tests pass locally with my changes
+- [ ] Any dependent changes have been merged and published
+
+## Screenshots (if applicable)
+
+
+## Additional Notes
+
From c465920a981a6fc37fc920713263012b681dd38d Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:07:43 +0300
Subject: [PATCH 27/53] chore: add husky pre-commit hook
- Add pre-commit hook configuration to run linting checks
- Add pre-commit hook configuration to run format validation
- Add pre-commit hook configuration to run test suite
- Ensures code quality and consistency before commits are made
---
.husky/pre-commit | 3 +++
1 file changed, 3 insertions(+)
create mode 100755 .husky/pre-commit
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 0000000..b4c2b8e
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,3 @@
+pnpm lint
+pnpm format:check
+pnpm test
From 04aea88eff0c8a681bb34ad77a47f4be0b718333 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:08:19 +0300
Subject: [PATCH 28/53] feat(types): add error types and type guards
- Add ChapaErrorResponse interface for standardized error responses
- Add isAxiosError type guard function to safely check Axios errors
- Create types/index.ts barrel export for centralized type exports
- Establish foundation for consistent error handling across the SDK
---
src/types/errors.ts | 13 +++++++++++++
src/types/index.ts | 1 +
2 files changed, 14 insertions(+)
create mode 100644 src/types/errors.ts
create mode 100644 src/types/index.ts
diff --git a/src/types/errors.ts b/src/types/errors.ts
new file mode 100644
index 0000000..07348c8
--- /dev/null
+++ b/src/types/errors.ts
@@ -0,0 +1,13 @@
+import { AxiosError } from 'axios';
+
+export interface ChapaErrorResponse {
+ message: string;
+ status?: string;
+ data?: unknown;
+}
+
+export function isAxiosError(
+ error: unknown
+): error is AxiosError {
+ return (error as AxiosError).isAxiosError === true;
+}
diff --git a/src/types/index.ts b/src/types/index.ts
new file mode 100644
index 0000000..f72bc43
--- /dev/null
+++ b/src/types/index.ts
@@ -0,0 +1 @@
+export * from './errors';
From 707e82279dd66a782a884f9d9a984183f8a2af45 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:08:36 +0300
Subject: [PATCH 29/53] chore: migrate validation schemas from yup to zod
- Replace yup validation library with zod in transaction.validation.ts
- Replace yup validation library with zod in transfer.validation.ts
- Convert validateGetTransactionLogsOptions to synchronous function using zod.parse()
- Convert validateTransferOptions to synchronous function using zod.parse()
- Convert validateBulkTransferOptions to synchronous function using zod.parse()
- Convert validateVerifyTransferOptions to synchronous function using zod.parse()
- Extract schema definitions to module level for better reusability
- Remove async/await patterns in favor of synchronous zod validation
- Simplify schema definitions by removing explicit .required() calls (zod fields are required by default)
---
src/validations/transaction.validation.ts | 14 ++---
src/validations/transfer.validation.ts | 71 +++++++++++------------
2 files changed, 40 insertions(+), 45 deletions(-)
diff --git a/src/validations/transaction.validation.ts b/src/validations/transaction.validation.ts
index 9e2de40..22bbf6a 100644
--- a/src/validations/transaction.validation.ts
+++ b/src/validations/transaction.validation.ts
@@ -1,12 +1,12 @@
-import * as yup from 'yup';
+import { z } from 'zod';
import { GetTransactionLogsOptions } from '../interfaces';
-export const validateGetTransactionLogsOptions = async (
+const transactionLogsSchema = z.object({
+ ref_id: z.string(),
+});
+
+export const validateGetTransactionLogsOptions = (
options: GetTransactionLogsOptions
) => {
- const schema = yup.object().shape({
- ref_id: yup.string().required(),
- });
-
- return await schema.validate(options);
+ return transactionLogsSchema.parse(options);
};
diff --git a/src/validations/transfer.validation.ts b/src/validations/transfer.validation.ts
index 08b7085..d3abfc7 100644
--- a/src/validations/transfer.validation.ts
+++ b/src/validations/transfer.validation.ts
@@ -1,52 +1,47 @@
-import * as yup from 'yup';
+import { z } from 'zod';
import {
BulkTransferOptions,
TransferOptions,
VerifyTransferOptions,
} from '../interfaces';
-export const validateTransferOptions = async (options: TransferOptions) => {
- const schema = yup.object().shape({
- account_name: yup.string().required(),
- account_number: yup.string().required(),
- amount: yup.string().required(),
- currency: yup.string().required(),
- reference: yup.string().required(),
- bank_code: yup.number().required(),
- });
+const transferSchema = z.object({
+ account_name: z.string(),
+ account_number: z.string(),
+ amount: z.string(),
+ currency: z.string(),
+ reference: z.string(),
+ bank_code: z.number(),
+});
- return await schema.validate(options);
-};
+const bulkTransferSchema = z.object({
+ title: z.string(),
+ currency: z.string(),
+ bulk_data: z.array(
+ z.object({
+ account_name: z.string(),
+ account_number: z.string(),
+ amount: z.string(),
+ reference: z.string(),
+ bank_code: z.number(),
+ })
+ ),
+});
-export const validateBulkTransferOptions = async (
- options: BulkTransferOptions
-) => {
- const schema = yup.object().shape({
- title: yup.string().required(),
- currency: yup.string().required(),
- bulk_data: yup
- .array()
- .of(
- yup.object().shape({
- account_name: yup.string().required(),
- account_number: yup.string().required(),
- amount: yup.string().required(),
- reference: yup.string().required(),
- bank_code: yup.number().required(),
- })
- )
- .required(),
- });
+const verifyTransferSchema = z.object({
+ tx_ref: z.string(),
+});
- return await schema.validate(options);
+export const validateTransferOptions = (options: TransferOptions) => {
+ return transferSchema.parse(options);
};
-export const validateVerifyTransferOptions = async (
+export const validateBulkTransferOptions = (options: BulkTransferOptions) => {
+ return bulkTransferSchema.parse(options);
+};
+
+export const validateVerifyTransferOptions = (
options: VerifyTransferOptions
) => {
- const schema = yup.object().shape({
- tx_ref: yup.string().required(),
- });
-
- return await schema.validate(options);
+ return verifyTransferSchema.parse(options);
};
From 9449134d203d802471e2b34c6a08df8554c119af Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:08:55 +0300
Subject: [PATCH 30/53] feat(http): add axios instance factory with logging and
retry support
- Create axios instance factory with configurable base URL and timeout
- Add request/response logging with sensitive data redaction
- Implement automatic retry logic for failed requests with exponential backoff
- Add debug mode for detailed request/response inspection
- Sanitize headers and request/response data to prevent credential leakage
- Support Bearer token authentication via secret key parameter
---
src/axios-instance.ts | 194 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 194 insertions(+)
create mode 100644 src/axios-instance.ts
diff --git a/src/axios-instance.ts b/src/axios-instance.ts
new file mode 100644
index 0000000..bb83254
--- /dev/null
+++ b/src/axios-instance.ts
@@ -0,0 +1,194 @@
+import axios, {
+ AxiosInstance,
+ AxiosError,
+ InternalAxiosRequestConfig,
+} from 'axios';
+
+const BASE_URL = 'https://api.chapa.co/v1';
+const DEFAULT_TIMEOUT = 30000;
+const REDACTED_VALUE = '[REDACTED]';
+const SENSITIVE_KEYS = new Set([
+ 'authorization',
+ 'secret',
+ 'secret_key',
+ 'secretkey',
+ 'token',
+ 'api_key',
+ 'apikey',
+ 'password',
+ 'client_secret',
+ 'access_token',
+ 'refresh_token',
+]);
+
+type RetryConfig = InternalAxiosRequestConfig & { __retryCount?: number };
+
+const sanitizeHeaders = (headers: Record | undefined) => {
+ if (!headers) {
+ return headers;
+ }
+ const sanitized: Record = {};
+ Object.entries(headers).forEach(([key, value]) => {
+ const normalizedKey = key.toLowerCase();
+ sanitized[key] = SENSITIVE_KEYS.has(normalizedKey) ? REDACTED_VALUE : value;
+ });
+ return sanitized;
+};
+
+const sanitizeData = (value: unknown): unknown => {
+ if (value instanceof URLSearchParams) {
+ const sanitizedParams = new URLSearchParams();
+ value.forEach((paramValue, key) => {
+ const normalizedKey = key.toLowerCase();
+ sanitizedParams.set(
+ key,
+ SENSITIVE_KEYS.has(normalizedKey) ? REDACTED_VALUE : paramValue
+ );
+ });
+ return sanitizedParams.toString();
+ }
+ if (Array.isArray(value)) {
+ return value.map(sanitizeData);
+ }
+ if (value && typeof value === 'object') {
+ const sanitized: Record = {};
+ Object.entries(value as Record).forEach(
+ ([key, nestedValue]) => {
+ const normalizedKey = key.toLowerCase();
+ sanitized[key] = SENSITIVE_KEYS.has(normalizedKey)
+ ? REDACTED_VALUE
+ : sanitizeData(nestedValue);
+ }
+ );
+ return sanitized;
+ }
+ return value;
+};
+
+export function createAxiosInstance(
+ secretKey: string,
+ logging = false,
+ debug = false,
+ retries = 0,
+ retryDelay = 1000
+): AxiosInstance {
+ const instance = axios.create({
+ baseURL: BASE_URL,
+ timeout: DEFAULT_TIMEOUT,
+ headers: {
+ 'Content-Type': 'application/json',
+ Authorization: `Bearer ${secretKey}`,
+ },
+ });
+
+ if (logging || debug) {
+ instance.interceptors.request.use(
+ (config) => {
+ if (debug) {
+ console.log('[Chapa Debug] Request Config:', {
+ method: config.method?.toUpperCase(),
+ url: config.url,
+ baseURL: config.baseURL,
+ headers: sanitizeHeaders(config.headers as Record),
+ params: config.params,
+ data: sanitizeData(config.data),
+ timeout: config.timeout,
+ });
+ } else {
+ console.log('[Chapa Request]', {
+ method: config.method?.toUpperCase(),
+ url: config.url,
+ data: sanitizeData(config.data),
+ });
+ }
+ return config;
+ },
+ (error) => {
+ console.error('[Chapa Request Error]', error);
+ return Promise.reject(error);
+ }
+ );
+
+ instance.interceptors.response.use(
+ (response) => {
+ if (debug) {
+ console.log('[Chapa Debug] Response:', {
+ status: response.status,
+ statusText: response.statusText,
+ headers: sanitizeHeaders(
+ response.headers as Record
+ ),
+ data: sanitizeData(response.data),
+ });
+ } else {
+ console.log('[Chapa Response]', {
+ status: response.status,
+ data: sanitizeData(response.data),
+ });
+ }
+ return response;
+ },
+ (error) => {
+ if (debug) {
+ console.error('[Chapa Debug] Error:', {
+ message: error.message,
+ code: error.code,
+ status: error.response?.status,
+ statusText: error.response?.statusText,
+ headers: sanitizeHeaders(
+ error.response?.headers as Record | undefined
+ ),
+ data: sanitizeData(error.response?.data),
+ config: {
+ method: error.config?.method,
+ url: error.config?.url,
+ baseURL: error.config?.baseURL,
+ },
+ });
+ } else {
+ console.error('[Chapa Response Error]', {
+ status: error.response?.status,
+ data: sanitizeData(error.response?.data),
+ });
+ }
+ return Promise.reject(error);
+ }
+ );
+ }
+
+ if (retries > 0) {
+ instance.interceptors.response.use(
+ (response) => response,
+ async (error: AxiosError) => {
+ const config = error.config as RetryConfig | undefined;
+
+ if (!config || !config.headers) {
+ return Promise.reject(error);
+ }
+
+ config.__retryCount = config.__retryCount || 0;
+
+ const shouldRetry =
+ config.__retryCount < retries &&
+ (!error.response ||
+ error.response.status >= 500 ||
+ error.code === 'ECONNABORTED');
+
+ if (shouldRetry) {
+ config.__retryCount += 1;
+ if (debug) {
+ console.log(
+ `[Chapa Debug] Retrying request (${config.__retryCount}/${retries})`
+ );
+ }
+ await new Promise((resolve) => setTimeout(resolve, retryDelay));
+ return instance(config);
+ }
+
+ return Promise.reject(error);
+ }
+ );
+ }
+
+ return instance;
+}
From de7d6aedfe71e9c985aabf8242aee8a6a5fa23de Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:09:15 +0300
Subject: [PATCH 31/53] feat(error-handler): add centralized error handling for
axios and validation errors
- Add error handler utility to normalize axios and zod validation errors
- Implement axios status code resolution for network errors (timeouts, connection refused, host unreachable)
- Map axios errors to appropriate HTTP status codes (408 for timeouts, 503 for connection errors, 500 default)
- Handle zod validation errors with 400 status code and first issue message
- Provide consistent error response format through HttpException wrapper
- Enables standardized error handling across the application for external API calls and input validation
---
src/error-handler.ts | 46 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 src/error-handler.ts
diff --git a/src/error-handler.ts b/src/error-handler.ts
new file mode 100644
index 0000000..182cc86
--- /dev/null
+++ b/src/error-handler.ts
@@ -0,0 +1,46 @@
+import { HttpException } from './http-exception';
+import { z } from 'zod';
+import { isAxiosError } from './types/errors';
+
+const resolveAxiosStatus = (code?: string): number => {
+ if (!code) {
+ return 500;
+ }
+
+ if (code === 'ECONNABORTED' || code === 'ETIMEDOUT') {
+ return 408;
+ }
+
+ if (
+ code === 'ENOTFOUND' ||
+ code === 'ECONNREFUSED' ||
+ code === 'EHOSTUNREACH' ||
+ code === 'ENETUNREACH'
+ ) {
+ return 503;
+ }
+
+ return 500;
+};
+
+export function handleChapaError(error: unknown): never {
+ if (isAxiosError(error)) {
+ if (error.response) {
+ throw new HttpException(
+ error.response.data?.message || 'An error occurred',
+ error.response.status
+ );
+ }
+
+ throw new HttpException(
+ error.message || 'Network error',
+ resolveAxiosStatus(error.code)
+ );
+ }
+
+ if (error instanceof z.ZodError) {
+ throw new HttpException(error.issues[0].message, 400);
+ }
+
+ throw error;
+}
From 5f72afc3744fe0b855ae1b67cfe20ebab3101341 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:09:30 +0300
Subject: [PATCH 32/53] feat(utils): add error handling wrapper utility
- Add withErrorHandling generic function to wrap async operations
- Integrate centralized error handling via handleChapaError
- Provide reusable pattern for consistent error management across async calls
---
src/utils.ts | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 src/utils.ts
diff --git a/src/utils.ts b/src/utils.ts
new file mode 100644
index 0000000..dd648b5
--- /dev/null
+++ b/src/utils.ts
@@ -0,0 +1,11 @@
+import { handleChapaError } from './error-handler';
+
+export async function withErrorHandling(
+ operation: () => Promise
+): Promise {
+ try {
+ return await operation();
+ } catch (error) {
+ handleChapaError(error);
+ }
+}
From f1c294daa967e444eb332b6bcd98470800971c16 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:09:48 +0300
Subject: [PATCH 33/53] feat(webhook): add webhook signature verification
utility
- Add WebhookPayload interface for type-safe webhook data handling
- Implement verifyWebhookSignature function to validate webhook authenticity
- Add constantTimeEquals helper for secure signature comparison to prevent timing attacks
- Support both string and object payload formats with automatic JSON serialization
- Use HMAC-SHA256 for cryptographic signature generation and validation
---
src/webhook.ts | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 src/webhook.ts
diff --git a/src/webhook.ts b/src/webhook.ts
new file mode 100644
index 0000000..555795b
--- /dev/null
+++ b/src/webhook.ts
@@ -0,0 +1,33 @@
+import * as CryptoJS from 'crypto-js';
+
+export interface WebhookPayload {
+ [key: string]: unknown;
+}
+
+const constantTimeEquals = (left: string, right: string): boolean => {
+ const leftLength = left.length;
+ const rightLength = right.length;
+ const maxLength = Math.max(leftLength, rightLength);
+ let result = leftLength ^ rightLength;
+
+ for (let index = 0; index < maxLength; index += 1) {
+ const leftChar = left.charCodeAt(index) || 0;
+ const rightChar = right.charCodeAt(index) || 0;
+ result |= leftChar ^ rightChar;
+ }
+
+ return result === 0;
+};
+
+export function verifyWebhookSignature(
+ payload: WebhookPayload | string,
+ signature: string,
+ secret: string
+): boolean {
+ const payloadString =
+ typeof payload === 'string' ? payload : JSON.stringify(payload);
+ const hash = CryptoJS.HmacSHA256(payloadString, secret).toString(
+ CryptoJS.enc.Hex
+ );
+ return constantTimeEquals(hash, signature);
+}
From 5cbe7f7dbf16acb404581f087b0dcfd087485fe1 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:10:06 +0300
Subject: [PATCH 34/53] test(webhook): add signature verification test suite
- Add comprehensive tests for verifyWebhookSignature utility function
- Test valid signature verification with object payload
- Test valid signature verification with string payload
- Test detection of tampered payload signatures
- Test rejection of signatures with incorrect secret
- Ensure webhook signature validation works correctly before deployment
---
test/webhook.test.ts | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 test/webhook.test.ts
diff --git a/test/webhook.test.ts b/test/webhook.test.ts
new file mode 100644
index 0000000..94b2213
--- /dev/null
+++ b/test/webhook.test.ts
@@ -0,0 +1,35 @@
+import * as CryptoJS from 'crypto-js';
+import { verifyWebhookSignature } from '../src/webhook';
+
+describe('verifyWebhookSignature', () => {
+ const secret = 'test-secret';
+ const payload = { transaction_id: '123', amount: 100 };
+ const payloadString = JSON.stringify(payload);
+ const signature = CryptoJS.HmacSHA256(payloadString, secret).toString(
+ CryptoJS.enc.Hex
+ );
+
+ it('should verify valid signature with object payload', () => {
+ const result = verifyWebhookSignature(payload, signature, secret);
+ expect(result).toBe(true);
+ });
+
+ it('should verify valid signature with string payload', () => {
+ const result = verifyWebhookSignature(payloadString, signature, secret);
+ expect(result).toBe(true);
+ });
+
+ it('should return false for tampered payload', () => {
+ const tamperedPayload = { ...payload, amount: 200 };
+ const result = verifyWebhookSignature(tamperedPayload, signature, secret);
+ expect(result).toBe(false);
+ });
+
+ it('should return false for wrong secret', () => {
+ const wrongSignature = CryptoJS.HmacSHA256(payloadString, 'wrong-secret').toString(
+ CryptoJS.enc.Hex
+ );
+ const result = verifyWebhookSignature(payload, wrongSignature, secret);
+ expect(result).toBe(false);
+ });
+});
From fdd0d1ca987150d48ccc062c88cf427e7d84f62e Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:10:21 +0300
Subject: [PATCH 35/53] test(validations): add comprehensive validation test
suite
- Add payment validation tests for initialize and verify options
- Add subaccount creation validation tests with split type validation
- Add direct charge validation tests for mobile payment options
- Add transfer validation tests for bank account transfers
- Add refund validation tests for transaction refunds
- Test both valid inputs and error cases for all validation schemas
- Ensure zod schema validation errors are properly thrown on invalid data
---
test/validations.test.ts | 162 +++++++++++++++++++++++++++++++++++++++
1 file changed, 162 insertions(+)
create mode 100644 test/validations.test.ts
diff --git a/test/validations.test.ts b/test/validations.test.ts
new file mode 100644
index 0000000..d5d6dac
--- /dev/null
+++ b/test/validations.test.ts
@@ -0,0 +1,162 @@
+import {
+ validateInitializeOptions,
+ validateVerifyOptions,
+} from '../src/validations/payment.validation';
+import { validateCreateSubaccountOptions } from '../src/validations/create-subaccount.validation';
+import { validateDirectChargeOptions } from '../src/validations/direct-charge.validation';
+import { validateTransferOptions } from '../src/validations/transfer.validation';
+import { validateRefundOptions } from '../src/validations/refund.validation';
+import { SplitType } from '../src/enums';
+import { z } from 'zod';
+
+describe('Payment Validation', () => {
+ describe('validateInitializeOptions', () => {
+ it('should validate valid options', () => {
+ const options = {
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ };
+ expect(() => validateInitializeOptions(options)).not.toThrow();
+ });
+
+ it('should validate with optional fields', () => {
+ const options = {
+ first_name: 'John',
+ last_name: 'Doe',
+ email: 'john@example.com',
+ phone_number: '0911234567',
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ callback_url: 'https://example.com/callback',
+ };
+ expect(() => validateInitializeOptions(options)).not.toThrow();
+ });
+
+ it('should throw on invalid email', () => {
+ const options = {
+ email: 'invalid-email',
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ };
+ expect(() => validateInitializeOptions(options)).toThrow(z.ZodError);
+ });
+
+ it('should throw on invalid phone number', () => {
+ const options = {
+ phone_number: '123',
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ };
+ expect(() => validateInitializeOptions(options)).toThrow(z.ZodError);
+ });
+
+ it('should throw on missing required fields', () => {
+ const options = { currency: 'ETB' };
+ expect(() => validateInitializeOptions(options as any)).toThrow(z.ZodError);
+ });
+ });
+
+ describe('validateVerifyOptions', () => {
+ it('should validate valid options', () => {
+ const options = { tx_ref: 'TX-123' };
+ expect(() => validateVerifyOptions(options)).not.toThrow();
+ });
+
+ it('should throw on missing tx_ref', () => {
+ expect(() => validateVerifyOptions({} as any)).toThrow(z.ZodError);
+ });
+ });
+});
+
+describe('Subaccount Validation', () => {
+ it('should validate valid subaccount options', () => {
+ const options = {
+ business_name: 'Test Business',
+ account_name: 'John Doe',
+ bank_code: 123,
+ account_number: '1234567890',
+ split_type: SplitType.PERCENTAGE,
+ split_value: 0.1,
+ };
+ expect(() => validateCreateSubaccountOptions(options)).not.toThrow();
+ });
+
+ it('should throw on invalid split type', () => {
+ const options = {
+ business_name: 'Test Business',
+ account_name: 'John Doe',
+ bank_code: 123,
+ account_number: '1234567890',
+ split_type: 'invalid' as any,
+ split_value: 0.1,
+ };
+ expect(() => validateCreateSubaccountOptions(options)).toThrow(z.ZodError);
+ });
+});
+
+describe('Direct Charge Validation', () => {
+ it('should validate valid direct charge options', () => {
+ const options = {
+ mobile: '0911234567',
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ type: 'telebirr',
+ };
+ expect(() => validateDirectChargeOptions(options)).not.toThrow();
+ });
+
+ it('should throw on invalid mobile number', () => {
+ const options = {
+ mobile: '123',
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ type: 'telebirr',
+ };
+ expect(() => validateDirectChargeOptions(options)).toThrow(z.ZodError);
+ });
+});
+
+describe('Transfer Validation', () => {
+ it('should validate valid transfer options', () => {
+ const options = {
+ account_name: 'John Doe',
+ account_number: '1234567890',
+ amount: '100',
+ currency: 'ETB',
+ reference: 'REF-123',
+ bank_code: 123,
+ };
+ expect(() => validateTransferOptions(options)).not.toThrow();
+ });
+
+ it('should throw on missing required fields', () => {
+ const options = { account_name: 'John Doe' };
+ expect(() => validateTransferOptions(options as any)).toThrow(z.ZodError);
+ });
+});
+
+describe('Refund Validation', () => {
+ it('should validate valid refund options', () => {
+ const options = {
+ tx_ref: 'TX-123',
+ reason: 'Customer request',
+ amount: '100',
+ };
+ expect(() => validateRefundOptions(options)).not.toThrow();
+ });
+
+ it('should validate with only tx_ref', () => {
+ const options = { tx_ref: 'TX-123' };
+ expect(() => validateRefundOptions(options)).not.toThrow();
+ });
+
+ it('should throw on missing tx_ref', () => {
+ expect(() => validateRefundOptions({} as any)).toThrow(z.ZodError);
+ });
+});
From 147de524ae8a857de23f7fac763efcf76c284071 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:10:38 +0300
Subject: [PATCH 36/53] chore(tsconfig): streamline TypeScript configuration
- Remove verbose inline comments for cleaner configuration
- Update target to ES2017 for better compatibility
- Simplify lib configuration to ES2017 only
- Add explicit output directory configuration (dist)
- Add declaration directory mapping for type definitions
- Remove JSX transpilation (react) as not needed for this project
- Add Node and Jest type definitions
- Consolidate and remove redundant compiler options
- Improve maintainability by reducing comment clutter
---
tsconfig.json | 23 ++++++-----------------
1 file changed, 6 insertions(+), 17 deletions(-)
diff --git a/tsconfig.json b/tsconfig.json
index 3687e2d..7da0f72 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,34 +1,23 @@
{
- // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs
"include": ["src", "types"],
"compilerOptions": {
+ "target": "ES2017",
"module": "esnext",
- "lib": ["dom", "esnext"],
- "importHelpers": true,
- // output .d.ts declaration files for consumers
+ "lib": ["ES2017"],
"declaration": true,
- // output .js.map sourcemap files for consumers
+ "declarationDir": "./dist",
"sourceMap": true,
- // match output dir to input dir. e.g. dist/index instead of dist/src/index
+ "outDir": "./dist",
"rootDir": "./src",
- // stricter type-checking for stronger correctness. Recommended by TS
- // linter checks for common issues
+ "strict": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
- // noUnused* overlap with @typescript-eslint/no-unused-vars, can disable if duplicative
"noUnusedLocals": true,
"noUnusedParameters": true,
- // use Node's module resolution algorithm, instead of the legacy TS one
"moduleResolution": "node",
- // transpile JSX to React.createElement
- "jsx": "react",
- // interop between ESM and CJS modules. Recommended by TS
"esModuleInterop": true,
- // significant perf increase by skipping checking .d.ts files, particularly those in node_modules. Recommended by TS
"skipLibCheck": true,
- // error out if import and file system have a casing mismatch. Recommended by TS
"forceConsistentCasingInFileNames": true,
- // `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc`
- "noEmit": true
+ "types": ["node", "jest"]
}
}
From fc32decdc41e05992f52e8d01305d778f7f91242 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:11:00 +0300
Subject: [PATCH 37/53] docs(security): add comprehensive security policy and
guidelines
- Add supported versions table with version support status
- Document vulnerability reporting process and contact information
- Include response time expectations for security issues
- Add disclosure policy for coordinated vulnerability announcements
- List security best practices for library users
- Document available security features including webhook verification and type-safe validation
- Establish clear guidelines for responsible disclosure
---
SECURITY.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 SECURITY.md
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 0000000..91066f2
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,61 @@
+# Security Policy
+
+## Supported Versions
+
+| Version | Supported |
+| ------- | ------------------ |
+| 2.3.x | :white_check_mark: |
+| 2.2.x | :white_check_mark: |
+| < 2.2 | :x: |
+
+## Reporting a Vulnerability
+
+We take security vulnerabilities seriously. If you discover a security issue, please follow these steps:
+
+### Do NOT
+
+- Open a public GitHub issue
+- Disclose the vulnerability publicly before it has been addressed
+
+### Do
+
+1. **Email** the maintainer directly at: fireayehuzekarias@gmail.com
+2. **Include** the following information:
+ - Description of the vulnerability
+ - Steps to reproduce
+ - Potential impact
+ - Suggested fix (if any)
+
+### What to Expect
+
+- **Acknowledgment**: Within 48 hours
+- **Initial Assessment**: Within 5 business days
+- **Status Updates**: Every 7 days until resolved
+- **Fix Timeline**: Critical issues within 7 days, others within 30 days
+
+### Disclosure Policy
+
+- We will coordinate disclosure with you
+- Security advisories will be published on GitHub
+- Credit will be given to reporters (unless anonymity is requested)
+
+## Security Best Practices
+
+When using chapa-nodejs:
+
+1. **Never commit** your secret keys to version control
+2. **Use environment variables** for sensitive data
+3. **Keep dependencies updated** regularly
+4. **Enable webhook signature verification** for production
+5. **Use HTTPS** for all API communications
+6. **Implement rate limiting** in your application
+7. **Log and monitor** suspicious activities
+
+## Security Features
+
+- ✅ Webhook signature verification (HMAC-SHA256)
+- ✅ Type-safe validation (Zod)
+- ✅ Secure error handling
+- ✅ No sensitive data in logs (when debug mode off)
+
+Thank you for helping keep chapa-nodejs secure!
From ac0f1e2fb1f1d55175eb1d31a09b4569cb7f713d Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:11:21 +0300
Subject: [PATCH 38/53] chore(build): add Rollup configuration for library
bundling
- Add Rollup configuration with CommonJS and ESM output formats
- Configure TypeScript plugin to compile source files with sourcemap support
- Set up node-resolve and commonjs plugins for dependency resolution
- Mark axios, nanoid, nanoid-dictionary, and zod as external dependencies
- Add rollup-plugin-dts for bundled type definitions generation
- Enable sourcemaps for both output formats to aid debugging
---
rollup.config.mjs | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 rollup.config.mjs
diff --git a/rollup.config.mjs b/rollup.config.mjs
new file mode 100644
index 0000000..135acfb
--- /dev/null
+++ b/rollup.config.mjs
@@ -0,0 +1,33 @@
+import resolve from '@rollup/plugin-node-resolve';
+import commonjs from '@rollup/plugin-commonjs';
+import typescript from '@rollup/plugin-typescript';
+import dts from 'rollup-plugin-dts';
+
+export default [
+ {
+ input: 'src/index.ts',
+ output: [
+ {
+ file: 'dist/index.js',
+ format: 'cjs',
+ sourcemap: true,
+ },
+ {
+ file: 'dist/index.esm.js',
+ format: 'esm',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ resolve(),
+ commonjs(),
+ typescript({ tsconfig: './tsconfig.json' }),
+ ],
+ external: ['axios', 'nanoid', 'nanoid-dictionary', 'zod'],
+ },
+ {
+ input: 'dist/index.d.ts',
+ output: [{ file: 'dist/index.d.ts', format: 'es' }],
+ plugins: [dts()],
+ },
+];
From 84a60fe423aa7467c345b000d688540769eb2321 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:11:36 +0300
Subject: [PATCH 39/53] test(core): add comprehensive test suite for Chapa SDK
- Add Chapa class integration tests covering transaction initialization, verification, and mobile payments
- Add error handler utility tests for axios and validation error handling
- Add HTTP exception tests for error response handling
- Add utility function tests for common helper functions
- Add refund endpoint tests with improved coverage
- Ensure all core SDK functionality is properly tested with mocked axios instances
---
test/chapa.test.ts | 326 ++++++++++++++++++++++++++++++++++++
test/error-handler.test.ts | 57 +++++++
test/http-exception.test.ts | 28 ++++
test/refund.test.ts | 64 ++++++-
test/utils.test.ts | 28 ++++
5 files changed, 494 insertions(+), 9 deletions(-)
create mode 100644 test/chapa.test.ts
create mode 100644 test/error-handler.test.ts
create mode 100644 test/http-exception.test.ts
create mode 100644 test/utils.test.ts
diff --git a/test/chapa.test.ts b/test/chapa.test.ts
new file mode 100644
index 0000000..bfcff58
--- /dev/null
+++ b/test/chapa.test.ts
@@ -0,0 +1,326 @@
+import { Chapa } from '../src/chapa';
+import axios from 'axios';
+
+jest.mock('axios');
+const mockedAxios = axios as jest.Mocked;
+
+describe('Chapa', () => {
+ let chapa: Chapa;
+ const mockAxiosInstance = {
+ post: jest.fn(),
+ get: jest.fn(),
+ };
+
+ beforeEach(() => {
+ jest.clearAllMocks();
+ mockedAxios.create = jest.fn().mockReturnValue(mockAxiosInstance);
+ chapa = new Chapa({ secretKey: 'test-key' });
+ });
+
+ describe('genTxRef', () => {
+ it('should generate transaction reference with prefix', async () => {
+ const ref = await chapa.genTxRef();
+ expect(ref).toMatch(/^TX-[A-Z0-9]{15}$/);
+ });
+
+ it('should generate reference without prefix', async () => {
+ const ref = await chapa.genTxRef({ removePrefix: true });
+ expect(ref).toMatch(/^[A-Z0-9]{15}$/);
+ expect(ref).not.toContain('TX-');
+ });
+
+ it('should use custom prefix', async () => {
+ const ref = await chapa.genTxRef({ prefix: 'CUSTOM' });
+ expect(ref).toMatch(/^CUSTOM-[A-Z0-9]{15}$/);
+ });
+
+ it('should use custom size', async () => {
+ const ref = await chapa.genTxRef({ size: 10, removePrefix: true });
+ expect(ref).toHaveLength(10);
+ });
+ });
+
+ describe('initialize', () => {
+ it('should initialize transaction successfully', async () => {
+ const mockResponse = {
+ data: {
+ message: 'Success',
+ status: 'success',
+ data: { checkout_url: 'https://checkout.chapa.co/123' },
+ },
+ };
+ mockAxiosInstance.post.mockResolvedValue(mockResponse);
+
+ const result = await chapa.initialize({
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ });
+
+ expect(result).toEqual(mockResponse.data);
+ expect(mockAxiosInstance.post).toHaveBeenCalledWith(
+ '/transaction/initialize',
+ expect.any(Object)
+ );
+ });
+
+ it('should throw on validation error', async () => {
+ await expect(
+ chapa.initialize({ currency: 'ETB' } as any)
+ ).rejects.toThrow();
+ });
+ });
+
+ describe('mobileInitialize', () => {
+ it('should initialize mobile transaction successfully', async () => {
+ const mockResponse = {
+ data: {
+ message: 'Success',
+ status: 'success',
+ data: { checkout_url: 'https://checkout.chapa.co/123' },
+ },
+ };
+ mockAxiosInstance.post.mockResolvedValue(mockResponse);
+
+ const result = await chapa.mobileInitialize({
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ });
+
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('verify', () => {
+ it('should verify transaction successfully', async () => {
+ const mockResponse = {
+ data: {
+ message: 'Success',
+ status: 'success',
+ data: { tx_ref: 'TX-123', status: 'success' },
+ },
+ };
+ mockAxiosInstance.get.mockResolvedValue(mockResponse);
+
+ const result = await chapa.verify({ tx_ref: 'TX-123' });
+
+ expect(result).toEqual(mockResponse.data);
+ expect(mockAxiosInstance.get).toHaveBeenCalledWith(
+ '/transaction/verify/TX-123'
+ );
+ });
+ });
+
+ describe('getBanks', () => {
+ it('should get banks successfully', async () => {
+ const mockResponse = {
+ data: {
+ message: 'Success',
+ data: [{ id: 1, name: 'Test Bank' }],
+ },
+ };
+ mockAxiosInstance.get.mockResolvedValue(mockResponse);
+
+ const result = await chapa.getBanks();
+
+ expect(result).toEqual(mockResponse.data);
+ expect(mockAxiosInstance.get).toHaveBeenCalledWith('/banks');
+ });
+ });
+
+ describe('getTransactions', () => {
+ it('should get all transactions', async () => {
+ const mockResponse = {
+ data: { message: 'Success', data: { transactions: [] } },
+ };
+ mockAxiosInstance.get.mockResolvedValue(mockResponse);
+
+ const result = await chapa.getTransactions();
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('getTransactionLogs', () => {
+ it('should get transaction logs', async () => {
+ const mockResponse = {
+ data: { message: 'Success', data: [] },
+ };
+ mockAxiosInstance.get.mockResolvedValue(mockResponse);
+
+ const result = await chapa.getTransactionLogs({ ref_id: 'REF-123' });
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('getTransfers', () => {
+ it('should get all transfers', async () => {
+ const mockResponse = {
+ data: { message: 'Success', data: [] },
+ };
+ mockAxiosInstance.get.mockResolvedValue(mockResponse);
+
+ const result = await chapa.getTransfers();
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('verifyTransfer', () => {
+ it('should verify transfer', async () => {
+ const mockResponse = {
+ data: { message: 'Success', data: { status: 'success' } },
+ };
+ mockAxiosInstance.get.mockResolvedValue(mockResponse);
+
+ const result = await chapa.verifyTransfer({ tx_ref: 'TX-123' });
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('bulkTransfer', () => {
+ it('should process bulk transfer', async () => {
+ const mockResponse = {
+ data: { message: 'Success', status: 'success' },
+ };
+ mockAxiosInstance.post.mockResolvedValue(mockResponse);
+
+ const result = await chapa.bulkTransfer({
+ title: 'Bulk',
+ currency: 'ETB',
+ bulk_data: [
+ {
+ account_name: 'John',
+ account_number: '123',
+ amount: '100',
+ reference: 'REF',
+ bank_code: 123,
+ },
+ ],
+ });
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('directCharge', () => {
+ it('should process direct charge', async () => {
+ const mockResponse = {
+ data: { message: 'Success', status: 'success' },
+ };
+ mockAxiosInstance.post.mockResolvedValue(mockResponse);
+
+ const result = await chapa.directCharge({
+ mobile: '0911234567',
+ currency: 'ETB',
+ amount: '100',
+ tx_ref: 'TX-123',
+ type: 'telebirr',
+ });
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('authorizeDirectCharge', () => {
+ it('should authorize direct charge', async () => {
+ const mockResponse = {
+ data: { message: 'Success', trx_ref: 'TRX-123' },
+ };
+ mockAxiosInstance.post.mockResolvedValue(mockResponse);
+
+ const result = await chapa.authorizeDirectCharge({
+ reference: 'REF-123',
+ client: 'client-id',
+ type: 'telebirr',
+ });
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('verifyWebhook', () => {
+ it('should verify webhook with valid signature', () => {
+ const chapaWithSecret = new Chapa({
+ secretKey: 'test-key',
+ webhookSecret: 'webhook-secret',
+ });
+
+ const payload = { transaction_id: '123' };
+ const signature = 'valid-signature';
+
+ const result = chapaWithSecret.verifyWebhook(payload, signature);
+ expect(typeof result).toBe('boolean');
+ });
+
+ it('should throw error when webhook secret not configured', () => {
+ expect(() => chapa.verifyWebhook({}, 'signature')).toThrow(
+ 'Webhook secret not configured'
+ );
+ });
+ });
+
+ describe('createSubaccount', () => {
+ it('should create subaccount successfully', async () => {
+ const mockResponse = {
+ data: {
+ message: 'Success',
+ status: 'success',
+ data: 'subaccount-id',
+ },
+ };
+ mockAxiosInstance.post.mockResolvedValue(mockResponse);
+
+ const result = await chapa.createSubaccount({
+ business_name: 'Test',
+ account_name: 'John',
+ bank_code: 123,
+ account_number: '1234567890',
+ split_type: 'percentage' as any,
+ split_value: 0.1,
+ });
+
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('transfer', () => {
+ it('should initiate transfer successfully', async () => {
+ const mockResponse = {
+ data: {
+ message: 'Success',
+ status: 'success',
+ data: 'transfer-id',
+ },
+ };
+ mockAxiosInstance.post.mockResolvedValue(mockResponse);
+
+ const result = await chapa.transfer({
+ account_name: 'John',
+ account_number: '1234567890',
+ amount: '100',
+ currency: 'ETB',
+ reference: 'REF-123',
+ bank_code: 123,
+ });
+
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+
+ describe('refund', () => {
+ it('should process refund successfully', async () => {
+ const mockResponse = {
+ data: {
+ message: 'Success',
+ status: 'success',
+ data: {},
+ },
+ };
+ mockAxiosInstance.post.mockResolvedValue(mockResponse);
+
+ const result = await chapa.refund({
+ tx_ref: 'TX-123',
+ reason: 'Customer request',
+ });
+
+ expect(result).toEqual(mockResponse.data);
+ });
+ });
+});
diff --git a/test/error-handler.test.ts b/test/error-handler.test.ts
new file mode 100644
index 0000000..5b3a6ea
--- /dev/null
+++ b/test/error-handler.test.ts
@@ -0,0 +1,57 @@
+import { handleChapaError } from '../src/error-handler';
+import { HttpException } from '../src/http-exception';
+import { z } from 'zod';
+import { AxiosError } from 'axios';
+
+describe('handleChapaError', () => {
+ it('should handle axios error with response', () => {
+ const axiosError = {
+ isAxiosError: true,
+ response: {
+ status: 400,
+ data: { message: 'Bad request' },
+ },
+ } as AxiosError;
+
+ expect(() => handleChapaError(axiosError)).toThrow(HttpException);
+ expect(() => handleChapaError(axiosError)).toThrow('Bad request');
+ });
+
+ it('should handle axios error without message', () => {
+ const axiosError = {
+ isAxiosError: true,
+ response: {
+ status: 500,
+ data: {},
+ },
+ } as AxiosError;
+
+ expect(() => handleChapaError(axiosError)).toThrow('An error occurred');
+ });
+
+ it('should handle axios error without response', () => {
+ const axiosError = {
+ isAxiosError: true,
+ message: 'Network Error',
+ code: 'ECONNREFUSED',
+ } as AxiosError;
+
+ expect(() => handleChapaError(axiosError)).toThrow(HttpException);
+ expect(() => handleChapaError(axiosError)).toThrow('Network Error');
+ });
+
+ it('should handle zod validation error', () => {
+ const schema = z.object({ email: z.string().email() });
+
+ try {
+ schema.parse({ email: 'invalid' });
+ } catch (error) {
+ expect(() => handleChapaError(error)).toThrow(HttpException);
+ }
+ });
+
+ it('should rethrow unknown errors', () => {
+ const error = new Error('Unknown error');
+ expect(() => handleChapaError(error)).toThrow('Unknown error');
+ });
+});
diff --git a/test/http-exception.test.ts b/test/http-exception.test.ts
new file mode 100644
index 0000000..cfb605a
--- /dev/null
+++ b/test/http-exception.test.ts
@@ -0,0 +1,28 @@
+import { HttpException } from '../src/http-exception';
+
+describe('HttpException', () => {
+ it('should create exception with message and status', () => {
+ const exception = new HttpException('Test error', 400);
+
+ expect(exception.message).toBe('Test error');
+ expect(exception.status).toBe(400);
+ expect(exception.name).toBe('HttpException');
+ });
+
+ it('should be instance of Error', () => {
+ const exception = new HttpException('Test error', 500);
+
+ expect(exception).toBeInstanceOf(Error);
+ expect(exception).toBeInstanceOf(HttpException);
+ });
+
+ it('should have different status codes', () => {
+ const badRequest = new HttpException('Bad request', 400);
+ const unauthorized = new HttpException('Unauthorized', 401);
+ const serverError = new HttpException('Server error', 500);
+
+ expect(badRequest.status).toBe(400);
+ expect(unauthorized.status).toBe(401);
+ expect(serverError.status).toBe(500);
+ });
+});
diff --git a/test/refund.test.ts b/test/refund.test.ts
index f8af8cb..4ff5f25 100644
--- a/test/refund.test.ts
+++ b/test/refund.test.ts
@@ -1,15 +1,31 @@
+import axios from 'axios';
import { Chapa } from '../src';
+jest.mock('axios', () => ({
+ __esModule: true,
+ default: {
+ create: jest.fn(),
+ },
+}));
+
describe('Refund', () => {
- const chapa = new Chapa({ secretKey: 'test-secret-key' });
+ const mockPost = jest.fn();
+ let chapa: Chapa;
+
+ beforeEach(() => {
+ mockPost.mockReset();
+ (axios.create as jest.Mock).mockReturnValue({ post: mockPost });
+ chapa = new Chapa({ secretKey: 'test-secret-key' });
+ });
it('should validate required tx_ref', async () => {
await expect(
- chapa.refund({ tx_ref: '' } as any)
+ chapa.refund({} as any)
).rejects.toThrow();
+ expect(mockPost).not.toHaveBeenCalled();
});
- it('should accept valid refund options', async () => {
+ it('should accept valid refund options and send form body', async () => {
const options = {
tx_ref: 'TX-TEST123',
reason: 'accidental purchase',
@@ -19,10 +35,29 @@ describe('Refund', () => {
reference: 'REF123',
},
};
+ const responseData = {
+ message: 'ok',
+ status: 'success',
+ data: { id: 'refund-1' },
+ };
+ mockPost.mockResolvedValue({ data: responseData });
- await expect(
- chapa.refund(options)
- ).rejects.toThrow();
+ const response = await chapa.refund(options);
+
+ expect(response).toEqual(responseData);
+ expect(mockPost).toHaveBeenCalledTimes(1);
+ const [url, body, config] = mockPost.mock.calls[0];
+ const expectedBody = new URLSearchParams();
+ expectedBody.set('reason', options.reason);
+ expectedBody.set('amount', options.amount);
+ expectedBody.set('meta', JSON.stringify(options.meta));
+
+ expect(url).toBe('/refund/TX-TEST123');
+ expect(body).toBeInstanceOf(URLSearchParams);
+ expect(body.toString()).toBe(expectedBody.toString());
+ expect(config?.headers?.['Content-Type']).toBe(
+ 'application/x-www-form-urlencoded'
+ );
});
it('should accept refund without optional fields', async () => {
@@ -30,8 +65,19 @@ describe('Refund', () => {
tx_ref: 'TX-TEST123',
};
- await expect(
- chapa.refund(options)
- ).rejects.toThrow();
+ const responseData = {
+ message: 'ok',
+ status: 'success',
+ data: { id: 'refund-2' },
+ };
+ mockPost.mockResolvedValue({ data: responseData });
+
+ const response = await chapa.refund(options);
+
+ expect(response).toEqual(responseData);
+ expect(mockPost).toHaveBeenCalledTimes(1);
+ const [, body] = mockPost.mock.calls[0];
+ expect(body).toBeInstanceOf(URLSearchParams);
+ expect(body.toString()).toBe('');
});
});
diff --git a/test/utils.test.ts b/test/utils.test.ts
new file mode 100644
index 0000000..4c83b51
--- /dev/null
+++ b/test/utils.test.ts
@@ -0,0 +1,28 @@
+import { withErrorHandling } from '../src/utils';
+import { HttpException } from '../src/http-exception';
+
+describe('withErrorHandling', () => {
+ it('should return result on success', async () => {
+ const result = await withErrorHandling(async () => {
+ return 'success';
+ });
+
+ expect(result).toBe('success');
+ });
+
+ it('should handle errors', async () => {
+ await expect(
+ withErrorHandling(async () => {
+ throw new Error('Test error');
+ })
+ ).rejects.toThrow('Test error');
+ });
+
+ it('should handle HttpException', async () => {
+ await expect(
+ withErrorHandling(async () => {
+ throw new HttpException('Bad request', 400);
+ })
+ ).rejects.toThrow(HttpException);
+ });
+});
From d1904dbe328de8731402eb922ac5bc4faadf3fd5 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:11:54 +0300
Subject: [PATCH 40/53] docs(conduct): add code of conduct for community
guidelines
- Add comprehensive Code of Conduct document outlining community standards
- Define positive behavior expectations including inclusivity and respect
- Document unacceptable behaviors and enforcement procedures
- Establish clear reporting mechanism for violations
- Adapt from Contributor Covenant v2.0 for consistency with industry standards
---
CODE_OF_CONDUCT.md | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
create mode 100644 CODE_OF_CONDUCT.md
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..b50e80a
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,30 @@
+# Code of Conduct
+
+## Our Pledge
+
+We pledge to make participation in our project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+### Positive Behavior
+
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards others
+
+### Unacceptable Behavior
+
+- Trolling, insulting/derogatory comments, and personal attacks
+- Public or private harassment
+- Publishing others' private information without permission
+- Other conduct which could reasonably be considered inappropriate
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at fireayehuzekarias@gmail.com. All complaints will be reviewed and investigated promptly and fairly.
+
+## Attribution
+
+This Code of Conduct is adapted from the Contributor Covenant, version 2.0.
From ca33e9f79bf90421a004991a0ed0d108b7cb70e0 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:12:15 +0300
Subject: [PATCH 41/53] chore(editor): add EditorConfig for consistent code
formatting
- Add root EditorConfig configuration file for project-wide editor settings
- Configure UTF-8 charset and LF line endings for all files
- Set 2-space indentation for consistent code style across the project
- Enable automatic final newline insertion and trailing whitespace trimming
- Preserve trailing whitespace in Markdown files for proper formatting
- Ensure consistent YAML indentation settings
- Standardize development environment configuration across team members
---
.editorconfig | 15 +++++++++++++++
1 file changed, 15 insertions(+)
create mode 100644 .editorconfig
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..c3d1a7b
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,15 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_style = space
+indent_size = 2
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+trim_trailing_whitespace = false
+
+[*.{yml,yaml}]
+indent_size = 2
From 5bfcfabcd43fdd4c312675601fa5d41be954047e Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:12:41 +0300
Subject: [PATCH 42/53] chore(config): add development tooling and npm
publishing configuration
- Add .npmignore to exclude source files, configs, and dev dependencies from npm package
- Add .nvmrc to specify Node.js version 20.10.0 for consistent development environment
- Add .prettierrc with code formatting rules (80 char width, semicolons, single quotes, trailing commas)
- Add eslint.config.js with TypeScript and Jest support for comprehensive linting coverage
- Ensures consistent code quality and formatting across the project and for contributors
---
.npmignore | 29 +++++++++++++++++++++
.nvmrc | 1 +
.prettierrc | 6 +++++
eslint.config.js | 66 ++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 102 insertions(+)
create mode 100644 .npmignore
create mode 100644 .nvmrc
create mode 100644 .prettierrc
create mode 100644 eslint.config.js
diff --git a/.npmignore b/.npmignore
new file mode 100644
index 0000000..c70627a
--- /dev/null
+++ b/.npmignore
@@ -0,0 +1,29 @@
+# Source files
+src/
+test/
+coverage/
+
+# Config files
+.changeset/
+.github/
+.husky/
+.vscode/
+.idea/
+*.config.js
+*.config.mjs
+tsconfig.json
+.editorconfig
+.eslintrc.js
+.prettierrc
+.nvmrc
+
+# Documentation (keep only essential)
+CONTRIBUTING.md
+CODE_OF_CONDUCT.md
+
+# Misc
+*.log
+.DS_Store
+*.tsbuildinfo
+pnpm-lock.yaml
+pnpm-workspace.yaml
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000..d5a1596
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+20.10.0
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..686ffa2
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "printWidth": 80,
+ "semi": true,
+ "singleQuote": true,
+ "trailingComma": "es5"
+}
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..195c779
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,66 @@
+const js = require('@eslint/js');
+const tseslint = require('@typescript-eslint/eslint-plugin');
+const tsParser = require('@typescript-eslint/parser');
+
+const nodeGlobals = {
+ module: 'readonly',
+ require: 'readonly',
+ process: 'readonly',
+ console: 'readonly',
+ URLSearchParams: 'readonly',
+ __dirname: 'readonly',
+ __filename: 'readonly',
+ exports: 'readonly',
+ Buffer: 'readonly',
+ setTimeout: 'readonly',
+ clearTimeout: 'readonly',
+ setInterval: 'readonly',
+ clearInterval: 'readonly',
+};
+
+const jestGlobals = {
+ describe: 'readonly',
+ it: 'readonly',
+ expect: 'readonly',
+ beforeEach: 'readonly',
+ afterEach: 'readonly',
+ beforeAll: 'readonly',
+ afterAll: 'readonly',
+ jest: 'readonly',
+};
+
+module.exports = [
+ {
+ ignores: ['dist/**', 'node_modules/**'],
+ },
+ js.configs.recommended,
+ {
+ files: ['**/*.ts'],
+ languageOptions: {
+ parser: tsParser,
+ ecmaVersion: 2020,
+ sourceType: 'module',
+ globals: {
+ ...nodeGlobals,
+ },
+ },
+ plugins: {
+ '@typescript-eslint': tseslint,
+ },
+ rules: {
+ 'no-unused-vars': 'off',
+ '@typescript-eslint/no-unused-vars': ['warn', { args: 'after-used' }],
+ '@typescript-eslint/no-explicit-any': 'warn',
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ },
+ },
+ {
+ files: ['test/**/*.ts'],
+ languageOptions: {
+ globals: {
+ ...nodeGlobals,
+ ...jestGlobals,
+ },
+ },
+ },
+];
From f0b5815f68c9a408831707ecfa79723f67bdf73c Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:12:57 +0300
Subject: [PATCH 43/53] docs: add changelog, contributing guide, and version
bump config
- Add comprehensive CHANGELOG.md documenting v2.3.0 features and improvements
- Add CONTRIBUTING.md with guidelines for bug reports, feature requests, and pull requests
- Add bump.config.json for version management configuration
- Include development setup instructions and coding standards
- Document project structure and testing guidelines
- Establish contribution workflow and commit message conventions
---
CHANGELOG.md | 89 ++++++++++++++++++++++++++
CONTRIBUTING.md | 158 +++++++++++++++++++++++++++++++++++++++++++++++
bump.config.json | 8 +++
3 files changed, 255 insertions(+)
create mode 100644 CHANGELOG.md
create mode 100644 CONTRIBUTING.md
create mode 100644 bump.config.json
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..c328118
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,89 @@
+## 2.3.0
+
+### Minor Changes
+
+- Major improvements and new features:
+
+ - Added request/response logging with optional `logging` flag
+ - Implemented retry logic for failed requests with `retries` and `retryDelay` options
+ - Added webhook signature verification utility (`verifyWebhook` method)
+ - Migrated from deprecated tsdx to modern Rollup build system
+ - Improved error handling with TypeScript type guards and centralized error handling
+ - Created dedicated axios instance with proper configuration
+ - Fixed TypeScript configuration issues and enabled strict mode
+ - Updated Husky to v9 with modern configuration
+ - Added comprehensive CHANGELOG.md
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [2.2.0] - 2024-02-13
+
+### Added
+
+- Request/response logging capability with optional `logging` flag
+- Retry logic for failed requests with configurable `retries` and `retryDelay` options
+- Webhook signature verification utility (`verifyWebhook` method)
+- `webhookSecret` option in ChapaOptions for webhook verification
+- Standalone `verifyWebhookSignature` function for webhook validation
+- TypeScript strict mode for enhanced type safety
+- Node.js type definitions for better IDE support
+
+### Changed
+
+- Migrated from deprecated `tsdx` to modern Rollup build system
+- Updated Husky configuration from v4 to v9 format
+- Improved error handling with proper TypeScript type guards
+- Centralized error handling with `withErrorHandling` utility function
+- Created dedicated axios instance with proper configuration (base URL, timeout, headers)
+- Optimized tsconfig.json for Node.js environment (removed DOM lib, added strict mode)
+- Updated package.json with proper `types` field and modern tooling
+
+### Fixed
+
+- TypeScript configuration issues (removed conflicting `noEmit`, unnecessary `jsx` and `dom` lib)
+- Duplicate error handling code across all methods
+- Missing type safety in error handling
+- Husky hooks configuration for v9 compatibility
+- Module type warning in rollup.config (renamed to .mjs)
+
+### Improved
+
+- Code maintainability with DRY principles
+- Type safety throughout the codebase
+- Build configuration and output
+- Error messages and handling
+- Developer experience with better TypeScript support
+
+### Dependencies
+
+- Added `crypto-js` for webhook signature verification
+- Added `@types/crypto-js` for TypeScript support
+- Added `@types/node` for Node.js type definitions
+- Added Rollup and related plugins for modern build system
+- Added ESLint for code quality
+- Removed deprecated `tsdx` package
+- Removed `size-limit` package
+
+## [2.1.0] - Previous Release
+
+### Features
+
+- Initialize Transaction
+- Split Payment
+- Verify Payment
+- List Banks
+- Create Subaccount
+- All Transaction
+- Transaction Logs
+- Transfer
+- Bulk Transfer
+- Verify Transfer
+- All Transfer
+- Direct Charge
+- Authorize Direct Charge
+- Refund
+- Generate Transaction Reference
+- Full TypeScript Support
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..d3d15b2
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,158 @@
+# Contributing to chapa-nodejs
+
+Thank you for your interest in contributing to chapa-nodejs! We welcome contributions from the community.
+
+## Code of Conduct
+
+By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
+
+## How to Contribute
+
+### Reporting Bugs
+
+1. Check if the bug has already been reported in [Issues](https://github.com/fireayehu/chapa-nodejs/issues)
+2. If not, create a new issue using the Bug Report template
+3. Provide as much detail as possible including:
+ - Package version
+ - Node.js version
+ - Steps to reproduce
+ - Expected vs actual behavior
+ - Code samples
+
+### Suggesting Features
+
+1. Check if the feature has already been requested
+2. Create a new issue using the Feature Request template
+3. Clearly describe the problem and proposed solution
+4. Provide example usage if possible
+
+### Pull Requests
+
+1. **Fork the repository** and create your branch from `main`
+2. **Install dependencies**: `pnpm install`
+3. **Make your changes** following our coding standards
+4. **Add tests** for any new functionality
+5. **Run tests**: `pnpm test`
+6. **Run linter**: `pnpm run lint`
+7. **Build the project**: `pnpm run build`
+8. **Commit your changes** with clear commit messages
+9. **Push to your fork** and submit a pull request
+
+## Development Setup
+
+```bash
+# Clone your fork
+git clone https://github.com/YOUR_USERNAME/chapa-nodejs.git
+cd chapa-nodejs
+
+# Install dependencies
+pnpm install
+
+# Run tests
+pnpm test
+
+# Run tests in watch mode
+pnpm test:watch
+
+# Run linter
+pnpm run lint
+
+# Build the project
+pnpm run build
+```
+
+## Coding Standards
+
+### TypeScript
+
+- Use TypeScript for all code
+- Enable strict mode
+- Provide proper type definitions
+- Avoid using `any` type
+
+### Code Style
+
+- Follow existing code style
+- Use ESLint configuration
+- Use Prettier for formatting
+- Write clear, self-documenting code
+- Add comments for complex logic
+
+### Testing
+
+- Write tests for all new features
+- Maintain or improve code coverage
+- Use descriptive test names
+- Follow AAA pattern (Arrange, Act, Assert)
+
+### Commits
+
+- Use clear, descriptive commit messages
+- Follow conventional commits format:
+ - `feat:` for new features
+ - `fix:` for bug fixes
+ - `docs:` for documentation
+ - `test:` for tests
+ - `refactor:` for refactoring
+ - `chore:` for maintenance
+
+Example:
+```
+feat: add webhook signature verification
+fix: handle timeout errors correctly
+docs: update README with new examples
+```
+
+## Project Structure
+
+```
+chapa-nodejs/
+├── src/
+│ ├── chapa.ts # Main SDK class
+│ ├── interfaces/ # TypeScript interfaces
+│ ├── validations/ # Zod validation schemas
+│ ├── enums/ # Enumerations
+│ └── types/ # Type definitions
+├── test/ # Test files
+├── dist/ # Build output
+└── docs/ # Documentation
+```
+
+## Testing Guidelines
+
+- Write unit tests for all functions
+- Mock external dependencies (axios)
+- Test both success and error scenarios
+- Aim for >80% code coverage
+- Run `pnpm test:coverage` to check coverage
+
+## Documentation
+
+- Update README.md for new features
+- Add JSDoc comments for public APIs
+- Update CHANGELOG.md following Keep a Changelog format
+- Include code examples where helpful
+
+## Release Process
+
+Releases are managed by maintainers using changesets:
+
+1. Create changeset: `pnpm changeset`
+2. Version bump: `pnpm version`
+3. Publish: `pnpm release`
+
+## Questions?
+
+- Open a [Question issue](https://github.com/fireayehu/chapa-nodejs/issues/new/choose)
+- Check existing [documentation](https://github.com/fireayehu/chapa-nodejs#readme)
+- Review [Chapa API docs](https://developer.chapa.co/docs)
+
+## License
+
+By contributing, you agree that your contributions will be licensed under the MIT License.
+
+## Recognition
+
+Contributors will be recognized in the project's README and release notes.
+
+Thank you for contributing! 🎉
diff --git a/bump.config.json b/bump.config.json
new file mode 100644
index 0000000..9abf85f
--- /dev/null
+++ b/bump.config.json
@@ -0,0 +1,8 @@
+{
+ "files": [
+ "package.json"
+ ],
+ "commit": false,
+ "tag": false,
+ "push": false
+}
From 5cb67010c385687f85f01a7495cbcca74ebcaf22 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 03:46:42 +0300
Subject: [PATCH 44/53] docs(readme): remove codecov coverage badge
- Remove codecov badge link from README shields section
- Simplify badge display by removing coverage tracking reference
---
README.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/README.md b/README.md
index ad1ce01..3957d6d 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,6 @@
-
From e9fc1fdc5776831faa8cc6316447e7b81b6c86b1 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 14:46:29 +0300
Subject: [PATCH 45/53] fix(publish): resolve things requested by the owner
---
.github/workflows/publish.yml | 2 --
1 file changed, 2 deletions(-)
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 6e5a734..2591989 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -44,5 +44,3 @@ jobs:
- name: Publish to npm
run: pnpm publish --provenance --access public --no-git-checks
- env:
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
From 0314c0b013d63253b684f2c58468f2606a4efb5d Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 18:39:02 +0300
Subject: [PATCH 46/53] feat: add configurable timeout and exponential backoff
for retries
---
src/axios-instance.ts | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/axios-instance.ts b/src/axios-instance.ts
index bb83254..901d69e 100644
--- a/src/axios-instance.ts
+++ b/src/axios-instance.ts
@@ -70,11 +70,12 @@ export function createAxiosInstance(
logging = false,
debug = false,
retries = 0,
- retryDelay = 1000
+ retryDelay = 1000,
+ timeout = DEFAULT_TIMEOUT
): AxiosInstance {
const instance = axios.create({
baseURL: BASE_URL,
- timeout: DEFAULT_TIMEOUT,
+ timeout: timeout,
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${secretKey}`,
@@ -176,12 +177,14 @@ export function createAxiosInstance(
if (shouldRetry) {
config.__retryCount += 1;
+ const backoffDelay =
+ retryDelay * Math.pow(2, config.__retryCount - 1);
if (debug) {
console.log(
- `[Chapa Debug] Retrying request (${config.__retryCount}/${retries})`
+ `[Chapa Debug] Retrying request (${config.__retryCount}/${retries}) after ${backoffDelay}ms`
);
}
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
+ await new Promise((resolve) => setTimeout(resolve, backoffDelay));
return instance(config);
}
From 6541411dabd17a4df04050524d19d149f19f64da Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 18:39:17 +0300
Subject: [PATCH 47/53] feat: add AbortSignal support for request cancellation,
remove unnecessary async from genTxRef
---
src/chapa.ts | 139 +++++++++++++++++++++++++++++++++++----------------
1 file changed, 97 insertions(+), 42 deletions(-)
diff --git a/src/chapa.ts b/src/chapa.ts
index f6f7470..31ac288 100644
--- a/src/chapa.ts
+++ b/src/chapa.ts
@@ -46,29 +46,48 @@ import {
} from './validations';
interface IChapa {
- initialize(options: InitializeOptions): Promise;
- mobileInitialize(options: InitializeOptions): Promise;
- verify(options: VerifyOptions): Promise;
- genTxRef(genTxRefOptions?: GenTxRefOptions): Promise;
- getBanks(): Promise;
+ initialize(
+ options: InitializeOptions,
+ signal?: AbortSignal
+ ): Promise;
+ mobileInitialize(
+ options: InitializeOptions,
+ signal?: AbortSignal
+ ): Promise;
+ verify(options: VerifyOptions, signal?: AbortSignal): Promise;
+ genTxRef(genTxRefOptions?: GenTxRefOptions): string;
+ getBanks(signal?: AbortSignal): Promise;
createSubaccount(
- options: CreateSubaccountOptions
+ options: CreateSubaccountOptions,
+ signal?: AbortSignal
): Promise;
- getTransactions(): Promise;
+ getTransactions(signal?: AbortSignal): Promise;
getTransactionLogs(
- options: GetTransactionLogsOptions
+ options: GetTransactionLogsOptions,
+ signal?: AbortSignal
): Promise;
- transfer(options: TransferOptions): Promise;
- bulkTransfer(options: BulkTransferOptions): Promise;
+ transfer(
+ options: TransferOptions,
+ signal?: AbortSignal
+ ): Promise;
+ bulkTransfer(
+ options: BulkTransferOptions,
+ signal?: AbortSignal
+ ): Promise;
verifyTransfer(
- options: VerifyTransferOptions
+ options: VerifyTransferOptions,
+ signal?: AbortSignal
): Promise;
- getTransfers(): Promise;
- directCharge(options: DirectChargeOptions): Promise;
+ getTransfers(signal?: AbortSignal): Promise;
+ directCharge(
+ options: DirectChargeOptions,
+ signal?: AbortSignal
+ ): Promise;
authorizeDirectCharge(
- options: AuthorizeDirectChargeOptions
+ options: AuthorizeDirectChargeOptions,
+ signal?: AbortSignal
): Promise;
- refund(options: RefundOptions): Promise;
+ refund(options: RefundOptions, signal?: AbortSignal): Promise;
verifyWebhook(payload: WebhookPayload | string, signature: string): boolean;
}
@@ -82,46 +101,57 @@ export class Chapa implements IChapa {
chapaOptions.logging,
chapaOptions.debug,
chapaOptions.retries,
- chapaOptions.retryDelay
+ chapaOptions.retryDelay,
+ chapaOptions.timeout
);
this.webhookSecret = chapaOptions.webhookSecret;
}
- async initialize(options: InitializeOptions): Promise {
+ async initialize(
+ options: InitializeOptions,
+ signal?: AbortSignal
+ ): Promise {
return withErrorHandling(async () => {
validateInitializeOptions(options);
const response = await this.axiosInstance.post(
ChapaUrls.INITIALIZE,
- options
+ options,
+ { signal }
);
return response.data;
});
}
async mobileInitialize(
- options: InitializeOptions
+ options: InitializeOptions,
+ signal?: AbortSignal
): Promise {
return withErrorHandling(async () => {
validateInitializeOptions(options);
const response = await this.axiosInstance.post(
ChapaUrls.MOBILE_INITIALIZE,
- options
+ options,
+ { signal }
);
return response.data;
});
}
- async verify(options: VerifyOptions): Promise {
+ async verify(
+ options: VerifyOptions,
+ signal?: AbortSignal
+ ): Promise {
return withErrorHandling(async () => {
validateVerifyOptions(options);
const response = await this.axiosInstance.get(
- `${ChapaUrls.VERIFY}/${options.tx_ref}`
+ `${ChapaUrls.VERIFY}/${options.tx_ref}`,
+ { signal }
);
return response.data;
});
}
- async genTxRef(options?: GenTxRefOptions): Promise {
+ genTxRef(options?: GenTxRefOptions): string {
const { removePrefix = false, prefix = 'TX', size = 15 } = options || {};
const nanoid = customAlphabet(alphanumeric, size);
@@ -133,96 +163,114 @@ export class Chapa implements IChapa {
return `${prefix}-${reference.toUpperCase()}`;
}
- async getBanks(): Promise {
+ async getBanks(signal?: AbortSignal): Promise {
return withErrorHandling(async () => {
const banks = await this.axiosInstance.get(
- ChapaUrls.BANK
+ ChapaUrls.BANK,
+ { signal }
);
return banks.data;
});
}
async createSubaccount(
- options: CreateSubaccountOptions
+ options: CreateSubaccountOptions,
+ signal?: AbortSignal
): Promise {
return withErrorHandling(async () => {
validateCreateSubaccountOptions(options);
const response = await this.axiosInstance.post(
ChapaUrls.SUBACCOUNT,
- options
+ options,
+ { signal }
);
return response.data;
});
}
- async getTransactions(): Promise {
+ async getTransactions(
+ signal?: AbortSignal
+ ): Promise {
return withErrorHandling(async () => {
const response = await this.axiosInstance.get(
- ChapaUrls.TRANSACTION
+ ChapaUrls.TRANSACTION,
+ { signal }
);
return response.data;
});
}
async getTransactionLogs(
- options: GetTransactionLogsOptions
+ options: GetTransactionLogsOptions,
+ signal?: AbortSignal
): Promise {
return withErrorHandling(async () => {
validateGetTransactionLogsOptions(options);
const response = await this.axiosInstance.get(
- `${ChapaUrls.TRANSACTION_LOG}/${options.ref_id}`
+ `${ChapaUrls.TRANSACTION_LOG}/${options.ref_id}`,
+ { signal }
);
return response.data;
});
}
- async transfer(options: TransferOptions): Promise {
+ async transfer(
+ options: TransferOptions,
+ signal?: AbortSignal
+ ): Promise {
return withErrorHandling(async () => {
validateTransferOptions(options);
const response = await this.axiosInstance.post(
ChapaUrls.TRANSFER,
- options
+ options,
+ { signal }
);
return response.data;
});
}
async bulkTransfer(
- options: BulkTransferOptions
+ options: BulkTransferOptions,
+ signal?: AbortSignal
): Promise {
return withErrorHandling(async () => {
validateBulkTransferOptions(options);
const response = await this.axiosInstance.post(
ChapaUrls.BULK_TRANSFER,
- options
+ options,
+ { signal }
);
return response.data;
});
}
async verifyTransfer(
- options: VerifyTransferOptions
+ options: VerifyTransferOptions,
+ signal?: AbortSignal
): Promise {
return withErrorHandling(async () => {
validateVerifyTransferOptions(options);
const response = await this.axiosInstance.get(
- `${ChapaUrls.VERIFY_TRANSFER}/${options.tx_ref}`
+ `${ChapaUrls.VERIFY_TRANSFER}/${options.tx_ref}`,
+ { signal }
);
return response.data;
});
}
- async getTransfers(): Promise {
+ async getTransfers(signal?: AbortSignal): Promise {
return withErrorHandling(async () => {
const response = await this.axiosInstance.get(
- ChapaUrls.TRANSFER
+ ChapaUrls.TRANSFER,
+ { signal }
);
return response.data;
});
}
async directCharge(
- options: DirectChargeOptions
+ options: DirectChargeOptions,
+ signal?: AbortSignal
): Promise {
return withErrorHandling(async () => {
validateDirectChargeOptions(options);
@@ -230,6 +278,7 @@ export class Chapa implements IChapa {
ChapaUrls.DIRECT_CHARGE,
options,
{
+ signal,
params: {
type: options.type,
},
@@ -240,7 +289,8 @@ export class Chapa implements IChapa {
}
async authorizeDirectCharge(
- options: AuthorizeDirectChargeOptions
+ options: AuthorizeDirectChargeOptions,
+ signal?: AbortSignal
): Promise {
return withErrorHandling(async () => {
validateAuthorizeDirectChargeOptions(options);
@@ -249,6 +299,7 @@ export class Chapa implements IChapa {
ChapaUrls.AUTHORIZE_DIRECT_CHARGE,
options,
{
+ signal,
params: {
type: options.type,
},
@@ -258,7 +309,10 @@ export class Chapa implements IChapa {
});
}
- async refund(options: RefundOptions): Promise {
+ async refund(
+ options: RefundOptions,
+ signal?: AbortSignal
+ ): Promise {
return withErrorHandling(async () => {
validateRefundOptions(options);
const { tx_ref, ...body } = options;
@@ -277,6 +331,7 @@ export class Chapa implements IChapa {
`${ChapaUrls.REFUND}/${tx_ref}`,
formBody,
{
+ signal,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
From 331a6836b1f69a7b67373ecb124ecb4887dc068f Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 18:39:30 +0300
Subject: [PATCH 48/53] feat: add timeout option to ChapaOptions interface
---
src/interfaces/chapa-options.interface.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/interfaces/chapa-options.interface.ts b/src/interfaces/chapa-options.interface.ts
index 59e3f1f..4d4ce4d 100644
--- a/src/interfaces/chapa-options.interface.ts
+++ b/src/interfaces/chapa-options.interface.ts
@@ -5,4 +5,5 @@ export interface ChapaOptions {
debug?: boolean;
retries?: number;
retryDelay?: number;
+ timeout?: number;
}
From d9ecaaf9a291985b211829deabd454fee882ea23 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 18:39:44 +0300
Subject: [PATCH 49/53] chore: update TypeScript target to ES2020
---
tsconfig.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tsconfig.json b/tsconfig.json
index 7da0f72..b7cb90a 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,9 +1,9 @@
{
"include": ["src", "types"],
"compilerOptions": {
- "target": "ES2017",
+ "target": "ES2020",
"module": "esnext",
- "lib": ["ES2017"],
+ "lib": ["ES2020"],
"declaration": true,
"declarationDir": "./dist",
"sourceMap": true,
From d15d0a8595144490f062b6798489cf6c241167b9 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 18:39:57 +0300
Subject: [PATCH 50/53] chore: add AbortSignal and AbortController to ESLint
globals
---
eslint.config.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eslint.config.js b/eslint.config.js
index 195c779..431158f 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -16,6 +16,8 @@ const nodeGlobals = {
clearTimeout: 'readonly',
setInterval: 'readonly',
clearInterval: 'readonly',
+ AbortController: 'readonly',
+ AbortSignal: 'readonly',
};
const jestGlobals = {
From 53023af98cec5fb6a7ea2ed9f91c2febafa755d4 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 18:40:11 +0300
Subject: [PATCH 51/53] test: update tests to accommodate signal parameter
---
test/chapa.test.ts | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/test/chapa.test.ts b/test/chapa.test.ts
index bfcff58..ef71c20 100644
--- a/test/chapa.test.ts
+++ b/test/chapa.test.ts
@@ -60,6 +60,7 @@ describe('Chapa', () => {
expect(result).toEqual(mockResponse.data);
expect(mockAxiosInstance.post).toHaveBeenCalledWith(
'/transaction/initialize',
+ expect.any(Object),
expect.any(Object)
);
});
@@ -107,7 +108,8 @@ describe('Chapa', () => {
expect(result).toEqual(mockResponse.data);
expect(mockAxiosInstance.get).toHaveBeenCalledWith(
- '/transaction/verify/TX-123'
+ '/transaction/verify/TX-123',
+ expect.any(Object)
);
});
});
@@ -125,7 +127,10 @@ describe('Chapa', () => {
const result = await chapa.getBanks();
expect(result).toEqual(mockResponse.data);
- expect(mockAxiosInstance.get).toHaveBeenCalledWith('/banks');
+ expect(mockAxiosInstance.get).toHaveBeenCalledWith(
+ '/banks',
+ expect.any(Object)
+ );
});
});
From 48865fee30248b72b945695a59685595fe995a24 Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 18:40:24 +0300
Subject: [PATCH 52/53] docs: update README with timeout, AbortSignal support,
and exponential backoff
---
CHANGELOG.md | 7 +++--
README.md | 77 +++++++++++++++++++++++++++++++++++++++++-----------
2 files changed, 66 insertions(+), 18 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c328118..ed6ab3f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,12 @@
-## 2.3.0
+## 2.1.1
+
+### Patch Changes
+
+- Add AbortSignal support for request cancellation, configurable timeout, exponential backoff for retries, and update TypeScript target to ES2020
### Minor Changes
- Major improvements and new features:
-
- Added request/response logging with optional `logging` flag
- Implemented retry logic for failed requests with `retries` and `retryDelay` options
- Added webhook signature verification utility (`verifyWebhook` method)
diff --git a/README.md b/README.md
index 3957d6d..334f7a9 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,7 @@
## Features
**Core Features**
+
- Secure payment initialization (Web & Mobile)
- Payment verification
- Split payments & subaccounts
@@ -36,10 +37,12 @@
- Webhook signature verification
**Developer Experience**
+
- Full TypeScript support with type definitions
- Input validation with Zod
-- Automatic retry logic for failed requests
+- Automatic retry logic with exponential backoff for failed requests
- Request/response logging & debug mode
+- Request cancellation support (AbortSignal)
- Comprehensive error handling
- 85%+ test coverage
@@ -87,15 +90,46 @@ const verification = await chapa.verify({ tx_ref });
```typescript
const chapa = new Chapa({
- secretKey: 'your-secret-key', // Required
+ secretKey: 'your-secret-key', // Required
webhookSecret: 'your-webhook-secret', // Optional: for webhook verification
- logging: true, // Optional: enable request/response logging
- debug: true, // Optional: detailed debug information
- retries: 3, // Optional: retry failed requests (default: 0)
- retryDelay: 2000, // Optional: delay between retries in ms (default: 1000)
+ logging: true, // Optional: enable request/response logging
+ debug: true, // Optional: detailed debug information
+ retries: 3, // Optional: retry failed requests (default: 0)
+ retryDelay: 2000, // Optional: delay between retries in ms (default: 1000)
+ timeout: 30000, // Optional: request timeout in ms (default: 30000)
});
```
+### Request Cancellation
+
+All async methods support cancellation via `AbortSignal`:
+
+```typescript
+const controller = new AbortController();
+const timeoutId = setTimeout(() => controller.abort(), 5000);
+
+try {
+ const response = await chapa.initialize(
+ {
+ first_name: 'John',
+ last_name: 'Doe',
+ email: 'john@example.com',
+ currency: 'ETB',
+ amount: '1000',
+ tx_ref: chapa.genTxRef(),
+ return_url: 'https://example.com/return',
+ },
+ controller.signal
+ );
+} catch (error) {
+ if (error.name === 'AbortError') {
+ // Request was cancelled
+ }
+} finally {
+ clearTimeout(timeoutId);
+}
+```
+
## Documentation
### Payment Operations
@@ -120,6 +154,7 @@ const response = await chapa.initialize({
},
});
```
+
@@ -134,6 +169,7 @@ if (response.data.status === 'success') {
// Payment successful
}
```
+
@@ -151,7 +187,7 @@ app.post('/webhook', (req, res) => {
const signature = req.headers['x-chapa-signature'] as string;
const rawBody = req.body; // ensure this is the raw body string
const isValid = chapa.verifyWebhook(rawBody, signature);
-
+
if (isValid) {
// Process webhook
res.status(200).send('OK');
@@ -160,6 +196,7 @@ app.post('/webhook', (req, res) => {
}
});
```
+
### Bank Operations
@@ -170,6 +207,7 @@ app.post('/webhook', (req, res) => {
```typescript
const banks = await chapa.getBanks();
```
+
@@ -185,6 +223,7 @@ const response = await chapa.transfer({
bank_code: 128,
});
```
+
@@ -206,6 +245,7 @@ const response = await chapa.bulkTransfer({
],
});
```
+
### Subaccounts & Split Payments
@@ -225,6 +265,7 @@ const response = await chapa.createSubaccount({
split_value: 0.05, // 5%
});
```
+
@@ -242,6 +283,7 @@ const response = await chapa.initialize({
],
});
```
+
### Direct Charge
@@ -258,6 +300,7 @@ const response = await chapa.directCharge({
type: 'telebirr',
});
```
+
### Refunds
@@ -272,6 +315,7 @@ const response = await chapa.refund({
amount: '1000', // Optional: partial refund
});
```
+
### Utility Functions
@@ -281,17 +325,18 @@ const response = await chapa.refund({
```typescript
// Default: TX-XXXXXXXXXXXXXXX
-const ref1 = await chapa.genTxRef();
+const ref1 = chapa.genTxRef();
// Custom prefix
-const ref2 = await chapa.genTxRef({ prefix: 'ORDER' });
+const ref2 = chapa.genTxRef({ prefix: 'ORDER' });
// No prefix
-const ref3 = await chapa.genTxRef({ removePrefix: true });
+const ref3 = chapa.genTxRef({ removePrefix: true });
// Custom size
-const ref4 = await chapa.genTxRef({ size: 20 });
+const ref4 = chapa.genTxRef({ size: 20 });
```
+
## Error Handling
@@ -313,12 +358,12 @@ try {
Full TypeScript support with comprehensive type definitions:
```typescript
-import {
- Chapa,
- InitializeOptions,
+import {
+ Chapa,
+ InitializeOptions,
InitializeResponse,
VerifyResponse,
- SplitType
+ SplitType,
} from 'chapa-nodejs';
```
@@ -354,7 +399,7 @@ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) f
Detailed Statistics
-
+
### Activity Graph
From f0e2c82fa90e272f5e18b8ae9b4abc3f35b272af Mon Sep 17 00:00:00 2001
From: Haxurn
Date: Fri, 13 Feb 2026 18:40:36 +0300
Subject: [PATCH 53/53] chore: bump version to 2.1.1
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 3ae897e..5cdca94 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "chapa-nodejs",
- "version": "2.1.0",
+ "version": "2.1.1",
"description": "NodeJS SDK for Chapa payment gateway",
"license": "MIT",
"author": "Fireayehu Zekarias",