diff --git a/.changeset/rare-snails-shave.md b/.changeset/rare-snails-shave.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/rare-snails-shave.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 6924ef707a5..fa508da7fd4 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -17,8 +17,13 @@ jobs: doc-folder-path: "apps/docs/src" spellcheck-config-path: "apps/docs/.spellcheck.yml" - test: - runs-on: buildjet-4vcpu-ubuntu-2204 + environments: + runs-on: ubuntu-latest + name: ${{ matrix.env }} + strategy: + fail-fast: false + matrix: + env: [node] timeout-minutes: 25 steps: - name: Checkout @@ -40,40 +45,83 @@ jobs: - name: Lint run: pnpm lint + - name: Validate Tests + run: pnpm test:validate + + - name: Run Tests - ${{ matrix.env }} + run: pnpm ci:test --${{ matrix.env }} + + - name: Upload Coverage - ${{ matrix.env }} + uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.env }} + path: coverage/environments/${{ matrix.env }} + + test: + runs-on: ubuntu-latest + needs: [environments] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: CI Setup + uses: ./.github/actions/test-setup + + - name: Generate Coverage Directory + run: mkdir -p coverage/environments + + - name: Download Coverage Artifact for Node Tests + uses: actions/download-artifact@v3 + with: + name: node + path: coverage/environments + + - name: Generate Coverage + run: pnpm test:coverage-merge + - name: Find PR Number uses: jwalton/gh-find-current-pr@v1 id: findPr - - name: Run tests and collect coverage - if: ${{ !steps.findPr.outputs.number }} - run: pnpm ci:test -- --json --coverage --testLocationInResults --outputFile=report.master.json - - - name: Upload coverage to Github artifacts + - name: Upload Master Coverage Artifact uses: actions/upload-artifact@v3 if: ${{ !steps.findPr.outputs.number }} with: - name: coverage-reports - path: report.master.json + name: coverage-master + path: coverage/report - - name: Download coverage artifact + - name: Download Master Coverage Artifact uses: dawidd6/action-download-artifact@v2 - if: ${{ steps.findPr.outputs.number }} + # TODO: Remove PR != check once #1310 has been merged + if: ${{ (steps.findPr.outputs.number) && (steps.findPr.outputs.number != 1310)}} with: workflow: test.yaml branch: master - name: coverage-reports - path: coverage-reports + name: coverage-master + path: coverage-master + + # TODO: Delete once #1310 has been merged + - name: Download Master Coverage Artifact (temporary) + uses: dawidd6/action-download-artifact@v2 + if: ${{ (steps.findPr.outputs.number) && (steps.findPr.outputs.number == 1310)}} + with: + workflow: test.yaml + run_id: 6628340271 + name: coverage-master + path: coverage-master + + - name: Generate Coverage Diff + run: pnpm test:coverage-diff - - name: Run tests and post reports to PR - uses: ArtiomTr/jest-coverage-report-action@v2 + - name: Report Coverage + uses: thollander/actions-comment-pull-request@v2 if: ${{ steps.findPr.outputs.number }} with: - github-token: ${{ secrets.GITHUB_TOKEN }} - package-manager: pnpm - annotations: failed-tests - test-script: pnpm ci:test - prnumber: ${{ steps.findPr.outputs.number }} - base-coverage-file: coverage-reports/report.master.json + filePath: coverage/report/coverage-diff.txt + pr_number: ${{ (steps.findPr.outputs.number) }} + comment_tag: diff + mode: recreate + create_if_not_exists: true live-tests: name: Run Live Tests diff --git a/.nycrc b/.nycrc new file mode 100644 index 00000000000..c455077f077 --- /dev/null +++ b/.nycrc @@ -0,0 +1,15 @@ +{ + "extends": "@istanbuljs/nyc-config-typescript", + "reporter": ["json-summary"], + "include": ["packages", "internal", "apps"], + "exclude": [ + "**/node_modules/**", + "**/dist/**", + "**/test/**", + "**/*.test.ts", + "**/*.d.ts", + "packages/fuel-gauge/**", + "apps/demo-*", + "apps/docs" + ] +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index f9973f00345..05ca3907232 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,6 +1,6 @@ { "recommendations": [ - "orta.vscode-jest", + "ZixuanChen.vitest-explorer", "esbenp.prettier-vscode", "dbaeumer.vscode-eslint" ] diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 7b10da99fa4..00000000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "type": "node", - "name": "vscode-jest-tests.v2", - "request": "launch", - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "disableOptimisticBPs": true, - "program": "${workspaceFolder}/node_modules/jest/bin/jest.js", - "cwd": "${workspaceFolder}", - "args": [ - "--runInBand", - "--watchAll=false", - "--testNamePattern", - "${jest.testNamePattern}", - "--runTestsByPath", - "${jest.testFile}" - ] - } - ] -} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 642d7a91b26..29deaab9a0b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -107,14 +107,17 @@ And then run the tests in another terminal tab: # run all tests pnpm test -# run tests while passing other flags to sub-program -pnpm test -- --coverage --my-other-flag +# watch all tests +pnpm test:watch # run tests for a specific package -pnpm test packages/my-desired-package +pnpm test:filter packages/my-desired-package # run tests for a specific file -pnpm test packages/my-desired-package/src/my.test.ts +pnpm test:filter packages/my-desired-package/src/my.test.ts + +# run tests while passing other flags to sub-program +pnpm test -- --coverage --my-other-flag ``` Or if you want to start a local Fuel-Core node and run all tests serially you can do: diff --git a/apps/demo-fuels/src/index.test.ts b/apps/demo-fuels/src/index.test.ts index bbe32a6c313..cb5d1d61c6c 100644 --- a/apps/demo-fuels/src/index.test.ts +++ b/apps/demo-fuels/src/index.test.ts @@ -14,6 +14,10 @@ import { SampleAbi__factory } from './sway-programs-api'; import bytecode from './sway-programs-api/contracts/SampleAbi.hex'; let gasPrice: BN; + +/** + * @group node + */ describe('ExampleContract', () => { beforeAll(async () => { const provider = await Provider.create(FUEL_NETWORK_URL); diff --git a/apps/demo-fuels/tsdoc.json b/apps/demo-fuels/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/apps/demo-fuels/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/apps/demo-typegen/contract/src/main.sw b/apps/demo-typegen/contract/src/main.sw index c81680df79b..cae4ca17db4 100644 --- a/apps/demo-typegen/contract/src/main.sw +++ b/apps/demo-typegen/contract/src/main.sw @@ -1,4 +1,4 @@ -// #region Testing-with-jest-rust +// #region Testing-in-ts-rust contract; abi DemoContract { @@ -10,4 +10,4 @@ impl DemoContract for Contract { input } } -// #endregion Testing-with-jest-rust +// #endregion Testing-in-ts-rust diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index a1680044e6d..74024025643 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -1,4 +1,4 @@ -// #region Testing-with-jest-ts +// #region Testing-in-ts-ts import { safeExec } from '@fuel-ts/errors/test-utils'; import { generateTestWallet } from '@fuel-ts/wallet/test-utils'; import type { BN } from 'fuels'; @@ -20,6 +20,10 @@ import { PredicateAbi__factory } from './predicate-types'; import { ScriptAbi__factory } from './script-types'; let gasPrice: BN; + +/** + * @group node + */ describe('ExampleContract', () => { beforeAll(async () => { const provider = await Provider.create(FUEL_NETWORK_URL); @@ -93,7 +97,7 @@ describe('ExampleContract', () => { expect(value.toHex()).toEqual(toHex(1337)); }); }); -// #endregion Testing-with-jest-ts +// #endregion Testing-in-ts-ts it('should throw when simulating via contract factory with wallet with no resources', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); diff --git a/apps/demo-typegen/tsdoc.json b/apps/demo-typegen/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/apps/demo-typegen/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/apps/docs-snippets/src/guide/contracts/call-parameters.test.ts b/apps/docs-snippets/src/guide/contracts/call-parameters.test.ts index e7dff259132..deca9db3808 100644 --- a/apps/docs-snippets/src/guide/contracts/call-parameters.test.ts +++ b/apps/docs-snippets/src/guide/contracts/call-parameters.test.ts @@ -4,6 +4,9 @@ import { BN, BaseAssetId } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; let provider: Provider; diff --git a/apps/docs-snippets/src/guide/contracts/calls-with-different-wallets.test.ts b/apps/docs-snippets/src/guide/contracts/calls-with-different-wallets.test.ts index c0f4d3c7ead..232eec8f9c5 100644 --- a/apps/docs-snippets/src/guide/contracts/calls-with-different-wallets.test.ts +++ b/apps/docs-snippets/src/guide/contracts/calls-with-different-wallets.test.ts @@ -4,6 +4,9 @@ import { FUEL_NETWORK_URL, Provider, WalletUnlocked } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let deployedContract: Contract; diff --git a/apps/docs-snippets/src/guide/contracts/configurable-constants.test.ts b/apps/docs-snippets/src/guide/contracts/configurable-constants.test.ts index a9326298b23..25349667a09 100644 --- a/apps/docs-snippets/src/guide/contracts/configurable-constants.test.ts +++ b/apps/docs-snippets/src/guide/contracts/configurable-constants.test.ts @@ -7,6 +7,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe('configurable-constants', () => { let wallet: WalletUnlocked; diff --git a/apps/docs-snippets/src/guide/contracts/contract-balance.test.ts b/apps/docs-snippets/src/guide/contracts/contract-balance.test.ts index 513b03add9a..cfa83ec3e42 100644 --- a/apps/docs-snippets/src/guide/contracts/contract-balance.test.ts +++ b/apps/docs-snippets/src/guide/contracts/contract-balance.test.ts @@ -4,6 +4,9 @@ import { Wallet, BN, BaseAssetId, Provider, FUEL_NETWORK_URL } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; let provider: Provider; diff --git a/apps/docs-snippets/src/guide/contracts/cost-estimation.test.ts b/apps/docs-snippets/src/guide/contracts/cost-estimation.test.ts index d946b662a1e..7aa93a9de0c 100644 --- a/apps/docs-snippets/src/guide/contracts/cost-estimation.test.ts +++ b/apps/docs-snippets/src/guide/contracts/cost-estimation.test.ts @@ -3,6 +3,9 @@ import { BaseAssetId, type Contract, type Provider } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; let provider: Provider; diff --git a/apps/docs-snippets/src/guide/contracts/deploying-contracts.test.ts b/apps/docs-snippets/src/guide/contracts/deploying-contracts.test.ts index 290a2320206..1bee45e5e21 100644 --- a/apps/docs-snippets/src/guide/contracts/deploying-contracts.test.ts +++ b/apps/docs-snippets/src/guide/contracts/deploying-contracts.test.ts @@ -5,6 +5,9 @@ import { join } from 'path'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let PRIVATE_KEY: string; let projectsPath: string; diff --git a/apps/docs-snippets/src/guide/contracts/index.test.ts b/apps/docs-snippets/src/guide/contracts/index.test.ts index 9f59c61fbd6..b2a627007e3 100644 --- a/apps/docs-snippets/src/guide/contracts/index.test.ts +++ b/apps/docs-snippets/src/guide/contracts/index.test.ts @@ -3,6 +3,9 @@ import type { Contract } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/contracts/inter-contract-calls.test.ts b/apps/docs-snippets/src/guide/contracts/inter-contract-calls.test.ts index 603a71f3a80..63a2c8e4935 100644 --- a/apps/docs-snippets/src/guide/contracts/inter-contract-calls.test.ts +++ b/apps/docs-snippets/src/guide/contracts/inter-contract-calls.test.ts @@ -7,6 +7,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let wallet: WalletUnlocked; let simpleToken: Contract; diff --git a/apps/docs-snippets/src/guide/contracts/logs.test.ts b/apps/docs-snippets/src/guide/contracts/logs.test.ts index 8bc759e3a04..9bdec2f8497 100644 --- a/apps/docs-snippets/src/guide/contracts/logs.test.ts +++ b/apps/docs-snippets/src/guide/contracts/logs.test.ts @@ -4,6 +4,9 @@ import { BN } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; let provider: Provider; diff --git a/apps/docs-snippets/src/guide/contracts/managing-deployed-contracts.test.ts b/apps/docs-snippets/src/guide/contracts/managing-deployed-contracts.test.ts index bb30ec6eff4..10580b42d76 100644 --- a/apps/docs-snippets/src/guide/contracts/managing-deployed-contracts.test.ts +++ b/apps/docs-snippets/src/guide/contracts/managing-deployed-contracts.test.ts @@ -7,6 +7,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; let contractId: AbstractAddress; diff --git a/apps/docs-snippets/src/guide/contracts/multicalls.test.ts b/apps/docs-snippets/src/guide/contracts/multicalls.test.ts index 55686685193..0f99c716766 100644 --- a/apps/docs-snippets/src/guide/contracts/multicalls.test.ts +++ b/apps/docs-snippets/src/guide/contracts/multicalls.test.ts @@ -7,6 +7,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let echoContract: Contract; let counterContract: Contract; diff --git a/apps/docs-snippets/src/guide/contracts/simulate-transactions.test.ts b/apps/docs-snippets/src/guide/contracts/simulate-transactions.test.ts index 496670b215b..847771c3087 100644 --- a/apps/docs-snippets/src/guide/contracts/simulate-transactions.test.ts +++ b/apps/docs-snippets/src/guide/contracts/simulate-transactions.test.ts @@ -8,6 +8,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { it('should successfully simulate contract call with forwarded amount', async () => { const contract = await createAndDeployContractFromProject( diff --git a/apps/docs-snippets/src/guide/contracts/transaction-parameters.test.ts b/apps/docs-snippets/src/guide/contracts/transaction-parameters.test.ts index eb7f369d538..7c5ce65d7ba 100644 --- a/apps/docs-snippets/src/guide/contracts/transaction-parameters.test.ts +++ b/apps/docs-snippets/src/guide/contracts/transaction-parameters.test.ts @@ -4,6 +4,9 @@ import { BN, PolicyType } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; let provider: Provider; diff --git a/apps/docs-snippets/src/guide/cookbook/transferring-assets.test.ts b/apps/docs-snippets/src/guide/cookbook/transferring-assets.test.ts index 59f3e2c0429..d1ca605fd9a 100644 --- a/apps/docs-snippets/src/guide/cookbook/transferring-assets.test.ts +++ b/apps/docs-snippets/src/guide/cookbook/transferring-assets.test.ts @@ -7,6 +7,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let sender: WalletUnlocked; let deployedContract: Contract; diff --git a/apps/docs-snippets/src/guide/predicates/index.test.ts b/apps/docs-snippets/src/guide/predicates/index.test.ts index 57ea16c3171..ddeaaff06fc 100644 --- a/apps/docs-snippets/src/guide/predicates/index.test.ts +++ b/apps/docs-snippets/src/guide/predicates/index.test.ts @@ -2,6 +2,9 @@ import { FUEL_NETWORK_URL, Provider, Predicate } from 'fuels'; import { DocSnippetProjectsEnum, getDocsSnippetsForcProject } from '../../../test/fixtures/forc-projects'; +/** + * @group node + */ describe(__filename, () => { const { abiContents: jsonAbi, binHexlified: binary } = getDocsSnippetsForcProject( DocSnippetProjectsEnum.RETURN_TRUE_PREDICATE diff --git a/apps/docs-snippets/src/guide/predicates/predicate-with-configurable.test.ts b/apps/docs-snippets/src/guide/predicates/predicate-with-configurable.test.ts index 8321c6e58fc..4178f0cac61 100644 --- a/apps/docs-snippets/src/guide/predicates/predicate-with-configurable.test.ts +++ b/apps/docs-snippets/src/guide/predicates/predicate-with-configurable.test.ts @@ -6,6 +6,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let wallet: WalletUnlocked; let gasPrice: BN; diff --git a/apps/docs-snippets/src/guide/predicates/send-and-spend-funds-from-predicates.test.ts b/apps/docs-snippets/src/guide/predicates/send-and-spend-funds-from-predicates.test.ts index 6cd38a81e05..ff83e017411 100644 --- a/apps/docs-snippets/src/guide/predicates/send-and-spend-funds-from-predicates.test.ts +++ b/apps/docs-snippets/src/guide/predicates/send-and-spend-funds-from-predicates.test.ts @@ -8,6 +8,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let walletWithFunds: WalletUnlocked; let provider: Provider; diff --git a/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts b/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts index ad2c185150b..4149cfe75c0 100644 --- a/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts +++ b/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts @@ -7,6 +7,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { defaultTxParams, getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let wallet: WalletUnlocked; let provider: Provider; diff --git a/apps/docs-snippets/src/guide/scripts/script-with-configurable.test.ts b/apps/docs-snippets/src/guide/scripts/script-with-configurable.test.ts index ef604f4757c..7951238aa5e 100644 --- a/apps/docs-snippets/src/guide/scripts/script-with-configurable.test.ts +++ b/apps/docs-snippets/src/guide/scripts/script-with-configurable.test.ts @@ -7,6 +7,9 @@ import { } from '../../../test/fixtures/forc-projects'; import { getTestWallet } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let wallet: WalletUnlocked; let gasPrice: BN; diff --git a/apps/docs-snippets/src/guide/testing/tweaking-the-blockchain.test.ts b/apps/docs-snippets/src/guide/testing/tweaking-the-blockchain.test.ts index ac2b561074b..0c59f593422 100644 --- a/apps/docs-snippets/src/guide/testing/tweaking-the-blockchain.test.ts +++ b/apps/docs-snippets/src/guide/testing/tweaking-the-blockchain.test.ts @@ -1,5 +1,8 @@ import { FUEL_NETWORK_URL, Provider, fromTai64ToUnix } from 'fuels'; +/** + * @group node + */ test('produceBlocks with custom timestamp docs snippet', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); const latestBlock = await provider.getBlock('latest'); diff --git a/apps/docs-snippets/src/guide/types/address.test.ts b/apps/docs-snippets/src/guide/types/address.test.ts index c0674b945e6..320c9bdff43 100644 --- a/apps/docs-snippets/src/guide/types/address.test.ts +++ b/apps/docs-snippets/src/guide/types/address.test.ts @@ -1,5 +1,8 @@ import { Address, FUEL_NETWORK_URL, Provider, Wallet } from 'fuels'; +/** + * @group node + */ describe(__filename, () => { it('should successfully create new address from bech32 string', () => { // #region address-2 diff --git a/apps/docs-snippets/src/guide/types/arrays.test.ts b/apps/docs-snippets/src/guide/types/arrays.test.ts index ce931fefa6f..cd354c77dce 100644 --- a/apps/docs-snippets/src/guide/types/arrays.test.ts +++ b/apps/docs-snippets/src/guide/types/arrays.test.ts @@ -4,6 +4,9 @@ import { BN } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/types/asset-id.test.ts b/apps/docs-snippets/src/guide/types/asset-id.test.ts index 71143ec6c7e..c02dff29160 100644 --- a/apps/docs-snippets/src/guide/types/asset-id.test.ts +++ b/apps/docs-snippets/src/guide/types/asset-id.test.ts @@ -4,6 +4,9 @@ import { Address } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe('AssetId', () => { let contract: Contract; const Bits256: B256Address = '0x9ae5b658754e096e4d681c548daf46354495a437cc61492599e33fc64dcdc30c'; diff --git a/apps/docs-snippets/src/guide/types/bech32.test.ts b/apps/docs-snippets/src/guide/types/bech32.test.ts index cba787e7480..e7ff0cf9f7a 100644 --- a/apps/docs-snippets/src/guide/types/bech32.test.ts +++ b/apps/docs-snippets/src/guide/types/bech32.test.ts @@ -1,5 +1,8 @@ import { Address } from 'fuels'; +/** + * @group node + */ describe(__filename, () => { it('should successfully generate a bech32 address', () => { // #region bech32-2 diff --git a/apps/docs-snippets/src/guide/types/bits256.test.ts b/apps/docs-snippets/src/guide/types/bits256.test.ts index de25250585d..ce250618049 100644 --- a/apps/docs-snippets/src/guide/types/bits256.test.ts +++ b/apps/docs-snippets/src/guide/types/bits256.test.ts @@ -1,5 +1,8 @@ import { Address, arrayify, getRandomB256, hexlify } from 'fuels'; +/** + * @group node + */ describe(__filename, () => { it('should successfully generate and validate bit256 hexed string', () => { // #region bits256-1 diff --git a/apps/docs-snippets/src/guide/types/bits512.test.ts b/apps/docs-snippets/src/guide/types/bits512.test.ts index d067ad4be2a..d177f866def 100644 --- a/apps/docs-snippets/src/guide/types/bits512.test.ts +++ b/apps/docs-snippets/src/guide/types/bits512.test.ts @@ -4,6 +4,9 @@ import { Wallet } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/types/bytes.test.ts b/apps/docs-snippets/src/guide/types/bytes.test.ts index 12f11cc1de7..b3f58668da9 100644 --- a/apps/docs-snippets/src/guide/types/bytes.test.ts +++ b/apps/docs-snippets/src/guide/types/bytes.test.ts @@ -3,6 +3,9 @@ import type { Contract, Bytes } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe('Bytes', () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/types/bytes32.test.ts b/apps/docs-snippets/src/guide/types/bytes32.test.ts index 4adcbc9ee9f..e02398ba93a 100644 --- a/apps/docs-snippets/src/guide/types/bytes32.test.ts +++ b/apps/docs-snippets/src/guide/types/bytes32.test.ts @@ -1,6 +1,9 @@ import type { Bytes } from 'fuels'; import { arrayify, hexlify, randomBytes } from 'fuels'; +/** + * @group node + */ describe(__filename, () => { it('should successfully generate and convert byte32 to hexlified string', () => { // #region bytes32-1 diff --git a/apps/docs-snippets/src/guide/types/conversion.test.ts b/apps/docs-snippets/src/guide/types/conversion.test.ts index 081ae61829f..7db51567ae5 100644 --- a/apps/docs-snippets/src/guide/types/conversion.test.ts +++ b/apps/docs-snippets/src/guide/types/conversion.test.ts @@ -16,6 +16,9 @@ import { getDocsSnippetsForcProject, } from '../../../test/fixtures/forc-projects'; +/** + * @group node + */ describe(__filename, () => { const { abiContents: abi } = getDocsSnippetsForcProject(DocSnippetProjectsEnum.ECHO_VALUES); let provider: Provider; diff --git a/apps/docs-snippets/src/guide/types/enums.test.ts b/apps/docs-snippets/src/guide/types/enums.test.ts index becc21746e2..2e383ab4c4d 100644 --- a/apps/docs-snippets/src/guide/types/enums.test.ts +++ b/apps/docs-snippets/src/guide/types/enums.test.ts @@ -3,6 +3,9 @@ import type { Contract } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/types/evm-address.test.ts b/apps/docs-snippets/src/guide/types/evm-address.test.ts index c425bdbb244..0d617996f92 100644 --- a/apps/docs-snippets/src/guide/types/evm-address.test.ts +++ b/apps/docs-snippets/src/guide/types/evm-address.test.ts @@ -4,6 +4,9 @@ import { Address } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe('EvMAddress', () => { let contract: Contract; const Bits256: B256AddressEvm = diff --git a/apps/docs-snippets/src/guide/types/options.test.ts b/apps/docs-snippets/src/guide/types/options.test.ts index 996c24c137f..683e05d08f2 100644 --- a/apps/docs-snippets/src/guide/types/options.test.ts +++ b/apps/docs-snippets/src/guide/types/options.test.ts @@ -3,6 +3,9 @@ import type { Contract } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/types/raw-slice.test.ts b/apps/docs-snippets/src/guide/types/raw-slice.test.ts index 8c8ce63b1de..04acc258694 100644 --- a/apps/docs-snippets/src/guide/types/raw-slice.test.ts +++ b/apps/docs-snippets/src/guide/types/raw-slice.test.ts @@ -3,6 +3,9 @@ import type { Contract, BN, RawSlice } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe('RawSlice', () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/types/std-string.test.ts b/apps/docs-snippets/src/guide/types/std-string.test.ts index 6132853a2c2..20233482f7b 100644 --- a/apps/docs-snippets/src/guide/types/std-string.test.ts +++ b/apps/docs-snippets/src/guide/types/std-string.test.ts @@ -3,6 +3,9 @@ import type { Contract, StdString } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe('StdString', () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/types/string.test.ts b/apps/docs-snippets/src/guide/types/string.test.ts index eaf9228bc59..7a22511e915 100644 --- a/apps/docs-snippets/src/guide/types/string.test.ts +++ b/apps/docs-snippets/src/guide/types/string.test.ts @@ -3,6 +3,9 @@ import type { BN, Contract } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; let gasPrice: BN; diff --git a/apps/docs-snippets/src/guide/types/struct.test.ts b/apps/docs-snippets/src/guide/types/struct.test.ts index c06024bc223..c4cbd6c94fe 100644 --- a/apps/docs-snippets/src/guide/types/struct.test.ts +++ b/apps/docs-snippets/src/guide/types/struct.test.ts @@ -1,3 +1,6 @@ +/** + * @group node + */ describe(__filename, () => { it('should successfully validate struct representation', () => { // #region struct-2 diff --git a/apps/docs-snippets/src/guide/types/tuples.test.ts b/apps/docs-snippets/src/guide/types/tuples.test.ts index b19fef5e8b7..48094322120 100644 --- a/apps/docs-snippets/src/guide/types/tuples.test.ts +++ b/apps/docs-snippets/src/guide/types/tuples.test.ts @@ -4,6 +4,9 @@ import { BN } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/types/vector.test.ts b/apps/docs-snippets/src/guide/types/vector.test.ts index cee03dc093c..0c550f657e8 100644 --- a/apps/docs-snippets/src/guide/types/vector.test.ts +++ b/apps/docs-snippets/src/guide/types/vector.test.ts @@ -4,6 +4,9 @@ import { BN, getRandomB256 } from 'fuels'; import { DocSnippetProjectsEnum } from '../../../test/fixtures/forc-projects'; import { createAndDeployContractFromProject } from '../../utils'; +/** + * @group node + */ describe(__filename, () => { let contract: Contract; diff --git a/apps/docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts b/apps/docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts index 8872219eb79..7383ca54cc1 100644 --- a/apps/docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts +++ b/apps/docs-snippets/src/guide/wallet-manager/getting-started-with-wallet-manager.test.ts @@ -1,6 +1,9 @@ import { WalletManager } from '@fuel-ts/wallet-manager'; import { FUEL_NETWORK_URL, Provider, Wallet } from 'fuels'; +/** + * @group node + */ describe(__filename, () => { it('instantiates the WalletManager', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); diff --git a/apps/docs-snippets/src/guide/wallet-manager/locking-and-unlocking-wallet-manager.test.ts b/apps/docs-snippets/src/guide/wallet-manager/locking-and-unlocking-wallet-manager.test.ts index 7414ac345b0..3fd7dfa275c 100644 --- a/apps/docs-snippets/src/guide/wallet-manager/locking-and-unlocking-wallet-manager.test.ts +++ b/apps/docs-snippets/src/guide/wallet-manager/locking-and-unlocking-wallet-manager.test.ts @@ -1,6 +1,9 @@ import { WalletManager } from '@fuel-ts/wallet-manager'; import { FUEL_NETWORK_URL, Provider } from 'fuels'; +/** + * @group node + */ describe(__filename, () => { it('should', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); diff --git a/apps/docs-snippets/src/guide/wallets/encrypting-and-decrypting-json-wallets.test.ts b/apps/docs-snippets/src/guide/wallets/encrypting-and-decrypting-json-wallets.test.ts index 2dc6d69840c..3a52746d659 100644 --- a/apps/docs-snippets/src/guide/wallets/encrypting-and-decrypting-json-wallets.test.ts +++ b/apps/docs-snippets/src/guide/wallets/encrypting-and-decrypting-json-wallets.test.ts @@ -1,5 +1,8 @@ import { FUEL_NETWORK_URL, Provider, Wallet } from 'fuels'; +/** + * @group node + */ describe(__filename, () => { it('should successfully encrypt wallet', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); diff --git a/apps/docs-snippets/tsdoc.json b/apps/docs-snippets/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/apps/docs-snippets/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/apps/docs/.vitepress/config.ts b/apps/docs/.vitepress/config.ts index 5d7a77fd4f6..e1e59802abe 100644 --- a/apps/docs/.vitepress/config.ts +++ b/apps/docs/.vitepress/config.ts @@ -390,8 +390,8 @@ export default defineConfig({ collapsed: true, items: [ { - text: 'Testing with Jest', - link: '/guide/testing/testing-with-jest', + text: 'Testing in TS', + link: '/guide/testing/testing-in-ts', }, { text: 'Setting Up a Custom Chain', diff --git a/apps/docs/src/guide/testing/index.md b/apps/docs/src/guide/testing/index.md index 06e11978025..d0e7a69657f 100644 --- a/apps/docs/src/guide/testing/index.md +++ b/apps/docs/src/guide/testing/index.md @@ -14,7 +14,7 @@ In order to test your Sway and TS-SDK applications, you can test your code in a ### Testing with TS-SDK -To test your Sway applications using the TS-SDK, you can pick whatever testing library or framework you feel comfortable with. There isn't any specific testing framework needed, it is entirely up to the user. That being said, the TS-SDK uses [Jest](https://jestjs.io/) for its tests. +To test your Sway applications using the TS-SDK, you can pick whatever testing library or framework you feel comfortable with. There isn't any specific testing framework needed, it is entirely up to the user. That being said, the TS-SDK uses [`Vitest`](https://vitest.dev/) for its tests. ### Wallet Test Utilities @@ -40,4 +40,4 @@ stop(); See also: 1. [Setting up test wallets](../wallets/test-wallets.md) -2. [Testing with Jest](./testing-with-jest.md) +2. [Testing in TS](./testing-in-ts.md) diff --git a/apps/docs/src/guide/testing/testing-in-ts.md b/apps/docs/src/guide/testing/testing-in-ts.md new file mode 100644 index 00000000000..fa8eec5a01f --- /dev/null +++ b/apps/docs/src/guide/testing/testing-in-ts.md @@ -0,0 +1,13 @@ +# Testing in TS + +As noted in [the testing intro](./index.md), you are free to test your Sway and TS-SDK code with any JS framework available. Below we have an example of how to load and test a contract using `Vitest`, but the general principles and steps are the same for any testing harness. + +Here is a simple Sway program that takes an input and then returns it: + +<<< @/../../demo-typegen/contract/src/main.sw#Testing-in-ts-rust{rust:line-numbers} + +Here is JavaScript code testing the above program using a conventional `Vitest` setup: + +<<< @/../../demo-typegen/src/demo.test.ts#Testing-in-ts-ts{ts:line-numbers} + +> **Note:** The TS-SDK has recently migrated to `Vitest` however it follows a very similar API to Jest, and the above example applies to Jest also. \ No newline at end of file diff --git a/apps/docs/src/guide/testing/testing-with-jest.md b/apps/docs/src/guide/testing/testing-with-jest.md deleted file mode 100644 index 9f7b536a2d0..00000000000 --- a/apps/docs/src/guide/testing/testing-with-jest.md +++ /dev/null @@ -1,11 +0,0 @@ -# Testing with Jest - -As noted in [the testing intro](./index.md), you are free to test your Sway and TS-SDK code with any JS framework available. Below we have an example of how to load and test a contract using Jest, but the general principles and steps are the same for any testing harness. - -Here is a simple Sway program that takes an input and then returns it: - -<<< @/../../demo-typegen/contract/src/main.sw#Testing-with-jest-rust{rust:line-numbers} - -Here is JavaScript code testing the above program using a conventional Jest setup: - -<<< @/../../demo-typegen/src/demo.test.ts#Testing-with-jest-ts{ts:line-numbers} diff --git a/internal/check-tests/README.md b/internal/check-tests/README.md new file mode 100644 index 00000000000..8b4c4eedc0e --- /dev/null +++ b/internal/check-tests/README.md @@ -0,0 +1,5 @@ +This package validates our environment testing setup. + +It ensures that environment specific functionalities should be supported by the SDK. + +If one of these tests fails, it may indicate that an environment is configured incorrectly. diff --git a/internal/check-tests/package.json b/internal/check-tests/package.json new file mode 100644 index 00000000000..40bbfeed323 --- /dev/null +++ b/internal/check-tests/package.json @@ -0,0 +1,12 @@ +{ + "private": true, + "name": "@internal/check-tests", + "files": [ + "dist" + ], + "scripts": { + "build": "tsc --noEmit" + }, + "license": "Apache-2.0", + "version": null +} diff --git a/internal/check-tests/src/all.test.ts b/internal/check-tests/src/all.test.ts new file mode 100644 index 00000000000..b3b824a4e04 --- /dev/null +++ b/internal/check-tests/src/all.test.ts @@ -0,0 +1,10 @@ +import { testAll } from './index'; + +/** + * @group node + */ +describe('in:everywhere', () => { + it('should work everywhere', () => { + expect(testAll()).toEqual('thank you'); + }); +}); diff --git a/internal/check-tests/src/index.ts b/internal/check-tests/src/index.ts new file mode 100644 index 00000000000..6dbd7b308d0 --- /dev/null +++ b/internal/check-tests/src/index.ts @@ -0,0 +1,16 @@ +const isNode = + typeof process !== 'undefined' && process.versions != null && process.versions.node != null; + +export const testEach = (): string => { + let env: string; + + if (isNode) { + env = 'node'; + } else { + throw new Error('Oops, invalid test environment detected'); + } + + return env; +}; + +export const testAll = (): string => 'thank you'; diff --git a/internal/check-tests/src/node.test.ts b/internal/check-tests/src/node.test.ts new file mode 100644 index 00000000000..e62c3ba7031 --- /dev/null +++ b/internal/check-tests/src/node.test.ts @@ -0,0 +1,10 @@ +import { testEach } from './index'; + +/** + * @group node + */ +describe('in:node', () => { + it('should work on node', () => { + expect(testEach()).toEqual('node'); + }); +}); diff --git a/internal/check-tests/tsconfig.json b/internal/check-tests/tsconfig.json new file mode 100644 index 00000000000..b0fced27d72 --- /dev/null +++ b/internal/check-tests/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src"] +} diff --git a/internal/check-tests/tsdoc.json b/internal/check-tests/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/internal/check-tests/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index c202af65e18..00000000000 --- a/jest.config.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { Config } from '@jest/types'; - -const config: Config.InitialOptions = { - preset: 'ts-jest', - testEnvironment: 'node', - setupFiles: ['./jest.env.ts'], - testPathIgnorePatterns: ['/node_modules/', '/dist/'], - modulePathIgnorePatterns: [ - '/dist/', - '/apps/demo-nextjs', - '/apps/demo-react-cra', - '/dist/demo-react-vite', - ], - coveragePathIgnorePatterns: [ - '/dist/', - '/test/', - '.test.ts', - '.d.ts', - '/fuel-gauge/', - '/apps/demo-*', - ], - testTimeout: 15000, - transform: { - '\\.hbs$': 'jest-text-transformer', - }, -}; - -export default config; diff --git a/package.json b/package.json index 3e98e9b5839..f2334584cb4 100644 --- a/package.json +++ b/package.json @@ -13,11 +13,15 @@ "dev": "nodemon --config nodemon.config.json -x 'pnpm build:packages'", "build": "turbo run build", "build:packages": "turbo run build --filter=!docs", - "ci:test": "./scripts/ci-test.sh", + "ci:test": "./scripts/tests-ci.sh", "pretest": "turbo run pretest", - "test": "jest --no-cache --runInBand --coverage", - "test:e2e": "jest --no-cache --runInBand packages/fuel-gauge/src/e2e-script.test.ts", - "test:watch": "jest --no-cache --watchAll", + "test": "vitest --run --coverage --config vite.node.config.mts $(scripts/tests-find.sh --node)", + "test:filter": "vitest --run --coverage --config vite.node.config.mts", + "test:coverage-merge": "tsx ./scripts/tests-coverage-merge.ts", + "test:coverage-diff": "tsx ./scripts/tests-coverage-diff.ts", + "test:watch": "vitest --watch --config vite.node.config.mts $(scripts/tests-find.sh --node)", + "test:validate": "./scripts/tests-validate.sh", + "test:e2e": "vitest --run --config vite.node.config.mts $(scripts/tests-find.sh --e2e)", "lint": "run-s lint:check prettier:check", "lint:check": "eslint . --ext .ts", "lint:fix": "pnpm lint:check --fix", @@ -51,15 +55,16 @@ "@fuel-ts/fuel-core": "workspace:*", "@fuel-ts/versions": "workspace:^", "@internal/tsup": "workspace:*", - "@jest/types": "^29.5.0", - "@types/jest": "^29.5.0", + "@istanbuljs/nyc-config-typescript": "^1.0.2", "@types/node": "18.15.3", "@types/node-fetch": "^2.6.2", "@types/web": "^0.0.65", "@typescript-eslint/eslint-plugin": "^6.9.0", "@typescript-eslint/parser": "^6.9.0", + "@vitest/coverage-istanbul": "^1.1.0", "compare-versions": "^6.1.0", "conventional-changelog-angular": "^5.0.13", + "coverage-diff": "^3.2.0", "dotenv": "^9.0.2", "eslint": "^8.52.0", "eslint-config-airbnb-base": "^15.0.0", @@ -75,20 +80,27 @@ "eslint-plugin-tsdoc": "^0.2.17", "ethers": "^6.7.1", "glob": "^10.2.6", - "jest": "^29.7.0", - "jest-text-transformer": "^1.0.4", "nodemon": "^2.0.22", "npm-run-all": "^4.1.5", + "nyc": "^15.1.0", "open": "^8.4.0", "prettier": "^3.0.3", "rimraf": "^3.0.2", "textlint": "^13.3.2", "textlint-rule-no-dead-link": "^5.1.2", "ts-generator": "^0.1.1", - "ts-jest": "^29.1.1", "tsup": "^6.7.0", "tsx": "^4.7.0", "turbo": "^1.8.8", - "typescript": "~5.2.2" + "typescript": "~5.2.2", + "vite": "^5.0.8", + "vite-plugin-node-polyfills": "^0.17.0", + "vite-plugin-plain-text": "^1.4.2", + "vitest": "^1.0.4" + }, + "pnpm": { + "overrides": { + "cross-fetch": "4.0.0" + } } } diff --git a/packages/abi-coder/src/coders/array.test.ts b/packages/abi-coder/src/coders/array.test.ts index 64b93ead7b7..cfd175ce197 100644 --- a/packages/abi-coder/src/coders/array.test.ts +++ b/packages/abi-coder/src/coders/array.test.ts @@ -9,6 +9,9 @@ import { BooleanCoder } from './boolean'; import { EnumCoder } from './enum'; import { NumberCoder } from './number'; +/** + * @group node + */ describe('ArrayCoder', () => { const sbOptions: SmallBytesOptions = { isSmallBytes: true, diff --git a/packages/abi-coder/src/coders/b256.test.ts b/packages/abi-coder/src/coders/b256.test.ts index 14942b654e2..2cbb3673877 100644 --- a/packages/abi-coder/src/coders/b256.test.ts +++ b/packages/abi-coder/src/coders/b256.test.ts @@ -1,5 +1,8 @@ import { B256Coder } from './b256'; +/** + * @group node + */ describe('B256Coder', () => { const B256_DECODED = '0xd5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b'; const B256_ENCODED = new Uint8Array([ diff --git a/packages/abi-coder/src/coders/b512.test.ts b/packages/abi-coder/src/coders/b512.test.ts index a83cc3d799b..683db371d19 100644 --- a/packages/abi-coder/src/coders/b512.test.ts +++ b/packages/abi-coder/src/coders/b512.test.ts @@ -1,5 +1,8 @@ import { B512Coder } from './b512'; +/** + * @group node + */ describe('B512Coder', () => { const B512_DECODED = '0x8e9dda6f7793745ac5aacf9e907cae30b2a01fdf0d23b7750a85c6a44fca0c29f0906f9d1f1e92e6a1fb3c3dcef3cc3b3cdbaae27e47b9d9a4c6a4fce4cf16b2'; diff --git a/packages/abi-coder/src/coders/boolean.test.ts b/packages/abi-coder/src/coders/boolean.test.ts index cbe6234181f..3ac4ee99694 100644 --- a/packages/abi-coder/src/coders/boolean.test.ts +++ b/packages/abi-coder/src/coders/boolean.test.ts @@ -3,11 +3,17 @@ import { expectToThrowFuelError } from '@fuel-ts/errors/test-utils'; import { BooleanCoder } from './boolean'; -jest.mock('@fuel-ts/math', () => ({ - __esModule: true, - ...jest.requireActual('@fuel-ts/math'), -})); +vi.mock('@fuel-ts/math', async () => { + const mod = await vi.importActual('@fuel-ts/math'); + return { + __esModule: true, + ...mod, + }; +}); +/** + * @group node + */ describe('BooleanCoder', () => { const TRUE_DECODED = true; const TRUE_ENCODED = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1]); diff --git a/packages/abi-coder/src/coders/byte.test.ts b/packages/abi-coder/src/coders/byte.test.ts index 7891d84792a..586c568fdc4 100644 --- a/packages/abi-coder/src/coders/byte.test.ts +++ b/packages/abi-coder/src/coders/byte.test.ts @@ -5,6 +5,9 @@ import type { Uint8ArrayWithDynamicData } from '../utilities'; import { ByteCoder } from './byte'; +/** + * @group node + */ describe('ByteCoder', () => { it('should encode a byte', () => { const coder = new ByteCoder(); diff --git a/packages/abi-coder/src/coders/enum.test.ts b/packages/abi-coder/src/coders/enum.test.ts index 476a9257b73..b9d4114fe88 100644 --- a/packages/abi-coder/src/coders/enum.test.ts +++ b/packages/abi-coder/src/coders/enum.test.ts @@ -7,6 +7,9 @@ import { BooleanCoder } from './boolean'; import { EnumCoder } from './enum'; import { U64Coder } from './u64'; +/** + * @group node + */ describe('EnumCoder', () => { const coder = new EnumCoder('TestEnum', { a: new BooleanCoder(), b: new U64Coder() }); diff --git a/packages/abi-coder/src/coders/number.test.ts b/packages/abi-coder/src/coders/number.test.ts index 4b1c4cda22e..918ff57bc35 100644 --- a/packages/abi-coder/src/coders/number.test.ts +++ b/packages/abi-coder/src/coders/number.test.ts @@ -5,6 +5,9 @@ import { U8_MAX, U16_MAX, U32_MAX } from '../../test/utils/constants'; import { NumberCoder } from './number'; +/** + * @group node + */ describe('NumberCoder', () => { it('should encode min u8 number as a u8 coder', () => { const coder = new NumberCoder('u8'); diff --git a/packages/abi-coder/src/coders/option.test.ts b/packages/abi-coder/src/coders/option.test.ts index 09d11df8657..889207b319d 100644 --- a/packages/abi-coder/src/coders/option.test.ts +++ b/packages/abi-coder/src/coders/option.test.ts @@ -6,6 +6,9 @@ import { U8_MAX } from '../../test/utils/constants'; import { OptionCoder } from './option'; import { U64Coder } from './u64'; +/** + * @group node + */ describe('OptionCoder', () => { it('should encode a some u64 option ', () => { const coder = new OptionCoder('test option', { Some: new U64Coder() }); diff --git a/packages/abi-coder/src/coders/raw-slice.test.ts b/packages/abi-coder/src/coders/raw-slice.test.ts index a30d821fed3..e89192dfcc5 100644 --- a/packages/abi-coder/src/coders/raw-slice.test.ts +++ b/packages/abi-coder/src/coders/raw-slice.test.ts @@ -6,6 +6,9 @@ import type { Uint8ArrayWithDynamicData } from '../utilities'; import { RawSliceCoder } from './raw-slice'; +/** + * @group node + */ describe('RawSliceCoder', () => { it('should encode a raw-slice', () => { const coder = new RawSliceCoder(); diff --git a/packages/abi-coder/src/coders/stdString.test.ts b/packages/abi-coder/src/coders/stdString.test.ts index 6c7a039cdfe..36d3dc91978 100644 --- a/packages/abi-coder/src/coders/stdString.test.ts +++ b/packages/abi-coder/src/coders/stdString.test.ts @@ -2,6 +2,9 @@ import type { Uint8ArrayWithDynamicData } from '../utilities'; import { StdStringCoder } from './stdString'; +/** + * @group node + */ describe('StdStringCoder', () => { it('should encode an empty string', () => { const coder = new StdStringCoder(); diff --git a/packages/abi-coder/src/coders/string.test.ts b/packages/abi-coder/src/coders/string.test.ts index c84237946dd..3d7f180b14c 100644 --- a/packages/abi-coder/src/coders/string.test.ts +++ b/packages/abi-coder/src/coders/string.test.ts @@ -2,6 +2,9 @@ import { U8_MAX } from '../../test/utils/constants'; import { StringCoder } from './string'; +/** + * @group node + */ describe('StringCoder', () => { const STRING_MIN_DECODED = ''; const STRING_MIN_ENCODED = new Uint8Array(); diff --git a/packages/abi-coder/src/coders/struct.test.ts b/packages/abi-coder/src/coders/struct.test.ts index 4cf9d4b3ff8..5b55a2d2926 100644 --- a/packages/abi-coder/src/coders/struct.test.ts +++ b/packages/abi-coder/src/coders/struct.test.ts @@ -7,6 +7,9 @@ import { BooleanCoder } from './boolean'; import { StructCoder } from './struct'; import { U64Coder } from './u64'; +/** + * @group node + */ describe('StructCoder', () => { const STRUCT_NAME = 'TestStruct'; const coder = new StructCoder(STRUCT_NAME, { a: new BooleanCoder(), b: new U64Coder() }); diff --git a/packages/abi-coder/src/coders/tuple.test.ts b/packages/abi-coder/src/coders/tuple.test.ts index d54934c197b..0aafb5669cb 100644 --- a/packages/abi-coder/src/coders/tuple.test.ts +++ b/packages/abi-coder/src/coders/tuple.test.ts @@ -7,6 +7,9 @@ import { BooleanCoder } from './boolean'; import { TupleCoder } from './tuple'; import { U64Coder } from './u64'; +/** + * @group node + */ describe('Tuple Coder', () => { const coder = new TupleCoder<[BooleanCoder, U64Coder]>([new BooleanCoder(), new U64Coder()]); diff --git a/packages/abi-coder/src/coders/u64.test.ts b/packages/abi-coder/src/coders/u64.test.ts index b4307fe0521..422115bf4a3 100644 --- a/packages/abi-coder/src/coders/u64.test.ts +++ b/packages/abi-coder/src/coders/u64.test.ts @@ -4,6 +4,9 @@ import { U8_MAX, U16_MAX, U32_MAX, U64_MAX } from '../../test/utils/constants'; import { U64Coder } from './u64'; +/** + * @group node + */ describe('U64Coder', () => { const coder = new U64Coder(); diff --git a/packages/abi-coder/src/coders/vec.test.ts b/packages/abi-coder/src/coders/vec.test.ts index f9e0b73af45..df8c69e5721 100644 --- a/packages/abi-coder/src/coders/vec.test.ts +++ b/packages/abi-coder/src/coders/vec.test.ts @@ -8,6 +8,9 @@ import { BooleanCoder } from './boolean'; import { NumberCoder } from './number'; import { VecCoder } from './vec'; +/** + * @group node + */ describe('VecCoder', () => { const sbOptions: SmallBytesOptions = { isSmallBytes: true, diff --git a/packages/abi-coder/src/utilities.test.ts b/packages/abi-coder/src/utilities.test.ts index 1eb978f2566..c399459d6d0 100644 --- a/packages/abi-coder/src/utilities.test.ts +++ b/packages/abi-coder/src/utilities.test.ts @@ -3,6 +3,9 @@ import { concat } from '@fuel-ts/utils'; import type { Uint8ArrayWithDynamicData } from './utilities'; import { unpackDynamicData, concatWithDynamicData } from './utilities'; +/** + * @group node + */ describe('Abi Coder Utilities', () => { it('can concatWithVectorData [no dynamicData, should match original concat]', () => { const data1 = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 24]); diff --git a/packages/abi-coder/test/interface.test.ts b/packages/abi-coder/test/interface.test.ts index e8933804c39..207ab3a9144 100644 --- a/packages/abi-coder/test/interface.test.ts +++ b/packages/abi-coder/test/interface.test.ts @@ -49,6 +49,9 @@ function encodeVectorFully( const exhaustiveExamplesInterface = new Interface(exhaustiveExamplesAbi); +/** + * @group node + */ describe('Abi interface', () => { it('can retrieve a function fragment', () => { const fn = exhaustiveExamplesInterface.functions.entry_one; diff --git a/packages/abi-coder/tsdoc.json b/packages/abi-coder/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/abi-coder/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/abi-typegen/src/AbiTypeGen.test.ts b/packages/abi-typegen/src/AbiTypeGen.test.ts index 5581d49833a..bf42604796b 100644 --- a/packages/abi-typegen/src/AbiTypeGen.test.ts +++ b/packages/abi-typegen/src/AbiTypeGen.test.ts @@ -7,18 +7,23 @@ import * as assembleContractsMod from './utils/assembleContracts'; import * as assemblePredicatesMod from './utils/assemblePredicates'; import * as assembleScriptsMod from './utils/assembleScripts'; +/** + * @group node + */ describe('AbiTypegen.ts', () => { // Use as e sample of HORRIBLE auto-code-formatting function mockAllDeps() { - const assembleContracts = jest + const assembleContracts = vi .spyOn(assembleContractsMod, 'assembleContracts') - .mockImplementation(); + .mockImplementation(() => []); - const assembleScripts = jest.spyOn(assembleScriptsMod, 'assembleScripts').mockImplementation(); + const assembleScripts = vi + .spyOn(assembleScriptsMod, 'assembleScripts') + .mockImplementation(() => []); - const assemblePredicates = jest + const assemblePredicates = vi .spyOn(assemblePredicatesMod, 'assemblePredicates') - .mockImplementation(); + .mockImplementation(() => []); return { assembleContracts, @@ -27,8 +32,13 @@ describe('AbiTypegen.ts', () => { }; } - beforeEach(jest.resetAllMocks); - afterEach(jest.resetAllMocks); + beforeEach(() => { + vi.resetAllMocks(); + }); + + afterEach(() => { + vi.resetAllMocks(); + }); test('should create multiple ABI instances for: contracts', () => { const { assembleContracts, assembleScripts, assemblePredicates } = mockAllDeps(); @@ -75,7 +85,7 @@ describe('AbiTypegen.ts', () => { test('should throw for unknown programType', async () => { const { assembleContracts, assembleScripts, assemblePredicates } = mockAllDeps(); - const programType = 'nope' as ProgramTypeEnum; // forced cast to cause error + const programType = 'nope' as ProgramTypeEnum; const { error } = await safeExec(() => { getNewAbiTypegen({ programType, includeBinFiles: true }); diff --git a/packages/abi-typegen/src/abi/Abi.test.ts b/packages/abi-typegen/src/abi/Abi.test.ts index 01a50cf80e2..7fc76c5f5e5 100644 --- a/packages/abi-typegen/src/abi/Abi.test.ts +++ b/packages/abi-typegen/src/abi/Abi.test.ts @@ -15,18 +15,21 @@ import { EnumType } from './types/EnumType'; import { OptionType } from './types/OptionType'; import { VectorType } from './types/VectorType'; +/** + * @group node + */ describe('Abi.ts', () => { /* Test helpers */ function mockAllDeps() { - const parseTypes = jest.spyOn(parseTypesMod, 'parseTypes').mockImplementation(() => []); + const parseTypes = vi.spyOn(parseTypesMod, 'parseTypes').mockImplementation(() => []); - const parseFunctions = jest + const parseFunctions = vi .spyOn(parseFunctionsMod, 'parseFunctions') .mockImplementation(() => []); - const parseConfigurables = jest + const parseConfigurables = vi .spyOn(parseConfigurablesMod, 'parseConfigurables') .mockImplementation(() => []); diff --git a/packages/abi-typegen/src/abi/configurable/Configurable.test.ts b/packages/abi-typegen/src/abi/configurable/Configurable.test.ts index 515e7cbe6ca..3122d5263f8 100644 --- a/packages/abi-typegen/src/abi/configurable/Configurable.test.ts +++ b/packages/abi-typegen/src/abi/configurable/Configurable.test.ts @@ -8,6 +8,9 @@ import * as findTypeMod from '../../utils/findType'; import { Configurable } from './Configurable'; +/** + * @group node + */ describe('Configurable.ts', () => { function mockAllDeps() { const rawAbiType: IRawAbiTypeRoot = { @@ -25,10 +28,12 @@ describe('Configurable.ts', () => { }, rawAbiType, requiredFuelsMembersImports: [], - parseComponentsAttributes: jest.fn(), + parseComponentsAttributes: vi.fn(), }; - const findType = jest.spyOn(findTypeMod, 'findType').mockReturnValue(type); + const findType = vi + .spyOn(findTypeMod, 'findType') + .mockImplementation(vi.fn().mockReturnValue(type)); return { type, diff --git a/packages/abi-typegen/src/abi/functions/Function.test.ts b/packages/abi-typegen/src/abi/functions/Function.test.ts index ccb4a45002a..8eaabb796c3 100644 --- a/packages/abi-typegen/src/abi/functions/Function.test.ts +++ b/packages/abi-typegen/src/abi/functions/Function.test.ts @@ -6,6 +6,9 @@ import { parseTypes } from '../../utils/parseTypes'; import { Function } from './Function'; +/** + * @group node + */ describe('Function.ts', () => { /* Method: `getDeclaration` diff --git a/packages/abi-typegen/src/abi/types/ArrayType.test.ts b/packages/abi-typegen/src/abi/types/ArrayType.test.ts index f5b5ddf9742..aac57706da5 100644 --- a/packages/abi-typegen/src/abi/types/ArrayType.test.ts +++ b/packages/abi-typegen/src/abi/types/ArrayType.test.ts @@ -10,8 +10,13 @@ import * as parseTypeArgumentsMod from '../../utils/parseTypeArguments'; import { ArrayType } from './ArrayType'; import { TupleType } from './TupleType'; +/** + * @group node + */ describe('ArrayType.ts', () => { - beforeEach(jest.restoreAllMocks); + beforeEach(() => { + vi.restoreAllMocks(); + }); test('should properly evaluate type suitability', () => { const suitableForTuple = ArrayType.isSuitableFor({ type: TupleType.swayType }); @@ -22,7 +27,7 @@ describe('ArrayType.ts', () => { }); test('should properly parse type attributes: simple', () => { - const parseTypeArguments = jest.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); + const parseTypeArguments = vi.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); const project = getTypegenForcProject(AbiTypegenProjectsEnum.STRUCT_WITH_ARRAY); @@ -40,7 +45,7 @@ describe('ArrayType.ts', () => { }); test('should properly parse type attributes: nested', () => { - const parseTypeArguments = jest.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); + const parseTypeArguments = vi.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); const project = getTypegenForcProject(AbiTypegenProjectsEnum.ARRAY_WITH_GENERICS); diff --git a/packages/abi-typegen/src/abi/types/AssetIdType.test.ts b/packages/abi-typegen/src/abi/types/AssetIdType.test.ts index cbfe43ac48b..e4dcf999dbb 100644 --- a/packages/abi-typegen/src/abi/types/AssetIdType.test.ts +++ b/packages/abi-typegen/src/abi/types/AssetIdType.test.ts @@ -1,6 +1,9 @@ import { AssetIdType } from './AssetIdType'; import { BoolType } from './BoolType'; +/** + * @group node + */ describe('AssetIdType.ts', () => { test('should properly parse type attributes', () => { const b512 = new AssetIdType({ diff --git a/packages/abi-typegen/src/abi/types/B256Type.test.ts b/packages/abi-typegen/src/abi/types/B256Type.test.ts index bcd502bb1e3..904d57ffb16 100644 --- a/packages/abi-typegen/src/abi/types/B256Type.test.ts +++ b/packages/abi-typegen/src/abi/types/B256Type.test.ts @@ -1,6 +1,9 @@ import { B256Type } from './B256Type'; import { BoolType } from './BoolType'; +/** + * @group node + */ describe('B256Type.ts', () => { test('should properly parse type attributes', () => { const b256 = new B256Type({ diff --git a/packages/abi-typegen/src/abi/types/B512Type.test.ts b/packages/abi-typegen/src/abi/types/B512Type.test.ts index fbf2cb8c8bc..65be8cda76f 100644 --- a/packages/abi-typegen/src/abi/types/B512Type.test.ts +++ b/packages/abi-typegen/src/abi/types/B512Type.test.ts @@ -1,6 +1,9 @@ import { B512Type } from './B512Type'; import { BoolType } from './BoolType'; +/** + * @group node + */ describe('B512Type.ts', () => { test('should properly parse type attributes', () => { const b512 = new B512Type({ diff --git a/packages/abi-typegen/src/abi/types/BoolType.test.ts b/packages/abi-typegen/src/abi/types/BoolType.test.ts index 19d13cbba50..203f4ff2031 100644 --- a/packages/abi-typegen/src/abi/types/BoolType.test.ts +++ b/packages/abi-typegen/src/abi/types/BoolType.test.ts @@ -1,6 +1,9 @@ import { BoolType } from './BoolType'; import { U16Type } from './U16Type'; +/** + * @group node + */ describe('BoolType.ts', () => { test('should properly parse type attributes', () => { const bool = new BoolType({ diff --git a/packages/abi-typegen/src/abi/types/BytesType.test.ts b/packages/abi-typegen/src/abi/types/BytesType.test.ts index 7d081332d1a..44ace6cc41a 100644 --- a/packages/abi-typegen/src/abi/types/BytesType.test.ts +++ b/packages/abi-typegen/src/abi/types/BytesType.test.ts @@ -1,6 +1,9 @@ import { BytesType } from './BytesType'; import { StructType } from './StructType'; +/** + * @group node + */ describe('BytesType.ts', () => { test('should properly parse type attributes', () => { const bytes = new BytesType({ diff --git a/packages/abi-typegen/src/abi/types/EnumType.test.ts b/packages/abi-typegen/src/abi/types/EnumType.test.ts index ef143ffb4c4..bbe407502b8 100644 --- a/packages/abi-typegen/src/abi/types/EnumType.test.ts +++ b/packages/abi-typegen/src/abi/types/EnumType.test.ts @@ -11,6 +11,9 @@ import type { EnumType } from './EnumType'; import { StructType } from './StructType'; import { U16Type } from './U16Type'; +/** + * @group node + */ describe('EnumType.ts', () => { /* Test helpers diff --git a/packages/abi-typegen/src/abi/types/EvmAddressType.test.ts b/packages/abi-typegen/src/abi/types/EvmAddressType.test.ts index acba25c5908..a3345fc121c 100644 --- a/packages/abi-typegen/src/abi/types/EvmAddressType.test.ts +++ b/packages/abi-typegen/src/abi/types/EvmAddressType.test.ts @@ -11,9 +11,12 @@ import { EvmAddressType } from './EvmAddressType'; import { StructType } from './StructType'; import { VectorType } from './VectorType'; +/** + * @group node + */ describe('EvmAddressType.ts', () => { test('should properly parse type attributes', () => { - const parseTypeArguments = jest.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); + const parseTypeArguments = vi.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); const project = getTypegenForcProject(AbiTypegenProjectsEnum.EVM_ADDRESS); diff --git a/packages/abi-typegen/src/abi/types/GenericType.test.ts b/packages/abi-typegen/src/abi/types/GenericType.test.ts index 9dadff39f9e..be4d6c1b3bb 100644 --- a/packages/abi-typegen/src/abi/types/GenericType.test.ts +++ b/packages/abi-typegen/src/abi/types/GenericType.test.ts @@ -1,6 +1,9 @@ import { GenericType } from './GenericType'; import { StructType } from './StructType'; +/** + * @group node + */ describe('GenericType.ts', () => { test('should properly parse type attributes', () => { const generic = new GenericType({ diff --git a/packages/abi-typegen/src/abi/types/OptionType.test.ts b/packages/abi-typegen/src/abi/types/OptionType.test.ts index 231e5c20009..2e8d80f7b3c 100644 --- a/packages/abi-typegen/src/abi/types/OptionType.test.ts +++ b/packages/abi-typegen/src/abi/types/OptionType.test.ts @@ -9,6 +9,9 @@ import { makeType } from '../../utils/makeType'; import { EnumType } from './EnumType'; import { OptionType } from './OptionType'; +/** + * @group node + */ describe('OptionType.ts', () => { /* Test helpers diff --git a/packages/abi-typegen/src/abi/types/RawUntypedPtr.test.ts b/packages/abi-typegen/src/abi/types/RawUntypedPtr.test.ts index 544165c3888..21f34af07b2 100644 --- a/packages/abi-typegen/src/abi/types/RawUntypedPtr.test.ts +++ b/packages/abi-typegen/src/abi/types/RawUntypedPtr.test.ts @@ -1,6 +1,9 @@ import { RawUntypedPtr } from './RawUntypedPtr'; import { U8Type } from './U8Type'; +/** + * @group node + */ describe('RawUntypedPtrType.ts', () => { test('should properly parse type attributes', () => { const rawUntypedPtr = new RawUntypedPtr({ diff --git a/packages/abi-typegen/src/abi/types/RawUntypedSlice.test.ts b/packages/abi-typegen/src/abi/types/RawUntypedSlice.test.ts index dff7d7121cf..a300099c7da 100644 --- a/packages/abi-typegen/src/abi/types/RawUntypedSlice.test.ts +++ b/packages/abi-typegen/src/abi/types/RawUntypedSlice.test.ts @@ -1,6 +1,9 @@ import { RawUntypedSlice } from './RawUntypedSlice'; import { StructType } from './StructType'; +/** + * @group node + */ describe('RawUntypedSlice.ts', () => { test('should properly parse type attributes', () => { const rawSlice = new RawUntypedSlice({ diff --git a/packages/abi-typegen/src/abi/types/StdStringType.test.ts b/packages/abi-typegen/src/abi/types/StdStringType.test.ts index 8d87fc6974e..46624dc9d14 100644 --- a/packages/abi-typegen/src/abi/types/StdStringType.test.ts +++ b/packages/abi-typegen/src/abi/types/StdStringType.test.ts @@ -1,6 +1,9 @@ import { StdStringType } from './StdStringType'; import { StructType } from './StructType'; +/** + * @group node + */ describe('StdStringType.ts', () => { test('should properly parse type attributes', () => { const stdString = new StdStringType({ diff --git a/packages/abi-typegen/src/abi/types/StrSlicesType.test.ts b/packages/abi-typegen/src/abi/types/StrSlicesType.test.ts index 285c42afe5c..ac9242642ab 100644 --- a/packages/abi-typegen/src/abi/types/StrSlicesType.test.ts +++ b/packages/abi-typegen/src/abi/types/StrSlicesType.test.ts @@ -3,6 +3,9 @@ import { StdStringType } from './StdStringType'; import { StrSliceType } from './StrSliceType'; import { StrType } from './StrType'; +/** + * @group node + */ describe('StrSlicesType.ts', () => { test('should properly parse type attributes', () => { const strSlices = new StrSliceType({ diff --git a/packages/abi-typegen/src/abi/types/StrType.test.ts b/packages/abi-typegen/src/abi/types/StrType.test.ts index 6da95512f22..ff141931005 100644 --- a/packages/abi-typegen/src/abi/types/StrType.test.ts +++ b/packages/abi-typegen/src/abi/types/StrType.test.ts @@ -1,6 +1,9 @@ import { BoolType } from './BoolType'; import { StrType } from './StrType'; +/** + * @group node + */ describe('StrType.ts', () => { test('should properly parse type attributes', () => { const str = new StrType({ diff --git a/packages/abi-typegen/src/abi/types/StructType.test.ts b/packages/abi-typegen/src/abi/types/StructType.test.ts index 7f275ecacaf..05237215cda 100644 --- a/packages/abi-typegen/src/abi/types/StructType.test.ts +++ b/packages/abi-typegen/src/abi/types/StructType.test.ts @@ -14,9 +14,12 @@ import { StdStringType } from './StdStringType'; import { StructType } from './StructType'; import { U16Type } from './U16Type'; +/** + * @group node + */ describe('StructType.ts', () => { test('should properly parse type attributes', () => { - const parseTypeArguments = jest.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); + const parseTypeArguments = vi.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); const project = getTypegenForcProject(AbiTypegenProjectsEnum.STRUCT_SIMPLE); diff --git a/packages/abi-typegen/src/abi/types/TupleType.test.ts b/packages/abi-typegen/src/abi/types/TupleType.test.ts index ec43dbe5f18..51b8eded04d 100644 --- a/packages/abi-typegen/src/abi/types/TupleType.test.ts +++ b/packages/abi-typegen/src/abi/types/TupleType.test.ts @@ -10,9 +10,12 @@ import * as parseTypeArgumentsMod from '../../utils/parseTypeArguments'; import { ArrayType } from './ArrayType'; import { TupleType } from './TupleType'; +/** + * @group node + */ describe('TupleType.ts', () => { test('should properly parse type attributes', () => { - const parseTypeArguments = jest.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); + const parseTypeArguments = vi.spyOn(parseTypeArgumentsMod, 'parseTypeArguments'); const project = getTypegenForcProject(AbiTypegenProjectsEnum.TUPLE_SIMPLE); const rawTypes = project.abiContents.types; diff --git a/packages/abi-typegen/src/abi/types/U16Type.test.ts b/packages/abi-typegen/src/abi/types/U16Type.test.ts index b9c59d8590e..4ef9f20688d 100644 --- a/packages/abi-typegen/src/abi/types/U16Type.test.ts +++ b/packages/abi-typegen/src/abi/types/U16Type.test.ts @@ -1,6 +1,9 @@ import { U16Type } from './U16Type'; import { U32Type } from './U32Type'; +/** + * @group node + */ describe('U16Type.ts', () => { test('should properly parse type attributes', () => { const u16 = new U16Type({ diff --git a/packages/abi-typegen/src/abi/types/U32Type.test.ts b/packages/abi-typegen/src/abi/types/U32Type.test.ts index 8020f02b2fa..2d442c3ee4d 100644 --- a/packages/abi-typegen/src/abi/types/U32Type.test.ts +++ b/packages/abi-typegen/src/abi/types/U32Type.test.ts @@ -1,6 +1,9 @@ import { U32Type } from './U32Type'; import { U64Type } from './U64Type'; +/** + * @group node + */ describe('U32Type.ts', () => { test('should properly parse type attributes', () => { const u32 = new U32Type({ diff --git a/packages/abi-typegen/src/abi/types/U64Type.test.ts b/packages/abi-typegen/src/abi/types/U64Type.test.ts index 05035480327..97c47d08ae3 100644 --- a/packages/abi-typegen/src/abi/types/U64Type.test.ts +++ b/packages/abi-typegen/src/abi/types/U64Type.test.ts @@ -1,6 +1,9 @@ import { U32Type } from './U32Type'; import { U64Type } from './U64Type'; +/** + * @group node + */ describe('U64Type.ts', () => { test('should properly parse type attributes', () => { const u64 = new U64Type({ diff --git a/packages/abi-typegen/src/abi/types/U8Type.test.ts b/packages/abi-typegen/src/abi/types/U8Type.test.ts index bd31eacbb64..87b9828c714 100644 --- a/packages/abi-typegen/src/abi/types/U8Type.test.ts +++ b/packages/abi-typegen/src/abi/types/U8Type.test.ts @@ -1,6 +1,9 @@ import { U16Type } from './U16Type'; import { U8Type } from './U8Type'; +/** + * @group node + */ describe('U8Type.ts', () => { test('should properly parse type attributes', () => { const u8 = new U8Type({ diff --git a/packages/abi-typegen/src/abi/types/VectorType.test.ts b/packages/abi-typegen/src/abi/types/VectorType.test.ts index fbb97706dce..ca6b22a0edb 100644 --- a/packages/abi-typegen/src/abi/types/VectorType.test.ts +++ b/packages/abi-typegen/src/abi/types/VectorType.test.ts @@ -1,6 +1,9 @@ import { StructType } from './StructType'; import { VectorType } from './VectorType'; +/** + * @group node + */ describe('VectorType.ts', () => { test('should properly parse type attributes', () => { const vector = new VectorType({ diff --git a/packages/abi-typegen/src/cli.test.ts b/packages/abi-typegen/src/cli.test.ts index ef0fe525bb0..683ffafca44 100644 --- a/packages/abi-typegen/src/cli.test.ts +++ b/packages/abi-typegen/src/cli.test.ts @@ -9,21 +9,30 @@ import { run, runCliAction } from './cli'; import * as runTypegenMod from './runTypegen'; import { ProgramTypeEnum } from './types/enums/ProgramTypeEnum'; +/** + * @group node + */ describe('cli.ts', () => { function mockDeps(params?: { runTypegenError: Error }) { - const runTypegen = jest.spyOn(runTypegenMod, 'runTypegen').mockImplementation(() => { + const runTypegen = vi.spyOn(runTypegenMod, 'runTypegen').mockImplementation(() => { if (params?.runTypegenError) { throw params?.runTypegenError; } }); - const exit = jest.spyOn(process, 'exit').mockImplementation(); - const err = jest.spyOn(stderr, 'write').mockImplementation(); + + const exit = vi.spyOn(process, 'exit').mockImplementation(vi.fn()); + const err = vi.spyOn(stderr, 'write').mockResolvedValue(true); return { exit, err, runTypegen }; } - beforeEach(jest.resetAllMocks); - afterEach(jest.restoreAllMocks); + beforeEach(() => { + vi.resetAllMocks(); + }); + + afterEach(() => { + vi.restoreAllMocks(); + }); test('should call runTypegen with proper params: for Contracts', async () => { const { runTypegen } = mockDeps(); diff --git a/packages/abi-typegen/src/index.test.ts b/packages/abi-typegen/src/index.test.ts index 62a9b1d7645..2de17d17b44 100644 --- a/packages/abi-typegen/src/index.test.ts +++ b/packages/abi-typegen/src/index.test.ts @@ -1,5 +1,8 @@ import * as indexMod from './index'; +/** + * @group node + */ describe('index.ts', () => { test('should export AbiTypeGen class', () => { expect(indexMod.AbiTypeGen).toBeTruthy(); diff --git a/packages/abi-typegen/src/runTypegen.test.ts b/packages/abi-typegen/src/runTypegen.test.ts index 1ca5777fa0c..dab049f18e7 100644 --- a/packages/abi-typegen/src/runTypegen.test.ts +++ b/packages/abi-typegen/src/runTypegen.test.ts @@ -12,6 +12,9 @@ import { import { runTypegen } from './runTypegen'; import { ProgramTypeEnum } from './types/enums/ProgramTypeEnum'; +/** + * @group node + */ describe('runTypegen.js', () => { test('should run typegen, using: globals', async () => { const project = getTypegenForcProject(AbiTypegenProjectsEnum.FULL); @@ -157,7 +160,7 @@ describe('runTypegen.js', () => { }); test('should log messages to stdout', async () => { - const stdoutWrite = jest.spyOn(process.stdout, 'write').mockImplementation(); + const stdoutWrite = vi.spyOn(process.stdout, 'write').mockResolvedValue(true); // setup temp sway project const project = getTypegenForcProject(AbiTypegenProjectsEnum.SCRIPT); @@ -252,6 +255,67 @@ describe('runTypegen.js', () => { ); }); + test('should write messages to stdout', async () => { + const project = getTypegenForcProject(AbiTypegenProjectsEnum.FULL); + + // compute filepaths + const cwd = process.cwd(); + const inputs = [project.inputGlobal]; + const output = project.tempDir; + const normalizedName = project.normalizedName; + const programType = ProgramTypeEnum.CONTRACT; + const silent = false; + + // duplicates ABI JSON so we can validate if all inputs + // are being collected (and not only the first one) + const from = project.abiPath; + const to = from.replace('-abi.json', '2-abi.json'); + + // also duplicates BIN file + const fromBin = project.binPath; + const toBin = fromBin.replace('.bin', '2.bin'); + + cpSync(from, to); + cpSync(fromBin, toBin); + + // mocking + const write = vi.spyOn(process.stdout, 'write').mockReturnValue(true); + + // executes program + const fn = () => + runTypegen({ + cwd, + inputs, + output, + programType, + silent, + }); + + const { error } = await safeExec(fn); + + // validates execution was ok + expect(error).toBeFalsy(); + + // check if all files were created + const files = [ + join(output, 'index.ts'), + join(output, 'common.d.ts'), + join(output, `${normalizedName}Abi.d.ts`), + join(output, `${normalizedName}2Abi.d.ts`), + join(output, 'factories', `${normalizedName}Abi__factory.ts`), + join(output, `${normalizedName}Abi.hex.ts`), + join(output, `${normalizedName}2Abi.hex.ts`), + ]; + + expect(files.length).toEqual(7); + + files.forEach((f) => { + expect(existsSync(f)).toEqual(true); + }); + + expect(write).toHaveBeenCalled(); + }); + test('should error for no ABI in inputs', async () => { const cwd = process.cwd(); const inputs = ['./*-abis.json']; // abi don't exist diff --git a/packages/abi-typegen/src/templates/common/common.test.ts b/packages/abi-typegen/src/templates/common/common.test.ts index 601981e6a63..6209fb706a4 100644 --- a/packages/abi-typegen/src/templates/common/common.test.ts +++ b/packages/abi-typegen/src/templates/common/common.test.ts @@ -2,6 +2,9 @@ import { mockVersions } from '../../../test/utils/mockVersions'; import { renderCommonTemplate } from './common'; +/** + * @group node + */ describe('templates/common', () => { test('should render common template', () => { // mocking diff --git a/packages/abi-typegen/src/templates/common/index.test.ts b/packages/abi-typegen/src/templates/common/index.test.ts index f49e9aa97f4..bf5355502c8 100644 --- a/packages/abi-typegen/src/templates/common/index.test.ts +++ b/packages/abi-typegen/src/templates/common/index.test.ts @@ -9,6 +9,9 @@ import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; import { renderIndexTemplate } from './index'; +/** + * @group node + */ describe('templates/index', () => { test('should render index template', () => { // mocking diff --git a/packages/abi-typegen/src/templates/contract/bytecode.test.ts b/packages/abi-typegen/src/templates/contract/bytecode.test.ts index f8af6617893..e110dfb93a7 100644 --- a/packages/abi-typegen/src/templates/contract/bytecode.test.ts +++ b/packages/abi-typegen/src/templates/contract/bytecode.test.ts @@ -7,6 +7,9 @@ import { mockVersions } from '../../../test/utils/mockVersions'; import { renderBytecodeTemplate } from './bytecode'; +/** + * @group node + */ describe('templates/contract/bytecode', () => { test('should render bytecode template', () => { // mocking diff --git a/packages/abi-typegen/src/templates/contract/dts.test.ts b/packages/abi-typegen/src/templates/contract/dts.test.ts index 2e6b59ff9b9..15e6221b6ab 100644 --- a/packages/abi-typegen/src/templates/contract/dts.test.ts +++ b/packages/abi-typegen/src/templates/contract/dts.test.ts @@ -10,6 +10,9 @@ import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; import { renderDtsTemplate } from './dts'; +/** + * @group node + */ describe('templates/dts', () => { test('should render dts template', () => { // mocking diff --git a/packages/abi-typegen/src/templates/contract/factory.test.ts b/packages/abi-typegen/src/templates/contract/factory.test.ts index 04c3311d2e4..fc7fd116af9 100644 --- a/packages/abi-typegen/src/templates/contract/factory.test.ts +++ b/packages/abi-typegen/src/templates/contract/factory.test.ts @@ -9,6 +9,9 @@ import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; import { renderFactoryTemplate } from './factory'; +/** + * @group node + */ describe('templates/factory', () => { test('should render factory template', () => { // mocking diff --git a/packages/abi-typegen/src/templates/predicate/factory.test.ts b/packages/abi-typegen/src/templates/predicate/factory.test.ts index bfe6c494093..7d5e0e91d01 100644 --- a/packages/abi-typegen/src/templates/predicate/factory.test.ts +++ b/packages/abi-typegen/src/templates/predicate/factory.test.ts @@ -12,6 +12,9 @@ import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; import { renderFactoryTemplate } from './factory'; +/** + * @group node + */ describe('factory.ts', () => { test('should render factory template', () => { const { restore } = mockVersions(); diff --git a/packages/abi-typegen/src/templates/renderHbsTemplate.test.ts b/packages/abi-typegen/src/templates/renderHbsTemplate.test.ts index c9e2253eec7..d1e0633ff8f 100644 --- a/packages/abi-typegen/src/templates/renderHbsTemplate.test.ts +++ b/packages/abi-typegen/src/templates/renderHbsTemplate.test.ts @@ -2,6 +2,9 @@ import { mockVersions } from '../../test/utils/mockVersions'; import { renderHbsTemplate } from './renderHbsTemplate'; +/** + * @group node + */ describe('renderHbsTemplate.ts', () => { test('should render given template w/ data while injecting header', () => { // mocking diff --git a/packages/abi-typegen/src/templates/script/factory.test.ts b/packages/abi-typegen/src/templates/script/factory.test.ts index c4618a3b995..0267d01492a 100644 --- a/packages/abi-typegen/src/templates/script/factory.test.ts +++ b/packages/abi-typegen/src/templates/script/factory.test.ts @@ -12,6 +12,9 @@ import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; import { renderFactoryTemplate } from './factory'; +/** + * @group node + */ describe('factory.ts', () => { test('should render factory template', () => { const { restore } = mockVersions(); diff --git a/packages/abi-typegen/src/templates/utils/formatConfigurables.test.ts b/packages/abi-typegen/src/templates/utils/formatConfigurables.test.ts index c2b5f9f519f..70425c68df1 100644 --- a/packages/abi-typegen/src/templates/utils/formatConfigurables.test.ts +++ b/packages/abi-typegen/src/templates/utils/formatConfigurables.test.ts @@ -1,5 +1,8 @@ import { formatConfigurables } from './formatConfigurables'; +/** + * @group node + */ describe('formatConfigurables.ts', () => { function mockAllDeps() { const rawAbiType = { @@ -17,7 +20,7 @@ describe('formatConfigurables.ts', () => { }, rawAbiType, requiredFuelsMembersImports: [], - parseComponentsAttributes: jest.fn(), + parseComponentsAttributes: vi.fn(), }; const rawAbiConfigurable = { diff --git a/packages/abi-typegen/src/templates/utils/formatEnums.test.ts b/packages/abi-typegen/src/templates/utils/formatEnums.test.ts index 114cf947849..e760962614c 100644 --- a/packages/abi-typegen/src/templates/utils/formatEnums.test.ts +++ b/packages/abi-typegen/src/templates/utils/formatEnums.test.ts @@ -7,6 +7,9 @@ import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; import { formatEnums } from './formatEnums'; +/** + * @group node + */ describe('formatEnums.ts', () => { test('should format enums just fine', () => { const project = getTypegenForcProject(AbiTypegenProjectsEnum.ENUM_OF_ENUMS); diff --git a/packages/abi-typegen/src/templates/utils/formatImports.test.ts b/packages/abi-typegen/src/templates/utils/formatImports.test.ts index 6fc9a0ca709..ce4f79b2244 100644 --- a/packages/abi-typegen/src/templates/utils/formatImports.test.ts +++ b/packages/abi-typegen/src/templates/utils/formatImports.test.ts @@ -3,6 +3,9 @@ import { U8Type } from '../../abi/types/U8Type'; import { formatImports } from './formatImports'; +/** + * @group node + */ describe('formatImports.ts', () => { const baseMembers = ['Contract']; diff --git a/packages/abi-typegen/src/templates/utils/formatStructs.test.ts b/packages/abi-typegen/src/templates/utils/formatStructs.test.ts index 1a7bb64fea8..f00d5a0f008 100644 --- a/packages/abi-typegen/src/templates/utils/formatStructs.test.ts +++ b/packages/abi-typegen/src/templates/utils/formatStructs.test.ts @@ -7,6 +7,9 @@ import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; import { formatStructs } from './formatStructs'; +/** + * @group node + */ describe('formatStructs.ts', () => { test('should format structs just fine', () => { const project = getTypegenForcProject(AbiTypegenProjectsEnum.STRUCT_SIMPLE); diff --git a/packages/abi-typegen/src/utils/assembleContracts.test.ts b/packages/abi-typegen/src/utils/assembleContracts.test.ts index bda3ae13dbe..887c6fbecf1 100644 --- a/packages/abi-typegen/src/utils/assembleContracts.test.ts +++ b/packages/abi-typegen/src/utils/assembleContracts.test.ts @@ -7,25 +7,28 @@ import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { assembleContracts } from './assembleContracts'; +/** + * @group node + */ describe('assembleContracts.ts', () => { function mockAllDeps() { - jest.resetAllMocks(); + vi.resetAllMocks(); - const renderCommonTemplate = jest + const renderCommonTemplate = vi .spyOn(renderCommonTemplateMod, 'renderCommonTemplate') - .mockImplementation(); + .mockReturnValue(''); - const renderFactoryTemplate = jest + const renderFactoryTemplate = vi .spyOn(renderFactoryTemplateMod, 'renderFactoryTemplate') - .mockImplementation(); + .mockReturnValue(''); - const renderIndexTemplate = jest + const renderIndexTemplate = vi .spyOn(renderIndexTemplateMod, 'renderIndexTemplate') - .mockImplementation(); + .mockReturnValue(''); - const renderBytecodeTemplate = jest + const renderBytecodeTemplate = vi .spyOn(renderBytecodeTemplateMod, 'renderBytecodeTemplate') - .mockImplementation(); + .mockReturnValue(''); return { renderCommonTemplate, diff --git a/packages/abi-typegen/src/utils/assemblePredicates.test.ts b/packages/abi-typegen/src/utils/assemblePredicates.test.ts index 04c7a9d8f27..603d87a9ec1 100644 --- a/packages/abi-typegen/src/utils/assemblePredicates.test.ts +++ b/packages/abi-typegen/src/utils/assemblePredicates.test.ts @@ -6,19 +6,22 @@ import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { assemblePredicates } from './assemblePredicates'; +/** + * @group node + */ describe('assemblePredicates.ts', () => { function mockAllDeps() { - const renderCommonTemplate = jest + const renderCommonTemplate = vi .spyOn(renderCommonTemplateMod, 'renderCommonTemplate') - .mockImplementation(); + .mockImplementation(vi.fn().mockResolvedValue('')); - const renderFactoryTemplate = jest + const renderFactoryTemplate = vi .spyOn(renderFactoryTemplateMod, 'renderFactoryTemplate') - .mockImplementation(); + .mockImplementation(vi.fn().mockResolvedValue('')); - const renderIndexTemplate = jest + const renderIndexTemplate = vi .spyOn(renderIndexTemplateMod, 'renderIndexTemplate') - .mockImplementation(); + .mockImplementation(vi.fn().mockResolvedValue('')); return { renderCommonTemplate, @@ -27,8 +30,13 @@ describe('assemblePredicates.ts', () => { }; } - beforeEach(jest.resetAllMocks); - afterEach(jest.restoreAllMocks); + beforeEach(() => { + vi.resetAllMocks(); + }); + + afterEach(() => { + vi.restoreAllMocks(); + }); test('should assemble all files from Predicate ABI ', () => { const { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate } = mockAllDeps(); @@ -42,7 +50,7 @@ describe('assemblePredicates.ts', () => { includeBinFiles: true, }); - jest.resetAllMocks(); + vi.resetAllMocks(); const files = assemblePredicates({ abis, outputDir }); @@ -65,7 +73,7 @@ describe('assemblePredicates.ts', () => { includeBinFiles: true, }); - jest.resetAllMocks(); + vi.resetAllMocks(); const files = assemblePredicates({ abis, outputDir }); diff --git a/packages/abi-typegen/src/utils/assembleScripts.test.ts b/packages/abi-typegen/src/utils/assembleScripts.test.ts index 0be690ba72b..d7cdfbb942c 100644 --- a/packages/abi-typegen/src/utils/assembleScripts.test.ts +++ b/packages/abi-typegen/src/utils/assembleScripts.test.ts @@ -6,19 +6,22 @@ import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { assembleScripts } from './assembleScripts'; +/** + * @group node + */ describe('assembleScripts.ts', () => { function mockAllDeps() { - const renderCommonTemplate = jest + const renderCommonTemplate = vi .spyOn(renderCommonTemplateMod, 'renderCommonTemplate') - .mockImplementation(); + .mockResolvedValue(''); - const renderFactoryTemplate = jest + const renderFactoryTemplate = vi .spyOn(renderFactoryTemplateMod, 'renderFactoryTemplate') - .mockImplementation(); + .mockResolvedValue(''); - const renderIndexTemplate = jest + const renderIndexTemplate = vi .spyOn(renderIndexTemplateMod, 'renderIndexTemplate') - .mockImplementation(); + .mockResolvedValue(''); return { renderCommonTemplate, @@ -27,8 +30,13 @@ describe('assembleScripts.ts', () => { }; } - beforeEach(jest.resetAllMocks); - afterEach(jest.restoreAllMocks); + beforeEach(() => { + vi.resetAllMocks(); + }); + + afterEach(() => { + vi.restoreAllMocks(); + }); test('should assemble all files from Script ABI ', () => { const { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate } = mockAllDeps(); @@ -42,7 +50,7 @@ describe('assembleScripts.ts', () => { includeBinFiles: true, }); - jest.resetAllMocks(); + vi.resetAllMocks(); const files = assembleScripts({ abis, outputDir }); @@ -65,7 +73,7 @@ describe('assembleScripts.ts', () => { includeBinFiles: true, }); - jest.resetAllMocks(); + vi.resetAllMocks(); const files = assembleScripts({ abis, outputDir }); diff --git a/packages/abi-typegen/src/utils/collectBinFilePaths.test.ts b/packages/abi-typegen/src/utils/collectBinFilePaths.test.ts index 72d6bb5db80..5c061a1e3b9 100644 --- a/packages/abi-typegen/src/utils/collectBinFilePaths.test.ts +++ b/packages/abi-typegen/src/utils/collectBinFilePaths.test.ts @@ -7,18 +7,27 @@ import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { collectBinFilepaths } from './collectBinFilePaths'; import * as validateBinFileMod from './validateBinFile'; +/** + * @group node + */ describe('collectBinFilePaths.ts', () => { const script = getTypegenForcProject(AbiTypegenProjectsEnum.SCRIPT); const predicate = getTypegenForcProject(AbiTypegenProjectsEnum.PREDICATE); const contract = getTypegenForcProject(AbiTypegenProjectsEnum.MINIMAL); function mockDeps() { - const validateBinFile = jest.spyOn(validateBinFileMod, 'validateBinFile').mockImplementation(); + const validateBinFile = vi + .spyOn(validateBinFileMod, 'validateBinFile') + // eslint-disable-next-line @typescript-eslint/no-explicit-any + .mockResolvedValue({} as any); + // const validateBinFile = vi.spyOn(validateBinFileMod, 'validateBinFile').getMockImplementation(); return { validateBinFile }; } - afterEach(jest.restoreAllMocks); + afterEach(() => { + vi.restoreAllMocks(); + }); test('should collect bin files for Scripts', () => { const { validateBinFile } = mockDeps(); diff --git a/packages/abi-typegen/src/utils/collectStorageSlotsFilePaths.test.ts b/packages/abi-typegen/src/utils/collectStorageSlotsFilePaths.test.ts index a449db73926..4bbb9ad285c 100644 --- a/packages/abi-typegen/src/utils/collectStorageSlotsFilePaths.test.ts +++ b/packages/abi-typegen/src/utils/collectStorageSlotsFilePaths.test.ts @@ -3,12 +3,17 @@ import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { collectStorageSlotsFilepaths } from './collectStorageSlotsFilePaths'; +/** + * @group node + */ describe('collectStorageSlotsFilePaths.ts', () => { const script = getTypegenForcProject(AbiTypegenProjectsEnum.SCRIPT); const predicate = getTypegenForcProject(AbiTypegenProjectsEnum.PREDICATE); const contract = getTypegenForcProject(AbiTypegenProjectsEnum.MINIMAL); - afterEach(jest.restoreAllMocks); + beforeEach(() => { + vi.resetAllMocks(); + }); test('should collect storage slot files', () => { const contractStorageSlots = collectStorageSlotsFilepaths({ diff --git a/packages/abi-typegen/src/utils/extractStructName.test.ts b/packages/abi-typegen/src/utils/extractStructName.test.ts index b5df918687e..0e701354544 100644 --- a/packages/abi-typegen/src/utils/extractStructName.test.ts +++ b/packages/abi-typegen/src/utils/extractStructName.test.ts @@ -5,6 +5,9 @@ import type { IRawAbiTypeRoot } from '../types/interfaces/IRawAbiType'; import { extractStructName } from './extractStructName'; +/** + * @group node + */ describe('extractStructName.ts', () => { /* Test helpers diff --git a/packages/abi-typegen/src/utils/findType.test.ts b/packages/abi-typegen/src/utils/findType.test.ts index 1fba83a0800..2f7fd78a663 100644 --- a/packages/abi-typegen/src/utils/findType.test.ts +++ b/packages/abi-typegen/src/utils/findType.test.ts @@ -6,6 +6,9 @@ import type { IType } from '../types/interfaces/IType'; import { findType } from './findType'; import { makeType } from './makeType'; +/** + * @group node + */ describe('findType.ts', () => { test('should find type', () => { const rawAbiType: IRawAbiTypeRoot = { @@ -17,7 +20,7 @@ describe('findType.ts', () => { const type: IType = makeType({ rawAbiType }); - const parseComponentsAttributesSpy = jest.spyOn(type, 'parseComponentsAttributes'); + const parseComponentsAttributesSpy = vi.spyOn(type, 'parseComponentsAttributes'); const typeId = 1; const types: IType[] = [type]; // array with type to be found diff --git a/packages/abi-typegen/src/utils/makeConfigurable.test.ts b/packages/abi-typegen/src/utils/makeConfigurable.test.ts index 0c46ed4f717..726c713a210 100644 --- a/packages/abi-typegen/src/utils/makeConfigurable.test.ts +++ b/packages/abi-typegen/src/utils/makeConfigurable.test.ts @@ -2,6 +2,9 @@ import { Configurable } from '../abi/configurable/Configurable'; import { makeConfigurable } from './makeConfigurable'; +/** + * @group node + */ describe('makeConfigurable.ts', () => { function mockAllDeps() { const rawAbiType = { @@ -19,7 +22,7 @@ describe('makeConfigurable.ts', () => { }, rawAbiType, requiredFuelsMembersImports: [], - parseComponentsAttributes: jest.fn(), + parseComponentsAttributes: vi.fn(), }; const rawAbiConfigurable = { diff --git a/packages/abi-typegen/src/utils/makeFunction.test.ts b/packages/abi-typegen/src/utils/makeFunction.test.ts index 302c6cc2a25..d1ad5f1b157 100644 --- a/packages/abi-typegen/src/utils/makeFunction.test.ts +++ b/packages/abi-typegen/src/utils/makeFunction.test.ts @@ -5,6 +5,9 @@ import type { IType } from '../types/interfaces/IType'; import { makeFunction } from './makeFunction'; import { makeType } from './makeType'; +/** + * @group node + */ describe('functions.ts', () => { test('should instantiate a new Function instance', () => { const rawU8: IRawAbiTypeRoot = { diff --git a/packages/abi-typegen/src/utils/makeType.test.ts b/packages/abi-typegen/src/utils/makeType.test.ts index 6e1cfbe0e45..29c96c0936b 100644 --- a/packages/abi-typegen/src/utils/makeType.test.ts +++ b/packages/abi-typegen/src/utils/makeType.test.ts @@ -5,6 +5,9 @@ import type { IRawAbiTypeRoot } from '../types/interfaces/IRawAbiType'; import { makeType } from './makeType'; +/** + * @group node + */ describe('makeType.ts', () => { test('should create a new Type instance just fine', () => { const rawAbiType: IRawAbiTypeRoot = { diff --git a/packages/abi-typegen/src/utils/parseConfigurables.test.ts b/packages/abi-typegen/src/utils/parseConfigurables.test.ts index 5517a8b689e..51a07b8dbc3 100644 --- a/packages/abi-typegen/src/utils/parseConfigurables.test.ts +++ b/packages/abi-typegen/src/utils/parseConfigurables.test.ts @@ -1,6 +1,9 @@ import * as makeConfigurableMod from './makeConfigurable'; import { parseConfigurables } from './parseConfigurables'; +/** + * @group node + */ describe('parseConfigurables.ts', () => { function mockAllDeps() { const rawAbiType = { @@ -18,7 +21,7 @@ describe('parseConfigurables.ts', () => { }, rawAbiType, requiredFuelsMembersImports: [], - parseComponentsAttributes: jest.fn(), + parseComponentsAttributes: vi.fn(), }; const rawAbiConfigurable = { @@ -37,7 +40,7 @@ describe('parseConfigurables.ts', () => { rawAbiConfigurable, }; - const makeConfigurable = jest + const makeConfigurable = vi .spyOn(makeConfigurableMod, 'makeConfigurable') .mockReturnValue(configurable); diff --git a/packages/abi-typegen/src/utils/parseFunctions.test.ts b/packages/abi-typegen/src/utils/parseFunctions.test.ts index 75909f2eca0..e3533a5333c 100644 --- a/packages/abi-typegen/src/utils/parseFunctions.test.ts +++ b/packages/abi-typegen/src/utils/parseFunctions.test.ts @@ -5,6 +5,9 @@ import type { IType } from '../types/interfaces/IType'; import { makeType } from './makeType'; import { parseFunctions } from './parseFunctions'; +/** + * @group node + */ describe('functions.ts', () => { test('should parse an array of raw abi functions', () => { const rawU8: IRawAbiTypeRoot = { diff --git a/packages/abi-typegen/src/utils/parseTypeArguments.test.ts b/packages/abi-typegen/src/utils/parseTypeArguments.test.ts index a2479b6b3da..397e624733f 100644 --- a/packages/abi-typegen/src/utils/parseTypeArguments.test.ts +++ b/packages/abi-typegen/src/utils/parseTypeArguments.test.ts @@ -63,6 +63,9 @@ const defautRawTypes: IRawAbiTypeRoot[] = [ }, ]; +/** + * @group node + */ describe('parseTypeArguments.ts', () => { /* Test helpers diff --git a/packages/abi-typegen/src/utils/parseTypes.test.ts b/packages/abi-typegen/src/utils/parseTypes.test.ts index e86359764dc..63213bb2bbc 100644 --- a/packages/abi-typegen/src/utils/parseTypes.test.ts +++ b/packages/abi-typegen/src/utils/parseTypes.test.ts @@ -2,6 +2,9 @@ import type { IRawAbiTypeRoot } from '../types/interfaces/IRawAbiType'; import { parseTypes } from './parseTypes'; +/** + * @group node + */ describe('types.ts', () => { test('should parse an array of raw abi types', () => { const rawU8: IRawAbiTypeRoot = { diff --git a/packages/abi-typegen/src/utils/shouldSkipType.test.ts b/packages/abi-typegen/src/utils/shouldSkipType.test.ts index dc15d1c3487..6faa48fe650 100644 --- a/packages/abi-typegen/src/utils/shouldSkipType.test.ts +++ b/packages/abi-typegen/src/utils/shouldSkipType.test.ts @@ -1,6 +1,9 @@ import { shouldSkipAbiType } from './shouldSkipAbiType'; import { supportedTypes } from './supportedTypes'; +/** + * @group node + */ describe('types.ts', () => { test('should always skip these types', () => { expect(shouldSkipAbiType({ type: '()' })).toEqual(true); diff --git a/packages/abi-typegen/src/utils/supportedTypes.test.ts b/packages/abi-typegen/src/utils/supportedTypes.test.ts index 2a36f578e0e..391d9e6ed46 100644 --- a/packages/abi-typegen/src/utils/supportedTypes.test.ts +++ b/packages/abi-typegen/src/utils/supportedTypes.test.ts @@ -1,5 +1,8 @@ import { supportedTypes } from './supportedTypes'; +/** + * @group node + */ describe('supportedTypes.ts', () => { test('should export all supported types', () => { expect(supportedTypes.length).toEqual(21); diff --git a/packages/abi-typegen/src/utils/validateBinFile.test.ts b/packages/abi-typegen/src/utils/validateBinFile.test.ts index 35bc8639622..4a1f0b9f260 100644 --- a/packages/abi-typegen/src/utils/validateBinFile.test.ts +++ b/packages/abi-typegen/src/utils/validateBinFile.test.ts @@ -2,6 +2,9 @@ import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { validateBinFile } from './validateBinFile'; +/** + * @group node + */ describe('validateBinFile.ts', () => { test('should not throw for existent Script BIN file', () => { const params = { diff --git a/packages/abi-typegen/test/fixtures/templates/contract/bytecode.hbs b/packages/abi-typegen/test/fixtures/templates/contract/bytecode.hbs index 35bfe22e30e..0693e86bdf1 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/bytecode.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/bytecode.hbs @@ -9,4 +9,4 @@ Fuel-Core version: 33.33.33 */ -export default '0x740000034700000000000000000000445dfcc00110fff3005d4060495d47f001134904407648000272f0007b36f000001aec5000910000005c43f000244000004700000001000000000000000000000055b7ae10'\ +export default '0x740000034700000000000000000000445dfcc00110fff3005d4060495d47f001134904407648000272f0007b36f000001aec5000910000005c43f000244000004700000001000000000000000000000055b7ae10' \ No newline at end of file diff --git a/packages/abi-typegen/test/utils/mockVersions.ts b/packages/abi-typegen/test/utils/mockVersions.ts index ce7421caeb2..bf0b666a746 100644 --- a/packages/abi-typegen/test/utils/mockVersions.ts +++ b/packages/abi-typegen/test/utils/mockVersions.ts @@ -9,10 +9,13 @@ import * as versionsMod from '@fuel-ts/versions'; * * https://stackoverflow.com/a/72885576 */ -jest.mock('@fuel-ts/versions', () => ({ - __esModule: true, - ...jest.requireActual('@fuel-ts/versions'), -})); +vi.mock('@fuel-ts/versions', async () => { + const mod = await vi.importActual('@fuel-ts/versions'); + return { + __esModule: true, + ...mod, + }; +}); export function mockVersions( values: { @@ -25,12 +28,12 @@ export function mockVersions( FUEL_CORE: '33.33.33', } ) { - const mock = jest.replaceProperty(versionsMod, 'versions', values); + const mock = vi.spyOn(versionsMod, 'versions', 'get').mockReturnValue(values); return { versions: values, restore() { - mock.restore(); + mock.mockRestore(); }, }; } diff --git a/packages/abi-typegen/tsdoc.json b/packages/abi-typegen/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/abi-typegen/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/address/src/address.test.ts b/packages/address/src/address.test.ts index c01cb002b91..fdeeb199ead 100644 --- a/packages/address/src/address.test.ts +++ b/packages/address/src/address.test.ts @@ -25,6 +25,9 @@ const ADDRESS_BYTES = [ const expectedAddress = 'fuel1785jcs4epy625cmjuv9u269rymmwv6s6q2y9jhnw877nj2j08ehqce3rxf'; const expectedB256Address = '0xf1e92c42b90934aa6372e30bc568a326f6e66a1a0288595e6e3fbd392a4f3e6e'; +/** + * @group node + */ describe('Address utils', () => { test('fromBech32 (bech32 to decoded bech32)', () => { const result = utils.fromBech32(ADDRESS_BECH32); diff --git a/packages/crypto/src/shared/keccak256.test.ts b/packages/crypto/src/shared/keccak256.test.ts index 730e2835ed4..ca130a26218 100644 --- a/packages/crypto/src/shared/keccak256.test.ts +++ b/packages/crypto/src/shared/keccak256.test.ts @@ -1,20 +1,24 @@ -import * as ethereumCryptography from 'ethereum-cryptography/keccak'; - import { bufferFromString } from '..'; -import { keccak256 } from './keccak256'; +import { keccak256 as keccak } from './keccak256'; -describe('keccak256', () => { - afterEach(jest.restoreAllMocks); +const data = bufferFromString('hashedKey'); - it('hashes using keccak256', () => { - const data = bufferFromString('hashedKey'); +vi.mock('ethereum-cryptography/keccak', () => ({ + keccak256: vi.fn(() => data), +})); - const mock = jest.spyOn(ethereumCryptography, 'keccak256').mockImplementationOnce(() => data); +/** + * @group node + */ +describe('keccak256', () => { + afterEach(() => { + vi.restoreAllMocks(); + }); - const hashedKey = keccak256(data); + it('hashes using keccak256', () => { + const hashedKey = keccak(data); - expect(mock).toBeCalledTimes(1); expect(hashedKey).toEqual(data); }); }); diff --git a/packages/crypto/src/shared/scrypt.test.ts b/packages/crypto/src/shared/scrypt.test.ts index 06660b9ab37..571a2371d1e 100644 --- a/packages/crypto/src/shared/scrypt.test.ts +++ b/packages/crypto/src/shared/scrypt.test.ts @@ -1,20 +1,23 @@ -import * as ethereumCryptography from 'ethereum-cryptography/scrypt'; - import { bufferFromString } from '..'; import type { IScryptParams } from '../types'; import { scrypt } from './scrypt'; -describe('scrypt', () => { - afterEach(jest.restoreAllMocks); +const data = bufferFromString('hashedKey'); - it('hashes using scrypt', () => { - const mockedHashedKey = bufferFromString('hashedKey'); +vi.mock('ethereum-cryptography/scrypt', () => ({ + scryptSync: vi.fn(() => data), +})); - const mock = jest - .spyOn(ethereumCryptography, 'scryptSync') - .mockImplementationOnce(() => mockedHashedKey); +/** + * @group node + */ +describe('scrypt', () => { + afterEach(() => { + vi.restoreAllMocks(); + }); + it('hashes using scrypt', () => { const password = bufferFromString('password'); const salt = bufferFromString('salt'); @@ -29,7 +32,6 @@ describe('scrypt', () => { const hashedKey = scrypt(params); - expect(mock).toBeCalledTimes(1); - expect(hashedKey).toEqual(mockedHashedKey); + expect(hashedKey).toEqual(data); }); }); diff --git a/packages/crypto/test/aes-ctr.test.ts b/packages/crypto/test/aes-ctr.test.ts index ae14cc0a33d..94a05523ed6 100644 --- a/packages/crypto/test/aes-ctr.test.ts +++ b/packages/crypto/test/aes-ctr.test.ts @@ -1,5 +1,8 @@ import { envs } from './envs'; +/** + * @group node + */ describe('Keystore', () => { it.each(envs)('Encrypt and Decrypt', async ({ encrypt, decrypt }) => { const password = '0b540281-f87b-49ca-be37-2264c7f260f7'; diff --git a/packages/crypto/test/bufferFromString.test.ts b/packages/crypto/test/bufferFromString.test.ts index 40a89b714e6..23474312fc8 100644 --- a/packages/crypto/test/bufferFromString.test.ts +++ b/packages/crypto/test/bufferFromString.test.ts @@ -1,5 +1,8 @@ import { envs } from './envs'; +/** + * @group node + */ describe('bufferFromString', () => { const buffer = new Uint8Array([104, 101, 108, 108, 111]); // ASCII values for "hello" diff --git a/packages/crypto/test/encryptJsonWalletData.test.ts b/packages/crypto/test/encryptJsonWalletData.test.ts index 1018ef8901a..8926e319b26 100644 --- a/packages/crypto/test/encryptJsonWalletData.test.ts +++ b/packages/crypto/test/encryptJsonWalletData.test.ts @@ -1,5 +1,8 @@ import { envs } from './envs'; +/** + * @group node + */ describe('encryptJsonWalletData', () => { it.each(envs)( 'should encrypt and decrypt json wallet data correctly in %s environment', diff --git a/packages/crypto/test/stringFromBuffer.test.ts b/packages/crypto/test/stringFromBuffer.test.ts index e6be8e23951..2b2c29108dd 100644 --- a/packages/crypto/test/stringFromBuffer.test.ts +++ b/packages/crypto/test/stringFromBuffer.test.ts @@ -1,5 +1,8 @@ import { envs } from './envs'; +/** + * @group node + */ describe('stringFromBuffer', () => { const buffer = new Uint8Array([104, 101, 108, 108, 111]); // ASCII values for "hello" diff --git a/packages/crypto/tsdoc.json b/packages/crypto/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/crypto/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/errors/src/fuel-error.test.ts b/packages/errors/src/fuel-error.test.ts index b77ffc6fb06..e52041ceb83 100644 --- a/packages/errors/src/fuel-error.test.ts +++ b/packages/errors/src/fuel-error.test.ts @@ -3,6 +3,9 @@ import { versions } from '@fuel-ts/versions'; import { FuelError, ErrorCode } from '.'; import { expectToThrowFuelError } from './test-utils/expect-to-throw-fuel-error'; +/** + * @group node + */ it('has properties set as expected on creation', () => { const message = 'whatever'; const error = new FuelError(FuelError.CODES.PARSE_FAILED, message); diff --git a/packages/errors/src/test-utils.test.ts b/packages/errors/src/test-utils.test.ts index 5514bff4cb0..d5fda478afd 100644 --- a/packages/errors/src/test-utils.test.ts +++ b/packages/errors/src/test-utils.test.ts @@ -1,5 +1,8 @@ import * as indexMod from './test-utils'; +/** + * @group node + */ describe(__filename, () => { test('should export all test utilities', () => { expect(indexMod.expectToThrowFuelError).toBeTruthy(); diff --git a/packages/errors/src/test-utils/expect-to-throw-fuel-error.test.ts b/packages/errors/src/test-utils/expect-to-throw-fuel-error.test.ts index 640d9f3818f..61fdc22e0ff 100644 --- a/packages/errors/src/test-utils/expect-to-throw-fuel-error.test.ts +++ b/packages/errors/src/test-utils/expect-to-throw-fuel-error.test.ts @@ -2,6 +2,9 @@ import { FuelError } from '..'; import { expectToThrowFuelError } from './expect-to-throw-fuel-error'; +/** + * @group node + */ describe('expect-to-throw-fuel-error', () => { const otherError = new Error('Original Error'); const fuelError = new FuelError(FuelError.CODES.PARSE_FAILED, 'FuelError 1'); diff --git a/packages/errors/src/test-utils/safeExec.test.ts b/packages/errors/src/test-utils/safeExec.test.ts index b58dcd7f8c8..00aedacbc1a 100644 --- a/packages/errors/src/test-utils/safeExec.test.ts +++ b/packages/errors/src/test-utils/safeExec.test.ts @@ -1,5 +1,8 @@ import { safeExec } from './safeExec'; +/** + * @group node + */ describe('safeExec.js', () => { it('should catch error', async () => { const ERROR_MSG = 'I am an error.'; diff --git a/packages/errors/tsdoc.json b/packages/errors/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/errors/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/fuel-gauge/src/advanced-logging.test.ts b/packages/fuel-gauge/src/advanced-logging.test.ts index 32f74899b10..eb3110a1206 100644 --- a/packages/fuel-gauge/src/advanced-logging.test.ts +++ b/packages/fuel-gauge/src/advanced-logging.test.ts @@ -18,6 +18,9 @@ beforeAll(async () => { ({ minGasPrice: gasPrice } = contractInstance.provider.getGasConfig()); }); +/** + * @group node + */ describe('Advanced Logging', () => { it('can get log data', async () => { const { value, logs } = await contractInstance.functions diff --git a/packages/fuel-gauge/src/auth-testing.test.ts b/packages/fuel-gauge/src/auth-testing.test.ts index 7e69e2135c0..a5824035ca5 100644 --- a/packages/fuel-gauge/src/auth-testing.test.ts +++ b/packages/fuel-gauge/src/auth-testing.test.ts @@ -15,6 +15,9 @@ let contractInstance: Contract; let wallet: WalletUnlocked; let gasPrice: BN; +/** + * @group node + */ describe('Auth Testing', () => { beforeAll(async () => { const provider = await Provider.create(FUEL_NETWORK_URL); diff --git a/packages/fuel-gauge/src/bytes.test.ts b/packages/fuel-gauge/src/bytes.test.ts index 00328174aa9..c547c927b3a 100644 --- a/packages/fuel-gauge/src/bytes.test.ts +++ b/packages/fuel-gauge/src/bytes.test.ts @@ -30,6 +30,9 @@ const setup = async (balance = 500_000) => { return wallet; }; +/** + * @group node + */ describe('Bytes Tests', () => { let gasPrice: BN; beforeAll(async () => { diff --git a/packages/fuel-gauge/src/call-test-contract.test.ts b/packages/fuel-gauge/src/call-test-contract.test.ts index 9b83a5bd2b3..c8759669636 100644 --- a/packages/fuel-gauge/src/call-test-contract.test.ts +++ b/packages/fuel-gauge/src/call-test-contract.test.ts @@ -16,6 +16,9 @@ const setupContract = createSetupConfig({ const U64_MAX = bn(2).pow(64).sub(1); +/** + * @group node + */ describe('CallTestContract', () => { let gasPrice: BN; beforeAll(async () => { diff --git a/packages/fuel-gauge/src/configurable-contract.test.ts b/packages/fuel-gauge/src/configurable-contract.test.ts index 77485283bc3..5462dfb5c2b 100644 --- a/packages/fuel-gauge/src/configurable-contract.test.ts +++ b/packages/fuel-gauge/src/configurable-contract.test.ts @@ -25,6 +25,9 @@ const defaultValues = { }, }; +/** + * @group node + */ describe('Configurable Contract', () => { let wallet: WalletUnlocked; let factory: ContractFactory; diff --git a/packages/fuel-gauge/src/contract-factory.test.ts b/packages/fuel-gauge/src/contract-factory.test.ts index 9f89a87abb5..84053d24726 100644 --- a/packages/fuel-gauge/src/contract-factory.test.ts +++ b/packages/fuel-gauge/src/contract-factory.test.ts @@ -14,6 +14,9 @@ import { import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../test/fixtures'; +/** + * @group node + */ describe('Contract Factory', () => { let gasPrice: BN; diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index 4d7803d8b70..d0fcb9d50c0 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -162,6 +162,9 @@ const txPointer = '0x00000000000000000000000000000000'; const AltToken = '0x0101010101010101010101010101010101010101010101010101010101010101'; +/** + * @group node + */ describe('Contract', () => { let gasPrice: BN; beforeAll(async () => { @@ -171,11 +174,11 @@ describe('Contract', () => { it('generates function methods on a simple contract', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); - const spy = jest.spyOn(provider, 'sendTransaction'); + const spy = vi.spyOn(provider, 'sendTransaction'); const wallet = await generateTestWallet(provider, [[1_000, BaseAssetId]]); const contract = new Contract(ZeroBytes32, jsonFragment, wallet); const fragment = contract.interface.getFunction('entry_one'); - const interfaceSpy = jest.spyOn(fragment, 'encodeArguments'); + const interfaceSpy = vi.spyOn(fragment, 'encodeArguments'); try { await contract.functions.entry_one(42); @@ -189,11 +192,11 @@ describe('Contract', () => { it('generates function methods on a complex contract', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); - const spy = jest.spyOn(provider, 'sendTransaction'); + const spy = vi.spyOn(provider, 'sendTransaction'); const wallet = await generateTestWallet(provider, [[1_000, BaseAssetId]]); const contract = new Contract(ZeroBytes32, complexFragment, wallet); const fragment = contract.interface.getFunction('tuple_function'); - const interfaceSpy = jest.spyOn(fragment, 'encodeArguments'); + const interfaceSpy = vi.spyOn(fragment, 'encodeArguments'); try { await contract.functions.tuple_function({ diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index 86341df09d1..4a8f571b572 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -48,6 +48,9 @@ enum ColorEnumOutput { Blue = 'Blue', } +/** + * @group node + */ describe('Coverage Contract', () => { it('can return outputs', async () => { // Call contract methods diff --git a/packages/fuel-gauge/src/doc-examples.test.ts b/packages/fuel-gauge/src/doc-examples.test.ts index abfaaee9483..e8d67fe47dc 100644 --- a/packages/fuel-gauge/src/doc-examples.test.ts +++ b/packages/fuel-gauge/src/doc-examples.test.ts @@ -62,6 +62,9 @@ const ADDRESS_BYTES = new Uint8Array([ 89, 94, 110, 63, 189, 57, 42, 79, 62, 110, ]); +/** + * @group node + */ describe('Doc Examples', () => { let gasPrice: BN; diff --git a/packages/fuel-gauge/src/e2e-script.test.ts b/packages/fuel-gauge/src/e2e-script.test.ts index d7e33020524..4474b82565f 100644 --- a/packages/fuel-gauge/src/e2e-script.test.ts +++ b/packages/fuel-gauge/src/e2e-script.test.ts @@ -73,6 +73,10 @@ type MainArgs = [ VecInAStructInAVec, // VEC_IN_A_VEC_IN_A_STRUCT_IN_A_VEC ]; +/** + * @group node + * @group e2e + */ describe('Live Script Test', () => { it('can use script against live Fuel Node', async () => { if (!process.env.FUEL_NETWORK_GENESIS_KEY) { diff --git a/packages/fuel-gauge/src/edge-cases.test.ts b/packages/fuel-gauge/src/edge-cases.test.ts index 4b4601f9f68..6e904c50832 100644 --- a/packages/fuel-gauge/src/edge-cases.test.ts +++ b/packages/fuel-gauge/src/edge-cases.test.ts @@ -1,5 +1,8 @@ import { getSetupContract } from './utils'; +/** + * @group node + */ describe('Edge Cases', () => { it('can run collision_in_fn_names', async () => { const contract = await getSetupContract('collision_in_fn_names')(); diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index 0482d6f9cc4..b44e0a4d2f8 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -14,6 +14,9 @@ import { import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../test/fixtures'; +/** + * @group node + */ describe('Fee', () => { const assetA: string = '0x0101010101010101010101010101010101010101010101010101010101010101'; const assetB: string = '0x0202020202020202020202020202020202020202020202020202020202020202'; diff --git a/packages/fuel-gauge/src/funding-transaction.test.ts b/packages/fuel-gauge/src/funding-transaction.test.ts index 344ab933c4e..6bb36b665df 100644 --- a/packages/fuel-gauge/src/funding-transaction.test.ts +++ b/packages/fuel-gauge/src/funding-transaction.test.ts @@ -9,6 +9,9 @@ import { bn, } from 'fuels'; +/** + * @group node + */ describe(__filename, () => { let mainWallet: Account; let provider: Provider; @@ -78,7 +81,7 @@ describe(__filename, () => { expect(bn((request.inputs[0]).amount).toNumber()).toBe(300); expect(maxFee.gt(300)).toBeTruthy(); - const getResourcesToSpendSpy = jest.spyOn(sender, 'getResourcesToSpend'); + const getResourcesToSpendSpy = vi.spyOn(sender, 'getResourcesToSpend'); await sender.fund(request, requiredQuantities, maxFee); @@ -129,7 +132,7 @@ describe(__filename, () => { expect(bn((request.inputs[0]).amount).toNumber()).toBe(1000); expect(maxFee.lt(1000)).toBeTruthy(); - const getResourcesToSpendSpy = jest.spyOn(sender, 'getResourcesToSpend'); + const getResourcesToSpendSpy = vi.spyOn(sender, 'getResourcesToSpend'); await sender.fund(request, requiredQuantities, maxFee); @@ -169,7 +172,7 @@ describe(__filename, () => { // TX request does NOT carry any resources, it needs to be funded expect(request.inputs.length).toBe(0); - const getResourcesToSpendSpy = jest.spyOn(sender, 'getResourcesToSpend'); + const getResourcesToSpendSpy = vi.spyOn(sender, 'getResourcesToSpend'); await sender.fund(request, requiredQuantities, maxFee); diff --git a/packages/fuel-gauge/src/generic-types-contract.test.ts b/packages/fuel-gauge/src/generic-types-contract.test.ts index 3a3c792d18b..116ef79ec30 100644 --- a/packages/fuel-gauge/src/generic-types-contract.test.ts +++ b/packages/fuel-gauge/src/generic-types-contract.test.ts @@ -8,6 +8,9 @@ const { binHexlified: contractBytecode, abiContents: abiJSON } = getFuelGaugeFor FuelGaugeProjectsEnum.GENERIC_TYPES_CONTRACT ); +/** + * @group node + */ describe('GenericTypesContract', () => { it('should call complex contract function with generic type', async () => { const contract = await setup({ diff --git a/packages/fuel-gauge/src/min-gas.test.ts b/packages/fuel-gauge/src/min-gas.test.ts index e82019c7210..d9dfb2958cf 100644 --- a/packages/fuel-gauge/src/min-gas.test.ts +++ b/packages/fuel-gauge/src/min-gas.test.ts @@ -17,6 +17,9 @@ import { import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../test/fixtures'; +/** + * @group node + */ describe(__filename, () => { it('sets gas requirements (contract)', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); diff --git a/packages/fuel-gauge/src/multi-token-contract.test.ts b/packages/fuel-gauge/src/multi-token-contract.test.ts index b5357cacc6c..72dd7bbc1c3 100644 --- a/packages/fuel-gauge/src/multi-token-contract.test.ts +++ b/packages/fuel-gauge/src/multi-token-contract.test.ts @@ -26,6 +26,9 @@ const subIds = [ '0xdf78cb1e1a1b31fff104eb0baf734a4767a1b1373687c29a26bf1a2b22d1a3c5', ]; +/** + * @group node + */ describe('MultiTokenContract', () => { let gasPrice: BN; beforeAll(async () => { diff --git a/packages/fuel-gauge/src/payable-annotation.test.ts b/packages/fuel-gauge/src/payable-annotation.test.ts index 211f3786ecd..da1104405a9 100644 --- a/packages/fuel-gauge/src/payable-annotation.test.ts +++ b/packages/fuel-gauge/src/payable-annotation.test.ts @@ -22,6 +22,9 @@ beforeAll(async () => { ({ minGasPrice: gasPrice } = contract.provider.getGasConfig()); }); +/** + * @group node + */ test('allow sending coins to payable functions', async () => { // This should not fail because the function is payable await expect( diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index d79583b45dd..43f21e9c923 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -16,6 +16,9 @@ import { getFuelGaugeForcProject, FuelGaugeProjectsEnum } from '../test/fixtures import { createSetupConfig } from './utils'; +/** + * @group node + */ describe('Policies', () => { let provider: Provider; beforeAll(async () => { diff --git a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts index b826f79b23d..0d54b84d224 100644 --- a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts +++ b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts @@ -12,6 +12,9 @@ import { import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../test/fixtures'; +/** + * @group node + */ describe('PredicateConditionalInputs', () => { const assetIdA = '0x0101010101010101010101010101010101010101010101010101010101010101'; const assetIdB = '0x0202020202020202020202020202020202020202020202020202020202020202'; diff --git a/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts b/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts index 6c6dcd50fb3..6a52eb84c55 100644 --- a/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts @@ -6,6 +6,9 @@ import type { Validation } from '../types/predicate'; import { setupWallets, assertBalances, fundPredicate } from './utils/predicate'; +/** + * @group node + */ describe('Predicate', () => { const { binHexlified: predicateBytesAddress, abiContents: predicateAbiMainArgsAddress } = getFuelGaugeForcProject(FuelGaugeProjectsEnum.PREDICATE_ADDRESS); diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 68d834b8fa4..c4aec565fb2 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -13,6 +13,9 @@ import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../../test/fixtu import { fundPredicate, assertBalance } from './utils/predicate'; +/** + * @group node + */ describe('Predicate', () => { const { binHexlified: predicateBytesTrue, abiContents: predicateAbiTrue } = getFuelGaugeForcProject(FuelGaugeProjectsEnum.PREDICATE_TRUE); diff --git a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts index a2e6381e3df..cb802fe7fbb 100644 --- a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts @@ -13,6 +13,9 @@ import { import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../../test/fixtures'; import type { Validation } from '../types/predicate'; +/** + * @group node + */ describe('Predicate', () => { const { binHexlified: predicateTrueBytecode } = getFuelGaugeForcProject( FuelGaugeProjectsEnum.PREDICATE_TRUE diff --git a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts index 55b0561dc26..4740b6fbee4 100644 --- a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts @@ -5,6 +5,9 @@ import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../../test/fixtu import { setupWallets, assertBalances, fundPredicate } from './utils/predicate'; +/** + * @group node + */ describe('Predicate', () => { const { binHexlified: predicateBytesTrue } = getFuelGaugeForcProject( FuelGaugeProjectsEnum.PREDICATE_TRUE diff --git a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts index d3cdfc7394e..d8e80930533 100644 --- a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts @@ -5,6 +5,9 @@ import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../../test/fixtu import { setupWallets, fundPredicate } from './utils/predicate'; +/** + * @group node + */ describe('Predicate', () => { const { binHexlified, abiContents } = getFuelGaugeForcProject( FuelGaugeProjectsEnum.PREDICATE_INPUT_DATA diff --git a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts index daed4ba398c..81c464af8f5 100644 --- a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts @@ -6,6 +6,9 @@ import type { Validation } from '../types/predicate'; import { fundPredicate, setupWallets } from './utils/predicate'; +/** + * @group node + */ describe('Predicate', () => { const { binHexlified: predicateBytesMainArgsStruct, abiContents: predicateAbiMainArgsStruct } = getFuelGaugeForcProject(FuelGaugeProjectsEnum.PREDICATE_MAIN_ARGS_STRUCT); diff --git a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts index d780c15b534..52004584230 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts @@ -16,6 +16,9 @@ import type { Validation } from '../types/predicate'; import { fundPredicate, setupContractWithConfig } from './utils/predicate'; +/** + * @group node + */ describe('Predicate', () => { const { binHexlified: contractBytes, abiContents: contractAbi } = getFuelGaugeForcProject( FuelGaugeProjectsEnum.CALL_TEST_CONTRACT diff --git a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts index 6f78d603780..2dcf40d58ba 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts @@ -8,6 +8,9 @@ import type { Validation } from '../types/predicate'; import { fundPredicate } from './utils/predicate'; +/** + * @group node + */ describe('Predicate', () => { const { binHexlified: scriptBytes, abiContents: scriptAbi } = getFuelGaugeForcProject( FuelGaugeProjectsEnum.SCRIPT_MAIN_ARGS diff --git a/packages/fuel-gauge/src/raw-slice.test.ts b/packages/fuel-gauge/src/raw-slice.test.ts index 47bed5d2731..aaac3d20018 100644 --- a/packages/fuel-gauge/src/raw-slice.test.ts +++ b/packages/fuel-gauge/src/raw-slice.test.ts @@ -33,6 +33,9 @@ beforeAll(async () => { ({ minGasPrice: gasPrice } = contractInstance.provider.getGasConfig()); }); +/** + * @group node + */ describe('Raw Slice Tests', () => { it('should test raw slice output', async () => { const INPUT = 10; diff --git a/packages/fuel-gauge/src/revert-error.test.ts b/packages/fuel-gauge/src/revert-error.test.ts index 10ff83a422d..7c6e816e435 100644 --- a/packages/fuel-gauge/src/revert-error.test.ts +++ b/packages/fuel-gauge/src/revert-error.test.ts @@ -18,6 +18,9 @@ import { FuelGaugeProjectsEnum, getFuelGaugeForcProject } from '../test/fixtures let contractInstance: Contract; let wallet: WalletUnlocked; +/** + * @group node + */ describe('Revert Error Testing', () => { let gasPrice: BN; diff --git a/packages/fuel-gauge/src/script-main-args.test.ts b/packages/fuel-gauge/src/script-main-args.test.ts index d753d4cae9b..40d10747604 100644 --- a/packages/fuel-gauge/src/script-main-args.test.ts +++ b/packages/fuel-gauge/src/script-main-args.test.ts @@ -19,6 +19,9 @@ type Baz = { x: number; }; +/** + * @group node + */ describe('Script Coverage', () => { let gasPrice: BN; diff --git a/packages/fuel-gauge/src/script-with-configurable.test.ts b/packages/fuel-gauge/src/script-with-configurable.test.ts index a33ae0695ff..702195a142a 100644 --- a/packages/fuel-gauge/src/script-with-configurable.test.ts +++ b/packages/fuel-gauge/src/script-with-configurable.test.ts @@ -10,6 +10,9 @@ const defaultValues = { let wallet: WalletUnlocked; +/** + * @group node + */ describe('Script With Configurable', () => { let gasPrice: BN; diff --git a/packages/fuel-gauge/src/script-with-vectors.test.ts b/packages/fuel-gauge/src/script-with-vectors.test.ts index 6a94c9c2400..a85bda6186e 100644 --- a/packages/fuel-gauge/src/script-with-vectors.test.ts +++ b/packages/fuel-gauge/src/script-with-vectors.test.ts @@ -13,6 +13,9 @@ const setup = async (balance = 500_000) => { return wallet; }; +/** + * @group node + */ describe('Script With Vectors', () => { let gasPrice: BN; beforeAll(async () => { diff --git a/packages/fuel-gauge/src/small-bytes.test.ts b/packages/fuel-gauge/src/small-bytes.test.ts index 14a99bfee8c..fd0ed3883f5 100644 --- a/packages/fuel-gauge/src/small-bytes.test.ts +++ b/packages/fuel-gauge/src/small-bytes.test.ts @@ -5,6 +5,9 @@ import { join } from 'path'; import { getSetupContract, createWallet } from './utils'; +/** + * @group node + */ describe('small-bytes', () => { const smallBytesProjectDir = join(__dirname, '../test/fixtures/forc-projects/small-bytes'); diff --git a/packages/fuel-gauge/src/std-lib-string.test.ts b/packages/fuel-gauge/src/std-lib-string.test.ts index e6e5e34b2eb..424e0daaaa2 100644 --- a/packages/fuel-gauge/src/std-lib-string.test.ts +++ b/packages/fuel-gauge/src/std-lib-string.test.ts @@ -24,6 +24,9 @@ const setup = async (balance = 500_000) => { return wallet; }; +/** + * @group node + */ describe('std-lib-string Tests', () => { const { binHexlified: predicateStdString, abiContents: predicateStdStringAbi } = getFuelGaugeForcProject(FuelGaugeProjectsEnum.PREDICATE_STD_LIB_STRING); diff --git a/packages/fuel-gauge/src/storage-test-contract.test.ts b/packages/fuel-gauge/src/storage-test-contract.test.ts index c296eb55013..fe9b2ada004 100644 --- a/packages/fuel-gauge/src/storage-test-contract.test.ts +++ b/packages/fuel-gauge/src/storage-test-contract.test.ts @@ -29,6 +29,9 @@ const setup = async () => { return contract; }; +/** + * @group node + */ describe('StorageTestContract', () => { let gasPrice: BN; beforeAll(async () => { diff --git a/packages/fuel-gauge/src/token-test-contract.test.ts b/packages/fuel-gauge/src/token-test-contract.test.ts index c0fc2807954..3e2e2895ab9 100644 --- a/packages/fuel-gauge/src/token-test-contract.test.ts +++ b/packages/fuel-gauge/src/token-test-contract.test.ts @@ -31,6 +31,9 @@ beforeAll(async () => { gasPrice = provider.getGasConfig().minGasPrice; }); +/** + * @group node + */ describe('TokenTestContract', () => { it('Can mint and transfer coins', async () => { // New wallet to transfer coins and check balance diff --git a/packages/fuel-gauge/src/transaction-response.test.ts b/packages/fuel-gauge/src/transaction-response.test.ts index edc795bc1fa..d7368a7c0dd 100644 --- a/packages/fuel-gauge/src/transaction-response.test.ts +++ b/packages/fuel-gauge/src/transaction-response.test.ts @@ -10,6 +10,9 @@ import { WalletUnlocked, } from 'fuels'; +/** + * @group node + */ describe('TransactionSummary', () => { let provider: Provider; let adminWallet: WalletUnlocked; diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index bb5d57ba8e6..dc9810fd70c 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -19,6 +19,9 @@ import { Wallet, } from 'fuels'; +/** + * @group node + */ describe('TransactionSummary', () => { let provider: Provider; let wallet: WalletUnlocked; diff --git a/packages/fuel-gauge/src/vector-types.test.ts b/packages/fuel-gauge/src/vector-types.test.ts index 841e2bd587e..05d8b6370d1 100644 --- a/packages/fuel-gauge/src/vector-types.test.ts +++ b/packages/fuel-gauge/src/vector-types.test.ts @@ -84,6 +84,9 @@ const setup = async (balance = 500_000) => { return wallet; }; +/** + * @group node + */ describe('Vector Types Validation', () => { let gasPrice: BN; diff --git a/packages/fuel-gauge/src/vectors.test.ts b/packages/fuel-gauge/src/vectors.test.ts index 7e94057c23c..3f9b49b1b5e 100644 --- a/packages/fuel-gauge/src/vectors.test.ts +++ b/packages/fuel-gauge/src/vectors.test.ts @@ -17,6 +17,9 @@ enum SmallEnum { Empty = 'Empty', } +/** + * @group node + */ describe('Vector Tests', () => { it('should test u8 vector input/output', async () => { const INPUT = [8, 6, 7, 5, 3, 0, 9]; diff --git a/packages/fuel-gauge/tsdoc.json b/packages/fuel-gauge/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/fuel-gauge/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/fuels/.gitignore b/packages/fuels/.gitignore index 0cf2b811372..289ea019274 100644 --- a/packages/fuels/.gitignore +++ b/packages/fuels/.gitignore @@ -1,4 +1,2 @@ README.md -test/fixtures/project/.fuels -test/fixtures/generated -test/fixtures/fuels.config.ts +test/__temp__* diff --git a/packages/fuels/src/bin.ts b/packages/fuels/src/bin.ts index 016f2671a26..572e5b8df8b 100644 --- a/packages/fuels/src/bin.ts +++ b/packages/fuels/src/bin.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { run } from './cli'; import { error } from './cli/utils/logger'; +import { run } from './run'; try { run(process.argv).catch(process.stderr.write); diff --git a/packages/fuels/src/cli.test.ts b/packages/fuels/src/cli.test.ts index 77694f82466..37bf5bc22dd 100644 --- a/packages/fuels/src/cli.test.ts +++ b/packages/fuels/src/cli.test.ts @@ -3,16 +3,24 @@ import { Command } from 'commander'; import * as cliMod from './cli'; import { Commands } from './cli/types'; import * as loggingMod from './cli/utils/logger'; +import { run } from './run'; +/** + * @group node + */ describe('cli.js', () => { - const { configureCli, run, onPreAction } = cliMod; + beforeEach(() => { + vi.restoreAllMocks(); + }); - beforeEach(() => jest.resetAllMocks()); - afterAll(() => jest.resetAllMocks()); + afterEach(() => { + vi.restoreAllMocks(); + }); it('shoud configure cli', () => { - const program = configureCli(); + const program = cliMod.configureCli(); + expect(program).toBeTruthy(); // top level props and opts expect(program.name()).toEqual('fuels'); expect(program.opts()).toEqual({ @@ -50,14 +58,14 @@ describe('cli.js', () => { }); it('preAction should configure logging', () => { - const spy = jest.spyOn(loggingMod, 'configureLogging'); + const spy = vi.spyOn(loggingMod, 'configureLogging'); const command = new Command(); command.option('-D, --debug', 'Enables verbose logging', false); command.option('-S, --silent', 'Omit output messages', false); command.parse([]); - onPreAction(command); + cliMod.onPreAction(command); expect(spy).toBeCalledWith({ isDebugEnabled: false, isLoggingEnabled: true, @@ -66,12 +74,16 @@ describe('cli.js', () => { it('should run cli program', async () => { const command = new Command(); - const parseAsync = jest.spyOn(command, 'parseAsync'); - const $configureCli = jest.spyOn(cliMod, 'configureCli').mockReturnValue(command); + + const parseAsync = vi + .spyOn(Command.prototype, 'parseAsync') + .mockReturnValue(Promise.resolve(command)); + + const configureCli = vi.spyOn(cliMod, 'configureCli').mockImplementation(() => new Command()); await run([]); - expect($configureCli).toHaveBeenCalledTimes(1); + expect(configureCli).toHaveBeenCalledTimes(1); expect(parseAsync).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/fuels/src/cli.ts b/packages/fuels/src/cli.ts index 5c457f5df9d..5f531ba27da 100644 --- a/packages/fuels/src/cli.ts +++ b/packages/fuels/src/cli.ts @@ -109,8 +109,3 @@ export const configureCli = () => { return program; }; - -export const run = async (argv: string[]) => { - const program = configureCli(); - return program.parseAsync(argv); -}; diff --git a/packages/fuels/src/cli/commands/build/buildSwayProgram.test.ts b/packages/fuels/src/cli/commands/build/buildSwayProgram.test.ts new file mode 100644 index 00000000000..f7581ba250e --- /dev/null +++ b/packages/fuels/src/cli/commands/build/buildSwayProgram.test.ts @@ -0,0 +1,82 @@ +import * as childProcessMod from 'child_process'; + +import { fuelsConfig } from '../../../../test/fixtures/fuels.config'; +import { mockLogger } from '../../../../test/utils/mockLogger'; +import * as findBinPathMod from '../../utils/findBinPath'; +import { configureLogging } from '../../utils/logger'; + +import { buildSwayProgram } from './buildSwayProgram'; + +vi.mock('child_process', async () => { + const mod = await vi.importActual('child_process'); + return { + __esModule: true, + ...mod, + }; +}); + +/** + * @group node + */ +describe('buildSwayPrograms', () => { + beforeEach(() => { + mockLogger(); + }); + + function mockAll(params: { shouldError: boolean } = { shouldError: false }) { + const findBinPath = vi.spyOn(findBinPathMod, 'findBinPath').mockReturnValue(''); + + const spawnMocks = { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + on: vi.fn((eventName: string, fn: (..._: any) => void) => { + const shouldExit = eventName === 'exit' && !params.shouldError; + const shouldError = eventName === 'error' && params.shouldError; + if (shouldExit || shouldError) { + setTimeout(fn, 10); + } + }), + stderr: { + pipe: vi.fn(), + }, + stdout: { + pipe: vi.fn(), + }, + } as unknown as childProcessMod.ChildProcessWithoutNullStreams; + + const spawn = vi.spyOn(childProcessMod, 'spawn').mockReturnValue(spawnMocks); + + return { + spawn, + spawnMocks, + findBinPath, + }; + } + + test('should pipe stdout', async () => { + const { spawn, spawnMocks } = mockAll(); + + vi.spyOn(process.stdout, 'write').mockReturnValue(true); + configureLogging({ isLoggingEnabled: true, isDebugEnabled: false }); + + await buildSwayProgram(fuelsConfig, '/any/workspace/path'); + + expect(spawn).toHaveBeenCalledTimes(1); + expect(spawnMocks.stderr.pipe).toHaveBeenCalledTimes(1); + expect(spawnMocks.stdout.pipe).toHaveBeenCalledTimes(0); + }); + + test('should pipe stdout and stderr', async () => { + const { spawn, spawnMocks } = mockAll(); + + vi.spyOn(process.stderr, 'write').mockReturnValue(true); + vi.spyOn(process.stdout, 'write').mockReturnValue(true); + configureLogging({ isLoggingEnabled: true, isDebugEnabled: true }); + + await buildSwayProgram(fuelsConfig, '/any/workspace/path'); + + expect(spawn).toHaveBeenCalledTimes(1); + expect(spawnMocks.stderr.pipe).toHaveBeenCalledTimes(1); + expect(spawnMocks.stdout.pipe).toHaveBeenCalledTimes(1); + expect(spawnMocks.on).toHaveBeenCalledTimes(2); + }); +}); diff --git a/packages/fuels/src/cli/commands/build/buildSwayProgram.ts b/packages/fuels/src/cli/commands/build/buildSwayProgram.ts new file mode 100644 index 00000000000..73fdba7b83a --- /dev/null +++ b/packages/fuels/src/cli/commands/build/buildSwayProgram.ts @@ -0,0 +1,32 @@ +import { spawn } from 'child_process'; + +import type { FuelsConfig } from '../../types'; +import { findBinPath } from '../../utils/findBinPath'; +import { debug, loggingConfig } from '../../utils/logger'; + +import { onForcExit, onForcError } from './forcHandlers'; + +export const buildSwayProgram = async (config: FuelsConfig, path: string) => { + debug('Building Sway program', path); + + return new Promise((resolve, reject) => { + const builtInForcPath = findBinPath('fuels-forc'); + + const command = config.useBuiltinForc ? builtInForcPath : 'forc'; + const forc = spawn(command, ['build', '-p', path], { stdio: 'pipe' }); + + if (loggingConfig.isLoggingEnabled) { + forc.stderr?.pipe(process.stderr); + } + + if (loggingConfig.isDebugEnabled) { + forc.stdout?.pipe(process.stdout); + } + + const onExit = onForcExit(resolve, reject); + const onError = onForcError(reject); + + forc.on('exit', onExit); + forc.on('error', onError); + }); +}; diff --git a/packages/fuels/src/cli/commands/build/buildSwayPrograms.test.ts b/packages/fuels/src/cli/commands/build/buildSwayPrograms.test.ts index 61dd5f78ab9..9b1ca757485 100644 --- a/packages/fuels/src/cli/commands/build/buildSwayPrograms.test.ts +++ b/packages/fuels/src/cli/commands/build/buildSwayPrograms.test.ts @@ -1,57 +1,21 @@ -import * as childProcessMod from 'child_process'; - -import { fuelsConfig } from '../../../../test/fixtures/config/fuels.config'; +import { fuelsConfig } from '../../../../test/fixtures/fuels.config'; import { mockLogger } from '../../../../test/utils/mockLogger'; -import { resetDiskAndMocks } from '../../../../test/utils/resetDiskAndMocks'; -import { workspaceDir } from '../../../../test/utils/runCommands'; -import { configureLogging } from '../../utils/logger'; - -import * as buildSwayProgramsMod from './buildSwayPrograms'; -jest.mock('child_process', () => ({ - __esModule: true, - ...jest.requireActual('child_process'), -})); +import * as buildSwayProgramMod from './buildSwayProgram'; +import { buildSwayPrograms } from './buildSwayPrograms'; +/** + * @group node + */ describe('buildSwayPrograms', () => { - const { onForcExit, onForcError } = buildSwayProgramsMod; - - beforeEach(mockLogger); - afterEach(resetDiskAndMocks); - - function mockSpawn(params: { shouldError: boolean } = { shouldError: false }) { - const spawnMocks = { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - on: jest.fn((eventName: string, fn: (..._: any) => void) => { - const shouldExit = eventName === 'exit' && !params.shouldError; - const shouldError = eventName === 'error' && params.shouldError; - if (shouldExit || shouldError) { - setTimeout(fn, 10); - } - }), - stderr: { - pipe: jest.fn(), - }, - stdout: { - pipe: jest.fn(), - }, - }; - - const spawn = jest - .spyOn(childProcessMod, 'spawn') - .mockImplementation( - (..._) => spawnMocks as unknown as childProcessMod.ChildProcessWithoutNullStreams - ); - - return { - spawn, - spawnMocks, - }; - } + beforeEach(() => { + vi.resetAllMocks(); + mockLogger(); + }); function mockBuildSwayProgram() { - const buildSwayProgram = jest - .spyOn(buildSwayProgramsMod, 'buildSwayProgram') + const buildSwayProgram = vi + .spyOn(buildSwayProgramMod, 'buildSwayProgram') .mockReturnValue(Promise.resolve()); return { @@ -59,18 +23,15 @@ describe('buildSwayPrograms', () => { }; } - function customConfig(workspace: undefined | string) { - return { - ...structuredClone(fuelsConfig), - workspace, - }; - } - test('building Sway programs using workspace', async () => { - const config = customConfig(workspaceDir); const { buildSwayProgram } = mockBuildSwayProgram(); - await buildSwayProgramsMod.buildSwayPrograms(config); + const config = { + ...structuredClone(fuelsConfig), + workspace: '/any/workspace/path', + }; + + await buildSwayPrograms(config); expect(buildSwayProgram).toHaveBeenCalledTimes(1); expect(buildSwayProgram).toHaveBeenCalledWith(config, config.workspace); @@ -78,68 +39,13 @@ describe('buildSwayPrograms', () => { test('building Sway programs using individual configs', async () => { const { buildSwayProgram } = mockBuildSwayProgram(); - const config = customConfig(undefined); - await buildSwayProgramsMod.buildSwayPrograms(config); + await buildSwayPrograms(fuelsConfig); expect(buildSwayProgram).toHaveBeenCalledTimes(4); - expect(buildSwayProgram).toHaveBeenCalledWith(config, config.contracts[0]); - expect(buildSwayProgram).toHaveBeenCalledWith(config, config.contracts[1]); - expect(buildSwayProgram).toHaveBeenCalledWith(config, config.scripts[0]); - expect(buildSwayProgram).toHaveBeenCalledWith(config, config.predicates[0]); - }); - - test('should pipe stdout', async () => { - const config = customConfig(workspaceDir); - const { spawn, spawnMocks } = mockSpawn(); - - jest.spyOn(process.stdout, 'write').mockImplementation(); - configureLogging({ isLoggingEnabled: true, isDebugEnabled: false }); - - await buildSwayProgramsMod.buildSwayProgram(config, config.workspace); - - expect(spawn).toHaveBeenCalledTimes(1); - expect(spawnMocks.stderr.pipe).toHaveBeenCalledTimes(1); - expect(spawnMocks.stdout.pipe).toHaveBeenCalledTimes(0); - }); - - test('should pipe stdout and stderr', async () => { - const config = customConfig(workspaceDir); - const { spawn, spawnMocks } = mockSpawn(); - - jest.spyOn(process.stderr, 'write').mockImplementation(); - jest.spyOn(process.stdout, 'write').mockImplementation(); - configureLogging({ isLoggingEnabled: true, isDebugEnabled: true }); - - await buildSwayProgramsMod.buildSwayProgram(config, config.workspace); - - expect(spawn).toHaveBeenCalledTimes(1); - expect(spawnMocks.stderr.pipe).toHaveBeenCalledTimes(1); - expect(spawnMocks.stdout.pipe).toHaveBeenCalledTimes(1); - expect(spawnMocks.on).toHaveBeenCalledTimes(2); - }); - - test('should resolve on successful exit', () => { - const resolve = jest.fn(); - const reject = jest.fn((_reason?: number | Error) => {}); - onForcExit(resolve, reject)(null); - expect(reject).toHaveBeenCalledTimes(0); - expect(resolve).toHaveBeenCalledTimes(1); - }); - - test('should reject on failed exit', () => { - const resolve = jest.fn(); - const reject = jest.fn((_reason?: number | Error) => {}); - onForcExit(resolve, reject)(1); - expect(reject).toHaveBeenCalledTimes(1); - expect(resolve).toHaveBeenCalledTimes(0); - }); - - test('should reject on error', () => { - const reject = jest.fn(); - const { error } = mockLogger(); - onForcError(reject)(new Error()); - expect(reject).toHaveBeenCalledTimes(1); - expect(error).toHaveBeenCalledTimes(1); + expect(buildSwayProgram).toHaveBeenCalledWith(fuelsConfig, fuelsConfig.contracts[0]); + expect(buildSwayProgram).toHaveBeenCalledWith(fuelsConfig, fuelsConfig.contracts[1]); + expect(buildSwayProgram).toHaveBeenCalledWith(fuelsConfig, fuelsConfig.scripts[0]); + expect(buildSwayProgram).toHaveBeenCalledWith(fuelsConfig, fuelsConfig.predicates[0]); }); }); diff --git a/packages/fuels/src/cli/commands/build/buildSwayPrograms.ts b/packages/fuels/src/cli/commands/build/buildSwayPrograms.ts index 71270893cfd..57cf9957dd5 100644 --- a/packages/fuels/src/cli/commands/build/buildSwayPrograms.ts +++ b/packages/fuels/src/cli/commands/build/buildSwayPrograms.ts @@ -1,52 +1,8 @@ -import { spawn } from 'child_process'; - import type { FuelsConfig } from '../../types'; -import { findBinPath } from '../../utils/findBinPath'; import { getBinarySource } from '../../utils/getBinarySource'; -import { debug, error, log, loggingConfig } from '../../utils/logger'; - -type OnResultFn = () => void; -type OnErrorFn = (reason?: number | Error) => void; - -export const onForcExit = - (onResultFn: OnResultFn, onErrorFn: OnErrorFn) => (code: number | null) => { - if (code) { - onErrorFn(code); - // process.exit()? - } else { - onResultFn(); - } - }; - -export const onForcError = (onError: OnErrorFn) => (err: Error) => { - error(err); - onError(err); -}; - -export const buildSwayProgram = async (config: FuelsConfig, path: string) => { - debug('Building Sway program', path); - - return new Promise((resolve, reject) => { - const builtInForcPath = findBinPath('fuels-forc'); - - const command = config.useBuiltinForc ? builtInForcPath : 'forc'; - const forc = spawn(command, ['build', '-p', path], { stdio: 'pipe' }); - - if (loggingConfig.isLoggingEnabled) { - forc.stderr?.pipe(process.stderr); - } - - if (loggingConfig.isDebugEnabled) { - forc.stdout?.pipe(process.stdout); - } - - const onExit = onForcExit(resolve, reject); - const onError = onForcError(reject); +import { log } from '../../utils/logger'; - forc.on('exit', onExit); - forc.on('error', onError); - }); -}; +import { buildSwayProgram } from './buildSwayProgram'; export async function buildSwayPrograms(config: FuelsConfig) { log(`Building Sway programs using ${getBinarySource(config.useBuiltinFuelCore)} 'forc' binary`); diff --git a/packages/fuels/src/cli/commands/build/forcHandlers.test.ts b/packages/fuels/src/cli/commands/build/forcHandlers.test.ts new file mode 100644 index 00000000000..e104cdb26a6 --- /dev/null +++ b/packages/fuels/src/cli/commands/build/forcHandlers.test.ts @@ -0,0 +1,32 @@ +import { mockLogger } from '../../../../test/utils/mockLogger'; + +import { onForcExit, onForcError } from './forcHandlers'; + +/** + * @group node + */ +describe('buildSwayPrograms', () => { + test('should resolve on successful exit', () => { + const resolve = vi.fn(); + const reject = vi.fn((_reason?: number | Error) => {}); + onForcExit(resolve, reject)(null); + expect(reject).toHaveBeenCalledTimes(0); + expect(resolve).toHaveBeenCalledTimes(1); + }); + + test('should reject on failed exit', () => { + const resolve = vi.fn(); + const reject = vi.fn((_reason?: number | Error) => {}); + onForcExit(resolve, reject)(1); + expect(reject).toHaveBeenCalledTimes(1); + expect(resolve).toHaveBeenCalledTimes(0); + }); + + test('should reject on error', () => { + const reject = vi.fn(); + const { error } = mockLogger(); + onForcError(reject)(new Error()); + expect(reject).toHaveBeenCalledTimes(1); + expect(error).toHaveBeenCalledTimes(1); + }); +}); diff --git a/packages/fuels/src/cli/commands/build/forcHandlers.ts b/packages/fuels/src/cli/commands/build/forcHandlers.ts new file mode 100644 index 00000000000..295005077a1 --- /dev/null +++ b/packages/fuels/src/cli/commands/build/forcHandlers.ts @@ -0,0 +1,19 @@ +import { error } from '../../utils/logger'; + +type OnResultFn = () => void; +type OnErrorFn = (reason?: number | Error) => void; + +export const onForcExit = + (onResultFn: OnResultFn, onErrorFn: OnErrorFn) => (code: number | null) => { + if (code) { + onErrorFn(code); + // process.exit()? + } else { + onResultFn(); + } + }; + +export const onForcError = (onError: OnErrorFn) => (err: Error) => { + error(err); + onError(err); +}; diff --git a/packages/fuels/src/cli/commands/build/index.ts b/packages/fuels/src/cli/commands/build/index.ts index 0a35fe65afb..48f1738d67b 100644 --- a/packages/fuels/src/cli/commands/build/index.ts +++ b/packages/fuels/src/cli/commands/build/index.ts @@ -3,7 +3,7 @@ import { type Command } from 'commander'; import type { FuelsConfig } from '../../types'; import { log } from '../../utils/logger'; import { deploy } from '../deploy'; -import { autoStartFuelCore } from '../dev/startFuelCore'; +import { autoStartFuelCore } from '../dev/autoStartFuelCore'; import { buildSwayPrograms } from './buildSwayPrograms'; import { generateTypes } from './generateTypes'; diff --git a/packages/fuels/src/cli/commands/deploy/createWallet.test.ts b/packages/fuels/src/cli/commands/deploy/createWallet.test.ts index c7650bb83bd..4722fa53f97 100644 --- a/packages/fuels/src/cli/commands/deploy/createWallet.test.ts +++ b/packages/fuels/src/cli/commands/deploy/createWallet.test.ts @@ -3,6 +3,9 @@ import { FUEL_NETWORK_URL } from '@fuel-ts/wallet/configs'; import { createWallet } from './createWallet'; +/** + * @group node + */ describe('createWallet', () => { const privateKey = '0xa449b1ffee0e2205fa924c6740cc48b3b473aa28587df6dab12abc245d1f5298'; diff --git a/packages/fuels/src/cli/commands/deploy/getDeployConfig.test.ts b/packages/fuels/src/cli/commands/deploy/getDeployConfig.test.ts index c2e674b095a..35d6407d789 100644 --- a/packages/fuels/src/cli/commands/deploy/getDeployConfig.test.ts +++ b/packages/fuels/src/cli/commands/deploy/getDeployConfig.test.ts @@ -1,5 +1,8 @@ import { getDeployConfig } from './getDeployConfig'; +/** + * @group node + */ describe('getDeployConfig', () => { test('deploy options as object', async () => { // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/fuels/src/cli/commands/dev/autoStartFuelCore.test.ts b/packages/fuels/src/cli/commands/dev/autoStartFuelCore.test.ts new file mode 100644 index 00000000000..b458e20c805 --- /dev/null +++ b/packages/fuels/src/cli/commands/dev/autoStartFuelCore.test.ts @@ -0,0 +1,39 @@ +import { fuelsConfig } from '../../../../test/fixtures/fuels.config'; + +import { autoStartFuelCore } from './autoStartFuelCore'; +import * as startFuelCoreMod from './startFuelCore'; + +/** + * @group node + */ +describe('autoStartFuelCore', () => { + function mockStartFuelCore() { + const startFuelCore = vi + .spyOn(startFuelCoreMod, 'startFuelCore') + .mockResolvedValue({} as unknown as startFuelCoreMod.FuelCoreNode); + + return { startFuelCore }; + } + + test('should auto start `fuel-core`', async () => { + const { startFuelCore } = mockStartFuelCore(); + + const config = structuredClone(fuelsConfig); + config.autoStartFuelCore = true; + + await autoStartFuelCore(config); + + expect(startFuelCore).toHaveBeenCalledTimes(1); + }); + + test('should not start `fuel-core`', async () => { + const { startFuelCore } = mockStartFuelCore(); + + const config = structuredClone(fuelsConfig); + config.autoStartFuelCore = false; + + await autoStartFuelCore(config); + + expect(startFuelCore).toHaveBeenCalledTimes(0); + }); +}); diff --git a/packages/fuels/src/cli/commands/dev/autoStartFuelCore.ts b/packages/fuels/src/cli/commands/dev/autoStartFuelCore.ts new file mode 100644 index 00000000000..7ed77ef67dd --- /dev/null +++ b/packages/fuels/src/cli/commands/dev/autoStartFuelCore.ts @@ -0,0 +1,19 @@ +import type { FuelsConfig } from '../../types'; + +import { defaultConsensusKey } from './defaultChainConfig'; +import type { FuelCoreNode } from './startFuelCore'; +import { startFuelCore } from './startFuelCore'; + +export const autoStartFuelCore = async (config: FuelsConfig) => { + let fuelCore: FuelCoreNode | undefined; + + if (config.autoStartFuelCore) { + fuelCore = await startFuelCore(config); + // eslint-disable-next-line no-param-reassign + config.providerUrl = fuelCore.providerUrl; + // eslint-disable-next-line no-param-reassign + config.privateKey = defaultConsensusKey; + } + + return fuelCore; +}; diff --git a/packages/fuels/src/cli/commands/dev/index.test.ts b/packages/fuels/src/cli/commands/dev/index.test.ts index 3c70994e844..48e18a0ae02 100644 --- a/packages/fuels/src/cli/commands/dev/index.test.ts +++ b/packages/fuels/src/cli/commands/dev/index.test.ts @@ -1,39 +1,52 @@ import { safeExec } from '@fuel-ts/errors/test-utils'; +import type { FSWatcher } from 'chokidar'; -import { fuelsConfig } from '../../../../test/fixtures/config/fuels.config'; +import { fuelsConfig } from '../../../../test/fixtures/fuels.config'; +import { mockStartFuelCore } from '../../../../test/utils/mockAutoStartFuelCore'; import { mockLogger } from '../../../../test/utils/mockLogger'; import * as loadConfigMod from '../../config/loadConfig'; import type { FuelsConfig } from '../../types'; +import * as buildMod from '../build'; +import * as deployMod from '../deploy'; import * as withConfigMod from '../withConfig'; -import * as indexMod from '.'; -import type { FuelCoreNode } from './startFuelCore'; - +// import * as indexMod from './index'; +import { + closeAllFileHandlers, + configFileChanged, + dev, + getConfigFilepathsToWatch, + workspaceFileChanged, +} from '.'; + +/** + * @group node + */ describe('dev', () => { - beforeEach(jest.restoreAllMocks); + beforeEach(() => { + vi.restoreAllMocks(); + }); function mockAll() { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const killChildProcess: any = jest.fn(); - const closeAllFileHandlers = jest.spyOn(indexMod, 'closeAllFileHandlers').mockImplementation(); - const fuelCore = { killChildProcess } as FuelCoreNode; - const onFailure = jest.fn(); + const { autoStartFuelCore, fuelCore, killChildProcess } = mockStartFuelCore(); + + const onFailure = vi.fn(); - const withConfigErrorHandler = jest + const withConfigErrorHandler = vi .spyOn(withConfigMod, 'withConfigErrorHandler') - .mockImplementation(); + .mockReturnValue(Promise.resolve()); - const loadConfig = jest + const loadConfig = vi .spyOn(loadConfigMod, 'loadConfig') .mockReturnValue(Promise.resolve(fuelsConfig)); - const dev = jest.spyOn(indexMod, 'dev').mockImplementation(() => { - throw new Error('The sky became purple'); - }); + const build = vi.spyOn(buildMod, 'build').mockResolvedValue(); + const deploy = vi.spyOn(deployMod, 'deploy').mockResolvedValue([]); return { - closeAllFileHandlers, - dev, + autoStartFuelCore, + build, + deploy, fuelCore, killChildProcess, loadConfig, @@ -42,31 +55,28 @@ describe('dev', () => { }; } - const { workspaceFileChanged } = indexMod; - test('workspaceFileChanged should log change and call `buildAndDeploy`', async () => { const { log } = mockLogger(); - - const buildAndDeploy = jest.spyOn(indexMod, 'buildAndDeploy').mockImplementation(); + const { build, deploy } = mockAll(); await workspaceFileChanged({ config: fuelsConfig, watchHandlers: [] })('event', 'some/path'); expect(log).toHaveBeenCalledTimes(1); - expect(buildAndDeploy).toHaveBeenCalledTimes(1); + expect(build).toHaveBeenCalledTimes(1); + expect(deploy).toHaveBeenCalledTimes(1); }); - test('dev should handle and log error from `buildAndDeploy`', async () => { - const err = new Error('something happened'); - + it('dev should handle and log error from `buildAndDeploy`', async () => { const { error } = mockLogger(); - jest.spyOn(indexMod, 'buildAndDeploy').mockImplementation(() => { + const err = new Error('something happened'); + vi.spyOn(buildMod, 'build').mockImplementation(() => { throw err; }); const configCopy: FuelsConfig = { ...fuelsConfig, autoStartFuelCore: false }; - const { result, error: safeError } = await safeExec(() => indexMod.dev(configCopy)); + const { result, error: safeError } = await safeExec(() => dev(configCopy)); expect(result).not.toBeTruthy(); expect(safeError).toEqual(err); @@ -76,35 +86,52 @@ describe('dev', () => { }); test('should call `close` on all file handlers', () => { - const close = jest.fn(); + const close = vi.fn(); // eslint-disable-next-line @typescript-eslint/no-explicit-any const handlers: any = [{ close }, { close }, { close }]; - indexMod.closeAllFileHandlers(handlers); + closeAllFileHandlers(handlers); expect(close).toHaveBeenCalledTimes(3); }); test('should restart everything when config file changes', async () => { - const { closeAllFileHandlers, dev, fuelCore, killChildProcess, loadConfig } = mockAll(); const { log } = mockLogger(); + const { + autoStartFuelCore, + build, + deploy, + fuelCore, + killChildProcess, + loadConfig, + withConfigErrorHandler, + } = mockAll(); const config = structuredClone(fuelsConfig); + const close = vi.fn(); + const watchHandlers = [{ close }, { close }] as unknown as FSWatcher[]; - await indexMod.configFileChanged({ config, fuelCore, watchHandlers: [] })('event', 'some/path'); + await configFileChanged({ config, fuelCore, watchHandlers })('event', 'some/path'); - expect(closeAllFileHandlers).toHaveBeenCalledTimes(1); - expect(killChildProcess).toHaveBeenCalledTimes(1); - expect(dev).toHaveBeenCalledTimes(1); + // configFileChanged() internals expect(log).toHaveBeenCalledTimes(1); + expect(close).toHaveBeenCalledTimes(2); + expect(killChildProcess).toHaveBeenCalledTimes(1); expect(loadConfig).toHaveBeenCalledTimes(1); + + // dev() internals + expect(autoStartFuelCore).toHaveBeenCalledTimes(1); + expect(build).toHaveBeenCalledTimes(1); + expect(deploy).toHaveBeenCalledTimes(1); + expect(withConfigErrorHandler).toHaveBeenCalledTimes(0); // never error }); test('should restart everything and handle errors', async () => { + const { log } = mockLogger(); const { - closeAllFileHandlers, - dev, + autoStartFuelCore, + deploy, fuelCore, killChildProcess, loadConfig, @@ -112,20 +139,27 @@ describe('dev', () => { withConfigErrorHandler, } = mockAll(); - const { log } = mockLogger(); + const err = new Error('something happened'); + const build = vi.spyOn(buildMod, 'build').mockImplementation(() => { + throw err; + }); const config = { onFailure, ...structuredClone(fuelsConfig) }; + const close = vi.fn(); + const watchHandlers = [{ close }, { close }] as unknown as FSWatcher[]; - await indexMod.configFileChanged({ config, fuelCore, watchHandlers: [] })('event', 'some/path'); + await configFileChanged({ config, fuelCore, watchHandlers })('event', 'some/path'); + // configFileChanged() internals expect(log).toHaveBeenCalledTimes(1); - - expect(closeAllFileHandlers).toHaveBeenCalledTimes(1); + expect(close).toHaveBeenCalledTimes(2); expect(killChildProcess).toHaveBeenCalledTimes(1); - expect(loadConfig).toHaveBeenCalledTimes(1); - expect(dev).toHaveBeenCalledTimes(1); + // dev() internals + expect(autoStartFuelCore).toHaveBeenCalledTimes(1); + expect(build).toHaveBeenCalledTimes(1); + expect(deploy).toHaveBeenCalledTimes(0); // never deploy expect(withConfigErrorHandler).toHaveBeenCalledTimes(1); }); @@ -133,9 +167,9 @@ describe('dev', () => { const config = structuredClone(fuelsConfig); config.chainConfig = undefined; - expect(indexMod.getConfigFilepathsToWatch(config)).toHaveLength(1); + expect(getConfigFilepathsToWatch(config)).toHaveLength(1); config.chainConfig = '/some/path/to/chainConfig.json'; - expect(indexMod.getConfigFilepathsToWatch(config)).toHaveLength(2); + expect(getConfigFilepathsToWatch(config)).toHaveLength(2); }); }); diff --git a/packages/fuels/src/cli/commands/dev/index.ts b/packages/fuels/src/cli/commands/dev/index.ts index b062b93d064..dc791123246 100644 --- a/packages/fuels/src/cli/commands/dev/index.ts +++ b/packages/fuels/src/cli/commands/dev/index.ts @@ -9,8 +9,8 @@ import { build } from '../build'; import { deploy } from '../deploy'; import { withConfigErrorHandler } from '../withConfig'; +import { autoStartFuelCore } from './autoStartFuelCore'; import type { FuelCoreNode } from './startFuelCore'; -import { autoStartFuelCore } from './startFuelCore'; export const closeAllFileHandlers = (handlers: FSWatcher[]) => { handlers.forEach((h) => h.close()); diff --git a/packages/fuels/src/cli/commands/dev/startFuelCore.test.ts b/packages/fuels/src/cli/commands/dev/startFuelCore.test.ts index c1188213cda..a715c511251 100644 --- a/packages/fuels/src/cli/commands/dev/startFuelCore.test.ts +++ b/packages/fuels/src/cli/commands/dev/startFuelCore.test.ts @@ -1,9 +1,10 @@ import { safeExec } from '@fuel-ts/errors/test-utils'; import * as childProcessMod from 'child_process'; +import { rmSync, existsSync } from 'fs'; +import { join } from 'path'; -import { fuelsConfig } from '../../../../test/fixtures/config/fuels.config'; +import { fuelsConfig } from '../../../../test/fixtures/fuels.config'; import { mockLogger } from '../../../../test/utils/mockLogger'; -import { resetDiskAndMocks } from '../../../../test/utils/resetDiskAndMocks'; import type { FuelsConfig } from '../../types'; import { configureLogging, loggingConfig } from '../../utils/logger'; @@ -11,17 +12,31 @@ import { killNode, startFuelCore } from './startFuelCore'; type ChildProcessWithoutNullStreams = childProcessMod.ChildProcessWithoutNullStreams; -jest.mock('child_process', () => ({ - __esModule: true, - ...jest.requireActual('child_process'), -})); +vi.mock('child_process', async () => { + const mod = await vi.importActual('child_process'); + return { + __esModule: true, + ...mod, + }; +}); +/** + * @group node + */ describe('startFuelCore', () => { const loggingConfigBkp = loggingConfig; afterEach(() => { configureLogging(loggingConfigBkp); - resetDiskAndMocks(); + }); + + afterEach(() => { + vi.restoreAllMocks(); + + const chainConfig = join(fuelsConfig.basePath, '.fuels', 'chainConfig.json'); + if (existsSync(chainConfig)) { + rmSync(chainConfig); + } }); /** @@ -47,19 +62,19 @@ describe('startFuelCore', () => { }; const innerMocks = { - on: jest.fn(), + on: vi.fn(), stderr: { - pipe: jest.fn(), - on: jest.fn(stderrOn), + pipe: vi.fn(), + on: vi.fn(stderrOn), }, stdout: { - pipe: jest.fn(), + pipe: vi.fn(), }, }; - const spawn = jest + const spawn = vi .spyOn(childProcessMod, 'spawn') - .mockImplementation((..._) => innerMocks as unknown as ChildProcessWithoutNullStreams); + .mockReturnValue(innerMocks as unknown as ChildProcessWithoutNullStreams); return { spawn, innerMocks }; } @@ -82,8 +97,6 @@ describe('startFuelCore', () => { expect(core.port).toBeGreaterThanOrEqual(4000); expect(core.providerUrl).toMatch(/http:\/\/127\.0\.0\.1:([0-9]+)\/graphql/); expect(core.killChildProcess).toBeTruthy(); - - core.killChildProcess(); }); test('should start `fuel-core` node using system binary', async () => { @@ -123,7 +136,7 @@ describe('startFuelCore', () => { test('should pipe stdout', async () => { mockLogger(); - jest.spyOn(process.stdout, 'write').mockImplementation(); + vi.spyOn(process.stdout, 'write').mockReturnValue(true); configureLogging({ isDebugEnabled: false, isLoggingEnabled: true }); @@ -138,8 +151,8 @@ describe('startFuelCore', () => { test('should pipe stdout and stderr', async () => { mockLogger(); - jest.spyOn(process.stderr, 'write').mockImplementation(); - jest.spyOn(process.stdout, 'write').mockImplementation(); + vi.spyOn(process.stderr, 'write').mockReturnValue(true); + vi.spyOn(process.stdout, 'write').mockReturnValue(true); configureLogging({ isDebugEnabled: true, isLoggingEnabled: true }); @@ -151,8 +164,21 @@ describe('startFuelCore', () => { expect(innerMocks.stdout.pipe).toHaveBeenCalledTimes(1); }); + test('should pipe nothing', async () => { + mockLogger(); + + configureLogging({ isDebugEnabled: false, isLoggingEnabled: false }); + + const { innerMocks } = mockSpawn(); + + await startFuelCore(fuelsConfig); + + expect(innerMocks.stderr.pipe).toHaveBeenCalledTimes(0); + expect(innerMocks.stdout.pipe).toHaveBeenCalledTimes(0); + }); + test('should kill process only if PID exists and node is alive', () => { - const killFn = jest.fn(); + const killFn = vi.fn(); const state = { isDead: true }; // should not kill diff --git a/packages/fuels/src/cli/commands/dev/startFuelCore.ts b/packages/fuels/src/cli/commands/dev/startFuelCore.ts index ac12446876a..d73b27bc69b 100644 --- a/packages/fuels/src/cli/commands/dev/startFuelCore.ts +++ b/packages/fuels/src/cli/commands/dev/startFuelCore.ts @@ -114,17 +114,3 @@ export const startFuelCore = async (config: FuelsConfig): Promise core.on('error', reject); }); }; - -export const autoStartFuelCore = async (config: FuelsConfig) => { - let fuelCore: FuelCoreNode | undefined; - - if (config.autoStartFuelCore) { - fuelCore = await startFuelCore(config); - // eslint-disable-next-line no-param-reassign - config.providerUrl = fuelCore.providerUrl; - // eslint-disable-next-line no-param-reassign - config.privateKey = defaultConsensusKey; - } - - return fuelCore; -}; diff --git a/packages/fuels/src/cli/commands/init/index.ts b/packages/fuels/src/cli/commands/init/index.ts index 33fbb6a502e..934f4c1391a 100644 --- a/packages/fuels/src/cli/commands/init/index.ts +++ b/packages/fuels/src/cli/commands/init/index.ts @@ -40,26 +40,26 @@ export function init(program: Command) { // mimicking commander property validation process.stdout.write(`error: required option '-w, --workspace ' not specified\r`); process.exit(1); - } - - const fuelsConfigPath = join(path, 'fuels.config.ts'); + } else { + const fuelsConfigPath = join(path, 'fuels.config.ts'); - if (existsSync(fuelsConfigPath)) { - throw new Error(`Config file exists, aborting.\n ${fuelsConfigPath}`); - } + if (existsSync(fuelsConfigPath)) { + throw new Error(`Config file exists, aborting.\n ${fuelsConfigPath}`); + } - const renderedConfig = renderFuelsConfigTemplate({ - workspace, - contracts, - scripts, - predicates, - output, - useBuiltinForc, - useBuiltinFuelCore, - autoStartFuelCore, - }); + const renderedConfig = renderFuelsConfigTemplate({ + workspace, + contracts, + scripts, + predicates, + output, + useBuiltinForc, + useBuiltinFuelCore, + autoStartFuelCore, + }); - writeFileSync(fuelsConfigPath, renderedConfig); + writeFileSync(fuelsConfigPath, renderedConfig); - log(`Config file created at:\n\n ${fuelsConfigPath}\n`); + log(`Config file created at:\n\n ${fuelsConfigPath}\n`); + } } diff --git a/packages/fuels/src/cli/commands/init/shouldUseBuiltinForc.test.ts b/packages/fuels/src/cli/commands/init/shouldUseBuiltinForc.test.ts index 9efc9c8f179..560c5597616 100644 --- a/packages/fuels/src/cli/commands/init/shouldUseBuiltinForc.test.ts +++ b/packages/fuels/src/cli/commands/init/shouldUseBuiltinForc.test.ts @@ -4,21 +4,32 @@ import { mockLogger } from '../../../../test/utils/mockLogger'; import { shouldUseBuiltinFuelCore } from './shouldUseBuiltinFuelCore'; -jest.mock('@fuel-ts/versions/cli', () => ({ - __esModule: true, - ...jest.requireActual('@fuel-ts/versions/cli'), -})); +vi.mock('@fuel-ts/versions/cli', async () => { + const mod = await vi.importActual('@fuel-ts/versions/cli'); + return { + __esModule: true, + ...mod, + }; +}); -jest.mock('prompts', () => ({ - __esModule: true, - ...jest.requireActual('prompts'), -})); +vi.mock('prompts', async () => { + const mod = await vi.importActual('prompts'); + return { + __esModule: true, + ...mod, + }; +}); +/** + * @group node + */ describe('shouldUseBuiltinFuelCore', () => { - beforeEach(jest.restoreAllMocks); + afterEach(() => { + vi.restoreAllMocks(); + }); function mockAll(returns: { getSystemFuelCore: string | null }) { - const getSystemFuelCore = jest + const getSystemFuelCore = vi .spyOn(getSystemFuelCoreMod, 'getSystemFuelCore') .mockReturnValue({ error: null, systemFuelCoreVersion: returns.getSystemFuelCore }); diff --git a/packages/fuels/src/cli/commands/init/shouldUseBuiltinFuelCore.test.ts b/packages/fuels/src/cli/commands/init/shouldUseBuiltinFuelCore.test.ts index 7449a4087af..04d44fe6629 100644 --- a/packages/fuels/src/cli/commands/init/shouldUseBuiltinFuelCore.test.ts +++ b/packages/fuels/src/cli/commands/init/shouldUseBuiltinFuelCore.test.ts @@ -4,16 +4,24 @@ import { mockLogger } from '../../../../test/utils/mockLogger'; import { shouldUseBuiltinForc } from './shouldUseBuiltinForc'; -jest.mock('@fuel-ts/versions/cli', () => ({ - __esModule: true, - ...jest.requireActual('@fuel-ts/versions/cli'), -})); +vi.mock('@fuel-ts/versions/cli', async () => { + const mod = await vi.importActual('@fuel-ts/versions/cli'); + return { + __esModule: true, + ...mod, + }; +}); +/** + * @group node + */ describe('shouldUseBuiltinForc', () => { - beforeEach(jest.restoreAllMocks); + beforeEach(() => { + vi.restoreAllMocks(); + }); function mockAll(returns: { getSystemForc: string | null }) { - const getSystemForc = jest + const getSystemForc = vi .spyOn(getSystemForcMod, 'getSystemForc') .mockReturnValue({ error: null, systemForcVersion: returns.getSystemForc }); diff --git a/packages/fuels/src/cli/commands/withConfig.test.ts b/packages/fuels/src/cli/commands/withConfig.test.ts index 87e63a5de0e..27f47028ac2 100644 --- a/packages/fuels/src/cli/commands/withConfig.test.ts +++ b/packages/fuels/src/cli/commands/withConfig.test.ts @@ -1,21 +1,28 @@ import { program } from 'commander'; -import { fuelsConfig } from '../../../test/fixtures/config/fuels.config'; +import { fuelsConfig } from '../../../test/fixtures/fuels.config'; import { mockLogger } from '../../../test/utils/mockLogger'; -import { resetDiskAndMocks } from '../../../test/utils/resetDiskAndMocks'; import * as loadConfigMod from '../config/loadConfig'; import type { FuelsConfig } from '../types'; import { Commands } from '../types'; import { withConfig } from './withConfig'; +/** + * @group node + */ describe('withConfig', () => { - beforeEach(mockLogger); - afterEach(resetDiskAndMocks); + beforeEach(() => { + mockLogger(); + }); + + beforeEach(() => { + vi.restoreAllMocks(); + }); function mockAll(params?: { shouldErrorOnDeploy?: boolean; shouldErrorOnLoadConfig?: boolean }) { - const onSuccess = jest.fn(); - const onFailure = jest.fn(); + const onSuccess = vi.fn(); + const onFailure = vi.fn(); const copyConfig: FuelsConfig = { ...structuredClone(fuelsConfig), @@ -29,14 +36,14 @@ describe('withConfig', () => { .command(Commands.deploy) .option('-p, --path ', 'Path to project root', configPath); - const loadConfig = jest.spyOn(loadConfigMod, 'loadConfig').mockImplementation((..._) => { + const loadConfig = vi.spyOn(loadConfigMod, 'loadConfig').mockImplementation(() => { if (params?.shouldErrorOnLoadConfig) { throw new Error('Something happened'); } return Promise.resolve(copyConfig); }); - const deploy = jest.fn(() => { + const deploy = vi.fn(() => { if (params?.shouldErrorOnDeploy) { throw new Error('Something happened'); } diff --git a/packages/fuels/src/cli/config/forcUtils.test.ts b/packages/fuels/src/cli/config/forcUtils.test.ts index a35b8d0c5f0..1cbc972d949 100644 --- a/packages/fuels/src/cli/config/forcUtils.test.ts +++ b/packages/fuels/src/cli/config/forcUtils.test.ts @@ -2,6 +2,9 @@ import { safeExec } from '@fuel-ts/errors/test-utils'; import { readForcToml } from './forcUtils'; +/** + * @group node + */ describe('forcUtils', () => { test('should throw if Toml file is not found', async () => { const tomlPath = '/non/existent/path'; diff --git a/packages/fuels/src/cli/config/loadConfig.test.ts b/packages/fuels/src/cli/config/loadConfig.test.ts index e7c358b25b9..6fbc5dc3e7b 100644 --- a/packages/fuels/src/cli/config/loadConfig.test.ts +++ b/packages/fuels/src/cli/config/loadConfig.test.ts @@ -1,14 +1,11 @@ import { safeExec } from '@fuel-ts/errors/test-utils'; import { readFileSync } from 'fs'; -import { resetDiskAndMocks } from '../../../test/utils/resetDiskAndMocks'; import { runInit, - fixturesDir, - fuelsConfigPath, - initFlagsUseBuiltinBinaries, - generatedDir, - initFlagsWorkspace, + bootstrapProject, + resetConfigAndMocks, + resetDiskAndMocks, } from '../../../test/utils/runCommands'; import * as shouldUseBuiltinForcMod from '../commands/init/shouldUseBuiltinForc'; import * as shouldUseBuiltinFuelCoreMod from '../commands/init/shouldUseBuiltinFuelCore'; @@ -16,8 +13,19 @@ import type { FuelsConfig } from '../types'; import { loadConfig } from './loadConfig'; +/** + * @group node + */ describe('loadConfig', () => { - beforeEach(resetDiskAndMocks); + const paths = bootstrapProject(__filename); + + afterEach(() => { + resetConfigAndMocks(paths.fuelsConfigPath); + }); + + afterAll(() => { + resetDiskAndMocks(paths.root); + }); test('should throw if config path is not found', async () => { const cwd = '/non/existent/path'; @@ -28,29 +36,31 @@ describe('loadConfig', () => { }); test(`should auto start fuel core explicitly`, async () => { - await runInit( - [initFlagsWorkspace, initFlagsUseBuiltinBinaries, '--auto-start-fuel-core'].flat() - ); - - const config = await loadConfig(fixturesDir); - const fuelsContents = readFileSync(fuelsConfigPath, 'utf-8'); - - expect(fuelsContents).toMatch(` autoStartFuelCore: true,`); // not comment + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + useBuiltinBinaries: true, + autoStartFuelCore: true, + }); + + const fuelsContents = readFileSync(paths.fuelsConfigPath, 'utf-8'); + const config = await loadConfig(paths.root); + + expect(fuelsContents).toMatch(` autoStartFuelCore: true,`); // not a comment expect(config.autoStartFuelCore).toEqual(true); }); test(`should resolve individual paths when not using workspaces`, async () => { - await runInit( - [ - initFlagsUseBuiltinBinaries, - ['--contracts', 'project/contracts/*'], - ['--scripts', 'project/scripts/*'], - ['--predicates', 'project/predicates/*'], - ['-o', generatedDir], - ].flat() - ); - - const config = await loadConfig(fixturesDir); + await runInit({ + root: paths.root, + output: paths.outputDir, + contracts: 'workspace/contracts/*', + scripts: 'workspace/scripts/*', + predicates: 'workspace/predicates/*', + }); + + const config = await loadConfig(paths.root); expect(config.contracts.length).toEqual(2); expect(config.scripts.length).toEqual(1); @@ -58,15 +68,13 @@ describe('loadConfig', () => { }); test(`should resolve only contracts`, async () => { - await runInit( - [ - initFlagsUseBuiltinBinaries, - ['--contracts', 'project/contracts/*'], - ['-o', generatedDir], - ].flat() - ); + await runInit({ + root: paths.root, + output: paths.outputDir, + contracts: 'workspace/contracts/*', + }); - const config = await loadConfig(fixturesDir); + const config = await loadConfig(paths.root); expect(config.contracts.length).toEqual(2); expect(config.scripts.length).toEqual(0); @@ -74,11 +82,13 @@ describe('loadConfig', () => { }); test(`should resolve only scripts`, async () => { - await runInit( - [initFlagsUseBuiltinBinaries, ['--scripts', 'project/scripts/*'], ['-o', generatedDir]].flat() - ); + await runInit({ + root: paths.root, + output: paths.outputDir, + scripts: 'workspace/scripts/*', + }); - const config = await loadConfig(fixturesDir); + const config = await loadConfig(paths.root); expect(config.contracts.length).toEqual(0); expect(config.scripts.length).toEqual(1); @@ -86,15 +96,13 @@ describe('loadConfig', () => { }); test(`should resolve only predicates`, async () => { - await runInit( - [ - initFlagsUseBuiltinBinaries, - ['--predicates', 'project/predicates/*'], - ['-o', generatedDir], - ].flat() - ); + await runInit({ + root: paths.root, + output: paths.outputDir, + predicates: 'workspace/predicates/*', + }); - const config = await loadConfig(fixturesDir); + const config = await loadConfig(paths.root); expect(config.contracts.length).toEqual(0); expect(config.scripts.length).toEqual(0); @@ -102,16 +110,14 @@ describe('loadConfig', () => { }); test(`should warn about misconfigured workspace`, async () => { - await runInit( - [ - initFlagsUseBuiltinBinaries, - // passing contract path in workspace config option - ['--workspace', 'project/contracts/bar'], - ['--output', generatedDir], - ].flat() - ); + await runInit({ + root: paths.root, + output: paths.outputDir, + // passing contract path in workspace config option + workspace: 'workspace/contracts/bar', + }); - const { error, result } = await safeExec>(() => loadConfig(fixturesDir)); + const { error, result } = await safeExec>(() => loadConfig(paths.root)); expect(result).not.toBeTruthy(); expect(error?.message).toMatch(/forc workspace not detected/i); @@ -119,17 +125,21 @@ describe('loadConfig', () => { }); test(`should smart-set built-in flags`, async () => { - await runInit(initFlagsWorkspace); + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); - const shouldUseBuiltinForc = jest + const shouldUseBuiltinForc = vi .spyOn(shouldUseBuiltinForcMod, 'shouldUseBuiltinForc') .mockReturnValue(false); - const shouldUseBuiltinFuelCore = jest + const shouldUseBuiltinFuelCore = vi .spyOn(shouldUseBuiltinFuelCoreMod, 'shouldUseBuiltinFuelCore') .mockReturnValue(true); - const config = await loadConfig(fixturesDir); + const config = await loadConfig(paths.root); expect(config.useBuiltinForc).toEqual(false); expect(config.useBuiltinFuelCore).toEqual(true); diff --git a/packages/fuels/src/cli/index.test.ts b/packages/fuels/src/cli/index.test.ts index dc6385cca43..ccf317bc557 100644 --- a/packages/fuels/src/cli/index.test.ts +++ b/packages/fuels/src/cli/index.test.ts @@ -1,4 +1,4 @@ -import { fuelsConfig } from '../../test/fixtures/config/fuels.config'; +import { fuelsConfig } from '../../test/fixtures/fuels.config'; import type { CommandEvent, @@ -11,6 +11,9 @@ import type { } from './index'; import { createConfig } from './index'; +/** + * @group node + */ describe('cli/index.ts', () => { test('should create config via cli index', () => { expect(createConfig(fuelsConfig)).toEqual(fuelsConfig); diff --git a/packages/fuels/src/cli/utils/logger.test.ts b/packages/fuels/src/cli/utils/logger.test.ts index 35553d587b4..e38ae184f92 100644 --- a/packages/fuels/src/cli/utils/logger.test.ts +++ b/packages/fuels/src/cli/utils/logger.test.ts @@ -2,6 +2,9 @@ import { resetDiskAndMocks } from '../../../test/utils/resetDiskAndMocks'; import * as loggerMod from './logger'; +/** + * @group node + */ describe('logger', () => { const { configureLogging, loggingConfig } = loggerMod; @@ -16,8 +19,8 @@ describe('logger', () => { afterAll(reset); function mockStdIO() { - const err = jest.spyOn(process.stderr, 'write').mockImplementation(); - const out = jest.spyOn(process.stdout, 'write').mockImplementation(); + const err = vi.spyOn(process.stderr, 'write').mockReturnValue(true); + const out = vi.spyOn(process.stdout, 'write').mockReturnValue(true); return { err, out }; } diff --git a/packages/fuels/src/index.test.ts b/packages/fuels/src/index.test.ts index 3847f6ca3de..ecde17b9279 100644 --- a/packages/fuels/src/index.test.ts +++ b/packages/fuels/src/index.test.ts @@ -1,5 +1,8 @@ import * as fuels from './index'; +/** + * @group node + */ describe('index.js', () => { test('should export everything', () => { expect(fuels.hexlify).toBeTruthy(); diff --git a/packages/fuels/src/run.ts b/packages/fuels/src/run.ts new file mode 100644 index 00000000000..e6bf972037d --- /dev/null +++ b/packages/fuels/src/run.ts @@ -0,0 +1,6 @@ +import { configureCli } from './cli'; + +export const run = async (argv: string[]) => { + const program = configureCli(); + return program.parseAsync(argv); +}; diff --git a/packages/fuels/test/features/build.test.ts b/packages/fuels/test/features/build.test.ts index 5ba49d4ed24..1d45516959d 100644 --- a/packages/fuels/test/features/build.test.ts +++ b/packages/fuels/test/features/build.test.ts @@ -2,85 +2,114 @@ import { existsSync } from 'fs'; import { join } from 'path'; import * as deployMod from '../../src/cli/commands/deploy/index'; -import { mockStartFuelCore } from '../utils/mockStartFuelCore'; -import { resetDiskAndMocks } from '../utils/resetDiskAndMocks'; +import { mockStartFuelCore } from '../utils/mockAutoStartFuelCore'; import { - buildFlagsDeploy, - contractsFooDir, - generatedDir, - initFlagsUseBuiltinBinaries, + bootstrapProject, + resetConfigAndMocks, + resetDiskAndMocks, runBuild, runInit, } from '../utils/runCommands'; -describe('build', () => { - beforeEach(resetDiskAndMocks); - afterEach(resetDiskAndMocks); - - function mockAll() { - const { startFuelCore, killChildProcess } = mockStartFuelCore(); - const deploy = jest.spyOn(deployMod, 'deploy').mockImplementation(); - - return { startFuelCore, killChildProcess, deploy }; - } - - it('should run `build` command', async () => { - const { startFuelCore, killChildProcess, deploy } = mockAll(); - - await runInit(); - await runBuild(); - - const files = [ - 'predicates/factories/PredicateTrueAbi__factory.ts', - 'predicates/index.ts', - 'contracts/BarFooAbi.d.ts', - 'contracts/BarFooAbi.hex.ts', - 'contracts/FooBarAbi.hex.ts', - 'contracts/FooBarAbi.d.ts', - 'contracts/factories/FooBarAbi__factory.ts', - 'contracts/factories/BarFooAbi__factory.ts', - 'contracts/index.ts', - 'scripts/factories/ScriptTrueAbi__factory.ts', - 'scripts/index.ts', - 'index.ts', - ].map((f) => join(__dirname, '..', 'fixtures', 'generated', f)); - - files.forEach((file) => expect(existsSync(file)).toBeTruthy()); - - expect(startFuelCore).toHaveBeenCalledTimes(0); - expect(deploy).toHaveBeenCalledTimes(0); - expect(killChildProcess).toHaveBeenCalledTimes(0); - }); - - it('should run `build` command with contracts-only', async () => { - const { startFuelCore, killChildProcess, deploy } = mockAll(); - - await runInit([initFlagsUseBuiltinBinaries, '-c', contractsFooDir, '-o', generatedDir].flat()); - await runBuild(); - - const files = [ - 'contracts/FooBarAbi.hex.ts', - 'contracts/FooBarAbi.d.ts', - 'contracts/factories/FooBarAbi__factory.ts', - 'contracts/index.ts', - 'index.ts', - ].map((f) => join(__dirname, '..', 'fixtures', 'generated', f)); - - files.forEach((file) => expect(existsSync(file)).toBeTruthy()); - - expect(startFuelCore).toHaveBeenCalledTimes(0); - expect(deploy).toHaveBeenCalledTimes(0); - expect(killChildProcess).toHaveBeenCalledTimes(0); - }); - - it('should run `build` command with `--deploy` flag', async () => { - const { startFuelCore, killChildProcess, deploy } = mockAll(); - - await runInit(); - await runBuild([buildFlagsDeploy]); - - expect(startFuelCore).toHaveBeenCalledTimes(1); - expect(deploy).toHaveBeenCalledTimes(1); - expect(killChildProcess).toHaveBeenCalledTimes(1); - }); -}); +/** + * @group node + */ +describe( + 'build', + () => { + const paths = bootstrapProject(__filename); + + afterEach(() => { + resetConfigAndMocks(paths.fuelsConfigPath); + }); + + afterAll(() => { + resetDiskAndMocks(paths.root); + }); + + function mockAll() { + const { autoStartFuelCore, killChildProcess } = mockStartFuelCore(); + const deploy = vi.spyOn(deployMod, 'deploy').mockResolvedValue([]); + + return { autoStartFuelCore, killChildProcess, deploy }; + } + + it('should run `build` command', async () => { + const { autoStartFuelCore, killChildProcess, deploy } = mockAll(); + + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); + + await runBuild({ root: paths.root }); + + const files = [ + 'predicates/factories/PredicateTrueAbi__factory.ts', + 'predicates/index.ts', + 'contracts/BarFooAbi.d.ts', + 'contracts/BarFooAbi.hex.ts', + 'contracts/FooBarAbi.hex.ts', + 'contracts/FooBarAbi.d.ts', + 'contracts/factories/FooBarAbi__factory.ts', + 'contracts/factories/BarFooAbi__factory.ts', + 'contracts/index.ts', + 'scripts/factories/ScriptTrueAbi__factory.ts', + 'scripts/index.ts', + 'index.ts', + ].map((f) => join(paths.outputDir, f)); + + files.forEach((file) => { + expect(existsSync(file)).toBeTruthy(); + }); + + expect(autoStartFuelCore).toHaveBeenCalledTimes(0); + expect(deploy).toHaveBeenCalledTimes(0); + expect(killChildProcess).toHaveBeenCalledTimes(0); + }); + + it('should run `build` command with contracts-only', async () => { + const { autoStartFuelCore, killChildProcess, deploy } = mockAll(); + + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); + + await runBuild({ root: paths.root }); + + const files = [ + 'contracts/FooBarAbi.hex.ts', + 'contracts/FooBarAbi.d.ts', + 'contracts/factories/FooBarAbi__factory.ts', + 'contracts/index.ts', + 'index.ts', + ].map((f) => join(paths.outputDir, f)); + + files.forEach((file) => expect(existsSync(file)).toBeTruthy()); + + expect(autoStartFuelCore).toHaveBeenCalledTimes(0); + expect(deploy).toHaveBeenCalledTimes(0); + expect(killChildProcess).toHaveBeenCalledTimes(0); + }); + + it('should run `build` command with `--deploy` flag', async () => { + const { autoStartFuelCore, killChildProcess, deploy } = mockAll(); + + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); + + await runBuild({ root: paths.root, deploy: true }); + + expect(autoStartFuelCore).toHaveBeenCalledTimes(1); + expect(deploy).toHaveBeenCalledTimes(1); + expect(killChildProcess).toHaveBeenCalledTimes(1); + }); + }, + { timeout: 10000 } +); diff --git a/packages/fuels/test/features/deploy.test.ts b/packages/fuels/test/features/deploy.test.ts index aa739e99f34..a245e4235bf 100644 --- a/packages/fuels/test/features/deploy.test.ts +++ b/packages/fuels/test/features/deploy.test.ts @@ -1,21 +1,46 @@ import { existsSync, readFileSync } from 'fs'; import { resetDiskAndMocks } from '../utils/resetDiskAndMocks'; -import { contractsJsonPath, runBuild, runDeploy, runInit } from '../utils/runCommands'; +import { + bootstrapProject, + resetConfigAndMocks, + runBuild, + runDeploy, + runInit, +} from '../utils/runCommands'; -describe('deploy', () => { - beforeEach(resetDiskAndMocks); - afterEach(resetDiskAndMocks); +/** + * @group node + */ +describe( + 'deploy', + () => { + const paths = bootstrapProject(__filename); - it('should run `deploy` command', async () => { - await runInit(); - await runBuild(); - await runDeploy(); + afterEach(() => { + resetConfigAndMocks(paths.fuelsConfigPath); + }); - expect(existsSync(contractsJsonPath)).toBeTruthy(); + afterAll(() => { + resetDiskAndMocks(paths.root); + }); - const fuelsContents = JSON.parse(readFileSync(contractsJsonPath, 'utf-8')); - expect(fuelsContents.barFoo).toMatch(/0x/); - expect(fuelsContents.fooBar).toMatch(/0x/); - }); -}); + it('should run `deploy` command', async () => { + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); + + await runBuild({ root: paths.root }); + await runDeploy({ root: paths.root }); + + expect(existsSync(paths.contractsJsonPath)).toBeTruthy(); + + const fuelsContents = JSON.parse(readFileSync(paths.contractsJsonPath, 'utf-8')); + expect(fuelsContents.barFoo).toMatch(/0x/); + expect(fuelsContents.fooBar).toMatch(/0x/); + }); + }, + { timeout: 10000 } +); diff --git a/packages/fuels/test/features/dev.test.ts b/packages/fuels/test/features/dev.test.ts index f2a14007fd3..bb4daaa47a9 100644 --- a/packages/fuels/test/features/dev.test.ts +++ b/packages/fuels/test/features/dev.test.ts @@ -2,43 +2,61 @@ import * as chokidar from 'chokidar'; import * as buildMod from '../../src/cli/commands/build/index'; import * as deployMod from '../../src/cli/commands/deploy/index'; +import { mockStartFuelCore } from '../utils/mockAutoStartFuelCore'; import { mockLogger } from '../utils/mockLogger'; -import { mockStartFuelCore } from '../utils/mockStartFuelCore'; import { resetDiskAndMocks } from '../utils/resetDiskAndMocks'; -import { runInit, runDev } from '../utils/runCommands'; +import { runInit, runDev, bootstrapProject, resetConfigAndMocks } from '../utils/runCommands'; -jest.mock('chokidar', () => ({ - __esModule: true, - ...jest.requireActual('chokidar'), -})); +vi.mock('chokidar', async () => { + const mod = await vi.importActual('chokidar'); + return { + __esModule: true, + ...mod, + }; +}); +/** + * @group node + */ describe('dev', () => { - beforeEach(mockLogger); - afterEach(resetDiskAndMocks); + const paths = bootstrapProject(__filename); + + afterEach(() => { + resetConfigAndMocks(paths.fuelsConfigPath); + }); + + afterAll(() => { + resetDiskAndMocks(paths.root); + }); function mockAll() { mockLogger(); - const { startFuelCore, killChildProcess } = mockStartFuelCore(); + const { autoStartFuelCore, killChildProcess } = mockStartFuelCore(); - const build = jest.spyOn(buildMod, 'build').mockImplementation(); - const deploy = jest.spyOn(deployMod, 'deploy').mockImplementation(); + const build = vi.spyOn(buildMod, 'build').mockReturnValue(Promise.resolve()); + const deploy = vi.spyOn(deployMod, 'deploy').mockReturnValue(Promise.resolve([])); // eslint-disable-next-line @typescript-eslint/no-explicit-any - const on: any = jest.fn(() => ({ on })); + const on: any = vi.fn(() => ({ on })); // eslint-disable-next-line @typescript-eslint/no-explicit-any - const watch = jest.spyOn(chokidar, 'watch').mockReturnValue({ on } as any); + const watch = vi.spyOn(chokidar, 'watch').mockReturnValue({ on } as any); - return { startFuelCore, killChildProcess, build, deploy, on, watch }; + return { autoStartFuelCore, killChildProcess, build, deploy, on, watch }; } it('should run `dev` command', async () => { - const { startFuelCore, killChildProcess, build, deploy, on, watch } = mockAll(); + const { autoStartFuelCore, killChildProcess, build, deploy, on, watch } = mockAll(); + + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); - await runInit(); - await runDev(); + await runDev({ root: paths.root }); - expect(startFuelCore).toHaveBeenCalledTimes(1); + expect(autoStartFuelCore).toHaveBeenCalledTimes(1); expect(killChildProcess).toHaveBeenCalledTimes(0); expect(build).toHaveBeenCalledTimes(1); expect(deploy).toHaveBeenCalledTimes(1); diff --git a/packages/fuels/test/features/init.test.ts b/packages/fuels/test/features/init.test.ts index 1db94d6d7f8..3f111cd75d5 100644 --- a/packages/fuels/test/features/init.test.ts +++ b/packages/fuels/test/features/init.test.ts @@ -1,36 +1,61 @@ import chalk from 'chalk'; import { existsSync, readFileSync } from 'fs'; +import { Commands } from '../../src'; import { mockLogger } from '../utils/mockLogger'; -import { resetDiskAndMocks } from '../utils/resetDiskAndMocks'; import { - fuelsConfigPath, - generatedDir, - initFlagsAutoStartFuelCore, - initFlagsWorkspace, + bootstrapProject, + runCommand, runInit, + resetDiskAndMocks, + resetConfigAndMocks, } from '../utils/runCommands'; +/** + * @group node + */ describe('init', () => { - beforeEach(mockLogger); - afterEach(resetDiskAndMocks); + const paths = bootstrapProject(__filename); + + beforeEach(() => { + mockLogger(); + }); + + afterEach(() => { + resetConfigAndMocks(paths.fuelsConfigPath); + }); + + afterAll(() => { + resetDiskAndMocks(paths.root); + }); it('should run `init` command', async () => { - await runInit([initFlagsWorkspace, initFlagsAutoStartFuelCore].flat()); - expect(existsSync(fuelsConfigPath)).toBeTruthy(); - const fuelsContents = readFileSync(fuelsConfigPath, 'utf-8'); - expect(fuelsContents).toMatch(`workspace: './project',`); - expect(fuelsContents).toMatch(`output: './generated',`); + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); + + expect(existsSync(paths.fuelsConfigPath)).toBeTruthy(); + const fuelsContents = readFileSync(paths.fuelsConfigPath, 'utf-8'); + expect(fuelsContents).toMatch(`workspace: './workspace',`); + expect(fuelsContents).toMatch(`output: './output',`); expect(fuelsContents).not.toMatch(`useBuiltinForc: true,`); expect(fuelsContents).not.toMatch(`useBuiltinFuelCore: true,`); }); it('should run `init` command using built-in flags', async () => { - await runInit(); - expect(existsSync(fuelsConfigPath)).toBeTruthy(); - const fuelsContents = readFileSync(fuelsConfigPath, 'utf-8'); - expect(fuelsContents).toMatch(`workspace: './project',`); - expect(fuelsContents).toMatch(`output: './generated',`); + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + useBuiltinBinaries: true, + }); + + expect(existsSync(paths.fuelsConfigPath)).toBeTruthy(); + const fuelsContents = readFileSync(paths.fuelsConfigPath, 'utf-8'); + expect(fuelsContents).toMatch(`workspace: './workspace',`); + expect(fuelsContents).toMatch(`output: './output',`); expect(fuelsContents).toMatch(`useBuiltinForc: true,`); expect(fuelsContents).toMatch(`useBuiltinFuelCore: true,`); }); @@ -38,20 +63,31 @@ describe('init', () => { it('should run `init` command and throw for existent config file', async () => { const { error } = mockLogger(); - await runInit(); + // first time, all good + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); + expect(error).toHaveBeenCalledTimes(0); // second time will trigger error - await runInit(); + await runInit({ + root: paths.root, + workspace: paths.workspaceDir, + output: paths.outputDir, + }); + expect(error).toHaveBeenCalledTimes(1); expect(chalk.reset(error.mock.calls[0][0])).toMatch(/Config file exists, aborting/); }); it('should error if no inputs/workspace is supplied', async () => { - const write = jest.spyOn(process.stdout, 'write').mockImplementation(); - const exit = jest.spyOn(process, 'exit').mockImplementation(); + const write = vi.spyOn(process.stdout, 'write').mockReturnValue(true); + const exit = vi.spyOn(process, 'exit').mockResolvedValue({} as never); - await runInit(['-o', generatedDir].flat()); + await runCommand(Commands.init, ['-p', paths.root, '-o', paths.outputDir]); expect(exit).toHaveBeenCalledTimes(1); expect(exit).toHaveBeenCalledWith(1); diff --git a/packages/fuels/test/fixtures/config/fuels.config.ts b/packages/fuels/test/fixtures/fuels.config.ts similarity index 84% rename from packages/fuels/test/fixtures/config/fuels.config.ts rename to packages/fuels/test/fixtures/fuels.config.ts index b974f2b400f..edc85516c41 100644 --- a/packages/fuels/test/fixtures/config/fuels.config.ts +++ b/packages/fuels/test/fixtures/fuels.config.ts @@ -1,9 +1,9 @@ import { FUEL_NETWORK_URL } from '@fuel-ts/wallet/configs'; import { join } from 'path'; -import type { FuelsConfig } from '../../../src'; +import type { FuelsConfig } from '../../src'; -const projectPath = join(__dirname, '..', 'project'); +const projectPath = join(__dirname, 'workspace'); const contractsDir = join(projectPath, 'contracts'); const scriptsDir = join(projectPath, 'scripts'); @@ -15,7 +15,7 @@ export const fuelsConfig: FuelsConfig = { contracts: [join(contractsDir, 'foo'), join(contractsDir, 'bar')], scripts: [join(scriptsDir, 'script')], predicates: [join(predicatesDir, 'predicate')], - output: '/generated-types', + output: '/output', deployConfig: { gasPrice: 5, }, diff --git a/packages/fuels/test/fixtures/project/Forc.toml b/packages/fuels/test/fixtures/workspace/Forc.toml similarity index 100% rename from packages/fuels/test/fixtures/project/Forc.toml rename to packages/fuels/test/fixtures/workspace/Forc.toml diff --git a/packages/fuels/test/fixtures/project/contracts/bar/Forc.toml b/packages/fuels/test/fixtures/workspace/contracts/bar/Forc.toml similarity index 100% rename from packages/fuels/test/fixtures/project/contracts/bar/Forc.toml rename to packages/fuels/test/fixtures/workspace/contracts/bar/Forc.toml diff --git a/packages/fuels/test/fixtures/project/contracts/bar/src/main.sw b/packages/fuels/test/fixtures/workspace/contracts/bar/src/main.sw similarity index 100% rename from packages/fuels/test/fixtures/project/contracts/bar/src/main.sw rename to packages/fuels/test/fixtures/workspace/contracts/bar/src/main.sw diff --git a/packages/fuels/test/fixtures/project/contracts/foo/Forc.toml b/packages/fuels/test/fixtures/workspace/contracts/foo/Forc.toml similarity index 100% rename from packages/fuels/test/fixtures/project/contracts/foo/Forc.toml rename to packages/fuels/test/fixtures/workspace/contracts/foo/Forc.toml diff --git a/packages/fuels/test/fixtures/project/contracts/foo/src/main.sw b/packages/fuels/test/fixtures/workspace/contracts/foo/src/main.sw similarity index 100% rename from packages/fuels/test/fixtures/project/contracts/foo/src/main.sw rename to packages/fuels/test/fixtures/workspace/contracts/foo/src/main.sw diff --git a/packages/fuels/test/fixtures/project/predicates/predicate/Forc.toml b/packages/fuels/test/fixtures/workspace/predicates/predicate/Forc.toml similarity index 100% rename from packages/fuels/test/fixtures/project/predicates/predicate/Forc.toml rename to packages/fuels/test/fixtures/workspace/predicates/predicate/Forc.toml diff --git a/packages/fuels/test/fixtures/project/predicates/predicate/src/main.sw b/packages/fuels/test/fixtures/workspace/predicates/predicate/src/main.sw similarity index 100% rename from packages/fuels/test/fixtures/project/predicates/predicate/src/main.sw rename to packages/fuels/test/fixtures/workspace/predicates/predicate/src/main.sw diff --git a/packages/fuels/test/fixtures/project/scripts/script/Forc.toml b/packages/fuels/test/fixtures/workspace/scripts/script/Forc.toml similarity index 100% rename from packages/fuels/test/fixtures/project/scripts/script/Forc.toml rename to packages/fuels/test/fixtures/workspace/scripts/script/Forc.toml diff --git a/packages/fuels/test/fixtures/project/scripts/script/src/main.sw b/packages/fuels/test/fixtures/workspace/scripts/script/src/main.sw similarity index 100% rename from packages/fuels/test/fixtures/project/scripts/script/src/main.sw rename to packages/fuels/test/fixtures/workspace/scripts/script/src/main.sw diff --git a/packages/fuels/test/utils/mockAutoStartFuelCore.ts b/packages/fuels/test/utils/mockAutoStartFuelCore.ts new file mode 100644 index 00000000000..0b38f1bfe36 --- /dev/null +++ b/packages/fuels/test/utils/mockAutoStartFuelCore.ts @@ -0,0 +1,27 @@ +import type { SpyInstance } from 'vitest'; + +import * as autoStartFuelCoreMod from '../../src/cli/commands/dev/autoStartFuelCore'; +import type * as startFuelCoreMod from '../../src/cli/commands/dev/startFuelCore'; + +export const mockStartFuelCore = (): { + killChildProcess: SpyInstance; + autoStartFuelCore: SpyInstance; + fuelCore: startFuelCoreMod.FuelCoreNode; +} => { + const killChildProcess = vi.fn(); + + const fuelCore = { + bindIp: '0.0.0.0', + accessIp: '127.0.0.1', + port: 4000, + providerUrl: `http://127.0.0.1:4000/graphql`, + killChildProcess, + chainConfig: '/some/path/chainConfig.json', + }; + + const autoStartFuelCore = vi + .spyOn(autoStartFuelCoreMod, 'autoStartFuelCore') + .mockResolvedValue(fuelCore); + + return { autoStartFuelCore, killChildProcess, fuelCore }; +}; diff --git a/packages/fuels/test/utils/mockLogger.ts b/packages/fuels/test/utils/mockLogger.ts index 7a995d0ab78..0ff436d0b36 100644 --- a/packages/fuels/test/utils/mockLogger.ts +++ b/packages/fuels/test/utils/mockLogger.ts @@ -1,10 +1,10 @@ import * as logger from '../../src/cli/utils/logger'; export function mockLogger() { - const error = jest.spyOn(logger, 'error').mockImplementation(); - const warn = jest.spyOn(logger, 'warn').mockImplementation(); - const log = jest.spyOn(logger, 'log').mockImplementation(); - const debug = jest.spyOn(logger, 'debug').mockImplementation(); + const error = vi.spyOn(logger, 'error').mockReturnValue(); + const warn = vi.spyOn(logger, 'warn').mockReturnValue(); + const log = vi.spyOn(logger, 'log').mockReturnValue(); + const debug = vi.spyOn(logger, 'debug').mockReturnValue(); return { error, warn, diff --git a/packages/fuels/test/utils/mockStartFuelCore.ts b/packages/fuels/test/utils/mockStartFuelCore.ts deleted file mode 100644 index b713d6c0187..00000000000 --- a/packages/fuels/test/utils/mockStartFuelCore.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type { FuelsConfig } from '../../src'; -import * as startFuelCoreMod from '../../src/cli/commands/dev/startFuelCore'; - -export const mockStartFuelCore = () => { - const killChildProcess = jest.fn(); - - const startFuelCore = jest - .spyOn(startFuelCoreMod, 'startFuelCore') - .mockImplementation((_config: FuelsConfig) => - Promise.resolve({ - bindIp: '0.0.0.0', - accessIp: '127.0.0.1', - port: 4000, - providerUrl: `http://127.0.0.1:4000/graphql`, - killChildProcess, - chainConfig: '/some/path/chainConfig.json', - }) - ); - - return { startFuelCore, killChildProcess }; -}; diff --git a/packages/fuels/test/utils/resetDiskAndMocks.ts b/packages/fuels/test/utils/resetDiskAndMocks.ts index d46f6d943ac..fddd7eabab2 100644 --- a/packages/fuels/test/utils/resetDiskAndMocks.ts +++ b/packages/fuels/test/utils/resetDiskAndMocks.ts @@ -1,20 +1,12 @@ import { existsSync, rmSync } from 'fs'; -import { fuelsConfigPath, generatedDir } from './runCommands'; - /** * Cleanup routine */ -export function deleteGeneratedFiles() { - if (existsSync(fuelsConfigPath)) { - rmSync(fuelsConfigPath); - } - if (existsSync(generatedDir)) { - rmSync(generatedDir, { recursive: true }); - } -} -export function resetDiskAndMocks() { - deleteGeneratedFiles(); - jest.restoreAllMocks(); +export function resetDiskAndMocks(dirPath: string) { + if (existsSync(dirPath)) { + rmSync(dirPath, { recursive: true }); + } + vi.restoreAllMocks(); } diff --git a/packages/fuels/test/utils/runCommands.ts b/packages/fuels/test/utils/runCommands.ts index cddc499981c..37b3337bd56 100644 --- a/packages/fuels/test/utils/runCommands.ts +++ b/packages/fuels/test/utils/runCommands.ts @@ -1,69 +1,152 @@ -import { join } from 'path'; +import { cpSync, existsSync, mkdirSync, rmSync } from 'fs'; +import { join, basename } from 'path'; import { Commands } from '../../src'; -import { run } from '../../src/cli'; +import { run } from '../../src/run'; /** - * Paths + * Path and Directory utils */ -export const fixturesDir = join(__dirname, '..', 'fixtures'); +export const testDir = join(__dirname, '..'); +export const fixturesDir = join(testDir, 'fixtures'); +export const sampleWorkspaceDir = join(fixturesDir, 'workspace'); +export const sampleConfigPath = join(fixturesDir, 'fuels.config.ts'); -export const workspaceDir = join(fixturesDir, 'project'); +export type Paths = { + root: string; + workspaceDir: string; + contractsDir: string; + contractsFooDir: string; + scriptsDir: string; + predicateDir: string; + fooContractMainPath: string; + fuelsConfigPath: string; + outputDir: string; + contractsJsonPath: string; + fooContractFactoryPath: string; +}; -export const contractsDir = join(workspaceDir, 'contracts'); -export const contractsFooDir = join(contractsDir, 'foo'); -export const scriptsDir = join(workspaceDir, 'scripts'); -export const predicateDir = join(workspaceDir, 'predicate'); +export function bootstrapProject(testFilepath: string) { + const testFilename = basename(testFilepath.replace(/\./g, '-')); + const uniqueName = `__temp__${testFilename}_${new Date().getTime()}`; -export const fooContractMainPath = join(contractsDir, 'foo', 'src', 'main.sw'); + const root = join(testDir, uniqueName); + const workspaceDir = join(root, 'workspace'); + const fuelsConfigPath = join(root, 'fuels.config.ts'); -export const fuelsConfigPath = join(fixturesDir, 'fuels.config.ts'); -export const generatedDir = join(fixturesDir, 'generated'); -export const contractsJsonPath = join(generatedDir, 'contract-ids.json'); -export const fooContractFactoryPath = join( - generatedDir, - 'contracts', - 'factories', - 'FooBarAbi__factory.ts' -); + mkdirSync(workspaceDir, { recursive: true }); + + cpSync(sampleWorkspaceDir, workspaceDir, { recursive: true }); + + const contractsDir = join(workspaceDir, 'contracts'); + const contractsFooDir = join(contractsDir, 'foo'); + const scriptsDir = join(workspaceDir, 'scripts'); + const predicateDir = join(workspaceDir, 'predicate'); + const fooContractMainPath = join(contractsDir, 'foo', 'src', 'main.sw'); + + const outputDir = join(root, 'output'); + const contractsJsonPath = join(outputDir, 'contract-ids.json'); + const fooContractFactoryPath = join(outputDir, 'contracts', 'factories', 'FooBarAbi__factory.ts'); + + return { + root, + workspaceDir, + contractsDir, + contractsFooDir, + scriptsDir, + predicateDir, + fooContractMainPath, + fuelsConfigPath, + outputDir, + contractsJsonPath, + fooContractFactoryPath, + }; +} /** - * Helper + * Command callers */ export async function runCommand(commandName: string, params: string[] = []) { // always `--silent` to avoid polluting tests output - const argv = ['node', 'fuels', '--silent', commandName, '-p', fixturesDir].concat(params); + const argv = ['node', 'fuels', '--silent', commandName].concat(params); return { argv, command: await run(argv) }; } -/** - * Bundled flag combos - */ -export const initFlagsWorkspace = ['-w', workspaceDir, '-o', generatedDir]; -export const initFlagsUseBuiltinBinaries = ['--use-builtin-forc', '--use-builtin-fuel-core']; -export const initFlagsAutoStartFuelCore = '--auto-start-fuel-core'; -export const initFlagsDefault = [ - initFlagsWorkspace, - initFlagsUseBuiltinBinaries, - initFlagsAutoStartFuelCore, -]; -export const buildFlagsDeploy = '--deploy'; +export type BaseParams = { + root: string; +}; + +export type InitParams = BaseParams & { + workspace?: string; + contracts?: string; + scripts?: string; + predicates?: string; + output: string; + useBuiltinBinaries?: boolean; + autoStartFuelCore?: boolean; + build?: boolean; +}; + +export type BuildParams = BaseParams & { + deploy?: boolean; +}; + +export async function runInit(params: InitParams) { + const { + autoStartFuelCore, + contracts, + output, + predicates, + root, + scripts, + useBuiltinBinaries, + workspace, + } = params; + + const flag = (flags: (string | undefined)[], value?: string | boolean): string[] => + value ? (flags as string[]) : []; + + const flags = [ + flag(['-p', root], root), + flag(['-o', output], output), + flag(['-w', workspace], workspace), + flag(['--contracts', contracts], contracts), + flag(['--scripts', scripts], scripts), + flag(['--predicates', predicates], predicates), + flag(['--use-builtin-forc', '--use-builtin-fuel-core'], useBuiltinBinaries), + flag(['--auto-start-fuel-core'], autoStartFuelCore), + ].flat(); -/** - * Command callers - */ -export async function runInit(flags: string[] = initFlagsDefault.flat()) { return runCommand(Commands.init, flags); } -export async function runBuild(flags: string[] = []) { +export async function runBuild(params: BuildParams) { + const { root, deploy } = params; + const flags = [['-p', root], deploy ? ['--deploy'] : []].flat(); return runCommand(Commands.build, flags); } -export async function runDeploy() { - return runCommand(Commands.deploy); +export async function runDeploy(params: BaseParams) { + return runCommand(Commands.deploy, ['-p', params.root]); +} + +export async function runDev(params: BaseParams) { + return runCommand(Commands.dev, ['-p', params.root]); +} + +/** + * Cleanup + */ +export function resetConfigAndMocks(configPath: string) { + if (existsSync(configPath)) { + rmSync(configPath); + } + vi.restoreAllMocks(); } -export async function runDev() { - return runCommand(Commands.dev); +export function resetDiskAndMocks(dirPath: string) { + if (existsSync(dirPath)) { + rmSync(dirPath, { recursive: true }); + } + vi.restoreAllMocks(); } diff --git a/packages/fuels/tsdoc.json b/packages/fuels/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/fuels/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/hasher/src/hasher.test.ts b/packages/hasher/src/hasher.test.ts index 724400a043c..3f2259dca5d 100644 --- a/packages/hasher/src/hasher.test.ts +++ b/packages/hasher/src/hasher.test.ts @@ -1,5 +1,8 @@ import { hashMessage, hash } from './hasher'; +/** + * @group node + */ describe('Hasher', () => { it('Hash message', () => { const message = 'my message'; diff --git a/packages/hasher/tsdoc.json b/packages/hasher/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/hasher/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/hdwallet/src/hdwallet.test.ts b/packages/hdwallet/src/hdwallet.test.ts index 7f280c19512..02f0209dd8f 100644 --- a/packages/hdwallet/src/hdwallet.test.ts +++ b/packages/hdwallet/src/hdwallet.test.ts @@ -1,6 +1,9 @@ import HDWallet from './hdwallet'; import HDWalletSpec from './hdwallet-spec'; +/** + * @group node + */ describe('HDWallet', () => { test("Should throw error on invalid extended key's", () => { expect(() => diff --git a/packages/hdwallet/tsdoc.json b/packages/hdwallet/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/hdwallet/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/math/src/bn.test.ts b/packages/math/src/bn.test.ts index b92b442e83f..a06bdbcc55e 100644 --- a/packages/math/src/bn.test.ts +++ b/packages/math/src/bn.test.ts @@ -2,6 +2,9 @@ import type { BN } from './bn'; import { bn } from './bn'; import type { BigNumberish } from './types'; +/** + * @group node + */ describe('Math - BN', () => { it('can execute operations without losing our BN reference', () => { let test: BN; diff --git a/packages/math/src/functional.test.ts b/packages/math/src/functional.test.ts index 086ebb84770..99acae319dc 100644 --- a/packages/math/src/functional.test.ts +++ b/packages/math/src/functional.test.ts @@ -6,6 +6,9 @@ import { format, formatUnits, toBytes, toHex, toNumber } from './functional'; +/** + * @group node + */ describe('Math - Functional shortcuts', () => { it('should toNumber return a number', () => { expect(toNumber('50000')).toEqual(50000); diff --git a/packages/math/tsdoc.json b/packages/math/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/math/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/merkle/src/binary/binaryMerkleTree.test.ts b/packages/merkle/src/binary/binaryMerkleTree.test.ts index afefdf2e4f9..574af5e14ae 100644 --- a/packages/merkle/src/binary/binaryMerkleTree.test.ts +++ b/packages/merkle/src/binary/binaryMerkleTree.test.ts @@ -3,6 +3,9 @@ import { toHex } from '@fuel-ts/math'; import { calcRoot, constructTree, getProof } from './binaryMerkleTree'; import type Node from './types/node'; +/** + * @group node + */ describe('Binary Merkle Tree', () => { const rootAfterLeaves = '0x9e59abcd7c89011ba919f9141624acb32b4cc31c24e76c6d4f64b25093ef366c'; const size = 100; diff --git a/packages/merkle/src/sparse/sparseMerkleTree.test.ts b/packages/merkle/src/sparse/sparseMerkleTree.test.ts index f41f9e0ca92..89f745e40e6 100644 --- a/packages/merkle/src/sparse/sparseMerkleTree.test.ts +++ b/packages/merkle/src/sparse/sparseMerkleTree.test.ts @@ -5,6 +5,9 @@ import { hash } from '../common'; import { DeepSparseMerkleSubTree } from './deepSparseMerkleSubTree'; import { SparseMerkleTree } from './sparseMerkleTree'; +/** + * @group node + */ describe('Sparse Merkle Tree', () => { it('Update and delete', () => { const smt = new SparseMerkleTree(); diff --git a/packages/merkle/src/sum/sumMerkleTree.test.ts b/packages/merkle/src/sum/sumMerkleTree.test.ts index 910d37864e5..d1d5e062df2 100644 --- a/packages/merkle/src/sum/sumMerkleTree.test.ts +++ b/packages/merkle/src/sum/sumMerkleTree.test.ts @@ -3,6 +3,9 @@ import { toHex } from '@fuel-ts/math'; import { calcRoot, constructTree, getProof } from './sumMerkleTree'; import Proof from './types/proof'; +/** + * @group node + */ describe('Sum Merkle Tree', () => { const size = 100; const sumAfterLeaves = toHex(((size - 1) * size) / 2); diff --git a/packages/merkle/tsdoc.json b/packages/merkle/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/merkle/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/mnemonic/src/mnemonic.test.ts b/packages/mnemonic/src/mnemonic.test.ts index ca3af21dafa..74e90e4c8e3 100644 --- a/packages/mnemonic/src/mnemonic.test.ts +++ b/packages/mnemonic/src/mnemonic.test.ts @@ -3,6 +3,9 @@ import { randomBytes } from '@fuel-ts/crypto'; import Mnemonic from './mnemonic'; import MnemonicSpec from './mnemonic-specs'; +/** + * @group node + */ describe('Mnemonic', () => { const mnemonic = new Mnemonic(); diff --git a/packages/mnemonic/src/utils.test.ts b/packages/mnemonic/src/utils.test.ts index 9e20212f061..e021982be06 100644 --- a/packages/mnemonic/src/utils.test.ts +++ b/packages/mnemonic/src/utils.test.ts @@ -1,5 +1,8 @@ import { getWords } from './utils'; +/** + * @group node + */ describe('mnemonic utils', () => { const words = ['a', 'b', 'c']; diff --git a/packages/mnemonic/tsdoc.json b/packages/mnemonic/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/mnemonic/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/predicate/test/features/predicate-functions.test.ts b/packages/predicate/test/features/predicate-functions.test.ts index e2c0bf4b0d4..ef6ef736798 100644 --- a/packages/predicate/test/features/predicate-functions.test.ts +++ b/packages/predicate/test/features/predicate-functions.test.ts @@ -5,6 +5,9 @@ import { Predicate } from '../../src/predicate'; import { defaultPredicateAbi } from '../fixtures/abi/default'; import { defaultPredicateBytecode } from '../fixtures/bytecode/default'; +/** + * @group node + */ describe('Predicate', () => { describe('Functions', () => { const predicateAddress = '0x6b6ef590390f0a7de75f8275ab5d7877c17236caba2514039c6565ec15f79111'; diff --git a/packages/predicate/test/features/predicate-transactions.test.ts b/packages/predicate/test/features/predicate-transactions.test.ts index 7fcf95d3f19..424265fc29d 100644 --- a/packages/predicate/test/features/predicate-transactions.test.ts +++ b/packages/predicate/test/features/predicate-transactions.test.ts @@ -10,6 +10,9 @@ import { Predicate } from '../../src/predicate'; import { defaultPredicateAbi } from '../fixtures/abi/default'; import { defaultPredicateBytecode } from '../fixtures/bytecode/default'; +/** + * @group node + */ describe('Predicate', () => { describe('Transactions', () => { let predicate: Predicate<[string]>; @@ -36,9 +39,9 @@ describe('Predicate', () => { }); it('includes predicate as input when sending a transaction', async () => { - const sendTransactionMock = jest + const sendTransactionMock = vi .spyOn(Account.prototype, 'sendTransaction') - .mockImplementation(); + .mockImplementation(() => []); await predicate.sendTransaction(request); @@ -49,9 +52,9 @@ describe('Predicate', () => { }); it('includes predicate as input when simulating a transaction', async () => { - const sendTransactionMock = jest + const sendTransactionMock = vi .spyOn(Account.prototype, 'simulateTransaction') - .mockImplementation(); + .mockImplementation(() => []); await predicate.simulateTransaction(request); diff --git a/packages/program/src/contract.test.ts b/packages/program/src/contract.test.ts index 0a09d291e57..8e3b5f554d2 100644 --- a/packages/program/src/contract.test.ts +++ b/packages/program/src/contract.test.ts @@ -37,6 +37,9 @@ const ABI: JsonAbi = { configurables: [], }; +/** + * @group node + */ describe('Contract', () => { test('Create contract instance with provider', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); diff --git a/packages/providers/src/transaction-request/hash-transaction.test.ts b/packages/providers/src/transaction-request/hash-transaction.test.ts index 25364dbcebe..264abf23190 100644 --- a/packages/providers/src/transaction-request/hash-transaction.test.ts +++ b/packages/providers/src/transaction-request/hash-transaction.test.ts @@ -5,6 +5,9 @@ import { SCRIPT_TX_REQUEST } from '../../test/fixtures/transaction-request'; import { hashTransaction } from './hash-transaction'; +/** + * @group node + */ describe('hashTransaction', () => { it('Hash script transaction request', () => { expect(hashTransaction(SCRIPT_TX_REQUEST, 0)).toEqual( diff --git a/packages/providers/src/transaction-request/transaction-request.test.ts b/packages/providers/src/transaction-request/transaction-request.test.ts index 31e3404cf40..422bf88c107 100644 --- a/packages/providers/src/transaction-request/transaction-request.test.ts +++ b/packages/providers/src/transaction-request/transaction-request.test.ts @@ -10,6 +10,9 @@ import { ScriptTransactionRequest } from './script-transaction-request'; import type { TransactionRequestLike } from './types'; import { transactionRequestify } from './utils'; +/** + * @group node + */ describe('TransactionRequest', () => { const assetIdA = '0x0101010101010101010101010101010101010101010101010101010101010101'; const assetIdB = '0x0202020202020202020202020202020202020202020202020202020202020202'; diff --git a/packages/providers/src/transaction-summary/assemble-transaction-summary.test.ts b/packages/providers/src/transaction-summary/assemble-transaction-summary.test.ts index 49a06b5dd71..a15459f28b8 100644 --- a/packages/providers/src/transaction-summary/assemble-transaction-summary.test.ts +++ b/packages/providers/src/transaction-summary/assemble-transaction-summary.test.ts @@ -21,6 +21,9 @@ import type { TransactionResultReceipt } from '../transaction-response'; import { assembleTransactionSummary } from './assemble-transaction-summary'; import type { GraphqlTransactionStatus, Operation } from './types'; +/** + * @group node + */ describe('TransactionSummary', () => { let provider: Provider; let gasCosts: GqlGasCosts; diff --git a/packages/providers/src/transaction-summary/calculate-transaction-fee.test.ts b/packages/providers/src/transaction-summary/calculate-transaction-fee.test.ts index fd3007b8385..096ed6b2ea0 100644 --- a/packages/providers/src/transaction-summary/calculate-transaction-fee.test.ts +++ b/packages/providers/src/transaction-summary/calculate-transaction-fee.test.ts @@ -9,6 +9,9 @@ import { import { calculateTransactionFee } from './calculate-transaction-fee'; +/** + * @group node + */ describe('calculateTransactionFee', () => { it('should properly calculate the transaction fee (SCRIPT TX)', () => { const transactionRawPayload = MOCK_TX_SCRIPT_RAW_PAYLOAD; diff --git a/packages/providers/src/transaction-summary/date.test.ts b/packages/providers/src/transaction-summary/date.test.ts index dcd29bbb890..549f6809cb6 100644 --- a/packages/providers/src/transaction-summary/date.test.ts +++ b/packages/providers/src/transaction-summary/date.test.ts @@ -4,12 +4,17 @@ import * as dateMod from './date'; const { fromTai64ToDate: tai64toDate, fromDateToTai64: dateToTai64 } = dateMod; +/** + * @group node + */ describe('transaction-summary/date', () => { - afterEach(jest.restoreAllMocks); + afterEach(() => { + vi.restoreAllMocks(); + }); it('should convert TAI64 to Date correctly', () => { - const fromStringSpy = jest.spyOn(tai64Mod.TAI64, 'fromString'); - const toUnixSpy = jest.spyOn(tai64Mod.TAI64.prototype, 'toUnix'); + const fromStringSpy = vi.spyOn(tai64Mod.TAI64, 'fromString'); + const toUnixSpy = vi.spyOn(tai64Mod.TAI64.prototype, 'toUnix'); const tai64Timestamp = '4611686020121838636'; @@ -22,8 +27,8 @@ describe('transaction-summary/date', () => { }); it('should convert Date to TAI64 correctly', () => { - const fromUnixSpy = jest.spyOn(tai64Mod.TAI64, 'fromUnix'); - const toStringSpy = jest.spyOn(tai64Mod.TAI64.prototype, 'toString'); + const fromUnixSpy = vi.spyOn(tai64Mod.TAI64, 'fromUnix'); + const toStringSpy = vi.spyOn(tai64Mod.TAI64.prototype, 'toString'); const date = new Date(); diff --git a/packages/providers/src/transaction-summary/input.test.ts b/packages/providers/src/transaction-summary/input.test.ts index 892c361792b..773847c29aa 100644 --- a/packages/providers/src/transaction-summary/input.test.ts +++ b/packages/providers/src/transaction-summary/input.test.ts @@ -17,6 +17,9 @@ import { getInputsMessage, } from './input'; +/** + * @group node + */ describe('transaction-summary/input', () => { it('should ensure getInputsCoin return correct inputs', () => { const coinInputs = getInputsCoin([MOCK_INPUT_COIN, MOCK_INPUT_CONTRACT, MOCK_INPUT_MESSAGE]); diff --git a/packages/providers/src/transaction-summary/operations.test.ts b/packages/providers/src/transaction-summary/operations.test.ts index ab934d17024..c1332af7706 100644 --- a/packages/providers/src/transaction-summary/operations.test.ts +++ b/packages/providers/src/transaction-summary/operations.test.ts @@ -49,6 +49,9 @@ import { import type { Operation } from './types'; import { AddressType, OperationName, TransactionTypeName, ChainName } from './types'; +/** + * @group node + */ describe('operations', () => { describe('getContractCallOperations', () => { it('should ensure getContractCallOperations return contract call operations', () => { @@ -939,7 +942,7 @@ describe('operations', () => { }); }); - describe('should ensure getTransactionTypeName works as expected', () => { + it('should ensure getTransactionTypeName works as expected', () => { expect(getTransactionTypeName(TransactionType.Create)).toBe(TransactionTypeName.Create); expect(getTransactionTypeName(TransactionType.Mint)).toBe(TransactionTypeName.Mint); expect(getTransactionTypeName(TransactionType.Script)).toBe(TransactionTypeName.Script); diff --git a/packages/providers/src/transaction-summary/output.test.ts b/packages/providers/src/transaction-summary/output.test.ts index f3afd64b33c..f4aceb3cfca 100644 --- a/packages/providers/src/transaction-summary/output.test.ts +++ b/packages/providers/src/transaction-summary/output.test.ts @@ -14,6 +14,9 @@ import { getOutputsVariable, } from './output'; +/** + * @group node + */ describe('transaction-summary/output', () => { it('should ensure getOutputsCoin return correct outputs', () => { const coinsOutputs = getOutputsCoin([ diff --git a/packages/providers/src/transaction-summary/receipt.test.ts b/packages/providers/src/transaction-summary/receipt.test.ts index 3f9f532a159..3f71a8f316f 100644 --- a/packages/providers/src/transaction-summary/receipt.test.ts +++ b/packages/providers/src/transaction-summary/receipt.test.ts @@ -10,6 +10,9 @@ import type { import { extractBurnedAssetsFromReceipts, extractMintedAssetsFromReceipts } from './receipt'; import type { MintedAsset, BurnedAsset } from './types'; +/** + * @group node + */ describe('extractMintedAssetsFromReceipts and extractBurnedAssetsFromReceipts', () => { it('should extracts minted and burned assets just fine', () => { // Sample input diff --git a/packages/providers/src/transaction-summary/status.test.ts b/packages/providers/src/transaction-summary/status.test.ts index f5194645e21..b3050375c03 100644 --- a/packages/providers/src/transaction-summary/status.test.ts +++ b/packages/providers/src/transaction-summary/status.test.ts @@ -9,6 +9,9 @@ import { getTransactionStatusName, processGraphqlStatus } from './status'; import type { GqlTransactionStatusesNames, GraphqlTransactionStatus } from './types'; import { TransactionStatus } from './types'; +/** + * @group node + */ describe('status', () => { it('should ensure getTransactionStatusName return status name just fine', () => { let status = getTransactionStatusName('FailureStatus'); diff --git a/packages/providers/src/utils/block-explorer.test.ts b/packages/providers/src/utils/block-explorer.test.ts index 4409ea4ba99..3ce7c990b7c 100644 --- a/packages/providers/src/utils/block-explorer.test.ts +++ b/packages/providers/src/utils/block-explorer.test.ts @@ -28,6 +28,9 @@ const testBlockExplorerUrlWithInputs = ({ expect(url).toEqual(expectedUrl); }; +/** + * @group node + */ describe('BlockExplorer Utils', () => { test('buildBlockExplorerUrl - empty/undefined inputs', () => { expect(buildBlockExplorerUrl()).toEqual(`${DEFAULT_BLOCK_EXPLORER_URL}/`); diff --git a/packages/providers/src/utils/gas.test.ts b/packages/providers/src/utils/gas.test.ts index edca491e36e..9857395941b 100644 --- a/packages/providers/src/utils/gas.test.ts +++ b/packages/providers/src/utils/gas.test.ts @@ -29,6 +29,9 @@ import { resolveGasDependentCosts, } from './gas'; +/** + * @group node + */ describe('gas', () => { describe('resolveGasDependentCosts', () => { it('calculates cost correctly for LightOperation', () => { diff --git a/packages/providers/src/utils/json.test.ts b/packages/providers/src/utils/json.test.ts index 89664630cb9..931d1aec051 100644 --- a/packages/providers/src/utils/json.test.ts +++ b/packages/providers/src/utils/json.test.ts @@ -3,6 +3,9 @@ import { BN, bn } from '@fuel-ts/math'; import { normalizeJSON } from './json'; +/** + * @group node + */ describe('JSON parser', () => { test('normalizeJSON object', () => { const bytesValue = Uint8Array.from([1, 2, 3, 4]); diff --git a/packages/providers/src/utils/merge-quantities.test.ts b/packages/providers/src/utils/merge-quantities.test.ts index 6c818d5a31d..493658129e4 100644 --- a/packages/providers/src/utils/merge-quantities.test.ts +++ b/packages/providers/src/utils/merge-quantities.test.ts @@ -4,6 +4,9 @@ import type { CoinQuantity } from '../coin-quantity'; import { mergeQuantities } from './merge-quantities'; +/** + * @group node + */ describe('mergeQuantities', () => { const assetIdA = '0x0101010101010101010101010101010101010101010101010101010101010101'; const assetIdB = '0x0202020202020202020202020202020202020202020202020202020202020202'; diff --git a/packages/providers/src/utils/receipts.test.ts b/packages/providers/src/utils/receipts.test.ts index 3a8bebc372c..1d3bc76b0e6 100644 --- a/packages/providers/src/utils/receipts.test.ts +++ b/packages/providers/src/utils/receipts.test.ts @@ -25,6 +25,9 @@ import { GqlReceiptType } from '../__generated__/operations'; import { assembleReceiptByType } from './receipts'; +/** + * @group node + */ describe('assembleReceiptByType', () => { it('should return a ReceiptCall receipt when GqlReceiptType.Call is provided', () => { const receipt = assembleReceiptByType({ diff --git a/packages/providers/src/utils/time.test.ts b/packages/providers/src/utils/time.test.ts index 8f4f3ec84f4..182b4c044cb 100644 --- a/packages/providers/src/utils/time.test.ts +++ b/packages/providers/src/utils/time.test.ts @@ -1,5 +1,8 @@ import { fromTai64ToUnix, fromUnixToTai64 } from './time'; +/** + * @group node + */ test('fromTai64ToUnix', () => { expect(fromTai64ToUnix('4611686020108779312')).toEqual(1681391398); }); diff --git a/packages/providers/test/__snapshots__/provider.test.ts.snap b/packages/providers/test/__snapshots__/provider.test.ts.snap index e9106af6f47..30aaf5b14ec 100644 --- a/packages/providers/test/__snapshots__/provider.test.ts.snap +++ b/packages/providers/test/__snapshots__/provider.test.ts.snap @@ -1,6 +1,6 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Provider can getMessageProof with all data 1`] = ` +exports[`Provider > can getMessageProof with all data 1`] = ` { "amount": "0xa", "blockProof": { @@ -50,7 +50,7 @@ exports[`Provider can getMessageProof with all data 1`] = ` } `; -exports[`Provider can getMessageStatus 1`] = ` +exports[`Provider > can getMessageStatus 1`] = ` { "state": "SPENT", } diff --git a/packages/providers/test/memory-cache.test.ts b/packages/providers/test/memory-cache.test.ts index 0c4c31f22f3..f9950311a7e 100644 --- a/packages/providers/test/memory-cache.test.ts +++ b/packages/providers/test/memory-cache.test.ts @@ -6,6 +6,9 @@ import { MemoryCache } from '../src/memory-cache'; const CACHE_ITEMS = [hexlify(randomBytes(8)), randomBytes(8), randomBytes(8)]; +/** + * @group node + */ describe('Memory Cache', () => { it('can construct [valid numerical ttl]', () => { const memCache = new MemoryCache(1000); diff --git a/packages/providers/test/provider.test.ts b/packages/providers/test/provider.test.ts index 8a2f21967b3..b3ec0fccbfa 100644 --- a/packages/providers/test/provider.test.ts +++ b/packages/providers/test/provider.test.ts @@ -11,7 +11,7 @@ import * as fuelTsVersionsMod from '@fuel-ts/versions'; import { getBytesCopy, hexlify } from 'ethers'; import type { BytesLike } from 'ethers'; -import type { TransactionCost, FetchRequestOptions } from '../src/provider'; +import type { ChainInfo, NodeInfo, TransactionCost, FetchRequestOptions } from '../src/provider'; import Provider from '../src/provider'; import type { CoinTransactionRequestInput, @@ -24,14 +24,24 @@ import * as gasMod from '../src/utils/gas'; import { messageProofResponse, messageStatusResponse } from './fixtures'; -// https://stackoverflow.com/a/72885576 -jest.mock('@fuel-ts/versions', () => ({ - __esModule: true, - ...jest.requireActual('@fuel-ts/versions'), -})); +vi.mock('@fuel-ts/versions', async () => { + const mod = await vi.importActual('@fuel-ts/versions'); + return { + __esModule: true, + ...mod, + }; +}); + +vi.mock('@fuel-ts/math', async () => { + const mod = await vi.importActual('@fuel-ts/math'); + return { + __esModule: true, + ...mod, + }; +}); afterEach(() => { - jest.restoreAllMocks(); + vi.restoreAllMocks(); }); const getCustomFetch = @@ -61,6 +71,9 @@ const getCustomFetch = // TODO: Figure out a way to import this constant from `@fuel-ts/wallet/configs` const FUEL_NETWORK_URL = 'http://127.0.0.1:4000/graphql'; +/** + * @group node + */ describe('Provider', () => { it('can getVersion()', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); @@ -215,9 +228,12 @@ describe('Provider', () => { expect(provider.url).toBe(providerUrl1); expect(await provider.getVersion()).toEqual(providerUrl1); - const spyFetchChainAndNodeInfo = jest + const spyFetchChainAndNodeInfo = vi .spyOn(Provider.prototype, 'fetchChainAndNodeInfo') - .mockImplementation(); + .mockResolvedValue({ + chain: {} as ChainInfo, + nodeInfo: {} as NodeInfo, + }); await provider.connect(providerUrl2); expect(provider.url).toBe(providerUrl2); @@ -244,9 +260,12 @@ describe('Provider', () => { * Mocking and initializing Provider with an invalid fetcher just * to ensure it'll be properly overriden in `connect` method below */ - const fetchChainAndNodeInfo = jest + const fetchChainAndNodeInfo = vi .spyOn(Provider.prototype, 'fetchChainAndNodeInfo') - .mockImplementation(); + .mockResolvedValue({ + chain: {} as ChainInfo, + nodeInfo: {} as NodeInfo, + }); const provider = await Provider.create(providerUrl, { fetch: () => { @@ -500,7 +519,7 @@ describe('Provider', () => { expect(EXCLUDED.map((value) => hexlify(value))).toStrictEqual(EXPECTED); const owner = Address.fromRandom(); - const resourcesToSpendMock = jest.fn(() => + const resourcesToSpendMock = vi.fn(() => Promise.resolve({ coinsToSpend: [] }) ) as unknown as typeof provider.operations.getCoinsToSpend; provider.operations.getCoinsToSpend = resourcesToSpendMock; @@ -634,7 +653,7 @@ describe('Provider', () => { expect(EXCLUDED.map((value) => hexlify(value))).toStrictEqual(EXPECTED); const owner = Address.fromRandom(); - const resourcesToSpendMock = jest.fn(() => + const resourcesToSpendMock = vi.fn(() => Promise.resolve({ coinsToSpend: [] }) ) as unknown as typeof provider.operations.getCoinsToSpend; provider.operations.getCoinsToSpend = resourcesToSpendMock; @@ -739,9 +758,9 @@ describe('Provider', () => { it('should ensure getChain and getNode uses the cache and does not fetch new data', async () => { Provider.clearChainAndNodeCaches(); - const spyFetchChainAndNodeInfo = jest.spyOn(Provider.prototype, 'fetchChainAndNodeInfo'); - const spyFetchChain = jest.spyOn(Provider.prototype, 'fetchChain'); - const spyFetchNode = jest.spyOn(Provider.prototype, 'fetchNode'); + const spyFetchChainAndNodeInfo = vi.spyOn(Provider.prototype, 'fetchChainAndNodeInfo'); + const spyFetchChain = vi.spyOn(Provider.prototype, 'fetchChain'); + const spyFetchNode = vi.spyOn(Provider.prototype, 'fetchNode'); const provider = await Provider.create(FUEL_NETWORK_URL); @@ -760,9 +779,9 @@ describe('Provider', () => { it('should ensure fetchChainAndNodeInfo always fetch new data', async () => { Provider.clearChainAndNodeCaches(); - const spyFetchChainAndNodeInfo = jest.spyOn(Provider.prototype, 'fetchChainAndNodeInfo'); - const spyFetchChain = jest.spyOn(Provider.prototype, 'fetchChain'); - const spyFetchNode = jest.spyOn(Provider.prototype, 'fetchNode'); + const spyFetchChainAndNodeInfo = vi.spyOn(Provider.prototype, 'fetchChainAndNodeInfo'); + const spyFetchChain = vi.spyOn(Provider.prototype, 'fetchChain'); + const spyFetchNode = vi.spyOn(Provider.prototype, 'fetchNode'); const provider = await Provider.create(FUEL_NETWORK_URL); @@ -827,7 +846,7 @@ describe('Provider', () => { throw new Error(); } - const spy = jest.spyOn(fuelTsVersionsMod, 'checkFuelCoreVersionCompatibility'); + const spy = vi.spyOn(fuelTsVersionsMod, 'checkFuelCoreVersionCompatibility'); spy.mockImplementationOnce(() => mock); await expectToThrowFuelError(() => Provider.create(FUEL_NETWORK_URL), { @@ -852,7 +871,7 @@ describe('Provider', () => { throw new Error(); } - const spy = jest.spyOn(fuelTsVersionsMod, 'checkFuelCoreVersionCompatibility'); + const spy = vi.spyOn(fuelTsVersionsMod, 'checkFuelCoreVersionCompatibility'); spy.mockImplementationOnce(() => mock); await expectToThrowFuelError(() => Provider.create(FUEL_NETWORK_URL), { @@ -878,9 +897,9 @@ describe('Provider', () => { usedFee: bn(1), }; - const estimateTxSpy = jest.spyOn(provider, 'estimateTxDependencies').mockImplementation(); + const estimateTxSpy = vi.spyOn(provider, 'estimateTxDependencies').mockResolvedValueOnce(); - const txCostSpy = jest + const txCostSpy = vi .spyOn(provider, 'getTransactionCost') .mockReturnValue(Promise.resolve(transactionCost)); @@ -913,9 +932,9 @@ describe('Provider', () => { usedFee: bn(1), }; - const estimateTxSpy = jest.spyOn(provider, 'estimateTxDependencies').mockImplementation(); + const estimateTxSpy = vi.spyOn(provider, 'estimateTxDependencies').mockResolvedValueOnce(); - const txCostSpy = jest + const txCostSpy = vi .spyOn(provider, 'getTransactionCost') .mockReturnValue(Promise.resolve(transactionCost)); @@ -962,13 +981,11 @@ describe('Provider', () => { it('throws TimeoutError on timeout when calling an operation', async () => { const timeout = 500; const provider = await Provider.create(FUEL_NETWORK_URL, { timeout }); - jest - .spyOn(global, 'fetch') - .mockImplementationOnce((...args: unknown[]) => - sleep(timeout).then(() => - fetch(args[0] as RequestInfo | URL, args[1] as RequestInit | undefined) - ) - ); + vi.spyOn(global, 'fetch').mockImplementationOnce((...args: unknown[]) => + sleep(timeout).then(() => + fetch(args[0] as RequestInfo | URL, args[1] as RequestInit | undefined) + ) + ); const { error } = await safeExec(async () => { await provider.getBlocks({}); @@ -985,13 +1002,11 @@ describe('Provider', () => { const timeout = 500; const provider = await Provider.create(FUEL_NETWORK_URL, { timeout }); - jest - .spyOn(global, 'fetch') - .mockImplementationOnce((...args: unknown[]) => - sleep(timeout).then(() => - fetch(args[0] as RequestInfo | URL, args[1] as RequestInit | undefined) - ) - ); + vi.spyOn(global, 'fetch').mockImplementationOnce((...args: unknown[]) => + sleep(timeout).then(() => + fetch(args[0] as RequestInfo | URL, args[1] as RequestInit | undefined) + ) + ); const { error } = await safeExec(async () => { for await (const iterator of provider.operations.statusChange({ @@ -1016,7 +1031,7 @@ describe('Provider', () => { gasLimit, }); - const maxGasSpy = jest.spyOn(gasMod, 'getMaxGas'); + const maxGasSpy = vi.spyOn(gasMod, 'getMaxGas'); const chainInfo = provider.getChain(); const minGas = bn(200); @@ -1045,7 +1060,7 @@ describe('Provider', () => { transactionRequest.addContractCreatedOutput(ZeroBytes32, ZeroBytes32); - const maxGasSpy = jest.spyOn(gasMod, 'getMaxGas'); + const maxGasSpy = vi.spyOn(gasMod, 'getMaxGas'); const chainInfo = provider.getChain(); const minGas = bn(700); @@ -1069,19 +1084,14 @@ describe('Provider', () => { const request = new ScriptTransactionRequest(); // forcing calculatePriceWithFactor to return 0 - const calculatePriceWithFactorMock = jest + const calculatePriceWithFactorMock = vi .spyOn(gasMod, 'calculatePriceWithFactor') .mockReturnValue(bn(0)); - const normalizeZeroToOneSpy = jest.spyOn(BN.prototype, 'normalizeZeroToOne'); - const { minFee, maxFee, usedFee } = await provider.getTransactionCost(request); expect(calculatePriceWithFactorMock).toHaveBeenCalledTimes(3); - expect(normalizeZeroToOneSpy).toHaveBeenCalledTimes(3); - expect(normalizeZeroToOneSpy).toHaveReturnedWith(bn(1)); - expect(maxFee.eq(0)).not.toBeTruthy(); expect(usedFee.eq(0)).not.toBeTruthy(); expect(minFee.eq(0)).not.toBeTruthy(); diff --git a/packages/providers/tsconfig.json b/packages/providers/tsconfig.json index c723e93fb3c..b22c89a4b35 100644 --- a/packages/providers/tsconfig.json +++ b/packages/providers/tsconfig.json @@ -3,5 +3,5 @@ "compilerOptions": { "outDir": "./dist" }, - "include": ["src/**/*.ts", "src/**/*.json"] + "include": ["src", "test"] } diff --git a/packages/script/src/script.test.ts b/packages/script/src/script.test.ts index cc83ec59a36..a11b0c8eebd 100644 --- a/packages/script/src/script.test.ts +++ b/packages/script/src/script.test.ts @@ -76,6 +76,9 @@ type MyStruct = { arg_two: BigNumberish; }; +/** + * @group node + */ describe('Script', () => { let scriptRequest: ScriptRequest; beforeAll(() => { diff --git a/packages/signer/src/signer.test.ts b/packages/signer/src/signer.test.ts index 954aa3be7ab..3ee0da2e312 100644 --- a/packages/signer/src/signer.test.ts +++ b/packages/signer/src/signer.test.ts @@ -2,6 +2,9 @@ import { getBytesCopy, sha256 } from 'ethers'; import Signer from './signer'; +/** + * @group node + */ describe('Signer', () => { const expectedPrivateKey = '0x5f70feeff1f229e4a95e1056e8b4d80d0b24b565674860cc213bdb07127ce1b1'; const expectedPublicKey = diff --git a/packages/signer/tsdoc.json b/packages/signer/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/signer/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/testcases/tsdoc.json b/packages/testcases/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/testcases/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/transactions/src/coders/byte-array.test.ts b/packages/transactions/src/coders/byte-array.test.ts index 9bb45ae3063..caeb41855db 100644 --- a/packages/transactions/src/coders/byte-array.test.ts +++ b/packages/transactions/src/coders/byte-array.test.ts @@ -2,6 +2,9 @@ import { getBytesCopy, hexlify } from 'ethers'; import { ByteArrayCoder } from './byte-array'; +/** + * @group node + */ describe('ByteArrayCoder', () => { it('Can encode empty byte[]', () => { const bytes = getBytesCopy('0x'); diff --git a/packages/transactions/src/coders/input.test.ts b/packages/transactions/src/coders/input.test.ts index 54302e2699c..6efd1b38587 100644 --- a/packages/transactions/src/coders/input.test.ts +++ b/packages/transactions/src/coders/input.test.ts @@ -9,6 +9,9 @@ import { InputMessageCoder, InputCoder, InputType } from './input'; const B256 = '0xd5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b'; const MAX_U32 = 2 ** 32 - 1; +/** + * @group node + */ describe('InputCoder', () => { it('Can encode Coin', () => { const input: Input = { diff --git a/packages/transactions/src/coders/output.test.ts b/packages/transactions/src/coders/output.test.ts index 3d33bc461a3..e2ac475fb1a 100644 --- a/packages/transactions/src/coders/output.test.ts +++ b/packages/transactions/src/coders/output.test.ts @@ -6,6 +6,9 @@ import { OutputCoder, OutputType } from './output'; const B256 = '0xd5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b'; +/** + * @group node + */ describe('OutputCoder', () => { it('Can encode Coin', () => { const output: Output = { diff --git a/packages/transactions/src/coders/policy.test.ts b/packages/transactions/src/coders/policy.test.ts index ad20b402647..60ae9ca18dd 100644 --- a/packages/transactions/src/coders/policy.test.ts +++ b/packages/transactions/src/coders/policy.test.ts @@ -5,6 +5,9 @@ import { bn } from '@fuel-ts/math'; import type { Policy } from './policy'; import { PoliciesCoder, PolicyType } from './policy'; +/** + * @group node + */ describe('PoliciesCoder', () => { describe('encode', () => { it('should encode policy correctly (GasPrice)', () => { diff --git a/packages/transactions/src/coders/receipt.test.ts b/packages/transactions/src/coders/receipt.test.ts index cddcca27750..b4faf40447b 100644 --- a/packages/transactions/src/coders/receipt.test.ts +++ b/packages/transactions/src/coders/receipt.test.ts @@ -10,6 +10,9 @@ const B256_ALT2 = '0x68b401b682ba0c9018150cca596358a6b98576337ea10b9cfb0d02441b3 const B256_ALT3 = '0xeb03488970d05ea240c788a0ea2e07176cc5317b7c7c89f26ac5282bbcd445bd'; const B256_ALT4 = '0x2f6d40e3ac1a172fb9445f9843440a0fc383bea238a7a35a77a3c73d36902992'; +/** + * @group node + */ describe('ReceiptCoder', () => { it('Can encode Call', () => { const receipt: Receipt = { diff --git a/packages/transactions/src/coders/storage-slot.test.ts b/packages/transactions/src/coders/storage-slot.test.ts index 758da11e06d..01527f3f4bb 100644 --- a/packages/transactions/src/coders/storage-slot.test.ts +++ b/packages/transactions/src/coders/storage-slot.test.ts @@ -4,6 +4,9 @@ import { getBytesCopy, hexlify } from 'ethers'; import type { StorageSlot } from './storage-slot'; import { StorageSlotCoder } from './storage-slot'; +/** + * @group node + */ describe('StorageSlotCoder', () => { it('Can encode and decode', () => { const storageSlot: StorageSlot = { diff --git a/packages/transactions/src/coders/transaction.test.ts b/packages/transactions/src/coders/transaction.test.ts index d9349f94771..cbde253b9bf 100644 --- a/packages/transactions/src/coders/transaction.test.ts +++ b/packages/transactions/src/coders/transaction.test.ts @@ -12,6 +12,9 @@ const U32 = 1000; const U16 = 32; const U8 = 1; +/** + * @group node + */ describe('TransactionCoder', () => { it('Can encode/decode TransactionScript without inputs, outputs and witnesses', () => { const transaction: Transaction = { diff --git a/packages/transactions/src/coders/tx-pointer.test.ts b/packages/transactions/src/coders/tx-pointer.test.ts index afd3237a982..46f0a201e14 100644 --- a/packages/transactions/src/coders/tx-pointer.test.ts +++ b/packages/transactions/src/coders/tx-pointer.test.ts @@ -5,6 +5,9 @@ import { TxPointerCoder } from './tx-pointer'; const B256 = '0xd5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b'; +/** + * @group node + */ describe('TxPointerCoder', () => { it('can encode TxPointer', () => { const txPointer: TxPointer = { diff --git a/packages/transactions/src/coders/utxo-id.test.ts b/packages/transactions/src/coders/utxo-id.test.ts index 947bc1124f7..beeaa0956fc 100644 --- a/packages/transactions/src/coders/utxo-id.test.ts +++ b/packages/transactions/src/coders/utxo-id.test.ts @@ -5,6 +5,9 @@ import { UtxoIdCoder } from './utxo-id'; const B256 = '0xd5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b'; +/** + * @group node + */ describe('UtxoIdCoder', () => { it('can encode UtxoId', () => { const utxoId: UtxoId = { diff --git a/packages/transactions/src/coders/witness.test.ts b/packages/transactions/src/coders/witness.test.ts index 167f6bf01d3..3c9f895306f 100644 --- a/packages/transactions/src/coders/witness.test.ts +++ b/packages/transactions/src/coders/witness.test.ts @@ -3,6 +3,9 @@ import { getBytesCopy, hexlify } from 'ethers'; import type { Witness } from './witness'; import { WitnessCoder } from './witness'; +/** + * @group node + */ describe('WitnessCoder', () => { it('Can encode empty Witness', () => { const witness: Witness = { diff --git a/packages/transactions/tsdoc.json b/packages/transactions/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/transactions/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/utils/src/index.test.ts b/packages/utils/src/index.test.ts index ecc66d9618d..ac3d8e09c21 100644 --- a/packages/utils/src/index.test.ts +++ b/packages/utils/src/index.test.ts @@ -1,5 +1,8 @@ import * as indexMod from '.'; +/** + * @group node + */ describe('index.js', () => { test('should export all utilities', () => { expect(indexMod.normalizeString).toBeTruthy(); diff --git a/packages/utils/src/test-util.test.ts b/packages/utils/src/test-util.test.ts index e0cecd3dfe6..f2a9a9f00fe 100644 --- a/packages/utils/src/test-util.test.ts +++ b/packages/utils/src/test-util.test.ts @@ -1,5 +1,8 @@ import * as indexMod from './test-utils'; +/** + * @group node + */ describe('index.js', () => { test('should export all test utilities', () => { expect(indexMod.getForcProject).toBeTruthy(); diff --git a/packages/utils/src/test-utils/expectToBeInRange.test.ts b/packages/utils/src/test-utils/expectToBeInRange.test.ts index 95404f65907..01521764792 100644 --- a/packages/utils/src/test-utils/expectToBeInRange.test.ts +++ b/packages/utils/src/test-utils/expectToBeInRange.test.ts @@ -1,5 +1,8 @@ import { expectToBeInRange } from './expectToBeInRange'; +/** + * @group node + */ describe('expectValueToBeInRange', () => { it('should throw an error when value is less than the minimum', () => { expect(() => diff --git a/packages/utils/src/test-utils/getForcProject.test.ts b/packages/utils/src/test-utils/getForcProject.test.ts index 6af5a15d655..332ef76b641 100644 --- a/packages/utils/src/test-utils/getForcProject.test.ts +++ b/packages/utils/src/test-utils/getForcProject.test.ts @@ -13,24 +13,43 @@ import { getProjectTempDir, } from './getForcProject'; -jest.mock('path', () => ({ - __esModule: true, - ...jest.requireActual('path'), -})); +vi.mock('ethers', async () => { + const mod = await vi.importActual('ethers'); + return { + __esModule: true, + ...mod, + }; +}); -jest.mock('fs', () => ({ - __esModule: true, - ...jest.requireActual('fs'), -})); +vi.mock('path', async () => { + const mod = await vi.importActual('path'); + return { + __esModule: true, + ...mod, + }; +}); +vi.mock('fs', async () => { + const mod = await vi.importActual('fs'); + return { + __esModule: true, + ...mod, + }; +}); + +/** + * @group node + */ describe('getForcProject', () => { - afterEach(jest.restoreAllMocks); + afterEach(() => { + vi.restoreAllMocks(); + }); it('should return the correct temporary directory path on getProjectTempDir', () => { const params = { projectDir: '/path/to/project', projectName: 'myProject' }; const expectedPath = '/path/to/project/out/debug/__temp__'; - jest.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); + vi.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); const tempDir = getProjectTempDir(params); @@ -41,7 +60,7 @@ describe('getForcProject', () => { const params = { projectDir: '/path/to/project', projectName: 'myProject' }; const expectedPath = '/path/to/project/out/debug/myProject-abi.json'; - jest.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); + vi.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); const abiPath = getProjectAbiPath(params); @@ -52,7 +71,7 @@ describe('getForcProject', () => { const params = { projectDir: '/path/to/project', projectName: 'myProject' }; const expectedPath = '/path/to/project/out/debug/myProject.bin'; - jest.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); + vi.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); const binPath = getProjectBinPath(params); @@ -63,7 +82,7 @@ describe('getForcProject', () => { const params = { projectDir: '/path/to/project', projectName: 'myProject' }; const expectedPath = '/path/to/project/out/debug/myProject-storage_slots.json'; - jest.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); + vi.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); const storageSlotsPath = getProjectStorageSlotsPath(params); @@ -84,9 +103,9 @@ describe('getForcProject', () => { const expectedPath = '/path/to/project/out/debug/myProject-storage_slots.json'; const fakeStorageSlots = [{ key: 'key1', value: 'value1' }]; - jest.spyOn(fs, 'existsSync').mockReturnValue(true); + vi.spyOn(fs, 'existsSync').mockReturnValue(true); - const readFileSyncSpy = jest + const readFileSyncSpy = vi .spyOn(fs, 'readFileSync') .mockReturnValue(JSON.stringify(fakeStorageSlots)); @@ -97,9 +116,7 @@ describe('getForcProject', () => { }); it('should return the correct debug directory path', () => { - const joinSpy = jest - .spyOn(path, 'join') - .mockImplementation((...segments) => segments.join('/')); + const joinSpy = vi.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); const params = { projectDir: '/path/to/project', projectName: 'myProject' }; const expectedPath = '/path/to/project/out/debug'; @@ -113,8 +130,8 @@ describe('getForcProject', () => { it('should return an empty array if the storage slots file does not exist', () => { const params = { projectDir: '/path/to/project', projectName: 'myProject' }; - jest.spyOn(fs, 'existsSync').mockReturnValue(false); - const readFileSyncSpy = jest.spyOn(fs, 'readFileSync'); + vi.spyOn(fs, 'existsSync').mockReturnValue(false); + const readFileSyncSpy = vi.spyOn(fs, 'readFileSync'); const storageSlots = getProjectStorageSlots(params); @@ -127,9 +144,9 @@ describe('getForcProject', () => { const fakeAbiContent = { contracts: {} }; const fakeStorageSlots = [{ key: 'key1', value: 'value1' }]; - jest.spyOn(ethers, 'hexlify').mockImplementation((param) => param as string); - jest.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); - jest.spyOn(fs, 'readFileSync').mockImplementation((pathParam) => { + vi.spyOn(ethers, 'hexlify').mockImplementation((param) => param as string); + vi.spyOn(path, 'join').mockImplementation((...segments) => segments.join('/')); + vi.spyOn(fs, 'readFileSync').mockImplementation((pathParam) => { if ((pathParam).endsWith('.bin')) { return fakeBinContent; } @@ -142,9 +159,9 @@ describe('getForcProject', () => { throw new Error('File not found'); }); - jest - .spyOn(fs, 'existsSync') - .mockImplementation((pathParam) => (pathParam).endsWith('-storage_slots.json')); + vi.spyOn(fs, 'existsSync').mockImplementation((pathParam) => + (pathParam).endsWith('-storage_slots.json') + ); const forcProject = { projectDir: 'fuel_gauge', diff --git a/packages/utils/src/utils/arrayify.test.ts b/packages/utils/src/utils/arrayify.test.ts index 1c5fa8d1c16..2720fd5d507 100644 --- a/packages/utils/src/utils/arrayify.test.ts +++ b/packages/utils/src/utils/arrayify.test.ts @@ -1,5 +1,8 @@ import { arrayify } from './arrayify'; +/** + * @group node + */ describe('arrayify', () => { it('returns Uint8Array from Uint8Array', () => { expect(arrayify(new Uint8Array([0, 1, 2, 3]))).toEqual(new Uint8Array([0, 1, 2, 3])); diff --git a/packages/utils/src/utils/capitalizeString.test.ts b/packages/utils/src/utils/capitalizeString.test.ts index 94bcc630a47..f24e37f9d04 100644 --- a/packages/utils/src/utils/capitalizeString.test.ts +++ b/packages/utils/src/utils/capitalizeString.test.ts @@ -1,5 +1,8 @@ import { capitalizeString } from './capitalizeString'; +/** + * @group node + */ describe('capitalizeString', () => { test('should capitalize string', () => { expect(capitalizeString('test')).toEqual('Test'); diff --git a/packages/utils/src/utils/chunkAndPadBytes.test.ts b/packages/utils/src/utils/chunkAndPadBytes.test.ts index 36ff1aee968..195d9891bff 100644 --- a/packages/utils/src/utils/chunkAndPadBytes.test.ts +++ b/packages/utils/src/utils/chunkAndPadBytes.test.ts @@ -2,6 +2,9 @@ import { getBytesCopy } from 'ethers'; import { chunkAndPadBytes } from './chunkAndPadBytes'; +/** + * @group node + */ describe('chunkAndPadBytes', () => { it('can chunk and pad bytes to 16 KiB', () => { const bytes = getBytesCopy( diff --git a/packages/utils/src/utils/concat.test.ts b/packages/utils/src/utils/concat.test.ts index d384d918d4c..63b39a54222 100644 --- a/packages/utils/src/utils/concat.test.ts +++ b/packages/utils/src/utils/concat.test.ts @@ -2,6 +2,9 @@ import { getBytesCopy } from 'ethers'; import { concat, concatBytes } from './concat'; +/** + * @group node + */ describe('concat', () => { it('should concatenate multiple BytesLike into a single Uint8Array', () => { const byteslike1 = '0xff61ba809b36351b'; diff --git a/packages/utils/src/utils/hexlify.test.ts b/packages/utils/src/utils/hexlify.test.ts index f54ebf1f009..e0a81e6ee06 100644 --- a/packages/utils/src/utils/hexlify.test.ts +++ b/packages/utils/src/utils/hexlify.test.ts @@ -1,5 +1,8 @@ import { hexlify } from './hexlify'; +/** + * @group node + */ describe('hexlify', () => { it('returns hex from bytes', () => { expect(hexlify(new Uint8Array([0, 1, 2, 3]))).toEqual('0x00010203'); diff --git a/packages/utils/src/utils/normalizeString.test.ts b/packages/utils/src/utils/normalizeString.test.ts index 3f5ab62deff..6d636b872ba 100644 --- a/packages/utils/src/utils/normalizeString.test.ts +++ b/packages/utils/src/utils/normalizeString.test.ts @@ -2,6 +2,9 @@ import { safeExec } from '@fuel-ts/errors/test-utils'; import { normalizeString } from './normalizeString'; +/** + * @group node + */ describe('normalize.ts', () => { test('should normalize strings', () => { expect(normalizeString('DsToken')).toEqual('DsToken'); diff --git a/packages/utils/tsdoc.json b/packages/utils/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/utils/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/versions/scripts/rewriteVersions.test.ts b/packages/versions/scripts/rewriteVersions.test.ts index 0c8937a0c46..dd90dee9433 100644 --- a/packages/versions/scripts/rewriteVersions.test.ts +++ b/packages/versions/scripts/rewriteVersions.test.ts @@ -7,12 +7,17 @@ import { rewriteVersions, } from './rewriteVersions'; -// https://stackoverflow.com/a/72885576 -jest.mock('fs', () => ({ - __esModule: true, - ...jest.requireActual('fs'), -})); +vi.mock('fs', async () => { + const mod = await vi.importActual('fs'); + return { + __esModule: true, + ...mod, + }; +}); +/** + * @group node + */ describe('rewriteVersions.js', () => { function modifyEnv() { const envBackup = { ...process.env }; @@ -88,7 +93,7 @@ describe('rewriteVersions.js', () => { test('should rewrite files', () => { // mocking - const writeFileSync = jest.spyOn(fsMod, 'writeFileSync').mockImplementation(); + const writeFileSync = vi.spyOn(fsMod, 'writeFileSync').mockImplementation(() => []); // executing rewriteVersions(); diff --git a/packages/versions/scripts/rewriteVersions.ts b/packages/versions/scripts/rewriteVersions.ts index fd0f4c52751..5f1734bf51d 100644 --- a/packages/versions/scripts/rewriteVersions.ts +++ b/packages/versions/scripts/rewriteVersions.ts @@ -63,7 +63,7 @@ export const rewriteVersions = () => { }; /* istanbul ignore next */ -// Do not auto-run script when inside jest runner -if (!/jest\.js$/m.test(process.argv[1])) { +// Do not auto-run script when inside vitest +if (!process.env.VITEST) { rewriteVersions(); } diff --git a/packages/versions/src/cli.test.ts b/packages/versions/src/cli.test.ts index 507479c5652..2f972a0a7c2 100644 --- a/packages/versions/src/cli.test.ts +++ b/packages/versions/src/cli.test.ts @@ -4,10 +4,18 @@ import * as compareSystemVersionsMod from './lib/compareSystemVersions'; import * as getBuiltinVersionsMod from './lib/getBuiltinVersions'; import * as getSystemVersionsMod from './lib/getSystemVersions'; +/** + * @group node + */ describe('cli.js', () => { // hooks - beforeEach(jest.clearAllMocks); - afterEach(jest.restoreAllMocks); + beforeEach(() => { + vi.resetAllMocks(); + }); + + afterEach(() => { + vi.restoreAllMocks(); + }); /* Test (mocking) utility @@ -29,27 +37,27 @@ describe('cli.js', () => { systemForcIsEq, } = params; - const error = jest.spyOn(console, 'error').mockImplementation(); - const info = jest.spyOn(console, 'info').mockImplementation(); - const exit = jest.spyOn(process, 'exit').mockImplementation(); + const error = vi.spyOn(console, 'error').mockImplementation(() => []); + const info = vi.spyOn(console, 'info').mockImplementation(() => []); + const exit = vi.spyOn(process, 'exit').mockImplementation(vi.fn()); - jest - .spyOn(colorizeUserVersionMod, 'colorizeUserVersion') - .mockImplementation(({ version }) => version); + vi.spyOn(colorizeUserVersionMod, 'colorizeUserVersion').mockImplementation( + ({ version }) => version + ); - jest.spyOn(compareSystemVersionsMod, 'compareSystemVersions').mockImplementation(() => ({ + vi.spyOn(compareSystemVersionsMod, 'compareSystemVersions').mockImplementation(() => ({ systemForcIsGt, systemFuelCoreIsGt, systemForcIsEq, systemFuelCoreIsEq, })); - jest.spyOn(getSystemVersionsMod, 'getSystemVersions').mockImplementation(() => ({ + vi.spyOn(getSystemVersionsMod, 'getSystemVersions').mockImplementation(() => ({ systemForcVersion, systemFuelCoreVersion, })); - jest.spyOn(getBuiltinVersionsMod, 'getBuiltinVersions').mockImplementation(() => ({ + vi.spyOn(getBuiltinVersionsMod, 'getBuiltinVersions').mockImplementation(() => ({ FORC: '1.0.0', FUEL_CORE: '1.0.0', FUELS: '1.0.0', diff --git a/packages/versions/src/index.test.ts b/packages/versions/src/index.test.ts index 9dea598ecbd..cedcafd7ff1 100644 --- a/packages/versions/src/index.test.ts +++ b/packages/versions/src/index.test.ts @@ -1,5 +1,8 @@ import * as indexMod from './index'; +/** + * @group node + */ describe('index.js', () => { test('should export versions constant', () => { expect(indexMod.versions).toBeTruthy(); diff --git a/packages/versions/src/lib/checkFuelCoreVersionCompatibility.test.ts b/packages/versions/src/lib/checkFuelCoreVersionCompatibility.test.ts index 262a3ff0671..876534d4e4d 100644 --- a/packages/versions/src/lib/checkFuelCoreVersionCompatibility.test.ts +++ b/packages/versions/src/lib/checkFuelCoreVersionCompatibility.test.ts @@ -1,13 +1,18 @@ import { checkFuelCoreVersionCompatibility } from './checkFuelCoreVersionCompatibility'; import * as getBuiltinVersionsMod from './getBuiltinVersions'; +/** + * @group node + */ describe('getDifferenceToUserFuelCoreVersion', () => { - afterAll(() => jest.restoreAllMocks()); + afterEach(() => { + vi.restoreAllMocks(); + }); it('should validate all possible version mismatches', () => { const supportedVersion = '0.1.2'; - jest.spyOn(getBuiltinVersionsMod, 'getBuiltinVersions').mockImplementation(() => ({ + vi.spyOn(getBuiltinVersionsMod, 'getBuiltinVersions').mockImplementation(() => ({ FUELS: '1', // not under test FORC: '1', // not under test FUEL_CORE: supportedVersion, diff --git a/packages/versions/src/lib/colorizeUserVersion.test.ts b/packages/versions/src/lib/colorizeUserVersion.test.ts index d7ea91b1bf7..ba9479353ff 100644 --- a/packages/versions/src/lib/colorizeUserVersion.test.ts +++ b/packages/versions/src/lib/colorizeUserVersion.test.ts @@ -2,6 +2,9 @@ import { cyan, red, green } from 'chalk'; import { colorizeUserVersion } from './colorizeUserVersion'; +/** + * @group node + */ describe('colorizeUserVersion.js', () => { test('should colorize user versions just fine', () => { const version = '1.0.0'; diff --git a/packages/versions/src/lib/compareSystemVersions.test.ts b/packages/versions/src/lib/compareSystemVersions.test.ts index 6e634882a1e..e4003a7b5d2 100644 --- a/packages/versions/src/lib/compareSystemVersions.test.ts +++ b/packages/versions/src/lib/compareSystemVersions.test.ts @@ -1,17 +1,22 @@ import { compareSystemVersions } from './compareSystemVersions'; import * as getBuiltinVersionsMod from './getBuiltinVersions'; +/** + * @group node + */ describe('compareSystemVersions.js', () => { /* Hooks */ beforeEach(() => { const v = '1.0.0'; - const spy = jest.spyOn(getBuiltinVersionsMod, 'getBuiltinVersions'); + const spy = vi.spyOn(getBuiltinVersionsMod, 'getBuiltinVersions'); spy.mockImplementation(() => ({ FUELS: v, FORC: v, FUEL_CORE: v })); }); - afterEach(jest.restoreAllMocks); + afterEach(() => { + vi.restoreAllMocks(); + }); /* Tests diff --git a/packages/versions/src/lib/getBuiltinVersions.test.ts b/packages/versions/src/lib/getBuiltinVersions.test.ts index b090636ce14..fc7c09e9fd2 100644 --- a/packages/versions/src/lib/getBuiltinVersions.test.ts +++ b/packages/versions/src/lib/getBuiltinVersions.test.ts @@ -2,6 +2,9 @@ import { readVersionsFromFiles } from '../../scripts/rewriteVersions'; import { getBuiltinVersions } from './getBuiltinVersions'; +/** + * @group node + */ describe('getBuiltinVersions.js', () => { test('should return received version of default', () => { const versions = getBuiltinVersions(); diff --git a/packages/versions/src/lib/getSystemVersions.test.ts b/packages/versions/src/lib/getSystemVersions.test.ts index f09f445bdc5..e5f87477461 100644 --- a/packages/versions/src/lib/getSystemVersions.test.ts +++ b/packages/versions/src/lib/getSystemVersions.test.ts @@ -2,12 +2,17 @@ import * as childProcessMod from 'child_process'; import { getSystemVersions } from './getSystemVersions'; -// https://stackoverflow.com/a/72885576 -jest.mock('child_process', () => ({ - __esModule: true, - ...jest.requireActual('child_process'), -})); +vi.mock('child_process', async () => { + const mod = await vi.importActual('child_process'); + return { + __esModule: true, + ...mod, + }; +}); +/** + * @group node + */ describe('getSystemVersions.js', () => { /* Test (mocking) utility @@ -19,17 +24,17 @@ describe('getSystemVersions.js', () => { }) { const { systemForcVersion, systemFuelCoreVersion, shouldThrow } = params; - const error = jest.spyOn(console, 'error').mockImplementation(); + const error = vi.spyOn(console, 'error').mockImplementation(() => []); - const mockedExecOk = jest.fn(); + const mockedExecOk = vi.fn(); mockedExecOk.mockReturnValueOnce(systemForcVersion); // first call (forc) mockedExecOk.mockReturnValueOnce(systemFuelCoreVersion); // second call (fuel-core) - const execSyncThrow = jest.fn(() => { + const execSyncThrow = vi.fn(() => { throw new Error(); }); - const execSync = jest + const execSync = vi .spyOn(childProcessMod, 'execSync') .mockImplementation(shouldThrow ? execSyncThrow : mockedExecOk); diff --git a/packages/versions/tsdoc.json b/packages/versions/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/versions/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/wallet-manager/src/storages/memory-storage.test.ts b/packages/wallet-manager/src/storages/memory-storage.test.ts index 77e64a640bb..0685c5ae922 100644 --- a/packages/wallet-manager/src/storages/memory-storage.test.ts +++ b/packages/wallet-manager/src/storages/memory-storage.test.ts @@ -1,5 +1,8 @@ import MemoryStorage from './memory-storage'; +/** + * @group node + */ describe('MemoryStorage', () => { it('Test storage operations', async () => { const storage = new MemoryStorage(); diff --git a/packages/wallet-manager/src/vaults/mnemonic-vault.test.ts b/packages/wallet-manager/src/vaults/mnemonic-vault.test.ts index 68cbf785c70..29ee47c1ee0 100644 --- a/packages/wallet-manager/src/vaults/mnemonic-vault.test.ts +++ b/packages/wallet-manager/src/vaults/mnemonic-vault.test.ts @@ -6,6 +6,9 @@ import walletManagerSpec from '../wallet-manager-spec'; import { MnemonicVault } from './mnemonic-vault'; +/** + * @group node + */ describe('MnemonicVault', () => { let provider: Provider; diff --git a/packages/wallet-manager/src/vaults/privatekey-vault.test.ts b/packages/wallet-manager/src/vaults/privatekey-vault.test.ts index db1bc98f6fb..43a135ae028 100644 --- a/packages/wallet-manager/src/vaults/privatekey-vault.test.ts +++ b/packages/wallet-manager/src/vaults/privatekey-vault.test.ts @@ -6,6 +6,9 @@ import { FUEL_NETWORK_URL } from '@fuel-ts/wallet/configs'; import { PrivateKeyVault } from './privatekey-vault'; +/** + * @group node + */ describe('PrivateKeyVault', () => { let provider: Provider; let walletSpec: WalletUnlocked; diff --git a/packages/wallet-manager/src/wallet-manager.test.ts b/packages/wallet-manager/src/wallet-manager.test.ts index 8e64a997198..207a85307bf 100644 --- a/packages/wallet-manager/src/wallet-manager.test.ts +++ b/packages/wallet-manager/src/wallet-manager.test.ts @@ -10,6 +10,9 @@ import type { VaultConfig } from './types'; import { WalletManager } from './wallet-manager'; import WalletManagerSpec from './wallet-manager-spec'; +/** + * @group node + */ describe('Wallet Manager', () => { let provider: Provider; @@ -325,16 +328,16 @@ describe('Wallet Manager', () => { provider, }); // Create object with methods to be able to - // use Jest.spyOn + // use vi.spyOn const listeners = { onLock: () => {}, onUnlock: () => {}, onUpdate: () => {}, }; - const apyLock = jest.spyOn(listeners, 'onLock'); - const spyUnlock = jest.spyOn(listeners, 'onUnlock'); - const spyUpdate = jest.spyOn(listeners, 'onUpdate'); + const apyLock = vi.spyOn(listeners, 'onLock'); + const spyUnlock = vi.spyOn(listeners, 'onUnlock'); + const spyUpdate = vi.spyOn(listeners, 'onUpdate'); walletManager.on('update', listeners.onUpdate); walletManager.on('lock', listeners.onLock); diff --git a/packages/wallet-manager/tsdoc.json b/packages/wallet-manager/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/wallet-manager/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/packages/wallet/src/account.test.ts b/packages/wallet/src/account.test.ts index 7f126c6257e..5e48d7af97f 100644 --- a/packages/wallet/src/account.test.ts +++ b/packages/wallet/src/account.test.ts @@ -16,19 +16,27 @@ import type { TxParamsType } from './account'; import { Account } from './account'; import { FUEL_NETWORK_URL } from './configs'; -jest.mock('@fuel-ts/providers', () => ({ - __esModule: true, - ...jest.requireActual('@fuel-ts/providers'), -})); +vi.mock('@fuel-ts/providers', async () => { + const mod = await vi.importActual('@fuel-ts/providers'); + return { + __esModule: true, + ...mod, + }; +}); let provider: Provider; -afterEach(jest.restoreAllMocks); +afterEach(() => { + vi.restoreAllMocks(); +}); beforeAll(async () => { provider = await Provider.create(FUEL_NETWORK_URL); }); +/** + * @group node + */ describe('Account', () => { const assets = [ '0x0101010101010101010101010101010101010101010101010101010101010101', @@ -63,9 +71,9 @@ describe('Account', () => { it('should throw if coins length is higher than 9999', async () => { const dummyCoins: Coin[] = new Array(10000); - const getCoins = async () => Promise.resolve(dummyCoins); - - jest.spyOn(providersMod.Provider.prototype, 'getCoins').mockImplementation(getCoins); + vi.spyOn(Provider.prototype, 'getCoins').mockImplementation(async () => + Promise.resolve(dummyCoins) + ); const account = new Account( '0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db', @@ -113,12 +121,11 @@ describe('Account', () => { }); it('should throw if messages length is higher than 9999', async () => { - // mocking - const messages: Message[] = new Array(10000); - const mockedGetMessages = async () => Promise.resolve(messages); - jest - .spyOn(providersMod.Provider.prototype, 'getMessages') - .mockImplementationOnce(mockedGetMessages); + const dummyMessages: Message[] = new Array(10000); + + vi.spyOn(Provider.prototype, 'getMessages').mockImplementation(async () => + Promise.resolve(dummyMessages) + ); const account = new Account( '0x69a2b736b60159b43bb8a4f98c0589f6da5fa3a3d101e8e269c499eb942753ba', @@ -161,13 +168,11 @@ describe('Account', () => { }); it('should throw if balances length is higher than 9999', async () => { - const dummyBalace: CoinQuantity[] = new Array(10000); - - const mockedGetBalances = async () => Promise.resolve(dummyBalace); + const dummyBalances: CoinQuantity[] = new Array(10000); - jest - .spyOn(providersMod.Provider.prototype, 'getBalances') - .mockImplementation(mockedGetBalances); + vi.spyOn(Provider.prototype, 'getBalances').mockImplementation(async () => + Promise.resolve(dummyBalances) + ); const account = new Account( '0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db', @@ -216,13 +221,13 @@ describe('Account', () => { const request = new ScriptTransactionRequest(); const resourcesToSpend: Resource[] = []; - const getResourcesToSpendSpy = jest + const getResourcesToSpendSpy = vi .spyOn(Account.prototype, 'getResourcesToSpend') .mockImplementationOnce(() => Promise.resolve(resourcesToSpend)); - const addResourcesSpy = jest.spyOn(request, 'addResources'); + const addResourcesSpy = vi.spyOn(request, 'addResources'); - const addAmountToAssetSpy = jest.spyOn(providersMod, 'addAmountToAsset'); + const addAmountToAssetSpy = vi.spyOn(providersMod, 'addAmountToAsset'); const account = new Account( '0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db', @@ -278,21 +283,19 @@ describe('Account', () => { }; const request = new ScriptTransactionRequest(); - jest.spyOn(providersMod, 'ScriptTransactionRequest').mockImplementation(() => request); + vi.spyOn(providersMod, 'ScriptTransactionRequest').mockImplementation(() => request); const transactionResponse = new TransactionResponse('transactionId', provider); - const addCoinOutputSpy = jest.spyOn(request, 'addCoinOutput'); + const addCoinOutputSpy = vi.spyOn(request, 'addCoinOutput'); - const fundSpy = jest - .spyOn(Account.prototype, 'fund') - .mockImplementation(() => Promise.resolve()); + const fundSpy = vi.spyOn(Account.prototype, 'fund').mockImplementation(() => Promise.resolve()); - const sendTransactionSpy = jest + const sendTransactionSpy = vi .spyOn(Account.prototype, 'sendTransaction') .mockImplementation(() => Promise.resolve(transactionResponse)); - const getTransactionCost = jest + const getTransactionCost = vi .spyOn(Provider.prototype, 'getTransactionCost') .mockImplementation(() => Promise.resolve(transactionCost)); @@ -349,17 +352,17 @@ describe('Account', () => { const transactionResponse = {} as unknown as TransactionResponse; - const scriptTransactionRequest = jest + const scriptTransactionRequest = vi .spyOn(providersMod, 'ScriptTransactionRequest') .mockImplementation(() => request); - const getTransactionCost = jest + const getTransactionCost = vi .spyOn(providersMod.Provider.prototype, 'getTransactionCost') .mockImplementation(() => Promise.resolve(cost)); - const fund = jest.spyOn(Account.prototype, 'fund').mockImplementation(() => Promise.resolve()); + const fund = vi.spyOn(Account.prototype, 'fund').mockImplementation(() => Promise.resolve()); - const sendTransaction = jest + const sendTransaction = vi .spyOn(Account.prototype, 'sendTransaction') .mockImplementation(() => Promise.resolve(transactionResponse)); @@ -398,13 +401,13 @@ describe('Account', () => { const transactionRequest = new ScriptTransactionRequest(); const transactionResponse = 'transactionResponse' as unknown as TransactionResponse; - const transactionRequestify = jest.spyOn(providersMod, 'transactionRequestify'); + const transactionRequestify = vi.spyOn(providersMod, 'transactionRequestify'); - const estimateTxDependencies = jest + const estimateTxDependencies = vi .spyOn(providersMod.Provider.prototype, 'estimateTxDependencies') .mockImplementation(() => Promise.resolve()); - const sendTransaction = jest + const sendTransaction = vi .spyOn(providersMod.Provider.prototype, 'sendTransaction') .mockImplementation(() => Promise.resolve(transactionResponse)); @@ -434,15 +437,15 @@ describe('Account', () => { const transactionRequest = new ScriptTransactionRequest(); const callResult = 'callResult' as unknown as CallResult; - const transactionRequestify = jest + const transactionRequestify = vi .spyOn(providersMod, 'transactionRequestify') .mockImplementation(() => transactionRequest); - const estimateTxDependencies = jest + const estimateTxDependencies = vi .spyOn(providersMod.Provider.prototype, 'estimateTxDependencies') .mockImplementation(() => Promise.resolve()); - const simulate = jest + const simulate = vi .spyOn(providersMod.Provider.prototype, 'simulate') .mockImplementation(() => Promise.resolve(callResult)); diff --git a/packages/wallet/src/configs.test.ts b/packages/wallet/src/configs.test.ts index 1e71827fa93..dd336caf8a3 100644 --- a/packages/wallet/src/configs.test.ts +++ b/packages/wallet/src/configs.test.ts @@ -1,3 +1,6 @@ +/** + * @group node + */ describe('Configs', () => { it('exports FUEL_NETWORK_URL', async () => { const configs = await import('./configs'); @@ -9,7 +12,7 @@ describe('Configs - undefined process', () => { const originalProcess = process; beforeEach(() => { - jest.resetModules(); + vi.resetModules(); // @ts-expect-error - test to assert undefined process // eslint-disable-next-line no-global-assign @@ -35,7 +38,7 @@ describe('Configs - overridden env', () => { const originalEnv = process.env; beforeEach(() => { - jest.resetModules(); + vi.resetModules(); process.env = { ...originalEnv, FUEL_NETWORK_URL: 'some-other-network-url' }; }); diff --git a/packages/wallet/src/keystore-wallet.test.ts b/packages/wallet/src/keystore-wallet.test.ts index 5569282f16e..d95d92fffd2 100644 --- a/packages/wallet/src/keystore-wallet.test.ts +++ b/packages/wallet/src/keystore-wallet.test.ts @@ -3,8 +3,13 @@ import { safeExec } from '@fuel-ts/errors/test-utils'; import { decryptKeystoreWallet, encryptKeystoreWallet, removeHexPrefix } from './keystore-wallet'; +/** + * @group node + */ describe('Keystore Wallet', () => { - afterEach(jest.restoreAllMocks); + afterEach(() => { + vi.restoreAllMocks(); + }); const privateKey = '0xeac85e732b683119e62fb52ce3b04c0d2f60539cd55af34c731fcdcf802e5ef4'; diff --git a/packages/wallet/src/test-utils/launchNode.test.ts b/packages/wallet/src/test-utils/launchNode.test.ts index eceebb70b63..e196b6e8e36 100644 --- a/packages/wallet/src/test-utils/launchNode.test.ts +++ b/packages/wallet/src/test-utils/launchNode.test.ts @@ -6,6 +6,9 @@ import { WalletUnlocked } from '../wallets'; import { launchNodeAndGetWallets } from './launchNode'; +/** + * @group node + */ describe('launchNode', () => { test('launchNodeAndGetWallets - empty config', async () => { const { stop, provider, wallets } = await launchNodeAndGetWallets(); diff --git a/packages/wallet/src/transfer.test.ts b/packages/wallet/src/transfer.test.ts index 9c62e9d0fef..1d4366c9fa0 100644 --- a/packages/wallet/src/transfer.test.ts +++ b/packages/wallet/src/transfer.test.ts @@ -9,6 +9,9 @@ import { Wallet } from '.'; import { FUEL_NETWORK_URL } from './configs'; import { generateTestWallet, seedTestWallet } from './test-utils'; +/** + * @group node + */ describe('Wallet', () => { let provider: Provider; let gasPrice: BN; diff --git a/packages/wallet/src/utils.test.ts b/packages/wallet/src/utils.test.ts index 1e93a43bc28..6dc90931c7e 100644 --- a/packages/wallet/src/utils.test.ts +++ b/packages/wallet/src/utils.test.ts @@ -9,8 +9,29 @@ import { formatScriptDataForTransferringToContract, } from './utils'; +vi.mock('@fuels/vm-asm', async () => { + const mod = await vi.importActual('@fuels/vm-asm'); + return { + __esModule: true, + ...mod, + }; +}); + +vi.mock('ethers', async () => { + const mod = await vi.importActual('ethers'); + return { + __esModule: true, + ...mod, + }; +}); + +/** + * @group node + */ describe('util', () => { - afterEach(jest.restoreAllMocks); + afterEach(() => { + vi.restoreAllMocks(); + }); it('should ensure "composeScriptForTransferringToContract" returns script just fine', async () => { const script = await composeScriptForTransferringToContract(); @@ -24,9 +45,9 @@ describe('util', () => { it('should ensure "formatScriptDataForTransferringToContract" returns script data just fine', () => { const byte: number[] = [0, 0, 0, 0, 0, 0, 0, 1]; - const encode = jest.spyOn(U64Coder.prototype, 'encode').mockReturnValue(Uint8Array.from(byte)); + const encode = vi.spyOn(U64Coder.prototype, 'encode').mockReturnValue(Uint8Array.from(byte)); - const arrayify = jest + const arrayify = vi .spyOn(getBytesCopyMod, 'getBytesCopy') .mockReturnValue(Uint8Array.from(byte)); diff --git a/packages/wallet/src/wallet-unlocked.test.ts b/packages/wallet/src/wallet-unlocked.test.ts index aaccc847537..436b2048ecb 100644 --- a/packages/wallet/src/wallet-unlocked.test.ts +++ b/packages/wallet/src/wallet-unlocked.test.ts @@ -14,13 +14,19 @@ import * as keystoreWMod from './keystore-wallet'; import walletSpec from './wallet-spec'; import { WalletLocked, WalletUnlocked } from './wallets'; -jest.mock('@fuel-ts/providers', () => ({ - __esModule: true, - ...jest.requireActual('@fuel-ts/providers'), -})); +vi.mock('@fuel-ts/providers', async () => { + const mod = await vi.importActual('@fuel-ts/providers'); + return { + __esModule: true, + ...mod, + }; +}); const { ScriptTransactionRequest } = providersMod; +/** + * @group node + */ describe('WalletUnlocked', () => { const expectedPrivateKey = '0x5f70feeff1f229e4a95e1056e8b4d80d0b24b565674860cc213bdb07127ce1b1'; const expectedPublicKey = @@ -97,7 +103,7 @@ describe('WalletUnlocked', () => { const wallet = new WalletUnlocked(PRIVATE_KEY, provider); let signature: BytesLike | undefined; // Intercept Provider.sendTransaction to collect signature - const spy = jest + const spy = vi .spyOn(wallet.provider, 'sendTransaction') .mockImplementation(async (transaction: TransactionRequestLike) => { signature = transaction.witnesses?.[0]; @@ -205,19 +211,19 @@ describe('WalletUnlocked', () => { const transactionReq = new ScriptTransactionRequest(); const callResult = 'callResult' as unknown as CallResult; - const transactionRequestify = jest + const transactionRequestify = vi .spyOn(providersMod, 'transactionRequestify') .mockImplementation(() => transactionReq); - const estimateTxDependencies = jest + const estimateTxDependencies = vi .spyOn(providersMod.Provider.prototype, 'estimateTxDependencies') .mockImplementation(() => Promise.resolve()); - const call = jest + const call = vi .spyOn(providersMod.Provider.prototype, 'call') .mockImplementation(() => Promise.resolve(callResult)); - const populateTransactionWitnessesSignatureSpy = jest + const populateTransactionWitnessesSignatureSpy = vi .spyOn(BaseWalletUnlocked.prototype, 'populateTransactionWitnessesSignature') .mockImplementationOnce(() => Promise.resolve(transactionReq)); @@ -250,7 +256,7 @@ describe('WalletUnlocked', () => { }); const password = 'password'; - const encryptKeystoreWalletSpy = jest.spyOn(keystoreWMod, 'encryptKeystoreWallet'); + const encryptKeystoreWalletSpy = vi.spyOn(keystoreWMod, 'encryptKeystoreWallet'); const keystore = wallet.encrypt(password); diff --git a/packages/wallet/src/wallet.test.ts b/packages/wallet/src/wallet.test.ts index 324b0e15aa5..eba5d6d3cbc 100644 --- a/packages/wallet/src/wallet.test.ts +++ b/packages/wallet/src/wallet.test.ts @@ -10,6 +10,9 @@ import { generateTestWallet } from './test-utils/generateTestWallet'; import { Wallet } from './wallet'; import { WalletUnlocked } from './wallets'; +/** + * @group node + */ describe('Wallet', () => { let wallet: WalletUnlocked; let provider: Provider; diff --git a/packages/wordlists/src/wordlists.test.ts b/packages/wordlists/src/wordlists.test.ts index ca98da15298..3d72a3e917e 100644 --- a/packages/wordlists/src/wordlists.test.ts +++ b/packages/wordlists/src/wordlists.test.ts @@ -7,6 +7,9 @@ const checksum = (wordlists: string[]) => .update(Buffer.from(`${wordlists.join('\n')}\n`)) .digest('hex'); +/** + * @group node + */ describe('Checksum word lists', () => { test('Checksum english list', () => { expect(checksum(english)).toBe( diff --git a/packages/wordlists/tsdoc.json b/packages/wordlists/tsdoc.json new file mode 100644 index 00000000000..4514b072727 --- /dev/null +++ b/packages/wordlists/tsdoc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "extends": ["../../tsdoc.base.json"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f258a092707..cb3c1adc809 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,13 +4,16 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + cross-fetch: 4.0.0 + importers: .: devDependencies: '@changesets/cli': specifier: ^2.25.0 - version: 2.25.0 + version: 2.27.1 '@changesets/get-github-info': specifier: ^0.5.2 version: 0.5.2 @@ -26,111 +29,108 @@ importers: '@internal/tsup': specifier: workspace:* version: link:internal/tsup - '@jest/types': - specifier: ^29.5.0 - version: 29.5.0 - '@types/jest': - specifier: ^29.5.0 - version: 29.5.0 + '@istanbuljs/nyc-config-typescript': + specifier: ^1.0.2 + version: 1.0.2(nyc@15.1.0) '@types/node': specifier: 18.15.3 version: 18.15.3 '@types/node-fetch': specifier: ^2.6.2 - version: 2.6.2 + version: 2.6.9 '@types/web': specifier: ^0.0.65 version: 0.0.65 '@typescript-eslint/eslint-plugin': specifier: ^6.9.0 - version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2) + version: 6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.2.2) '@typescript-eslint/parser': specifier: ^6.9.0 - version: 6.9.1(eslint@8.52.0)(typescript@5.2.2) + version: 6.15.0(eslint@8.56.0)(typescript@5.2.2) + '@vitest/coverage-istanbul': + specifier: ^1.1.0 + version: 1.1.0(vitest@1.1.0) compare-versions: specifier: ^6.1.0 version: 6.1.0 conventional-changelog-angular: specifier: ^5.0.13 version: 5.0.13 + coverage-diff: + specifier: ^3.2.0 + version: 3.2.0 dotenv: specifier: ^9.0.2 version: 9.0.2 eslint: specifier: ^8.52.0 - version: 8.52.0 + version: 8.56.0 eslint-config-airbnb-base: specifier: ^15.0.0 - version: 15.0.0(eslint-plugin-import@2.29.0)(eslint@8.52.0) + version: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.56.0) eslint-config-airbnb-typescript: specifier: ^17.1.0 - version: 17.1.0(@typescript-eslint/eslint-plugin@6.9.1)(@typescript-eslint/parser@6.9.1)(eslint-plugin-import@2.29.0)(eslint@8.52.0) + version: 17.1.0(@typescript-eslint/eslint-plugin@6.15.0)(@typescript-eslint/parser@6.15.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) eslint-config-prettier: specifier: ^9.0.0 - version: 9.0.0(eslint@8.52.0) + version: 9.1.0(eslint@8.56.0) eslint-plugin-eslint-comments: specifier: ^3.2.0 - version: 3.2.0(eslint@8.52.0) + version: 3.2.0(eslint@8.56.0) eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.52.0) + version: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint@8.56.0) eslint-plugin-jsdoc: specifier: ^46.8.2 - version: 46.8.2(eslint@8.52.0) + version: 46.9.1(eslint@8.56.0) eslint-plugin-jsx-a11y: specifier: ^6.7.1 - version: 6.7.1(eslint@8.52.0) + version: 6.8.0(eslint@8.56.0) eslint-plugin-prettier: specifier: ^5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.1.1) eslint-plugin-react: specifier: ^7.33.2 - version: 7.33.2(eslint@8.52.0) + version: 7.33.2(eslint@8.56.0) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.52.0) + version: 4.6.0(eslint@8.56.0) eslint-plugin-tsdoc: specifier: ^0.2.17 version: 0.2.17 ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 glob: specifier: ^10.2.6 - version: 10.2.6 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@18.15.3) - jest-text-transformer: - specifier: ^1.0.4 - version: 1.0.4 + version: 10.3.10 nodemon: specifier: ^2.0.22 version: 2.0.22 npm-run-all: specifier: ^4.1.5 version: 4.1.5 + nyc: + specifier: ^15.1.0 + version: 15.1.0 open: specifier: ^8.4.0 - version: 8.4.0 + version: 8.4.2 prettier: specifier: ^3.0.3 - version: 3.0.3 + version: 3.1.1 rimraf: specifier: ^3.0.2 version: 3.0.2 textlint: specifier: ^13.3.2 - version: 13.3.2 + version: 13.4.1 textlint-rule-no-dead-link: specifier: ^5.1.2 - version: 5.1.2(textlint@13.3.2) + version: 5.1.2(textlint@13.4.1) ts-generator: specifier: ^0.1.1 version: 0.1.1 - ts-jest: - specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.5.0)(esbuild@0.17.19)(jest@29.7.0)(typescript@5.2.2) tsup: specifier: ^6.7.0 version: 6.7.0(typescript@5.2.2) @@ -139,10 +139,22 @@ importers: version: 4.7.0 turbo: specifier: ^1.8.8 - version: 1.8.8 + version: 1.11.2 typescript: specifier: ~5.2.2 version: 5.2.2 + vite: + specifier: ^5.0.8 + version: 5.0.10(@types/node@18.15.3) + vite-plugin-node-polyfills: + specifier: ^0.17.0 + version: 0.17.0(vite@5.0.10) + vite-plugin-plain-text: + specifier: ^1.4.2 + version: 1.4.2 + vitest: + specifier: ^1.0.4 + version: 1.1.0(@types/node@18.15.3) apps/demo-fuels: dependencies: @@ -199,7 +211,7 @@ importers: version: 0.42.1 '@testing-library/jest-dom': specifier: ^5.16.5 - version: 5.16.5 + version: 5.17.0 '@testing-library/react': specifier: ^13.4.0 version: 13.4.0(react-dom@18.2.0)(react@18.2.0) @@ -211,7 +223,7 @@ importers: version: 27.5.2 '@types/node': specifier: ^16.18.34 - version: 16.18.34 + version: 16.18.68 '@types/react': specifier: ^18.2.9 version: 18.2.9 @@ -263,28 +275,28 @@ importers: version: 18.2.4 '@typescript-eslint/eslint-plugin': specifier: ^5.59.0 - version: 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.38.0)(typescript@5.2.2) + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.2.2) '@typescript-eslint/parser': specifier: ^5.59.0 - version: 5.59.0(eslint@8.38.0)(typescript@5.2.2) + version: 5.62.0(eslint@8.56.0)(typescript@5.2.2) '@vitejs/plugin-react': specifier: ^4.0.0 - version: 4.0.0(vite@4.3.9) + version: 4.2.1(vite@4.5.1) eslint: specifier: ^8.38.0 - version: 8.38.0 + version: 8.56.0 eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.38.0) + version: 4.6.0(eslint@8.56.0) eslint-plugin-react-refresh: specifier: ^0.3.4 - version: 0.3.4(eslint@8.38.0) + version: 0.3.5(eslint@8.56.0) typescript: specifier: ~5.2.2 version: 5.2.2 vite: specifier: ^4.3.9 - version: 4.3.9(@types/node@18.15.3) + version: 4.5.1(@types/node@18.15.3) apps/demo-typegen: dependencies: @@ -318,20 +330,20 @@ importers: version: link:../../packages/fuels typedoc-plugin-markdown: specifier: ^3.15.3 - version: 3.15.3(typedoc@0.25.3) + version: 3.17.1(typedoc@0.25.4) devDependencies: '@types/markdown-it': specifier: ^12.2.3 version: 12.2.3 '@vue/devtools-api': specifier: ^6.5.0 - version: 6.5.0 + version: 6.5.1 flexsearch: specifier: ^0.7.31 version: 0.7.31 markdown-it: specifier: ^13.0.1 - version: 13.0.1 + version: 13.0.2 nodemon: specifier: ^2.0.22 version: 2.0.22 @@ -340,19 +352,19 @@ importers: version: 1.2.2 typedoc: specifier: ^0.25.1 - version: 0.25.3(typescript@5.2.2) + version: 0.25.4(typescript@5.2.2) typedoc-plugin-merge-modules: specifier: ^5.0.1 - version: 5.0.1(typedoc@0.25.3) + version: 5.1.0(typedoc@0.25.4) vitepress: specifier: 1.0.0-alpha.51 - version: 1.0.0-alpha.51(@algolia/client-search@4.22.0)(@types/node@18.15.3)(search-insights@2.13.0) + version: 1.0.0-alpha.51(@algolia/client-search@4.22.0)(@types/node@18.15.3)(search-insights@2.13.0)(typescript@5.2.2) vitepress-plugin-search: specifier: 1.0.4-alpha.19 - version: 1.0.4-alpha.19(flexsearch@0.7.31)(vitepress@1.0.0-alpha.51)(vue@3.2.47) + version: 1.0.4-alpha.19(flexsearch@0.7.31)(vitepress@1.0.0-alpha.51)(vue@3.3.13) vue: specifier: ^3.2.47 - version: 3.2.47 + version: 3.3.13(typescript@5.2.2) apps/docs-snippets: devDependencies: @@ -447,6 +459,8 @@ importers: specifier: workspace:* version: link:../../packages/fuels + internal/check-tests: {} + internal/tsup: {} packages/abi-coder: @@ -468,10 +482,10 @@ importers: version: link:../versions ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 type-fest: specifier: ^3.1.0 - version: 3.1.0 + version: 3.13.1 packages/abi-typegen: dependencies: @@ -486,22 +500,22 @@ importers: version: link:../versions commander: specifier: ^9.4.1 - version: 9.4.1 + version: 9.5.0 ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 glob: specifier: ^10.2.6 - version: 10.2.6 + version: 10.3.10 handlebars: specifier: ^4.7.7 - version: 4.7.7 + version: 4.7.8 mkdirp: specifier: ^1.0.4 version: 1.0.4 ramda: specifier: ^0.29.0 - version: 0.29.0 + version: 0.29.1 rimraf: specifier: ^3.0.2 version: 3.0.2 @@ -514,7 +528,7 @@ importers: version: 1.0.2 '@types/ramda': specifier: ^0.29.3 - version: 0.29.3 + version: 0.29.9 '@types/rimraf': specifier: ^3.0.2 version: 3.0.2 @@ -538,7 +552,7 @@ importers: version: 2.0.0 ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 packages/contract: dependencies: @@ -577,7 +591,7 @@ importers: version: link:../wallet ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 devDependencies: '@fuel-ts/forc': specifier: workspace:* @@ -593,7 +607,7 @@ importers: version: 2.1.2 ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 packages/errors: dependencies: @@ -605,7 +619,7 @@ importers: dependencies: node-fetch: specifier: ^2.6.7 - version: 2.6.7 + version: 2.7.0 packages/fuel-core: dependencies: @@ -711,28 +725,28 @@ importers: version: link:../wordlists bundle-require: specifier: ^4.0.1 - version: 4.0.1(esbuild@0.19.3) + version: 4.0.2(esbuild@0.19.10) chalk: specifier: '4' - version: 4.0.0 + version: 4.1.2 chokidar: specifier: ^3.5.3 version: 3.5.3 commander: specifier: ^9.4.1 - version: 9.4.1 + version: 9.5.0 esbuild: specifier: ^0.19.3 - version: 0.19.3 + version: 0.19.10 ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 glob: specifier: ^10.2.6 - version: 10.2.6 + version: 10.3.10 handlebars: specifier: ^4.7.7 - version: 4.7.7 + version: 4.7.8 joycon: specifier: ^3.1.1 version: 3.1.1 @@ -760,7 +774,7 @@ importers: devDependencies: '@types/lodash.camelcase': specifier: ^4.3.7 - version: 4.3.7 + version: 4.3.9 '@types/rimraf': specifier: ^3.0.2 version: 3.0.2 @@ -781,14 +795,14 @@ importers: version: link:../utils ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 ramda: specifier: ^0.29.0 - version: 0.29.0 + version: 0.29.1 devDependencies: '@types/ramda': specifier: ^0.29.3 - version: 0.29.3 + version: 0.29.9 packages/hdwallet: dependencies: @@ -806,7 +820,7 @@ importers: version: link:../signer ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 packages/interfaces: {} @@ -817,7 +831,7 @@ importers: version: link:../errors '@types/bn.js': specifier: ^5.1.1 - version: 5.1.1 + version: 5.1.5 bn.js: specifier: ^5.2.1 version: 5.2.1 @@ -829,7 +843,7 @@ importers: version: link:../math ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 packages/mnemonic: dependencies: @@ -844,7 +858,7 @@ importers: version: link:../wordlists ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 packages/predicate: dependencies: @@ -883,7 +897,7 @@ importers: version: link:../wallet ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 devDependencies: '@fuel-ts/math': specifier: workspace:* @@ -929,7 +943,7 @@ importers: version: 0.42.1 ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 devDependencies: '@fuel-ts/forc': specifier: workspace:* @@ -966,19 +980,19 @@ importers: version: link:../versions ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 graphql: specifier: ^16.6.0 - version: 16.6.0 + version: 16.8.1 graphql-request: specifier: 5.0.0 - version: 5.0.0(graphql@16.6.0) + version: 5.0.0(graphql@16.8.1) graphql-tag: specifier: ^2.12.6 - version: 2.12.6(graphql@16.6.0) + version: 2.12.6(graphql@16.8.1) ramda: specifier: ^0.29.0 - version: 0.29.0 + version: 0.29.1 tai64: specifier: ^1.0.0 version: 1.0.0 @@ -988,19 +1002,19 @@ importers: version: link:../utils '@graphql-codegen/cli': specifier: ^2.13.7 - version: 2.13.7(@babel/core@7.23.6)(@types/node@20.10.5)(graphql@16.6.0)(ts-node@10.9.2)(typescript@5.3.3) + version: 2.16.5(@babel/core@7.23.6)(@types/node@18.15.3)(graphql@16.8.1)(typescript@5.2.2) '@graphql-codegen/typescript': specifier: ^2.8.0 - version: 2.8.0(graphql@16.6.0) + version: 2.8.8(graphql@16.8.1) '@graphql-codegen/typescript-generic-sdk': specifier: ^3.1.0 - version: 3.1.0(graphql-tag@2.12.6)(graphql@16.6.0) + version: 3.1.0(graphql-tag@2.12.6)(graphql@16.8.1) '@graphql-codegen/typescript-operations': specifier: ^2.5.5 - version: 2.5.5(graphql@16.6.0) + version: 2.5.13(graphql@16.8.1) '@types/ramda': specifier: ^0.29.3 - version: 0.29.3 + version: 0.29.9 get-graphql-schema: specifier: ^2.1.2 version: 2.1.2 @@ -1042,7 +1056,7 @@ importers: version: link:../wallet ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 devDependencies: '@fuel-ts/forc': specifier: workspace:* @@ -1067,11 +1081,11 @@ importers: version: 6.5.4 ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 devDependencies: '@types/elliptic': specifier: ^6.4.14 - version: 6.4.14 + version: 6.4.18 packages/transactions: dependencies: @@ -1092,16 +1106,16 @@ importers: version: link:../utils ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 packages/utils: dependencies: ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 ramda: specifier: ^0.29.0 - version: 0.29.0 + version: 0.29.1 rimraf: specifier: ^3.0.2 version: 3.0.2 @@ -1114,20 +1128,20 @@ importers: dependencies: chalk: specifier: '4' - version: 4.0.0 + version: 4.1.2 cli-table: specifier: ^0.3.11 version: 0.3.11 semver: specifier: ^7.3.8 - version: 7.3.8 + version: 7.5.4 devDependencies: '@types/cli-table': specifier: ^0.3.1 - version: 0.3.1 + version: 0.3.4 '@types/semver': specifier: ^7.3.13 - version: 7.3.13 + version: 7.5.6 packages/wallet: dependencies: @@ -1178,7 +1192,7 @@ importers: version: 0.42.1 ethers: specifier: ^6.7.1 - version: 6.7.1 + version: 6.9.0 portfinder: specifier: ^1.0.32 version: 1.0.32 @@ -1187,11 +1201,11 @@ importers: version: 1.2.2 uuid: specifier: ^9.0.0 - version: 9.0.0 + version: 9.0.1 devDependencies: '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.7 packages/wallet-manager: dependencies: @@ -1235,99 +1249,88 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - /@adobe/css-tools@4.2.0: - resolution: {integrity: sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==} + /@adobe/css-tools@4.3.2: + resolution: {integrity: sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==} dev: false - /@adraffy/ens-normalize@1.9.2: - resolution: {integrity: sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg==} + /@adraffy/ens-normalize@1.10.0: + resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0)(search-insights@2.13.0): + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0)(search-insights@2.13.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights dev: true - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0)(search-insights@2.13.0): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: true - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0): + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) '@algolia/client-search': 4.22.0 - algoliasearch: 4.18.0 + algoliasearch: 4.22.0 dev: true - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0): + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: '@algolia/client-search': 4.22.0 - algoliasearch: 4.18.0 + algoliasearch: 4.22.0 dev: true - /@algolia/cache-browser-local-storage@4.18.0: - resolution: {integrity: sha512-rUAs49NLlO8LVLgGzM4cLkw8NJLKguQLgvFmBEe3DyzlinoqxzQMHfKZs6TSq4LZfw/z8qHvRo8NcTAAUJQLcw==} + /@algolia/cache-browser-local-storage@4.22.0: + resolution: {integrity: sha512-uZ1uZMLDZb4qODLfTSNHxSi4fH9RdrQf7DXEzW01dS8XK7QFtFh29N5NGKa9S+Yudf1vUMIF+/RiL4i/J0pWlQ==} dependencies: - '@algolia/cache-common': 4.18.0 - dev: true - - /@algolia/cache-common@4.18.0: - resolution: {integrity: sha512-BmxsicMR4doGbeEXQu8yqiGmiyvpNvejYJtQ7rvzttEAMxOPoWEHrWyzBQw4x7LrBY9pMrgv4ZlUaF8PGzewHg==} + '@algolia/cache-common': 4.22.0 dev: true /@algolia/cache-common@4.22.0: resolution: {integrity: sha512-TPwUMlIGPN16eW67qamNQUmxNiGHg/WBqWcrOoCddhqNTqGDPVqmgfaM85LPbt24t3r1z0zEz/tdsmuq3Q6oaA==} dev: true - /@algolia/cache-in-memory@4.18.0: - resolution: {integrity: sha512-evD4dA1nd5HbFdufBxLqlJoob7E2ozlqJZuV3YlirNx5Na4q1LckIuzjNYZs2ddLzuTc/Xd5O3Ibf7OwPskHxw==} - dependencies: - '@algolia/cache-common': 4.18.0 - dev: true - - /@algolia/client-account@4.18.0: - resolution: {integrity: sha512-XsDnlROr3+Z1yjxBJjUMfMazi1V155kVdte6496atvBgOEtwCzTs3A+qdhfsAnGUvaYfBrBkL0ThnhMIBCGcew==} + /@algolia/cache-in-memory@4.22.0: + resolution: {integrity: sha512-kf4Cio9NpPjzp1+uXQgL4jsMDeck7MP89BYThSvXSjf2A6qV/0KeqQf90TL2ECS02ovLOBXkk98P7qVarM+zGA==} dependencies: - '@algolia/client-common': 4.18.0 - '@algolia/client-search': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/cache-common': 4.22.0 dev: true - /@algolia/client-analytics@4.18.0: - resolution: {integrity: sha512-chEUSN4ReqU7uRQ1C8kDm0EiPE+eJeAXiWcBwLhEynfNuTfawN9P93rSZktj7gmExz0C8XmkbBU19IQ05wCNrQ==} + /@algolia/client-account@4.22.0: + resolution: {integrity: sha512-Bjb5UXpWmJT+yGWiqAJL0prkENyEZTBzdC+N1vBuHjwIJcjLMjPB6j1hNBRbT12Lmwi55uzqeMIKS69w+0aPzA==} dependencies: - '@algolia/client-common': 4.18.0 - '@algolia/client-search': 4.18.0 - '@algolia/requester-common': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/client-common': 4.22.0 + '@algolia/client-search': 4.22.0 + '@algolia/transporter': 4.22.0 dev: true - /@algolia/client-common@4.18.0: - resolution: {integrity: sha512-7N+soJFP4wn8tjTr3MSUT/U+4xVXbz4jmeRfWfVAzdAbxLAQbHa0o/POSdTvQ8/02DjCLelloZ1bb4ZFVKg7Wg==} + /@algolia/client-analytics@4.22.0: + resolution: {integrity: sha512-os2K+kHUcwwRa4ArFl5p/3YbF9lN3TLOPkbXXXxOvDpqFh62n9IRZuzfxpHxMPKAQS3Et1s0BkKavnNP02E9Hg==} dependencies: - '@algolia/requester-common': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/client-common': 4.22.0 + '@algolia/client-search': 4.22.0 + '@algolia/requester-common': 4.22.0 + '@algolia/transporter': 4.22.0 dev: true /@algolia/client-common@4.22.0: @@ -1337,20 +1340,12 @@ packages: '@algolia/transporter': 4.22.0 dev: true - /@algolia/client-personalization@4.18.0: - resolution: {integrity: sha512-+PeCjODbxtamHcPl+couXMeHEefpUpr7IHftj4Y4Nia1hj8gGq4VlIcqhToAw8YjLeCTfOR7r7xtj3pJcYdP8A==} + /@algolia/client-personalization@4.22.0: + resolution: {integrity: sha512-pEOftCxeBdG5pL97WngOBi9w5Vxr5KCV2j2D+xMVZH8MuU/JX7CglDSDDb0ffQWYqcUN+40Ry+xtXEYaGXTGow==} dependencies: - '@algolia/client-common': 4.18.0 - '@algolia/requester-common': 4.18.0 - '@algolia/transporter': 4.18.0 - dev: true - - /@algolia/client-search@4.18.0: - resolution: {integrity: sha512-F9xzQXTjm6UuZtnsLIew6KSraXQ0AzS/Ee+OD+mQbtcA/K1sg89tqb8TkwjtiYZ0oij13u3EapB3gPZwm+1Y6g==} - dependencies: - '@algolia/client-common': 4.18.0 - '@algolia/requester-common': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/client-common': 4.22.0 + '@algolia/requester-common': 4.22.0 + '@algolia/transporter': 4.22.0 dev: true /@algolia/client-search@4.22.0: @@ -1361,46 +1356,30 @@ packages: '@algolia/transporter': 4.22.0 dev: true - /@algolia/logger-common@4.18.0: - resolution: {integrity: sha512-46etYgSlkoKepkMSyaoriSn2JDgcrpc/nkOgou/lm0y17GuMl9oYZxwKKTSviLKI5Irk9nSKGwnBTQYwXOYdRg==} - dev: true - /@algolia/logger-common@4.22.0: resolution: {integrity: sha512-HMUQTID0ucxNCXs5d1eBJ5q/HuKg8rFVE/vOiLaM4Abfeq1YnTtGV3+rFEhOPWhRQxNDd+YHa4q864IMc0zHpQ==} dev: true - /@algolia/logger-console@4.18.0: - resolution: {integrity: sha512-3P3VUYMl9CyJbi/UU1uUNlf6Z8N2ltW3Oqhq/nR7vH0CjWv32YROq3iGWGxB2xt3aXobdUPXs6P0tHSKRmNA6g==} + /@algolia/logger-console@4.22.0: + resolution: {integrity: sha512-7JKb6hgcY64H7CRm3u6DRAiiEVXMvCJV5gRE672QFOUgDxo4aiDpfU61g6Uzy8NKjlEzHMmgG4e2fklELmPXhQ==} dependencies: - '@algolia/logger-common': 4.18.0 + '@algolia/logger-common': 4.22.0 dev: true - /@algolia/requester-browser-xhr@4.18.0: - resolution: {integrity: sha512-/AcWHOBub2U4TE/bPi4Gz1XfuLK6/7dj4HJG+Z2SfQoS1RjNLshZclU3OoKIkFp8D2NC7+BNsPvr9cPLyW8nyQ==} + /@algolia/requester-browser-xhr@4.22.0: + resolution: {integrity: sha512-BHfv1h7P9/SyvcDJDaRuIwDu2yrDLlXlYmjvaLZTtPw6Ok/ZVhBR55JqW832XN/Fsl6k3LjdkYHHR7xnsa5Wvg==} dependencies: - '@algolia/requester-common': 4.18.0 - dev: true - - /@algolia/requester-common@4.18.0: - resolution: {integrity: sha512-xlT8R1qYNRBCi1IYLsx7uhftzdfsLPDGudeQs+xvYB4sQ3ya7+ppolB/8m/a4F2gCkEO6oxpp5AGemM7kD27jA==} + '@algolia/requester-common': 4.22.0 dev: true /@algolia/requester-common@4.22.0: resolution: {integrity: sha512-Y9cEH/cKjIIZgzvI1aI0ARdtR/xRrOR13g5psCxkdhpgRN0Vcorx+zePhmAa4jdQNqexpxtkUdcKYugBzMZJgQ==} dev: true - /@algolia/requester-node-http@4.18.0: - resolution: {integrity: sha512-TGfwj9aeTVgOUhn5XrqBhwUhUUDnGIKlI0kCBMdR58XfXcfdwomka+CPIgThRbfYw04oQr31A6/95ZH2QVJ9UQ==} + /@algolia/requester-node-http@4.22.0: + resolution: {integrity: sha512-8xHoGpxVhz3u2MYIieHIB6MsnX+vfd5PS4REgglejJ6lPigftRhTdBCToe6zbwq4p0anZXjjPDvNWMlgK2+xYA==} dependencies: - '@algolia/requester-common': 4.18.0 - dev: true - - /@algolia/transporter@4.18.0: - resolution: {integrity: sha512-xbw3YRUGtXQNG1geYFEDDuFLZt4Z8YNKbamHPkzr3rWc6qp4/BqEeXcI2u/P/oMq2yxtXgMxrCxOPA8lyIe5jw==} - dependencies: - '@algolia/cache-common': 4.18.0 - '@algolia/logger-common': 4.18.0 - '@algolia/requester-common': 4.18.0 + '@algolia/requester-common': 4.22.0 dev: true /@algolia/transporter@4.22.0: @@ -1421,7 +1400,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.20 /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} @@ -1435,24 +1414,24 @@ packages: leven: 3.1.0 dev: false - /@ardatan/relay-compiler@12.0.0(graphql@16.6.0): + /@ardatan/relay-compiler@12.0.0(graphql@16.8.1): resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} hasBin: true peerDependencies: graphql: '*' dependencies: - '@babel/core': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/parser': 7.22.5 - '@babel/runtime': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - babel-preset-fbjs: 3.4.0(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/generator': 7.23.6 + '@babel/parser': 7.23.6 + '@babel/runtime': 7.23.6 + '@babel/traverse': 7.23.6 + '@babel/types': 7.23.6 + babel-preset-fbjs: 3.4.0(@babel/core@7.23.6) chalk: 4.1.2 fb-watchman: 2.0.2 fbjs: 3.0.5 glob: 7.2.3 - graphql: 16.6.0 + graphql: 16.8.1 immutable: 3.7.6 invariant: 2.2.4 nullthrows: 1.1.1 @@ -1483,12 +1462,6 @@ packages: '@azu/format-text': 1.0.2 dev: true - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.5 - /@babel/code-frame@7.23.5: resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} @@ -1496,36 +1469,10 @@ packages: '@babel/highlight': 7.23.4 chalk: 2.4.2 - /@babel/compat-data@7.22.5: - resolution: {integrity: sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==} - engines: {node: '>=6.9.0'} - /@babel/compat-data@7.23.5: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.22.5: - resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-module-transforms': 7.22.5 - '@babel/helpers': 7.22.5 - '@babel/parser': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - /@babel/core@7.23.6: resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==} engines: {node: '>=6.9.0'} @@ -1548,29 +1495,20 @@ packages: transitivePeerDependencies: - supports-color - /@babel/eslint-parser@7.22.5(@babel/core@7.22.5)(eslint@8.56.0): - resolution: {integrity: sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==} + /@babel/eslint-parser@7.23.3(@babel/core@7.23.6)(eslint@8.56.0): + resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: - '@babel/core': '>=7.11.0' + '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 8.56.0 eslint-visitor-keys: 2.1.0 - semver: 6.3.0 + semver: 6.3.1 dev: false - /@babel/generator@7.22.5: - resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 - /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} @@ -1584,28 +1522,15 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: - resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 dev: false - /@babel/helper-compilation-targets@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.9 - lru-cache: 5.1.1 - semver: 6.3.0 - /@babel/helper-compilation-targets@7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} @@ -1616,49 +1541,46 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==} + /@babel/helper-create-class-features-plugin@7.23.6(@babel/core@7.23.6): + resolution: {integrity: sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 - /@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.6): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 - semver: 6.3.0 + semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.22.5): - resolution: {integrity: sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==} + /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.6): + resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} peerDependencies: - '@babel/core': ^7.4.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.2 - semver: 6.3.0 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: false @@ -1667,17 +1589,6 @@ packages: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} - engines: {node: '>=6.9.0'} - - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} @@ -1689,13 +1600,13 @@ packages: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} @@ -1703,27 +1614,6 @@ packages: dependencies: '@babel/types': 7.23.6 - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - - /@babel/helper-module-transforms@7.22.5: - resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.6): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} @@ -1741,57 +1631,46 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==} + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.6): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 dev: false - /@babel/helper-replace-supers@7.22.5: - resolution: {integrity: sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==} + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.6): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 - - /@babel/helper-split-export-declaration@7.22.5: - resolution: {integrity: sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} @@ -1799,10 +1678,6 @@ packages: dependencies: '@babel/types': 7.23.6 - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} - /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} @@ -1811,40 +1686,19 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} - engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.23.5: resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.22.5: - resolution: {integrity: sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==} + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 dev: false - /@babel/helpers@7.22.5: - resolution: {integrity: sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/helpers@7.23.6: resolution: {integrity: sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==} engines: {node: '>=6.9.0'} @@ -1855,14 +1709,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} @@ -1871,13 +1717,6 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.5: - resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.22.5 - /@babel/parser@7.23.6: resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} engines: {node: '>=6.0.0'} @@ -1885,1212 +1724,1134 @@ packages: dependencies: '@babel/types': 7.23.6 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.6) + dev: false + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.5): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.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 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-proposal-decorators@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A==} + /@babel/plugin-proposal-decorators@7.23.6(@babel/core@7.23.6): + resolution: {integrity: sha512-D7Ccq9LfkBFnow3azZGJvZYgcfeqAw3I1e5LoTpj6UKIFQilh8yqXsIGcRIqbBdsPWIz+Ze7ZZfggSj62Qp+Fg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.23.6) dev: false - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.5): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.6): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} 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-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6) dev: false - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.5): + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.6): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} 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-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6) dev: false - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.5): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.23.6): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} 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-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6) dev: true - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.5): + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.6): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} 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-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6) dev: false - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.22.5): + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.23.6): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} 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-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.6): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.5): + /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.23.6): resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} 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-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.5): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.6) dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.5): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.6): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.5): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.6): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.5): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.6): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==} + /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.22.5): + /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.6): resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: false - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.23.6): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.5): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.6): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.22.5): + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.6): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.5): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.6): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.5): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.6): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.5): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.6): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.5): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.6): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.5): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.6): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==} + /@babel/plugin-transform-async-generator-functions@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.6) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color dev: false - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-classes@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==} + /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.6): + resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6) + '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 + '@babel/template': 7.22.15 - /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} + /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.6) - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.6): + resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-function-name': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color dev: false - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.6): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6) - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==} + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color dev: false - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.6): + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==} + /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} + /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.6): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} + /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/types': 7.22.5 - - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.6): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.22.5) + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.6) '@babel/types': 7.23.6 - dev: false - /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} + /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.1 + regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-runtime@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==} + /@babel/plugin-transform-runtime@7.23.6(@babel/core@7.23.6): + resolution: {integrity: sha512-kF1Zg62aPseQ11orDhFRw+aPG/eynNQtI+TyY+m33qJa2cJ5EEvza2P2BNTIA9E5MyqFABHEyY6CPHwgdy9aNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.5) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.5) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.5) - semver: 6.3.0 + babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.6) + babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.6) + babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.6) + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typescript@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==} + /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.6): + resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6) dev: false - /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/preset-env@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==} + /@babel/preset-env@7.23.6(@babel/core@7.23.6): + resolution: {integrity: sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-async-generator-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.5) - '@babel/preset-modules': 0.1.5(@babel/core@7.22.5) - '@babel/types': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.5) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.5) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.5) - core-js-compat: 3.31.0 - semver: 6.3.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.6) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.6) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.6) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.6) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.6) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.6) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.6) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.6) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-async-generator-functions': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.6) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.6) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.6) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.6) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.6) + babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.6) + babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.6) + babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.6) + core-js-compat: 3.34.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.5(@babel/core@7.22.5): - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.6): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 esutils: 2.0.3 dev: false - /@babel/preset-react@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==} + /@babel/preset-react@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.5) + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.6) + '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.6) dev: false - /@babel/preset-typescript@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} + /@babel/preset-typescript@7.23.3(@babel/core@7.23.6): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.6) dev: false /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: false - /@babel/runtime-corejs3@7.22.5: - resolution: {integrity: sha512-TNPDN6aBFaUox2Lu+H/Y1dKKQgr4ucz/FGyCz67RVYLsBpVpUFf1dDngzg+Od8aqbrqwyztkaZjtWCZEUOT8zA==} - engines: {node: '>=6.9.0'} - dependencies: - core-js-pure: 3.31.0 - regenerator-runtime: 0.13.11 - dev: false - - /@babel/runtime@7.22.5: - resolution: {integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.11 - /@babel/runtime@7.23.6: resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 - dev: false /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} @@ -3100,31 +2861,6 @@ packages: '@babel/parser': 7.23.6 '@babel/types': 7.23.6 - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.5 - '@babel/types': 7.22.5 - - /@babel/traverse@7.22.5: - resolution: {integrity: sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - '@babel/parser': 7.22.5 - '@babel/types': 7.22.5 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - /@babel/traverse@7.23.6: resolution: {integrity: sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==} engines: {node: '>=6.9.0'} @@ -3142,14 +2878,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - /@babel/types@7.23.6: resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} engines: {node: '>=6.9.0'} @@ -3160,15 +2888,16 @@ packages: /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: false - /@changesets/apply-release-plan@6.1.4: - resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} + /@changesets/apply-release-plan@7.0.0: + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: - '@babel/runtime': 7.22.5 - '@changesets/config': 2.3.1 - '@changesets/get-version-range-type': 0.3.2 - '@changesets/git': 2.0.0 - '@changesets/types': 5.2.1 + '@babel/runtime': 7.23.6 + '@changesets/config': 3.0.0 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 fs-extra: 7.0.1 @@ -3176,91 +2905,90 @@ packages: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.5.3 + semver: 7.5.4 dev: true - /@changesets/assemble-release-plan@5.2.4: - resolution: {integrity: sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==} + /@changesets/assemble-release-plan@6.0.0: + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: - '@babel/runtime': 7.22.5 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/types': 5.2.1 + '@babel/runtime': 7.23.6 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.5.3 + semver: 7.5.4 dev: true - /@changesets/changelog-git@0.1.14: - resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} + /@changesets/changelog-git@0.2.0: + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} dependencies: - '@changesets/types': 5.2.1 + '@changesets/types': 6.0.0 dev: true - /@changesets/cli@2.25.0: - resolution: {integrity: sha512-Svu5KD2enurVHGEEzCRlaojrHjVYgF9srmMP9VQSy9c1TspX6C9lDPpulsSNIjYY9BuU/oiWpjBgR7RI9eQiAA==} + /@changesets/cli@2.27.1: + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: - '@babel/runtime': 7.22.5 - '@changesets/apply-release-plan': 6.1.4 - '@changesets/assemble-release-plan': 5.2.4 - '@changesets/changelog-git': 0.1.14 - '@changesets/config': 2.3.1 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/get-release-plan': 3.0.17 - '@changesets/git': 1.5.0 - '@changesets/logger': 0.0.5 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 - '@changesets/write': 0.2.3 + '@babel/runtime': 7.23.6 + '@changesets/apply-release-plan': 7.0.0 + '@changesets/assemble-release-plan': 6.0.0 + '@changesets/changelog-git': 0.2.0 + '@changesets/config': 3.0.0 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-release-plan': 4.0.0 + '@changesets/git': 3.0.0 + '@changesets/logger': 0.1.0 + '@changesets/pre': 2.0.0 + '@changesets/read': 0.6.0 + '@changesets/types': 6.0.0 + '@changesets/write': 0.3.0 '@manypkg/get-packages': 1.1.3 - '@types/is-ci': 3.0.0 - '@types/semver': 6.2.3 + '@types/semver': 7.5.6 ansi-colors: 4.1.3 chalk: 2.4.2 - enquirer: 2.3.6 + ci-info: 3.9.0 + enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 human-id: 1.0.2 - is-ci: 3.0.1 meow: 6.1.1 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.0.3 + preferred-pm: 3.1.2 resolve-from: 5.0.0 - semver: 5.7.1 + semver: 7.5.4 spawndamnit: 2.0.0 term-size: 2.2.1 - tty-table: 4.2.1 + tty-table: 4.2.3 dev: true - /@changesets/config@2.3.1: - resolution: {integrity: sha512-PQXaJl82CfIXddUOppj4zWu+987GCw2M+eQcOepxN5s+kvnsZOwjEJO3DH9eVy+OP6Pg/KFEWdsECFEYTtbg6w==} + /@changesets/config@3.0.0: + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} dependencies: - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/logger': 0.0.5 - '@changesets/types': 5.2.1 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/logger': 0.1.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 micromatch: 4.0.5 dev: true - /@changesets/errors@0.1.4: - resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} + /@changesets/errors@0.2.0: + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} dependencies: extendable-error: 0.1.7 dev: true - /@changesets/get-dependents-graph@1.3.6: - resolution: {integrity: sha512-Q/sLgBANmkvUm09GgRsAvEtY3p1/5OCzgBE5vX3vgb5CvW0j7CEljocx5oPXeQSNph6FXulJlXV3Re/v3K3P3Q==} + /@changesets/get-dependents-graph@2.0.0: + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} dependencies: - '@changesets/types': 5.2.1 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 - semver: 7.5.3 + semver: 7.5.4 dev: true /@changesets/get-github-info@0.5.2: @@ -3272,76 +3000,65 @@ packages: - encoding dev: true - /@changesets/get-release-plan@3.0.17: - resolution: {integrity: sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==} + /@changesets/get-release-plan@4.0.0: + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: - '@babel/runtime': 7.22.5 - '@changesets/assemble-release-plan': 5.2.4 - '@changesets/config': 2.3.1 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 + '@babel/runtime': 7.23.6 + '@changesets/assemble-release-plan': 6.0.0 + '@changesets/config': 3.0.0 + '@changesets/pre': 2.0.0 + '@changesets/read': 0.6.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 dev: true - /@changesets/get-version-range-type@0.3.2: - resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} - dev: true - - /@changesets/git@1.5.0: - resolution: {integrity: sha512-Xo8AT2G7rQJSwV87c8PwMm6BAc98BnufRMsML7m7Iw8Or18WFvFmxqG5aOL5PBvhgq9KrKvaeIBNIymracSuHg==} - dependencies: - '@babel/runtime': 7.22.5 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - is-subdir: 1.2.0 - spawndamnit: 2.0.0 + /@changesets/get-version-range-type@0.4.0: + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} dev: true - /@changesets/git@2.0.0: - resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} + /@changesets/git@3.0.0: + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: - '@babel/runtime': 7.22.5 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 + '@babel/runtime': 7.23.6 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 micromatch: 4.0.5 spawndamnit: 2.0.0 dev: true - /@changesets/logger@0.0.5: - resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} + /@changesets/logger@0.1.0: + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} dependencies: chalk: 2.4.2 dev: true - /@changesets/parse@0.3.16: - resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} + /@changesets/parse@0.4.0: + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} dependencies: - '@changesets/types': 5.2.1 + '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true - /@changesets/pre@1.0.14: - resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} + /@changesets/pre@2.0.0: + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: - '@babel/runtime': 7.22.5 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 + '@babel/runtime': 7.23.6 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 dev: true - /@changesets/read@0.5.9: - resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} + /@changesets/read@0.6.0: + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: - '@babel/runtime': 7.22.5 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/parse': 0.3.16 - '@changesets/types': 5.2.1 + '@babel/runtime': 7.23.6 + '@changesets/git': 3.0.0 + '@changesets/logger': 0.1.0 + '@changesets/parse': 0.4.0 + '@changesets/types': 6.0.0 chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 @@ -3351,15 +3068,15 @@ packages: resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} dev: true - /@changesets/types@5.2.1: - resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} + /@changesets/types@6.0.0: + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} dev: true - /@changesets/write@0.2.3: - resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} + /@changesets/write@0.3.0: + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: - '@babel/runtime': 7.22.5 - '@changesets/types': 5.2.1 + '@babel/runtime': 7.23.6 + '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 prettier: 2.8.8 @@ -3376,148 +3093,148 @@ packages: resolution: {integrity: sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==} dev: false - /@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.24): + /@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.32): resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /@csstools/postcss-color-function@1.1.1(postcss@8.4.24): + /@csstools/postcss-color-function@1.1.1(postcss@8.4.32): resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) - postcss: 8.4.24 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.24): + /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.32): resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.24): + /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.32): resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.24): + /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.32): resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) - postcss: 8.4.24 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.24): + /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.32): resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /@csstools/postcss-nested-calc@1.0.0(postcss@8.4.24): + /@csstools/postcss-nested-calc@1.0.0(postcss@8.4.32): resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.24): + /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.32): resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.24): + /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.32): resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) - postcss: 8.4.24 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.24): + /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.32): resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.24): + /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.32): resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.24): + /@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.32): resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.24): + /@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.32): resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} engines: {node: ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-unset-value@1.0.2(postcss@8.4.24): + /@csstools/postcss-unset-value@1.0.2(postcss@8.4.32): resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13): @@ -3529,15 +3246,15 @@ packages: postcss-selector-parser: 6.0.13 dev: false - /@docsearch/css@3.5.1: - resolution: {integrity: sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA==} + /@docsearch/css@3.5.2: + resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: true - /@docsearch/js@3.5.1(@algolia/client-search@4.22.0)(search-insights@2.13.0): - resolution: {integrity: sha512-EXi8de5njxgP6TV3N9ytnGRLG9zmBNTEZjR4VzwPcpPLbZxxTLG2gaFyJyKiFVQxHW/DPlMrDJA3qoRRGEkgZw==} + /@docsearch/js@3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0): + resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} dependencies: - '@docsearch/react': 3.5.1(@algolia/client-search@4.22.0)(search-insights@2.13.0) - preact: 10.15.1 + '@docsearch/react': 3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0) + preact: 10.19.3 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -3546,12 +3263,13 @@ packages: - search-insights dev: true - /@docsearch/react@3.5.1(@algolia/client-search@4.22.0)(search-insights@2.13.0): - resolution: {integrity: sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ==} + /@docsearch/react@3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0): + resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' peerDependenciesMeta: '@types/react': optional: true @@ -3559,21 +3277,23 @@ packages: optional: true react-dom: optional: true + search-insights: + optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0)(search-insights@2.13.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.18.0) - '@docsearch/css': 3.5.1 - algoliasearch: 4.18.0 + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) + '@docsearch/css': 3.5.2 + algoliasearch: 4.22.0 + search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - - search-insights dev: true - /@es-joy/jsdoccomment@0.40.1: - resolution: {integrity: sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==} + /@es-joy/jsdoccomment@0.41.0: + resolution: {integrity: sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==} engines: {node: '>=16'} dependencies: - comment-parser: 1.4.0 + comment-parser: 1.4.1 esquery: 1.5.0 jsdoc-type-pratt-parser: 4.0.0 dev: true @@ -3584,7 +3304,6 @@ packages: cpu: [ppc64] os: [aix] requiresBuild: true - dev: true optional: true /@esbuild/android-arm64@0.17.19: @@ -3595,8 +3314,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64@0.19.10: - resolution: {integrity: sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==} + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -3604,13 +3323,12 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.19.3: - resolution: {integrity: sha512-w+Akc0vv5leog550kjJV9Ru+MXMR2VuMrui3C61mnysim0gkFCPOUTAfzTP0qX+HpN9Syu3YA3p1hf3EPqObRw==} + /@esbuild/android-arm64@0.19.10: + resolution: {integrity: sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==} engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/android-arm@0.17.19: @@ -3621,8 +3339,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.19.10: - resolution: {integrity: sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==} + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -3630,13 +3348,12 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.3: - resolution: {integrity: sha512-Lemgw4io4VZl9GHJmjiBGzQ7ONXRfRPHcUEerndjwiSkbxzrpq0Uggku5MxxrXdwJ+pTj1qyw4jwTu7hkPsgIA==} + /@esbuild/android-arm@0.19.10: + resolution: {integrity: sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==} engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/android-x64@0.17.19: @@ -3647,8 +3364,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.19.10: - resolution: {integrity: sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==} + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -3656,13 +3373,12 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.3: - resolution: {integrity: sha512-FKQJKkK5MXcBHoNZMDNUAg1+WcZlV/cuXrWCoGF/TvdRiYS4znA0m5Il5idUwfxrE20bG/vU1Cr5e1AD6IEIjQ==} + /@esbuild/android-x64@0.19.10: + resolution: {integrity: sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/darwin-arm64@0.17.19: @@ -3673,8 +3389,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.19.10: - resolution: {integrity: sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==} + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -3682,13 +3398,12 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.3: - resolution: {integrity: sha512-kw7e3FXU+VsJSSSl2nMKvACYlwtvZB8RUIeVShIEY6PVnuZ3c9+L9lWB2nWeeKWNNYDdtL19foCQ0ZyUL7nqGw==} + /@esbuild/darwin-arm64@0.19.10: + resolution: {integrity: sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true - dev: false optional: true /@esbuild/darwin-x64@0.17.19: @@ -3699,8 +3414,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.19.10: - resolution: {integrity: sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==} + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -3708,13 +3423,12 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.3: - resolution: {integrity: sha512-tPfZiwF9rO0jW6Jh9ipi58N5ZLoSjdxXeSrAYypy4psA2Yl1dAMhM71KxVfmjZhJmxRjSnb29YlRXXhh3GqzYw==} + /@esbuild/darwin-x64@0.19.10: + resolution: {integrity: sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true - dev: false optional: true /@esbuild/freebsd-arm64@0.17.19: @@ -3725,8 +3439,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.19.10: - resolution: {integrity: sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==} + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -3734,13 +3448,12 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.3: - resolution: {integrity: sha512-ERDyjOgYeKe0Vrlr1iLrqTByB026YLPzTytDTz1DRCYM+JI92Dw2dbpRHYmdqn6VBnQ9Bor6J8ZlNwdZdxjlSg==} + /@esbuild/freebsd-arm64@0.19.10: + resolution: {integrity: sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true - dev: false optional: true /@esbuild/freebsd-x64@0.17.19: @@ -3751,8 +3464,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.19.10: - resolution: {integrity: sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==} + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -3760,13 +3473,12 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.3: - resolution: {integrity: sha512-nXesBZ2Ad1qL+Rm3crN7NmEVJ5uvfLFPLJev3x1j3feCQXfAhoYrojC681RhpdOph8NsvKBBwpYZHR7W0ifTTA==} + /@esbuild/freebsd-x64@0.19.10: + resolution: {integrity: sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true - dev: false optional: true /@esbuild/linux-arm64@0.17.19: @@ -3777,8 +3489,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.19.10: - resolution: {integrity: sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==} + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -3786,13 +3498,12 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.3: - resolution: {integrity: sha512-qXvYKmXj8GcJgWq3aGvxL/JG1ZM3UR272SdPU4QSTzD0eymrM7leiZH77pvY3UetCy0k1xuXZ+VPvoJNdtrsWQ==} + /@esbuild/linux-arm64@0.19.10: + resolution: {integrity: sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-arm@0.17.19: @@ -3803,8 +3514,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.19.10: - resolution: {integrity: sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==} + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -3812,13 +3523,12 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.3: - resolution: {integrity: sha512-zr48Cg/8zkzZCzDHNxXO/89bf9e+r4HtzNUPoz4GmgAkF1gFAFmfgOdCbR8zMbzFDGb1FqBBhdXUpcTQRYS1cQ==} + /@esbuild/linux-arm@0.19.10: + resolution: {integrity: sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==} engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-ia32@0.17.19: @@ -3829,8 +3539,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.19.10: - resolution: {integrity: sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==} + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -3838,13 +3548,12 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.3: - resolution: {integrity: sha512-7XlCKCA0nWcbvYpusARWkFjRQNWNGlt45S+Q18UeS///K6Aw8bB2FKYe9mhVWy/XLShvCweOLZPrnMswIaDXQA==} + /@esbuild/linux-ia32@0.19.10: + resolution: {integrity: sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-loong64@0.17.19: @@ -3855,8 +3564,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.19.10: - resolution: {integrity: sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==} + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -3864,13 +3573,12 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.3: - resolution: {integrity: sha512-qGTgjweER5xqweiWtUIDl9OKz338EQqCwbS9c2Bh5jgEH19xQ1yhgGPNesugmDFq+UUSDtWgZ264st26b3de8A==} + /@esbuild/linux-loong64@0.19.10: + resolution: {integrity: sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-mips64el@0.17.19: @@ -3881,8 +3589,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.19.10: - resolution: {integrity: sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==} + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -3890,13 +3598,12 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.3: - resolution: {integrity: sha512-gy1bFskwEyxVMFRNYSvBauDIWNggD6pyxUksc0MV9UOBD138dKTzr8XnM2R4mBsHwVzeuIH8X5JhmNs2Pzrx+A==} + /@esbuild/linux-mips64el@0.19.10: + resolution: {integrity: sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-ppc64@0.17.19: @@ -3907,8 +3614,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.19.10: - resolution: {integrity: sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==} + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -3916,13 +3623,12 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.3: - resolution: {integrity: sha512-UrYLFu62x1MmmIe85rpR3qou92wB9lEXluwMB/STDzPF9k8mi/9UvNsG07Tt9AqwPQXluMQ6bZbTzYt01+Ue5g==} + /@esbuild/linux-ppc64@0.19.10: + resolution: {integrity: sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-riscv64@0.17.19: @@ -3933,8 +3639,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.19.10: - resolution: {integrity: sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==} + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -3942,13 +3648,12 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.3: - resolution: {integrity: sha512-9E73TfyMCbE+1AwFOg3glnzZ5fBAFK4aawssvuMgCRqCYzE0ylVxxzjEfut8xjmKkR320BEoMui4o/t9KA96gA==} + /@esbuild/linux-riscv64@0.19.10: + resolution: {integrity: sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-s390x@0.17.19: @@ -3959,8 +3664,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.19.10: - resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==} + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -3968,13 +3673,12 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.3: - resolution: {integrity: sha512-LlmsbuBdm1/D66TJ3HW6URY8wO6IlYHf+ChOUz8SUAjVTuaisfuwCOAgcxo3Zsu3BZGxmI7yt//yGOxV+lHcEA==} + /@esbuild/linux-s390x@0.19.10: + resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-x64@0.17.19: @@ -3985,8 +3689,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.19.10: - resolution: {integrity: sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==} + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -3994,13 +3698,12 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.3: - resolution: {integrity: sha512-ogV0+GwEmvwg/8ZbsyfkYGaLACBQWDvO0Kkh8LKBGKj9Ru8VM39zssrnu9Sxn1wbapA2qNS6BiLdwJZGouyCwQ==} + /@esbuild/linux-x64@0.19.10: + resolution: {integrity: sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/netbsd-x64@0.17.19: @@ -4011,8 +3714,8 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.19.10: - resolution: {integrity: sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==} + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -4020,13 +3723,12 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.3: - resolution: {integrity: sha512-o1jLNe4uzQv2DKXMlmEzf66Wd8MoIhLNO2nlQBHLtWyh2MitDG7sMpfCO3NTcoTMuqHjfufgUQDFRI5C+xsXQw==} + /@esbuild/netbsd-x64@0.19.10: + resolution: {integrity: sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true - dev: false optional: true /@esbuild/openbsd-x64@0.17.19: @@ -4037,8 +3739,8 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.19.10: - resolution: {integrity: sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==} + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -4046,13 +3748,12 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.3: - resolution: {integrity: sha512-AZJCnr5CZgZOdhouLcfRdnk9Zv6HbaBxjcyhq0StNcvAdVZJSKIdOiPB9az2zc06ywl0ePYJz60CjdKsQacp5Q==} + /@esbuild/openbsd-x64@0.19.10: + resolution: {integrity: sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true - dev: false optional: true /@esbuild/sunos-x64@0.17.19: @@ -4063,8 +3764,8 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.19.10: - resolution: {integrity: sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==} + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -4072,13 +3773,12 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.3: - resolution: {integrity: sha512-Acsujgeqg9InR4glTRvLKGZ+1HMtDm94ehTIHKhJjFpgVzZG9/pIcWW/HA/DoMfEyXmANLDuDZ2sNrWcjq1lxw==} + /@esbuild/sunos-x64@0.19.10: + resolution: {integrity: sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true - dev: false optional: true /@esbuild/win32-arm64@0.17.19: @@ -4089,8 +3789,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.19.10: - resolution: {integrity: sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==} + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -4098,13 +3798,12 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.3: - resolution: {integrity: sha512-FSrAfjVVy7TifFgYgliiJOyYynhQmqgPj15pzLyJk8BUsnlWNwP/IAy6GAiB1LqtoivowRgidZsfpoYLZH586A==} + /@esbuild/win32-arm64@0.19.10: + resolution: {integrity: sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true - dev: false optional: true /@esbuild/win32-ia32@0.17.19: @@ -4115,8 +3814,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.19.10: - resolution: {integrity: sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==} + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -4124,13 +3823,12 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.3: - resolution: {integrity: sha512-xTScXYi12xLOWZ/sc5RBmMN99BcXp/eEf7scUC0oeiRoiT5Vvo9AycuqCp+xdpDyAU+LkrCqEpUS9fCSZF8J3Q==} + /@esbuild/win32-ia32@0.19.10: + resolution: {integrity: sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true - dev: false optional: true /@esbuild/win32-x64@0.17.19: @@ -4141,8 +3839,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64@0.19.10: - resolution: {integrity: sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==} + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -4150,35 +3848,14 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.3: - resolution: {integrity: sha512-FbUN+0ZRXsypPyWE2IwIkVjDkDnJoMJARWOcFZn4KPPli+QnKqF0z1anvfaYe3ev5HFCpRDLLBDHyOALLppWHw==} + /@esbuild/win32-x64@0.19.10: + resolution: {integrity: sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true - dev: false optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.38.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.38.0 - eslint-visitor-keys: 3.4.1 - dev: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.52.0 - eslint-visitor-keys: 3.4.1 - dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4186,51 +3863,12 @@ packages: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: eslint: 8.56.0 - eslint-visitor-keys: 3.4.1 - dev: false + eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /@eslint-community/regexpp@4.5.1: - resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - /@eslint/eslintrc@2.0.3: - resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.5.2 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/eslintrc@2.1.4: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4246,68 +3884,55 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: false - - /@eslint/js@8.38.0: - resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@eslint/js@8.52.0: - resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true /@eslint/js@8.56.0: resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: false /@fuels/vm-asm@0.42.1: resolution: {integrity: sha512-5e0IDHen26hrKc93ejYNDhQFbqi+EQ7xPpFJcUnSrz0+6zPdPhA2dtwh5UqN0fYDM5AcEFd0wpq+r7Pd2XS5AQ==} dev: false - /@graphql-codegen/cli@2.13.7(@babel/core@7.23.6)(@types/node@20.10.5)(graphql@16.6.0)(ts-node@10.9.2)(typescript@5.3.3): - resolution: {integrity: sha512-Rpk4WWrDgkDoVELftBr7/74MPiYmCITEF2+AWmyZZ2xzaC9cO2PqzZ+OYDEBNWD6UEk0RrIfVSa+slDKjhY59w==} + /@graphql-codegen/cli@2.16.5(@babel/core@7.23.6)(@types/node@18.15.3)(graphql@16.8.1)(typescript@5.2.2): + resolution: {integrity: sha512-XYPIp+q7fB0xAGSAoRykiTe4oY80VU+z+dw5nuv4mLY0+pv7+pa2C6Nwhdw7a65lXOhFviBApWCCZeqd54SMnA==} hasBin: true peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@babel/generator': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - '@graphql-codegen/core': 2.6.2(graphql@16.6.0) - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) - '@graphql-tools/apollo-engine-loader': 7.3.26(graphql@16.6.0) - '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.23.6)(graphql@16.6.0) - '@graphql-tools/git-loader': 7.3.0(@babel/core@7.23.6)(graphql@16.6.0) - '@graphql-tools/github-loader': 7.3.28(@babel/core@7.23.6)(@types/node@20.10.5)(graphql@16.6.0) - '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.6.0) - '@graphql-tools/json-file-loader': 7.4.18(graphql@16.6.0) - '@graphql-tools/load': 7.8.14(graphql@16.6.0) - '@graphql-tools/prisma-loader': 7.2.72(@types/node@20.10.5)(graphql@16.6.0) - '@graphql-tools/url-loader': 7.17.18(@types/node@20.10.5)(graphql@16.6.0) - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) - '@whatwg-node/fetch': 0.3.2 - ansi-escapes: 4.3.2 + '@babel/generator': 7.23.6 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + '@graphql-codegen/core': 2.6.8(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1) + '@graphql-tools/apollo-engine-loader': 7.3.26(graphql@16.8.1) + '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.23.6)(graphql@16.8.1) + '@graphql-tools/git-loader': 7.3.0(@babel/core@7.23.6)(graphql@16.8.1) + '@graphql-tools/github-loader': 7.3.28(@babel/core@7.23.6)(@types/node@18.15.3)(graphql@16.8.1) + '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.8.1) + '@graphql-tools/json-file-loader': 7.4.18(graphql@16.8.1) + '@graphql-tools/load': 7.8.14(graphql@16.8.1) + '@graphql-tools/prisma-loader': 7.2.72(@types/node@18.15.3)(graphql@16.8.1) + '@graphql-tools/url-loader': 7.17.18(@types/node@18.15.3)(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + '@whatwg-node/fetch': 0.6.9(@types/node@18.15.3) chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 7.1.0 - cosmiconfig-typescript-loader: 4.1.1(@types/node@20.10.5)(cosmiconfig@7.1.0)(ts-node@10.9.2)(typescript@5.3.3) + cosmiconfig-typescript-loader: 4.4.0(@types/node@18.15.3)(cosmiconfig@7.1.0)(ts-node@10.9.2)(typescript@5.2.2) debounce: 1.2.1 detect-indent: 6.1.0 - graphql: 16.6.0 - graphql-config: 4.3.6(@types/node@20.10.5)(graphql@16.6.0)(typescript@5.3.3) - inquirer: 8.2.5 + graphql: 16.8.1 + graphql-config: 4.5.0(@types/node@18.15.3)(graphql@16.8.1) + inquirer: 8.2.6 is-glob: 4.0.3 json-to-pretty-yaml: 1.2.2 listr2: 4.0.5 log-symbols: 4.1.0 - mkdirp: 1.0.4 shell-quote: 1.8.1 string-env-interpolation: 1.0.1 ts-log: 2.2.5 - tslib: 2.6.0 + ts-node: 10.9.2(@types/node@18.15.3)(typescript@5.2.2) + tslib: 2.6.2 yaml: 1.10.2 yargs: 17.7.2 transitivePeerDependencies: @@ -4316,128 +3941,128 @@ packages: - '@swc/wasm' - '@types/node' - bufferutil + - cosmiconfig-toml-loader - encoding - enquirer - supports-color - - ts-node - typescript - utf-8-validate dev: true - /@graphql-codegen/core@2.6.2(graphql@16.6.0): - resolution: {integrity: sha512-58T5yf9nEfAhDwN1Vz1hImqpdJ/gGpCGUaroQ5tqskZPf7eZYYVkEXbtqRZZLx1MCCKwjWX4hMtTPpHhwKCkng==} + /@graphql-codegen/core@2.6.8(graphql@16.8.1): + resolution: {integrity: sha512-JKllNIipPrheRgl+/Hm/xuWMw9++xNQ12XJR/OHHgFopOg4zmN3TdlRSyYcv/K90hCFkkIwhlHFUQTfKrm8rxQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) - '@graphql-tools/schema': 9.0.19(graphql@16.6.0) - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1) + '@graphql-tools/schema': 9.0.19(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 tslib: 2.4.1 dev: true - /@graphql-codegen/plugin-helpers@2.7.2(graphql@16.6.0): + /@graphql-codegen/plugin-helpers@2.7.2(graphql@16.8.1): resolution: {integrity: sha512-kln2AZ12uii6U59OQXdjLk5nOlh1pHis1R98cDZGFnfaiAbX9V3fxcZ1MMJkB7qFUymTALzyjZoXXdyVmPMfRg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) + '@graphql-tools/utils': 8.13.1(graphql@16.8.1) change-case-all: 1.0.14 common-tags: 1.8.2 - graphql: 16.6.0 + graphql: 16.8.1 import-from: 4.0.0 lodash: 4.17.21 tslib: 2.4.1 dev: true - /@graphql-codegen/plugin-helpers@3.1.2(graphql@16.6.0): + /@graphql-codegen/plugin-helpers@3.1.2(graphql@16.8.1): resolution: {integrity: sha512-emOQiHyIliVOIjKVKdsI5MXj312zmRDwmHpyUTZMjfpvxq/UVAHUJIVdVf+lnjjrI+LXBTgMlTWTgHQfmICxjg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) change-case-all: 1.0.15 common-tags: 1.8.2 - graphql: 16.6.0 + graphql: 16.8.1 import-from: 4.0.0 lodash: 4.17.21 tslib: 2.4.1 dev: true - /@graphql-codegen/schema-ast@2.6.1(graphql@16.6.0): + /@graphql-codegen/schema-ast@2.6.1(graphql@16.8.1): resolution: {integrity: sha512-5TNW3b1IHJjCh07D2yQNGDQzUpUl2AD+GVe1Dzjqyx/d2Fn0TPMxLsHsKPS4Plg4saO8FK/QO70wLsP7fdbQ1w==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 tslib: 2.4.1 dev: true - /@graphql-codegen/typescript-generic-sdk@3.1.0(graphql-tag@2.12.6)(graphql@16.6.0): + /@graphql-codegen/typescript-generic-sdk@3.1.0(graphql-tag@2.12.6)(graphql@16.8.1): resolution: {integrity: sha512-nQZi/YGRI1+qCZZsh0V5nz6+hCHSN4OU9tKyOTDsEPyDFnGEukDuRdCH2IZasGn22a3Iu5TUDkgp5w9wEQwGmg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 graphql-tag: ^2.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.6.0) - '@graphql-codegen/visitor-plugin-common': 2.13.1(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 2.13.1(graphql@16.8.1) auto-bind: 4.0.0 - graphql: 16.6.0 - graphql-tag: 2.12.6(graphql@16.6.0) + graphql: 16.8.1 + graphql-tag: 2.12.6(graphql@16.8.1) tslib: 2.4.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@graphql-codegen/typescript-operations@2.5.5(graphql@16.6.0): - resolution: {integrity: sha512-rH15UA34MRf6cITfvt2EkSEaC/8ULvgMg5kzun6895oucA8PFyAFJaQzcjk9UraeD3ddMu56OKhZGdxd0JWfKw==} + /@graphql-codegen/typescript-operations@2.5.13(graphql@16.8.1): + resolution: {integrity: sha512-3vfR6Rx6iZU0JRt29GBkFlrSNTM6t+MSLF86ChvL4d/Jfo/JYAGuB3zNzPhirHYzJPCvLOAx2gy9ID1ltrpYiw==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) - '@graphql-codegen/typescript': 2.8.0(graphql@16.6.0) - '@graphql-codegen/visitor-plugin-common': 2.13.0(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1) + '@graphql-codegen/typescript': 2.8.8(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 2.13.8(graphql@16.8.1) auto-bind: 4.0.0 - graphql: 16.6.0 + graphql: 16.8.1 tslib: 2.4.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@graphql-codegen/typescript@2.8.0(graphql@16.6.0): - resolution: {integrity: sha512-atQ6NFfMmoknJi0QdVSozPugKcgeJB6t1/cVskbhVtX8tAEFFLjl6H23mpz3t35AH6aGWtvx2LCjUSxHI6P6xA==} + /@graphql-codegen/typescript@2.8.8(graphql@16.8.1): + resolution: {integrity: sha512-A0oUi3Oy6+DormOlrTC4orxT9OBZkIglhbJBcDmk34jAKKUgesukXRd4yOhmTrnbchpXz2T8IAOFB3FWIaK4Rw==} peerDependencies: graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) - '@graphql-codegen/schema-ast': 2.6.1(graphql@16.6.0) - '@graphql-codegen/visitor-plugin-common': 2.13.0(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1) + '@graphql-codegen/schema-ast': 2.6.1(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 2.13.8(graphql@16.8.1) auto-bind: 4.0.0 - graphql: 16.6.0 + graphql: 16.8.1 tslib: 2.4.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@graphql-codegen/visitor-plugin-common@2.13.0(graphql@16.6.0): - resolution: {integrity: sha512-8lKw4l8W6yKaqrxx025eB6+lRMWaBKedbKjC9UyLhXAnqTi3tgaRKOBo4zvl1+KzE6R41Ruov9UcGD7OjgmBrw==} + /@graphql-codegen/visitor-plugin-common@2.13.1(graphql@16.8.1): + resolution: {integrity: sha512-mD9ufZhDGhyrSaWQGrU1Q1c5f01TeWtSWy/cDwXYjJcHIj1Y/DG2x0tOflEfCvh5WcnmHNIw4lzDsg1W7iFJEg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) - '@graphql-tools/optimize': 1.4.0(graphql@16.6.0) - '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.6.0) - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.8.1) + '@graphql-tools/optimize': 1.4.0(graphql@16.8.1) + '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.8.1) + '@graphql-tools/utils': 8.13.1(graphql@16.8.1) auto-bind: 4.0.0 change-case-all: 1.0.14 dependency-graph: 0.11.0 - graphql: 16.6.0 - graphql-tag: 2.12.6(graphql@16.6.0) + graphql: 16.8.1 + graphql-tag: 2.12.6(graphql@16.8.1) parse-filepath: 1.0.2 tslib: 2.4.1 transitivePeerDependencies: @@ -4445,20 +4070,20 @@ packages: - supports-color dev: true - /@graphql-codegen/visitor-plugin-common@2.13.1(graphql@16.6.0): - resolution: {integrity: sha512-mD9ufZhDGhyrSaWQGrU1Q1c5f01TeWtSWy/cDwXYjJcHIj1Y/DG2x0tOflEfCvh5WcnmHNIw4lzDsg1W7iFJEg==} + /@graphql-codegen/visitor-plugin-common@2.13.8(graphql@16.8.1): + resolution: {integrity: sha512-IQWu99YV4wt8hGxIbBQPtqRuaWZhkQRG2IZKbMoSvh0vGeWb3dB0n0hSgKaOOxDY+tljtOf9MTcUYvJslQucMQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) - '@graphql-tools/optimize': 1.4.0(graphql@16.6.0) - '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.6.0) - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1) + '@graphql-tools/optimize': 1.4.0(graphql@16.8.1) + '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) auto-bind: 4.0.0 - change-case-all: 1.0.14 + change-case-all: 1.0.15 dependency-graph: 0.11.0 - graphql: 16.6.0 - graphql-tag: 2.12.6(graphql@16.6.0) + graphql: 16.8.1 + graphql-tag: 2.12.6(graphql@16.8.1) parse-filepath: 1.0.2 tslib: 2.4.1 transitivePeerDependencies: @@ -4466,157 +4091,157 @@ packages: - supports-color dev: true - /@graphql-tools/apollo-engine-loader@7.3.26(graphql@16.6.0): + /@graphql-tools/apollo-engine-loader@7.3.26(graphql@16.8.1): resolution: {integrity: sha512-h1vfhdJFjnCYn9b5EY1Z91JTF0KB3hHVJNQIsiUV2mpQXZdeOXQoaWeYEKaiI5R6kwBw5PP9B0fv3jfUIG8LyQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) '@whatwg-node/fetch': 0.8.8 - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 transitivePeerDependencies: - encoding dev: true - /@graphql-tools/batch-execute@8.5.22(graphql@16.6.0): + /@graphql-tools/batch-execute@8.5.22(graphql@16.8.1): resolution: {integrity: sha512-hcV1JaY6NJQFQEwCKrYhpfLK8frSXDbtNMoTur98u10Cmecy1zrqNKSqhEyGetpgHxaJRqszGzKeI3RuroDN6A==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) dataloader: 2.2.2 - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 value-or-promise: 1.0.12 dev: true - /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.23.6)(graphql@16.6.0): + /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.23.6)(graphql@16.8.1): resolution: {integrity: sha512-8Wt1rTtyTEs0p47uzsPJ1vAtfAx0jmxPifiNdmo9EOCuUPyQGEbMaik/YkqZ7QUFIEYEQu+Vgfo8tElwOPtx5Q==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.23.6)(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.23.6)(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) globby: 11.1.0 - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 unixify: 1.0.0 transitivePeerDependencies: - '@babel/core' - supports-color dev: true - /@graphql-tools/delegate@9.0.35(graphql@16.6.0): + /@graphql-tools/delegate@9.0.35(graphql@16.8.1): resolution: {integrity: sha512-jwPu8NJbzRRMqi4Vp/5QX1vIUeUPpWmlQpOkXQD2r1X45YsVceyUUBnktCrlJlDB4jPRVy7JQGwmYo3KFiOBMA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/batch-execute': 8.5.22(graphql@16.6.0) - '@graphql-tools/executor': 0.0.20(graphql@16.6.0) - '@graphql-tools/schema': 9.0.19(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/batch-execute': 8.5.22(graphql@16.8.1) + '@graphql-tools/executor': 0.0.20(graphql@16.8.1) + '@graphql-tools/schema': 9.0.19(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) dataloader: 2.2.2 - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 value-or-promise: 1.0.12 dev: true - /@graphql-tools/executor-graphql-ws@0.0.14(graphql@16.6.0): + /@graphql-tools/executor-graphql-ws@0.0.14(graphql@16.8.1): resolution: {integrity: sha512-P2nlkAsPZKLIXImFhj0YTtny5NQVGSsKnhi7PzXiaHSXc6KkzqbWZHKvikD4PObanqg+7IO58rKFpGXP7eeO+w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) '@repeaterjs/repeater': 3.0.4 - '@types/ws': 8.5.5 - graphql: 16.6.0 - graphql-ws: 5.12.1(graphql@16.6.0) + '@types/ws': 8.5.10 + graphql: 16.8.1 + graphql-ws: 5.12.1(graphql@16.8.1) isomorphic-ws: 5.0.0(ws@8.13.0) - tslib: 2.6.0 + tslib: 2.6.2 ws: 8.13.0 transitivePeerDependencies: - bufferutil - utf-8-validate dev: true - /@graphql-tools/executor-http@0.1.10(@types/node@20.10.5)(graphql@16.6.0): + /@graphql-tools/executor-http@0.1.10(@types/node@18.15.3)(graphql@16.8.1): resolution: {integrity: sha512-hnAfbKv0/lb9s31LhWzawQ5hghBfHS+gYWtqxME6Rl0Aufq9GltiiLBcl7OVVOnkLF0KhwgbYP1mB5VKmgTGpg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - '@repeaterjs/repeater': 3.0.4 + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + '@repeaterjs/repeater': 3.0.5 '@whatwg-node/fetch': 0.8.8 - dset: 3.1.2 + dset: 3.1.3 extract-files: 11.0.0 - graphql: 16.6.0 - meros: 1.3.0(@types/node@20.10.5) - tslib: 2.6.0 + graphql: 16.8.1 + meros: 1.3.0(@types/node@18.15.3) + tslib: 2.6.2 value-or-promise: 1.0.12 transitivePeerDependencies: - '@types/node' dev: true - /@graphql-tools/executor-legacy-ws@0.0.11(graphql@16.6.0): + /@graphql-tools/executor-legacy-ws@0.0.11(graphql@16.8.1): resolution: {integrity: sha512-4ai+NnxlNfvIQ4c70hWFvOZlSUN8lt7yc+ZsrwtNFbFPH/EroIzFMapAxM9zwyv9bH38AdO3TQxZ5zNxgBdvUw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - '@types/ws': 8.5.5 - graphql: 16.6.0 + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + '@types/ws': 8.5.10 + graphql: 16.8.1 isomorphic-ws: 5.0.0(ws@8.13.0) - tslib: 2.6.0 + tslib: 2.6.2 ws: 8.13.0 transitivePeerDependencies: - bufferutil - utf-8-validate dev: true - /@graphql-tools/executor@0.0.20(graphql@16.6.0): + /@graphql-tools/executor@0.0.20(graphql@16.8.1): resolution: {integrity: sha512-GdvNc4vszmfeGvUqlcaH1FjBoguvMYzxAfT6tDd4/LgwymepHhinqLNA5otqwVLW+JETcDaK7xGENzFomuE6TA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) - '@repeaterjs/repeater': 3.0.4 - graphql: 16.6.0 - tslib: 2.6.0 + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + '@repeaterjs/repeater': 3.0.5 + graphql: 16.8.1 + tslib: 2.6.2 value-or-promise: 1.0.12 dev: true - /@graphql-tools/git-loader@7.3.0(@babel/core@7.23.6)(graphql@16.6.0): + /@graphql-tools/git-loader@7.3.0(@babel/core@7.23.6)(graphql@16.8.1): resolution: {integrity: sha512-gcGAK+u16eHkwsMYqqghZbmDquh8QaO24Scsxq+cVR+vx1ekRlsEiXvu+yXVDbZdcJ6PBIbeLcQbEu+xhDLmvQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.23.6)(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.23.6)(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 is-glob: 4.0.3 micromatch: 4.0.5 - tslib: 2.6.0 + tslib: 2.6.2 unixify: 1.0.0 transitivePeerDependencies: - '@babel/core' - supports-color dev: true - /@graphql-tools/github-loader@7.3.28(@babel/core@7.23.6)(@types/node@20.10.5)(graphql@16.6.0): + /@graphql-tools/github-loader@7.3.28(@babel/core@7.23.6)(@types/node@18.15.3)(graphql@16.8.1): resolution: {integrity: sha512-OK92Lf9pmxPQvjUNv05b3tnVhw0JRfPqOf15jZjyQ8BfdEUrJoP32b4dRQQem/wyRL24KY4wOfArJNqzpsbwCA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 0.1.10(@types/node@20.10.5)(graphql@16.6.0) - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.23.6)(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/executor-http': 0.1.10(@types/node@18.15.3)(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.23.6)(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) '@whatwg-node/fetch': 0.8.8 - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 value-or-promise: 1.0.12 transitivePeerDependencies: - '@babel/core' @@ -4625,113 +4250,113 @@ packages: - supports-color dev: true - /@graphql-tools/graphql-file-loader@7.5.17(graphql@16.6.0): + /@graphql-tools/graphql-file-loader@7.5.17(graphql@16.8.1): resolution: {integrity: sha512-hVwwxPf41zOYgm4gdaZILCYnKB9Zap7Ys9OhY1hbwuAuC4MMNY9GpUjoTU3CQc3zUiPoYStyRtUGkHSJZ3HxBw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/import': 6.7.18(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/import': 6.7.18(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) globby: 11.1.0 - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 unixify: 1.0.0 dev: true - /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.23.6)(graphql@16.6.0): + /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.23.6)(graphql@16.8.1): resolution: {integrity: sha512-RW+H8FqOOLQw0BPXaahYepVSRjuOHw+7IL8Opaa5G5uYGOBxoXR7DceyQ7BcpMgktAOOmpDNQ2WtcboChOJSRA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/parser': 7.22.5 - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.23.6) - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 - tslib: 2.6.0 + '@babel/parser': 7.23.6 + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.6) + '@babel/traverse': 7.23.6 + '@babel/types': 7.23.6 + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 + tslib: 2.6.2 transitivePeerDependencies: - '@babel/core' - supports-color dev: true - /@graphql-tools/import@6.7.18(graphql@16.6.0): + /@graphql-tools/import@6.7.18(graphql@16.8.1): resolution: {integrity: sha512-XQDdyZTp+FYmT7as3xRWH/x8dx0QZA2WZqfMF5EWb36a0PiH7WwlRQYIdyYXj8YCLpiWkeBXgBRHmMnwEYR8iQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 resolve-from: 5.0.0 - tslib: 2.6.0 + tslib: 2.6.2 dev: true - /@graphql-tools/json-file-loader@7.4.18(graphql@16.6.0): + /@graphql-tools/json-file-loader@7.4.18(graphql@16.8.1): resolution: {integrity: sha512-AJ1b6Y1wiVgkwsxT5dELXhIVUPs/u3VZ8/0/oOtpcoyO/vAeM5rOvvWegzicOOnQw8G45fgBRMkkRfeuwVt6+w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) globby: 11.1.0 - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 unixify: 1.0.0 dev: true - /@graphql-tools/load@7.8.14(graphql@16.6.0): + /@graphql-tools/load@7.8.14(graphql@16.8.1): resolution: {integrity: sha512-ASQvP+snHMYm+FhIaLxxFgVdRaM0vrN9wW2BKInQpktwWTXVyk+yP5nQUCEGmn0RTdlPKrffBaigxepkEAJPrg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/schema': 9.0.19(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/schema': 9.0.19(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 p-limit: 3.1.0 - tslib: 2.6.0 + tslib: 2.6.2 dev: true - /@graphql-tools/merge@8.4.2(graphql@16.6.0): + /@graphql-tools/merge@8.4.2(graphql@16.8.1): resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 - tslib: 2.6.0 + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 + tslib: 2.6.2 dev: true - /@graphql-tools/optimize@1.4.0(graphql@16.6.0): + /@graphql-tools/optimize@1.4.0(graphql@16.8.1): resolution: {integrity: sha512-dJs/2XvZp+wgHH8T5J2TqptT9/6uVzIYvA6uFACha+ufvdMBedkfR4b4GbT8jAKLRARiqRTxy3dctnwkTM2tdw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.6.0 + graphql: 16.8.1 tslib: 2.4.1 dev: true - /@graphql-tools/prisma-loader@7.2.72(@types/node@20.10.5)(graphql@16.6.0): + /@graphql-tools/prisma-loader@7.2.72(@types/node@18.15.3)(graphql@16.8.1): resolution: {integrity: sha512-0a7uV7Fky6yDqd0tI9+XMuvgIo6GAqiVzzzFV4OSLry4AwiQlI3igYseBV7ZVOGhedOTqj/URxjpiv07hRcwag==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 7.17.18(@types/node@20.10.5)(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - '@types/js-yaml': 4.0.5 - '@types/json-stable-stringify': 1.0.34 + '@graphql-tools/url-loader': 7.17.18(@types/node@18.15.3)(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + '@types/js-yaml': 4.0.9 + '@types/json-stable-stringify': 1.0.36 '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 debug: 4.3.4 dotenv: 16.3.1 - graphql: 16.6.0 - graphql-request: 6.1.0(graphql@16.6.0) + graphql: 16.8.1 + graphql-request: 6.1.0(graphql@16.8.1) http-proxy-agent: 6.1.1 https-proxy-agent: 6.2.1 - jose: 4.14.4 + jose: 4.15.4 js-yaml: 4.1.0 - json-stable-stringify: 1.0.2 + json-stable-stringify: 1.1.0 lodash: 4.17.21 scuid: 1.1.0 - tslib: 2.6.0 + tslib: 2.6.2 yaml-ast-parser: 0.0.43 transitivePeerDependencies: - '@types/node' @@ -4741,51 +4366,51 @@ packages: - utf-8-validate dev: true - /@graphql-tools/relay-operation-optimizer@6.5.18(graphql@16.6.0): + /@graphql-tools/relay-operation-optimizer@6.5.18(graphql@16.8.1): resolution: {integrity: sha512-mc5VPyTeV+LwiM+DNvoDQfPqwQYhPV/cl5jOBjTgSniyaq8/86aODfMkrE2OduhQ5E00hqrkuL2Fdrgk0w1QJg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@ardatan/relay-compiler': 12.0.0(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@ardatan/relay-compiler': 12.0.0(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 tslib: 2.4.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@graphql-tools/schema@9.0.19(graphql@16.6.0): + /@graphql-tools/schema@9.0.19(graphql@16.8.1): resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/merge': 8.4.2(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 - tslib: 2.6.0 + '@graphql-tools/merge': 8.4.2(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 + tslib: 2.6.2 value-or-promise: 1.0.12 dev: true - /@graphql-tools/url-loader@7.17.18(@types/node@20.10.5)(graphql@16.6.0): + /@graphql-tools/url-loader@7.17.18(@types/node@18.15.3)(graphql@16.8.1): resolution: {integrity: sha512-ear0CiyTj04jCVAxi7TvgbnGDIN2HgqzXzwsfcqiVg9cvjT40NcMlZ2P1lZDgqMkZ9oyLTV8Bw6j+SyG6A+xPw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 9.0.35(graphql@16.6.0) - '@graphql-tools/executor-graphql-ws': 0.0.14(graphql@16.6.0) - '@graphql-tools/executor-http': 0.1.10(@types/node@20.10.5)(graphql@16.6.0) - '@graphql-tools/executor-legacy-ws': 0.0.11(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - '@graphql-tools/wrap': 9.4.2(graphql@16.6.0) - '@types/ws': 8.5.5 + '@graphql-tools/delegate': 9.0.35(graphql@16.8.1) + '@graphql-tools/executor-graphql-ws': 0.0.14(graphql@16.8.1) + '@graphql-tools/executor-http': 0.1.10(@types/node@18.15.3)(graphql@16.8.1) + '@graphql-tools/executor-legacy-ws': 0.0.11(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + '@graphql-tools/wrap': 9.4.2(graphql@16.8.1) + '@types/ws': 8.5.10 '@whatwg-node/fetch': 0.8.8 - graphql: 16.6.0 - isomorphic-ws: 5.0.0(ws@8.13.0) - tslib: 2.6.0 + graphql: 16.8.1 + isomorphic-ws: 5.0.0(ws@8.15.1) + tslib: 2.6.2 value-or-promise: 1.0.12 - ws: 8.13.0 + ws: 8.15.1 transitivePeerDependencies: - '@types/node' - bufferutil @@ -4793,55 +4418,44 @@ packages: - utf-8-validate dev: true - /@graphql-tools/utils@8.13.1(graphql@16.6.0): + /@graphql-tools/utils@8.13.1(graphql@16.8.1): resolution: {integrity: sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 dev: true - /@graphql-tools/utils@9.2.1(graphql@16.6.0): + /@graphql-tools/utils@9.2.1(graphql@16.8.1): resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) - graphql: 16.6.0 - tslib: 2.6.0 + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + graphql: 16.8.1 + tslib: 2.6.2 dev: true - /@graphql-tools/wrap@9.4.2(graphql@16.6.0): + /@graphql-tools/wrap@9.4.2(graphql@16.8.1): resolution: {integrity: sha512-DFcd9r51lmcEKn0JW43CWkkI2D6T9XI1juW/Yo86i04v43O9w2/k4/nx2XTJv4Yv+iXwUw7Ok81PGltwGJSDSA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/delegate': 9.0.35(graphql@16.6.0) - '@graphql-tools/schema': 9.0.19(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 - tslib: 2.6.0 + '@graphql-tools/delegate': 9.0.35(graphql@16.8.1) + '@graphql-tools/schema': 9.0.19(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 + tslib: 2.6.2 value-or-promise: 1.0.12 dev: true - /@graphql-typed-document-node/core@3.2.0(graphql@16.6.0): + /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.6.0 - - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true + graphql: 16.8.1 /@humanwhocodes/config-array@0.11.13: resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} @@ -4857,17 +4471,9 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true - /@humanwhocodes/object-schema@2.0.1: resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} - /@iarna/toml@2.2.5: - resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - dev: true - /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -4889,6 +4495,16 @@ packages: js-yaml: 3.14.1 resolve-from: 5.0.0 + /@istanbuljs/nyc-config-typescript@1.0.2(nyc@15.1.0): + resolution: {integrity: sha512-iKGIyMoyJuFnJRSVTZ78POIRvNnwZaWIf8vG4ZS3rQq58MMDrqEX2nnzx0R28V2X8JvmKYiqY9FP2hlJsm8A0w==} + engines: {node: '>=8'} + peerDependencies: + nyc: '>=15' + dependencies: + '@istanbuljs/schema': 0.1.3 + nyc: 15.1.0 + dev: true + /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} @@ -4898,7 +4514,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -4910,25 +4526,13 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 16.18.34 + '@types/node': 16.18.68 chalk: 4.1.2 jest-message-util: 28.1.3 jest-util: 28.1.3 slash: 3.0.0 dev: false - /@jest/console@29.7.0: - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - chalk: 4.1.2 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - dev: true - /@jest/core@27.5.1: resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -4943,7 +4547,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -4974,116 +4578,28 @@ packages: - utf-8-validate dev: false - /@jest/core@29.7.0: - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.8.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@16.18.34) - 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.5 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /@jest/environment@27.5.1: resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 jest-mock: 27.5.1 dev: false - /@jest/environment@29.7.0: - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - jest-mock: 29.7.0 - dev: true - - /@jest/expect-utils@29.5.0: - resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - - /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.6.3 - dev: true - - /@jest/expect@29.7.0: - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - expect: 29.7.0 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/fake-timers@27.5.1: resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 16.18.34 + '@types/node': 16.18.68 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 dev: false - /@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} - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 16.18.34 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - dev: true - /@jest/globals@27.5.1: resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -5093,18 +4609,6 @@ packages: expect: 27.5.1 dev: false - /@jest/globals@29.7.0: - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/types': 29.6.3 - jest-mock: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/reporters@27.5.1: resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -5119,17 +4623,17 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 chalk: 4.1.2 - collect-v8-coverage: 1.0.1 + collect-v8-coverage: 1.0.2 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 + istanbul-reports: 3.1.6 jest-haste-map: 27.5.1 jest-resolve: 27.5.1 jest-util: 27.5.1 @@ -5143,43 +4647,6 @@ packages: - supports-color dev: false - /@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 - dependencies: - '@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.18 - '@types/node': 16.18.34 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 6.0.1 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - 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.1.3 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/schemas@28.1.3: resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -5187,17 +4654,12 @@ packages: '@sinclair/typebox': 0.24.51 dev: false - /@jest/schemas@29.4.3: - resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.25.24 - /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 + dev: true /@jest/source-map@27.5.1: resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} @@ -5208,23 +4670,14 @@ packages: source-map: 0.6.1 dev: false - /@jest/source-map@29.6.3: - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jridgewell/trace-mapping': 0.3.18 - callsites: 3.1.0 - graceful-fs: 4.2.11 - dev: true - /@jest/test-result@27.5.1: resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/console': 27.5.1 '@jest/types': 27.5.1 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 dev: false /@jest/test-result@28.1.3: @@ -5233,20 +4686,10 @@ packages: dependencies: '@jest/console': 28.1.3 '@jest/types': 28.1.3 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 dev: false - /@jest/test-result@29.7.0: - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.7.0 - '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 - dev: true - /@jest/test-sequencer@27.5.1: resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -5259,21 +4702,11 @@ packages: - supports-color dev: false - /@jest/test-sequencer@29.7.0: - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.7.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - slash: 3.0.0 - dev: true - /@jest/transform@27.5.1: resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@jest/types': 27.5.1 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -5292,37 +4725,14 @@ packages: - supports-color dev: false - /@jest/transform@29.7.0: - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.22.5 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.18 - 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.5 - pirates: 4.0.6 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/types@27.5.1: resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.34 - '@types/yargs': 16.0.5 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 16.18.68 + '@types/yargs': 16.0.9 chalk: 4.1.2 dev: false @@ -5331,47 +4741,20 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/schemas': 28.1.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.34 - '@types/yargs': 17.0.24 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 16.18.68 + '@types/yargs': 17.0.32 chalk: 4.1.2 dev: false - /@jest/types@29.5.0: - resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.34 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - - /@jest/types@29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.34 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} + '@jridgewell/trace-mapping': 0.3.20 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} @@ -5381,25 +4764,16 @@ packages: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map@0.3.3: - resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.20 dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - /@jridgewell/trace-mapping@0.3.20: resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} dependencies: @@ -5420,7 +4794,7 @@ packages: /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.6 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -5429,7 +4803,7 @@ packages: /@manypkg/get-packages@1.1.3: resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.6 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -5450,30 +4824,166 @@ packages: resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} dev: true - /@next/env@13.4.4: - resolution: {integrity: sha512-q/y7VZj/9YpgzDe64Zi6rY1xPizx80JjlU2BTevlajtaE3w1LqweH1gGgxou2N7hdFosXHjGrI4OUvtFXXhGLg==} - dev: false + /@napi-rs/magic-string-android-arm-eabi@0.3.4: + resolution: {integrity: sha512-sszAYxqtzzJ4FDerDNHcqL9NhqPhj8W4DNiOanXYy50mA5oojlRtaAFPiB5ZMrWDBM32v5Q30LrmxQ4eTtu2Dg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true - /@next/swc-darwin-arm64@13.4.4: - resolution: {integrity: sha512-xfjgXvp4KalNUKZMHmsFxr1Ug+aGmmO6NWP0uoh4G3WFqP/mJ1xxfww0gMOeMeSq/Jyr5k7DvoZ2Pv+XOITTtw==} + /@napi-rs/magic-string-android-arm64@0.3.4: + resolution: {integrity: sha512-jdQ6HuO0X5rkX4MauTcWR4HWdgjakTOmmzqXg8L26+jOHVVG1LZE+Su5qvV4bP8vMb2h+vPE+JsnwqSmWymu3Q==} engines: {node: '>= 10'} cpu: [arm64] - os: [darwin] + os: [android] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-darwin-x64@13.4.4: - resolution: {integrity: sha512-ZY9Ti1hkIwJsxGus3nlubIkvYyB0gNOYxKrfsOrLEqD0I2iCX8D7w8v6QQZ2H+dDl6UT29oeEUdDUNGk4UEpfg==} + /@napi-rs/magic-string-darwin-arm64@0.3.4: + resolution: {integrity: sha512-6NmMtvURce9/oq09XBZmuIeI6lPLGtEJ2ZPO/QzL3nLZa6wygiCnO/sFACKYNg5/73ET5HMMTeuogE1JI+r2Lw==} engines: {node: '>= 10'} - cpu: [x64] + cpu: [arm64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-linux-arm64-gnu@13.4.4: - resolution: {integrity: sha512-+KZnDeMShYkpkqAvGCEDeqYTRADJXc6SY1jWXz+Uo6qWQO/Jd9CoyhTJwRSxvQA16MoYzvILkGaDqirkRNctyA==} + /@napi-rs/magic-string-darwin-x64@0.3.4: + resolution: {integrity: sha512-f9LmfMiUAKDOtl0meOuLYeVb6OERrgGzrTg1Tn3R3fTAShM2kxRbfAuPE9ljuXxIFzOv/uqRNLSl/LqCJwpREA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-freebsd-x64@0.3.4: + resolution: {integrity: sha512-rqduQ4odiDK4QdM45xHWRTU4wtFIfpp8g8QGpz+3qqg7ivldDqbbNOrBaf6Oeu77uuEvWggnkyuChotfKgJdJQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-linux-arm-gnueabihf@0.3.4: + resolution: {integrity: sha512-pVaJEdEpiPqIfq3M4+yMAATS7Z9muDcWYn8H7GFH1ygh8GwgLgKfy/n/lG2M6zp18Mwd0x7E2E/qg9GgCyUzoQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-linux-arm64-gnu@0.3.4: + resolution: {integrity: sha512-9FwoAih/0tzEZx0BjYYIxWkSRMjonIn91RFM3q3MBs/evmThXUYXUqLNa1PPIkK1JoksswtDi48qWWLt8nGflQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-linux-arm64-musl@0.3.4: + resolution: {integrity: sha512-wCR7R+WPOcAKmVQc1s6h6HwfwW1vL9pM8BjUY9Ljkdb8wt1LmZEmV2Sgfc1SfbRQzbyl+pKeufP6adRRQVzYDA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-linux-x64-gnu@0.3.4: + resolution: {integrity: sha512-sbxFDpYnt5WFbxQ1xozwOvh5A7IftqSI0WnE9O7KsQIOi0ej2dvFbfOW4tmFkvH/YP8KJELo5AhP2+kEq1DpYA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-linux-x64-musl@0.3.4: + resolution: {integrity: sha512-jN4h/7e2Ul8v3UK5IZu38NXLMdzVWhY4uEDlnwuUAhwRh26wBQ1/pLD97Uy/Z3dFNBQPcsv60XS9fOM1YDNT6w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-win32-arm64-msvc@0.3.4: + resolution: {integrity: sha512-gMUyTRHLWpzX2ntJFCbW2Gnla9Y/WUmbkZuW5SBAo/Jo8QojHn76Y4PNgnoXdzcsV9b/45RBxurYKAfFg9WTyg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-win32-ia32-msvc@0.3.4: + resolution: {integrity: sha512-QIMauMOvEHgL00K9np/c9CT/CRtLOz3mRTQqcZ9XGzSoAMrpxH71KSpDJrKl7h7Ro6TZ+hJ0C3T+JVuTCZNv4A==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string-win32-x64-msvc@0.3.4: + resolution: {integrity: sha512-V8FMSf828MzOI3P6/765MR7zHU6CUZqiyPhmAnwYoKFNxfv7oCviN/G6NcENeCdcYOvNgh5fYzaNLB96ndId5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/magic-string@0.3.4: + resolution: {integrity: sha512-DEWl/B99RQsyMT3F9bvrXuhL01/eIQp/dtNSE3G1jQ4mTGRcP4iHWxoPZ577WrbjUinrNgvRA5+08g8fkPgimQ==} + engines: {node: '>= 10'} + optionalDependencies: + '@napi-rs/magic-string-android-arm-eabi': 0.3.4 + '@napi-rs/magic-string-android-arm64': 0.3.4 + '@napi-rs/magic-string-darwin-arm64': 0.3.4 + '@napi-rs/magic-string-darwin-x64': 0.3.4 + '@napi-rs/magic-string-freebsd-x64': 0.3.4 + '@napi-rs/magic-string-linux-arm-gnueabihf': 0.3.4 + '@napi-rs/magic-string-linux-arm64-gnu': 0.3.4 + '@napi-rs/magic-string-linux-arm64-musl': 0.3.4 + '@napi-rs/magic-string-linux-x64-gnu': 0.3.4 + '@napi-rs/magic-string-linux-x64-musl': 0.3.4 + '@napi-rs/magic-string-win32-arm64-msvc': 0.3.4 + '@napi-rs/magic-string-win32-ia32-msvc': 0.3.4 + '@napi-rs/magic-string-win32-x64-msvc': 0.3.4 + dev: true + + /@next/env@13.4.4: + resolution: {integrity: sha512-q/y7VZj/9YpgzDe64Zi6rY1xPizx80JjlU2BTevlajtaE3w1LqweH1gGgxou2N7hdFosXHjGrI4OUvtFXXhGLg==} + dev: false + + /@next/swc-darwin-arm64@13.4.4: + resolution: {integrity: sha512-xfjgXvp4KalNUKZMHmsFxr1Ug+aGmmO6NWP0uoh4G3WFqP/mJ1xxfww0gMOeMeSq/Jyr5k7DvoZ2Pv+XOITTtw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64@13.4.4: + resolution: {integrity: sha512-ZY9Ti1hkIwJsxGus3nlubIkvYyB0gNOYxKrfsOrLEqD0I2iCX8D7w8v6QQZ2H+dDl6UT29oeEUdDUNGk4UEpfg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu@13.4.4: + resolution: {integrity: sha512-+KZnDeMShYkpkqAvGCEDeqYTRADJXc6SY1jWXz+Uo6qWQO/Jd9CoyhTJwRSxvQA16MoYzvILkGaDqirkRNctyA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -5547,16 +5057,19 @@ packages: '@noble/hashes': 1.3.1 dev: false - /@noble/hashes@1.1.2: - resolution: {integrity: sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==} + /@noble/curves@1.2.0: + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + dependencies: + '@noble/hashes': 1.3.2 /@noble/hashes@1.3.1: resolution: {integrity: sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==} engines: {node: '>= 16'} dev: false - /@noble/secp256k1@1.7.1: - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + /@noble/hashes@1.3.2: + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -5574,31 +5087,31 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.16.0 - /@peculiar/asn1-schema@2.3.6: - resolution: {integrity: sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==} + /@peculiar/asn1-schema@2.3.8: + resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} dependencies: asn1js: 3.0.5 - pvtsutils: 1.3.2 - tslib: 2.6.0 + pvtsutils: 1.3.5 + tslib: 2.6.2 dev: true /@peculiar/json-schema@1.1.12: resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} engines: {node: '>=8.0.0'} dependencies: - tslib: 2.6.0 + tslib: 2.6.2 dev: true /@peculiar/webcrypto@1.4.3: resolution: {integrity: sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==} engines: {node: '>=10.12.0'} dependencies: - '@peculiar/asn1-schema': 2.3.6 + '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 - pvtsutils: 1.3.2 - tslib: 2.6.0 + pvtsutils: 1.3.5 + tslib: 2.6.2 webcrypto-core: 1.7.7 dev: true @@ -5613,21 +5126,21 @@ packages: engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dependencies: cross-spawn: 7.0.3 - fast-glob: 3.3.1 + fast-glob: 3.3.2 is-glob: 4.0.3 open: 9.1.0 picocolors: 1.0.0 - tslib: 2.6.0 + tslib: 2.6.2 dev: true - /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.88.0): - resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==} + /@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.89.0): + resolution: {integrity: sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==} engines: {node: '>= 10.13'} peerDependencies: '@types/webpack': 4.x || 5.x react-refresh: '>=0.10.0 <1.0.0' sockjs-client: ^1.4.0 - type-fest: '>=0.17.0 <4.0.0' + type-fest: '>=0.17.0 <5.0.0' webpack: '>=4.43.0 <6.0.0' webpack-dev-server: 3.x || 4.x webpack-hot-middleware: 2.x @@ -5648,7 +5161,7 @@ packages: dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 - core-js-pure: 3.31.0 + core-js-pure: 3.34.0 error-stack-parser: 2.1.4 find-up: 5.0.0 html-entities: 2.4.0 @@ -5656,15 +5169,19 @@ packages: react-refresh: 0.11.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.88.0(esbuild@0.17.19) - webpack-dev-server: 4.15.1(webpack@5.88.0) + webpack: 5.89.0(esbuild@0.17.19) + webpack-dev-server: 4.15.1(webpack@5.89.0) dev: false /@repeaterjs/repeater@3.0.4: resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} dev: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.22.5)(rollup@2.79.1): + /@repeaterjs/repeater@3.0.5: + resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} + dev: true + + /@rollup/plugin-babel@5.3.1(@babel/core@7.23.6)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -5675,12 +5192,26 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.23.6 + '@babel/helper-module-imports': 7.22.15 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: false + /@rollup/plugin-inject@5.0.5: + resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0 + estree-walker: 2.0.2 + magic-string: 0.30.5 + dev: true + /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} @@ -5692,7 +5223,7 @@ packages: builtin-modules: 3.3.0 deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.2 + resolve: 1.22.8 rollup: 2.79.1 dev: false @@ -5718,12 +5249,130 @@ packages: rollup: 2.79.1 dev: false - /@rushstack/eslint-patch@1.3.2: - resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==} + /@rollup/pluginutils@5.1.0: + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rollup/rollup-android-arm-eabi@4.9.1: + resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.9.1: + resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.9.1: + resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.9.1: + resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.1: + resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.1: + resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.1: + resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.1: + resolution: {integrity: sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.1: + resolution: {integrity: sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.1: + resolution: {integrity: sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.1: + resolution: {integrity: sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.1: + resolution: {integrity: sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.1: + resolution: {integrity: sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/eslint-patch@1.6.1: + resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==} dev: false - /@scure/base@1.1.1: - resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} + /@scure/base@1.1.5: + resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==} dev: false /@scure/bip32@1.3.1: @@ -5731,25 +5380,23 @@ packages: dependencies: '@noble/curves': 1.1.0 '@noble/hashes': 1.3.1 - '@scure/base': 1.1.1 + '@scure/base': 1.1.5 dev: false /@scure/bip39@1.2.1: resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: '@noble/hashes': 1.3.1 - '@scure/base': 1.1.1 + '@scure/base': 1.1.5 dev: false /@sinclair/typebox@0.24.51: resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} dev: false - /@sinclair/typebox@0.25.24: - resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} - /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true /@sinonjs/commons@1.8.6: resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} @@ -5757,18 +5404,6 @@ packages: type-detect: 4.0.8 dev: false - /@sinonjs/commons@3.0.0: - resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} - dependencies: - type-detect: 4.0.8 - dev: true - - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - dependencies: - '@sinonjs/commons': 3.0.0 - dev: true - /@sinonjs/fake-timers@8.1.0: resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} dependencies: @@ -5781,7 +5416,7 @@ packages: ejs: 3.1.9 json5: 2.2.3 magic-string: 0.25.9 - string.prototype.matchall: 4.0.8 + string.prototype.matchall: 4.0.10 dev: false /@svgr/babel-plugin-add-jsx-attribute@5.4.0: @@ -5853,14 +5488,14 @@ packages: resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==} engines: {node: '>=10'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 dev: false /@svgr/plugin-jsx@5.5.0: resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@svgr/babel-preset': 5.5.0 '@svgr/hast-util-to-babel-ast': 5.5.0 svg-parser: 2.0.4 @@ -5881,10 +5516,10 @@ packages: resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.22.5) - '@babel/preset-env': 7.22.5(@babel/core@7.22.5) - '@babel/preset-react': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.6) + '@babel/preset-env': 7.23.6(@babel/core@7.23.6) + '@babel/preset-react': 7.23.3(@babel/core@7.23.6) '@svgr/core': 5.5.0 '@svgr/plugin-jsx': 5.5.0 '@svgr/plugin-svgo': 5.5.0 @@ -5896,16 +5531,16 @@ packages: /@swc/helpers@0.5.1: resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} dependencies: - tslib: 2.6.0 + tslib: 2.6.2 dev: false /@testing-library/dom@8.20.1: resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} engines: {node: '>=12'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/runtime': 7.22.5 - '@types/aria-query': 5.0.1 + '@babel/code-frame': 7.23.5 + '@babel/runtime': 7.23.6 + '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 dom-accessibility-api: 0.5.16 @@ -5927,13 +5562,13 @@ packages: pretty-format: 27.5.1 dev: false - /@testing-library/jest-dom@5.16.5: - resolution: {integrity: sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==} + /@testing-library/jest-dom@5.17.0: + resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==} engines: {node: '>=8', npm: '>=6', yarn: '>=1'} dependencies: - '@adobe/css-tools': 4.2.0 - '@babel/runtime': 7.22.5 - '@types/testing-library__jest-dom': 5.14.6 + '@adobe/css-tools': 4.3.2 + '@babel/runtime': 7.23.6 + '@types/testing-library__jest-dom': 5.14.9 aria-query: 5.3.0 chalk: 3.0.0 css.escape: 1.5.1 @@ -5949,7 +5584,7 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.6 '@testing-library/dom': 8.20.1 '@types/react-dom': 18.2.4 react: 18.2.0 @@ -5962,36 +5597,36 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.6 '@testing-library/dom': 9.3.3 dev: false - /@textlint/ast-node-types@13.3.2: - resolution: {integrity: sha512-d9WXBahsAgRDWcfUE7pQs8E9SNbF0nxrEaYE2g01tLgQ/dYdlOLngNPXi0Lk+C+yU58kvmFSdO6nicIAe3WIiw==} + /@textlint/ast-node-types@13.4.1: + resolution: {integrity: sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==} dev: true - /@textlint/ast-tester@13.3.2: - resolution: {integrity: sha512-qbpmJS7mEZcTrcKuppPQ8o2VJFUvHJ4+/l5iNEc2JRtMqpoNP6JAIKwIuDcEsMxedClExVTPmNctUlteglpD2A==} + /@textlint/ast-tester@13.4.1: + resolution: {integrity: sha512-YSHUR1qDgMPGF5+nvrquEhif6zRJ667xUnfP/9rTNtThIhoTQINvczr5/7xa43F1PDWplL6Curw+2jrE1qHwGQ==} dependencies: - '@textlint/ast-node-types': 13.3.2 + '@textlint/ast-node-types': 13.4.1 debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true - /@textlint/ast-traverse@13.3.2: - resolution: {integrity: sha512-c+SI7SAWH1S+q5iok0Q/jrprG1BctstTF4A8msi/1bioKtn/PrD01w/MDsPkDT+K15RrWYUSjG8FLuGPnEN78Q==} + /@textlint/ast-traverse@13.4.1: + resolution: {integrity: sha512-uucuC7+NHWkXx2TX5vuyreuHeb+GFiA83V65I+FnYP5EC4dAMOQ86rTSPrZmCwLz+qIWgfDgihGzPccpj3EZGg==} dependencies: - '@textlint/ast-node-types': 13.3.2 + '@textlint/ast-node-types': 13.4.1 dev: true - /@textlint/config-loader@13.3.2: - resolution: {integrity: sha512-P8DESsBh3JBRMujbyV3WjVlhbDVaGBIRtEL0AveNSSe6+X0ef7OtesxGJhD8p/DIyA9X+69bqpg7mcV7DTuO9w==} + /@textlint/config-loader@13.4.1: + resolution: {integrity: sha512-ggh6her5PdgcEsvgm3FfCY2+r7IhoQoBTGYxM+IbfkwyVoSoQ2CrXbCVlQkpLPFzhHVbIwgNxkiMr1o2npwfJQ==} dependencies: - '@textlint/kernel': 13.3.2 - '@textlint/module-interop': 13.3.2 - '@textlint/types': 13.3.2 - '@textlint/utils': 13.3.2 + '@textlint/kernel': 13.4.1 + '@textlint/module-interop': 13.4.1 + '@textlint/types': 13.4.1 + '@textlint/utils': 13.4.1 debug: 4.3.4 rc-config-loader: 4.1.3 try-resolve: 1.0.1 @@ -5999,15 +5634,15 @@ packages: - supports-color dev: true - /@textlint/feature-flag@13.3.2: - resolution: {integrity: sha512-ewW8dlhcFf19QuqlycQHqySQB/VhKQ7opYjvsJvUr2GP7/nY1Wq4vMWEhCtCOVg7Khumw1JtoS7+DaQGiFzuaQ==} + /@textlint/feature-flag@13.4.1: + resolution: {integrity: sha512-qY8gKUf30XtzWMTkwYeKytCo6KPx6milpz8YZhuRsEPjT/5iNdakJp5USWDQWDrwbQf7RbRncQdU+LX5JbM9YA==} dev: true - /@textlint/fixer-formatter@13.3.2: - resolution: {integrity: sha512-Szvb6OGx/+PkiqDUMVyXD5WDaraoU64VNWZhUm96wEjGxt7seMecRgYiKc7LkQllcStJ2lP8Dgju1phGaD5hbQ==} + /@textlint/fixer-formatter@13.4.1: + resolution: {integrity: sha512-P195Soyxmzv7S5QyCJIjuDXl5t3EyOhYwxR4ukKBZ7bw5hp/P1+e4GEhzqrXWx3z7h0nZZ0TuTjepNxOMo6cAQ==} dependencies: - '@textlint/module-interop': 13.3.2 - '@textlint/types': 13.3.2 + '@textlint/module-interop': 13.4.1 + '@textlint/types': 13.4.1 chalk: 4.1.2 debug: 4.3.4 diff: 4.0.2 @@ -6020,16 +5655,16 @@ packages: - supports-color dev: true - /@textlint/kernel@13.3.2: - resolution: {integrity: sha512-KZX87i4xVqLXdb8Cl4y0Y56jIHQIwg+YPrLz/kBz2TQDl8vYeGLII4QHwT1l0BjZ2JHawm1pmyQZml3hCnieOQ==} + /@textlint/kernel@13.4.1: + resolution: {integrity: sha512-r2sUhjPysFjl2Ax37x9AfWkJM8jgKN0bL4SX3xRzOukdcj69Dst5On5qBZtULaVMX1LDkwkdxA6ZEADmq27qQA==} dependencies: - '@textlint/ast-node-types': 13.3.2 - '@textlint/ast-tester': 13.3.2 - '@textlint/ast-traverse': 13.3.2 - '@textlint/feature-flag': 13.3.2 - '@textlint/source-code-fixer': 13.3.2 - '@textlint/types': 13.3.2 - '@textlint/utils': 13.3.2 + '@textlint/ast-node-types': 13.4.1 + '@textlint/ast-tester': 13.4.1 + '@textlint/ast-traverse': 13.4.1 + '@textlint/feature-flag': 13.4.1 + '@textlint/source-code-fixer': 13.4.1 + '@textlint/types': 13.4.1 + '@textlint/utils': 13.4.1 debug: 4.3.4 fast-equals: 4.0.3 structured-source: 4.0.0 @@ -6037,19 +5672,17 @@ packages: - supports-color dev: true - /@textlint/linter-formatter@13.3.2: - resolution: {integrity: sha512-QpHI7bzDMaetmrnMhA2+z1ExneFCdJVZHUFyzdfSv5JC4VNXmW9UDb7F7vsP+M+1jzIvF75mwvRLvmA82MJvBA==} + /@textlint/linter-formatter@13.4.1: + resolution: {integrity: sha512-VDLnyHRO9hf6CGxMJLM5oi7NH9s0mqiWxtgi95nuXmJZWbQLZVfcxkD1Cp16pwk8zTvlbyMZFqamFCYZyD9Sww==} dependencies: '@azu/format-text': 1.0.2 '@azu/style-format': 1.0.1 - '@textlint/module-interop': 13.3.2 - '@textlint/types': 13.3.2 + '@textlint/module-interop': 13.4.1 + '@textlint/types': 13.4.1 chalk: 4.1.2 debug: 4.3.4 - is-file: 1.0.0 js-yaml: 3.14.1 lodash: 4.17.21 - optionator: 0.9.3 pluralize: 2.0.0 string-width: 4.2.3 strip-ansi: 6.0.1 @@ -6060,10 +5693,10 @@ packages: - supports-color dev: true - /@textlint/markdown-to-ast@13.3.2: - resolution: {integrity: sha512-tnXk7YO8rIPbnd6rDi6LwhxoExdg6ge8v5ggiun76qLfX2uKR0ExhJEL2K+zziATi1AqalBva3WD3exU1sfjeg==} + /@textlint/markdown-to-ast@13.4.1: + resolution: {integrity: sha512-jUa5bTNmxjEgfCXW4xfn7eSJqzUXyNKiIDWLKtI4MUKRNhT3adEaa/NuQl0Mii3Hu3HraZR7hYhRHLh+eeM43w==} dependencies: - '@textlint/ast-node-types': 13.3.2 + '@textlint/ast-node-types': 13.4.1 debug: 4.3.4 mdast-util-gfm-autolink-literal: 0.1.3 remark-footnotes: 3.0.0 @@ -6076,47 +5709,47 @@ packages: - supports-color dev: true - /@textlint/module-interop@13.3.2: - resolution: {integrity: sha512-JPHAZlWXgedDCoaTT21dln8u+sPVJUGPw283Oxz1k24x2MWaFZO7EReu/K4QepdxNKOpdllp2DqvnWgnvZoPOg==} + /@textlint/module-interop@13.4.1: + resolution: {integrity: sha512-keM5zHwyifijEDqEvAFhhXHC5UbmZjfGytRJzPPJaW3C3UsGbIzDCnfOSE9jUVTWZcngHuSJ7aKGv42Rhy9nEg==} dev: true - /@textlint/source-code-fixer@13.3.2: - resolution: {integrity: sha512-7b+7zDUnEILcaYvJDLz+6Uu8YHn85xm6Lof/0Azn1/5zcDsz5qDjgJ21u+kuS+1kQBSpWV8dmCT3sTZoS0uExg==} + /@textlint/source-code-fixer@13.4.1: + resolution: {integrity: sha512-Sl29f3Tpimp0uVE3ysyJBjxaFTVYLOXiJX14eWCQ/kC5ZhIXGosEbStzkP1n8Urso1rs1W4p/2UemVAm3NH2ng==} dependencies: - '@textlint/types': 13.3.2 + '@textlint/types': 13.4.1 debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true - /@textlint/text-to-ast@13.3.2: - resolution: {integrity: sha512-6E2sFTukn5XygCWE1W6jU1rlQKO268tS5Qe8oHBdxp0tohFXMRzVM5r1MKgjjmuUpHxjwIcq75x+dWAYwX5wLQ==} + /@textlint/text-to-ast@13.4.1: + resolution: {integrity: sha512-vCA7uMmbjRv06sEHPbwxTV5iS8OQedC5s7qwmXnWAn2LLWxg4Yp98mONPS1o4D5cPomzYyKNCSfbLwu6yJBUQA==} dependencies: - '@textlint/ast-node-types': 13.3.2 + '@textlint/ast-node-types': 13.4.1 dev: true - /@textlint/textlint-plugin-markdown@13.3.2: - resolution: {integrity: sha512-iI/UuzUz4k5qnrPnm7U7d8oC/Hwj41MtllusBSArG3mimn5gHsS+Etzm5Zs3oxXMINdzvWNNEFJ/xbs1bZvEJg==} + /@textlint/textlint-plugin-markdown@13.4.1: + resolution: {integrity: sha512-OcLkFKYmbYeGJ0kj2487qcicCYTiE2vJLwfPcUDJrNoMYak5JtvHJfWffck8gON2mEM00DPkHH0UdxZpFjDfeg==} dependencies: - '@textlint/markdown-to-ast': 13.3.2 + '@textlint/markdown-to-ast': 13.4.1 transitivePeerDependencies: - supports-color dev: true - /@textlint/textlint-plugin-text@13.3.2: - resolution: {integrity: sha512-pJrb4OYZ3TB6eKxvxPYARwoHb5vaXoKakCrmsyXtwbRjylJWCRVRh/u8UTRTyFRotASawEY/VfxKXwYepHP91Q==} + /@textlint/textlint-plugin-text@13.4.1: + resolution: {integrity: sha512-z0p5B8WUfTCIRmhjVHFfJv719oIElDDKWOIZei4CyYkfMGo0kq8fkrYBkUR6VZ6gofHwc+mwmIABdUf1rDHzYA==} dependencies: - '@textlint/text-to-ast': 13.3.2 + '@textlint/text-to-ast': 13.4.1 dev: true - /@textlint/types@13.3.2: - resolution: {integrity: sha512-N1Xb4kltBwBwAF3wAwKi3sJA0hWVjraWqIpjuHOplul/O8Qu78domGedktQJ4n2aVN1ucBuFjpZNsQfkfxJI+Q==} + /@textlint/types@13.4.1: + resolution: {integrity: sha512-1ApwQa31sFmiJeJ5yTNFqjbb2D1ICZvIDW0tFSM0OtmQCSDFNcKD3YrrwDBgSokZ6gWQq/FpNjlhi6iETUWt0Q==} dependencies: - '@textlint/ast-node-types': 13.3.2 + '@textlint/ast-node-types': 13.4.1 dev: true - /@textlint/utils@13.3.2: - resolution: {integrity: sha512-eEi4j5vyQ0WRkfkBS+Sa2q1YQVo0B6cFXde2+TVpoDp7f8yPAb4wMv9jgQ23N+DpiafJVOhRQLyJdrITFwnmFw==} + /@textlint/utils@13.4.1: + resolution: {integrity: sha512-wX8RT1ejHAPTDmqlzngf0zI5kYoe3QvGDcj+skoTxSv+m/wOs/NyEr92d+ahCP32YqFYzXlqU7aDx2FkULKT+g==} dev: true /@tootallnate/once@1.1.2: @@ -6145,168 +5778,161 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true - /@types/aria-query@5.0.1: - resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} - dev: false - /@types/aria-query@5.0.4: resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} dev: false - /@types/babel__core@7.20.1: - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.22.5 - '@babel/types': 7.22.5 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.20.1 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.4 - /@types/babel__generator@7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 - /@types/babel__template@7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.22.5 - '@babel/types': 7.22.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 - /@types/babel__traverse@7.20.1: - resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} + /@types/babel__traverse@7.20.4: + resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 - /@types/bn.js@5.1.1: - resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} + /@types/bn.js@5.1.5: + resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} dependencies: - '@types/node': 16.18.34 + '@types/node': 18.15.3 - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: - '@types/connect': 3.4.35 - '@types/node': 16.18.34 + '@types/connect': 3.4.38 + '@types/node': 16.18.68 dev: false - /@types/bonjour@3.5.10: - resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} + /@types/bonjour@3.5.13: + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 dev: false - /@types/cli-table@0.3.1: - resolution: {integrity: sha512-m3+6WWfSSl6zqoXy8uQQifbgqV7Gt6fsyWnHLgUWVtJQk75+OfUB+edSZ52YDj7leSiZtX7w1/E4w2x/Hb0orA==} + /@types/cli-table@0.3.4: + resolution: {integrity: sha512-GsALrTL69mlwbAw/MHF1IPTadSLZQnsxe7a80G8l4inN/iEXCOcVeT/S7aRc6hbhqzL9qZ314kHPDQnQ3ev+HA==} dev: true - /@types/connect-history-api-fallback@1.5.0: - resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} + /@types/connect-history-api-fallback@1.5.4: + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: - '@types/express-serve-static-core': 4.17.35 - '@types/node': 16.18.34 + '@types/express-serve-static-core': 4.17.41 + '@types/node': 16.18.68 dev: false - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 dev: false - /@types/elliptic@6.4.14: - resolution: {integrity: sha512-z4OBcDAU0GVwDTuwJzQCiL6188QvZMkvoERgcVjq0/mPM8jCfdwZ3x5zQEVoL9WCAru3aG5wl3Z5Ww5wBWn7ZQ==} + /@types/elliptic@6.4.18: + resolution: {integrity: sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw==} dependencies: - '@types/bn.js': 5.1.1 + '@types/bn.js': 5.1.5 dev: true - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.40.2 - '@types/estree': 1.0.1 + '@types/eslint': 8.44.9 + '@types/estree': 1.0.5 dev: false - /@types/eslint@8.40.2: - resolution: {integrity: sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==} + /@types/eslint@8.44.9: + resolution: {integrity: sha512-6yBxcvwnnYoYT1Uk2d+jvIfsuP4mb2EdIxFnrPABj5a/838qe5bGkNLFOiipX4ULQ7XVQvTxOh7jO+BTAiqsEw==} dependencies: - '@types/estree': 1.0.1 - '@types/json-schema': 7.0.12 + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 dev: false /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: false - /@types/estree@1.0.1: - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} - dev: false + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/express-serve-static-core@4.17.35: - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} + /@types/express-serve-static-core@4.17.41: + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 16.18.34 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 + '@types/node': 16.18.68 + '@types/qs': 6.9.10 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 dev: false - /@types/express@4.17.17: - resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.2 + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.10 + '@types/serve-static': 1.15.5 dev: false - /@types/flexsearch@0.7.3: - resolution: {integrity: sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==} + /@types/flexsearch@0.7.6: + resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==} dev: true /@types/glob@8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 16.18.34 + '@types/node': 18.15.3 dev: true - /@types/graceful-fs@4.1.6: - resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + /@types/graceful-fs@4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 + dev: false /@types/html-minifier-terser@6.1.0: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} dev: false - /@types/http-errors@2.0.1: - resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} dev: false - /@types/http-proxy@1.17.11: - resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 dev: false - /@types/is-ci@3.0.0: - resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} - dependencies: - ci-info: 3.8.0 - dev: true - - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: false - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 + dev: false - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 + dev: false /@types/jest@27.5.2: resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==} @@ -6315,38 +5941,32 @@ packages: pretty-format: 27.5.1 dev: false - /@types/jest@29.5.0: - resolution: {integrity: sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg==} - dependencies: - expect: 29.5.0 - pretty-format: 29.7.0 - - /@types/js-yaml@4.0.5: - resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} + /@types/js-yaml@4.0.9: + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} dev: true - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - /@types/json-stable-stringify@1.0.34: - resolution: {integrity: sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==} + /@types/json-stable-stringify@1.0.36: + resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} dev: true /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - /@types/linkify-it@3.0.2: - resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} dev: true - /@types/lodash.camelcase@4.3.7: - resolution: {integrity: sha512-Nfi6jpo9vuEOSIJP+mpbTezKyEt75DQlbwjiDvs/JctWkbnHDoyQo5lWqdvgNiJmVUjcmkfvlrvSEgJYvurOKg==} + /@types/lodash.camelcase@4.3.9: + resolution: {integrity: sha512-ys9/hGBfsKxzmFI8hckII40V0ASQ83UM2pxfQRghHAwekhH4/jWtjz/3/9YDy7ZpUd/H0k2STSqmPR28dnj7Zg==} dependencies: - '@types/lodash': 4.14.195 + '@types/lodash': 4.14.202 dev: true - /@types/lodash@4.14.195: - resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==} + /@types/lodash@4.14.202: + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} /@types/long@4.0.0: resolution: {integrity: sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==} @@ -6355,55 +5975,61 @@ packages: /@types/markdown-it@12.2.3: resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} dependencies: - '@types/linkify-it': 3.0.2 - '@types/mdurl': 1.0.2 + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 dev: true - /@types/mdast@3.0.11: - resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} + /@types/mdast@3.0.15: + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 dev: true - /@types/mdurl@1.0.2: - resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} dev: true - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} dev: false - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} dev: false /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: true - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true /@types/mkdirp@0.5.2: resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} dependencies: - '@types/node': 16.18.34 + '@types/node': 18.15.3 dev: true /@types/mkdirp@1.0.2: resolution: {integrity: sha512-o0K1tSO0Dx5X6xlU5F1D6625FawhC3dU3iqr25lluNv/+/QIVH8RLNEiVokgIZo+mz+87w/3Mkg/VvQS+J51fQ==} dependencies: - '@types/node': 16.18.34 + '@types/node': 18.15.3 dev: true - /@types/node-fetch@2.6.2: - resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} + /@types/node-fetch@2.6.9: + resolution: {integrity: sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==} dependencies: - '@types/node': 16.18.34 - form-data: 3.0.1 + '@types/node': 18.15.3 + form-data: 4.0.0 dev: true + /@types/node-forge@1.3.10: + resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==} + dependencies: + '@types/node': 16.18.68 + dev: false + /@types/node@10.12.18: resolution: {integrity: sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==} dev: false @@ -6412,8 +6038,8 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@16.18.34: - resolution: {integrity: sha512-VmVm7gXwhkUimRfBwVI1CHhwp86jDWR04B5FGebMMyxV90SlCmFujwUHrxTD4oO+SOYU86SoxvhgeRQJY7iXFg==} + /@types/node@16.18.68: + resolution: {integrity: sha512-sG3hPIQwJLoewrN7cr0dwEy+yF5nD4D/4FxtQpFciRD/xwUzgD+G05uxZHv5mhfXo4F9Jkp13jjn0CC2q325sg==} /@types/node@18.15.13: resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} @@ -6421,41 +6047,35 @@ packages: /@types/node@18.15.3: resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} - /@types/node@20.10.5: - resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==} - dependencies: - undici-types: 5.26.5 - dev: true - - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true - /@types/parse-json@4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/parse-json@4.0.2: + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.11: + resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - /@types/q@1.5.5: - resolution: {integrity: sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==} + /@types/q@1.5.8: + resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} dev: false - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + /@types/qs@6.9.10: + resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==} dev: false - /@types/ramda@0.29.3: - resolution: {integrity: sha512-Yh/RHkjN0ru6LVhSQtTkCRo6HXkfL9trot/2elzM/yXLJmbLm2v6kJc8yftTnwv1zvUob6TEtqI2cYjdqG3U0Q==} + /@types/ramda@0.29.9: + resolution: {integrity: sha512-X3yEG6tQCWBcUAql+RPC/O1Hm9BSU+MXu2wJnCETuAgUlrEDwTA1kIOdEEE4YXDtf0zfQLHa9CCE7WYp9kqPIQ==} dependencies: - types-ramda: 0.29.4 + types-ramda: 0.29.6 dev: true - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} dev: false /@types/react-dom@18.2.4: @@ -6466,20 +6086,20 @@ packages: /@types/react@18.2.9: resolution: {integrity: sha512-pL3JAesUkF7PEQGxh5XOwdXGV907te6m1/Qe1ERJLgomojS6Ne790QiA7GUl434JEkFA2aAaB6qJ5z4e1zJn/w==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.3 - csstype: 3.1.2 + '@types/prop-types': 15.7.11 + '@types/scheduler': 0.16.8 + csstype: 3.1.3 /@types/resolve@0.0.8: resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} dependencies: - '@types/node': 16.18.34 + '@types/node': 18.15.3 dev: true /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 dev: false /@types/retry@0.12.0: @@ -6490,69 +6110,62 @@ packages: resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==} dependencies: '@types/glob': 8.1.0 - '@types/node': 16.18.34 + '@types/node': 18.15.3 dev: true - /@types/scheduler@0.16.3: - resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + /@types/scheduler@0.16.8: + resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - /@types/semver@6.2.3: - resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} - dev: true + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} - /@types/semver@7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 16.18.68 + dev: false - /@types/semver@7.5.4: - resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} - dev: true - - /@types/send@0.17.1: - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} + /@types/serve-index@1.9.4: + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} dependencies: - '@types/mime': 1.3.2 - '@types/node': 16.18.34 + '@types/express': 4.17.21 dev: false - /@types/serve-index@1.9.1: - resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} dependencies: - '@types/express': 4.17.17 + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 16.18.68 dev: false - /@types/serve-static@1.15.2: - resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} + /@types/sockjs@0.3.36: + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/http-errors': 2.0.1 - '@types/mime': 3.0.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 dev: false - /@types/sockjs@0.3.33: - resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} - dependencies: - '@types/node': 16.18.34 + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: false - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - - /@types/testing-library__jest-dom@5.14.6: - resolution: {integrity: sha512-FkHXCb+ikSoUP4Y4rOslzTdX5sqYwMxfefKh1GmZ8ce1GOkEHntSp6b5cGadmNfp5e4BMEWOMx+WSKd5/MqlDA==} + /@types/testing-library__jest-dom@5.14.9: + resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==} dependencies: - '@types/jest': 29.5.0 + '@types/jest': 27.5.2 dev: false - /@types/trusted-types@2.0.3: - resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} + /@types/trusted-types@2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} dev: false - /@types/unist@2.0.6: - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} dev: true - /@types/uuid@9.0.1: - resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} + /@types/uuid@9.0.7: + resolution: {integrity: sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==} dev: true /@types/web-bluetooth@0.0.16: @@ -6563,55 +6176,29 @@ packages: resolution: {integrity: sha512-dl7VRSYBhxhOVxHA/ec8e7EzGXSQJrrGvRgLQWxusaJk1oT4I9nLpWiqsxekYI2eAEuet05toEm+rByL0G8x2Q==} dev: true - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} + /@types/ws@8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - - /@types/yargs@16.0.5: - resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} - dependencies: - '@types/yargs-parser': 21.0.0 + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} dev: false - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + /@types/yargs@16.0.9: + resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 + dev: false - /@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.38.0)(typescript@5.2.2): - resolution: {integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: - '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/type-utils': 5.59.0(eslint@8.38.0)(typescript@5.2.2) - '@typescript-eslint/utils': 5.59.0(eslint@8.38.0)(typescript@5.2.2) - debug: 4.3.4 - eslint: 8.38.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 - natural-compare-lite: 1.4.0 - semver: 7.3.8 - tsutils: 3.21.0(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true + '@types/yargs-parser': 21.0.3 + dev: false - /@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==} + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -6621,25 +6208,24 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/type-utils': 5.59.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/utils': 5.59.0(eslint@8.56.0)(typescript@5.2.2) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.56.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 + graphemer: 1.4.0 + ignore: 5.3.0 natural-compare-lite: 1.4.0 - semver: 7.3.8 + semver: 7.5.4 tsutils: 3.21.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color - dev: false - /@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} + /@typescript-eslint/eslint-plugin@6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -6649,16 +6235,16 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.9.1 - '@typescript-eslint/type-utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.1 + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.15.0 + '@typescript-eslint/type-utils': 6.15.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.15.0 debug: 4.3.4 - eslint: 8.52.0 + eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -6667,41 +6253,21 @@ packages: - supports-color dev: true - /@typescript-eslint/experimental-utils@5.60.1(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-TXUdLxv2t8181nh5yLXl/Gr/zKj1ZofQ7m+ZdmG2+El0TYOHCvlZfc35D4nturemC3RUnf3KmLuFp3bVBjkG5w==} + /@typescript-eslint/experimental-utils@5.62.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.60.1(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/parser@5.59.0(eslint@8.38.0)(typescript@5.2.2): - resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.2.2) - debug: 4.3.4 - eslint: 8.38.0 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@5.59.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==} + /@typescript-eslint/parser@5.62.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -6710,18 +6276,17 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) debug: 4.3.4 eslint: 8.56.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color - dev: false - /@typescript-eslint/parser@6.9.1(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} + /@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -6730,62 +6295,34 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.9.1 - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.1 + '@typescript-eslint/scope-manager': 6.15.0 + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.15.0 debug: 4.3.4 - eslint: 8.52.0 + eslint: 8.56.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.59.0: - resolution: {integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/visitor-keys': 5.59.0 - - /@typescript-eslint/scope-manager@5.60.1: - resolution: {integrity: sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==} + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/visitor-keys': 5.60.1 - dev: false + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 - /@typescript-eslint/scope-manager@6.9.1: - resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} + /@typescript-eslint/scope-manager@6.15.0: + resolution: {integrity: sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/visitor-keys': 6.9.1 - dev: true - - /@typescript-eslint/type-utils@5.59.0(eslint@8.38.0)(typescript@5.2.2): - resolution: {integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.2.2) - '@typescript-eslint/utils': 5.59.0(eslint@8.38.0)(typescript@5.2.2) - debug: 4.3.4 - eslint: 8.38.0 - tsutils: 3.21.0(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/visitor-keys': 6.15.0 dev: true - /@typescript-eslint/type-utils@5.59.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==} + /@typescript-eslint/type-utils@5.62.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -6794,18 +6331,17 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.2.2) - '@typescript-eslint/utils': 5.59.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.56.0 tsutils: 3.21.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color - dev: false - /@typescript-eslint/type-utils@6.9.1(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} + /@typescript-eslint/type-utils@6.15.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -6814,52 +6350,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.52.0 + eslint: 8.56.0 ts-api-utils: 1.0.3(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.59.0: - resolution: {integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - /@typescript-eslint/types@5.60.1: - resolution: {integrity: sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==} + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: false - /@typescript-eslint/types@6.9.1: - resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} + /@typescript-eslint/types@6.15.0: + resolution: {integrity: sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.59.0(typescript@5.2.2): - resolution: {integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/visitor-keys': 5.59.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - /@typescript-eslint/typescript-estree@5.60.1(typescript@5.2.2): - resolution: {integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==} + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -6867,20 +6378,19 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/visitor-keys': 5.60.1 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 + semver: 7.5.4 tsutils: 3.21.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color - dev: false - /@typescript-eslint/typescript-estree@6.9.1(typescript@5.2.2): - resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} + /@typescript-eslint/typescript-estree@6.15.0(typescript@5.2.2): + resolution: {integrity: sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -6888,8 +6398,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/visitor-keys': 6.9.1 + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/visitor-keys': 6.15.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -6900,231 +6410,240 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.59.0(eslint@8.38.0)(typescript@5.2.2): - resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.2.2) - eslint: 8.38.0 - eslint-scope: 5.1.1 - semver: 7.3.8 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/utils@5.59.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.2.2) - eslint: 8.56.0 - eslint-scope: 5.1.1 - semver: 7.3.8 - transitivePeerDependencies: - - supports-color - - typescript - dev: false - - /@typescript-eslint/utils@5.60.1(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==} + /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.60.1 - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.2.2) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) eslint: 8.56.0 eslint-scope: 5.1.1 - semver: 7.3.8 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript - dev: false - /@typescript-eslint/utils@6.9.1(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} + /@typescript-eslint/utils@6.15.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.9.1 - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) - eslint: 8.52.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.15.0 + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.2.2) + eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.59.0: - resolution: {integrity: sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==} + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.59.0 - eslint-visitor-keys: 3.4.1 - - /@typescript-eslint/visitor-keys@5.60.1: - resolution: {integrity: sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.60.1 - eslint-visitor-keys: 3.4.1 - dev: false + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 - /@typescript-eslint/visitor-keys@6.9.1: - resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} + /@typescript-eslint/visitor-keys@6.15.0: + resolution: {integrity: sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.1 - eslint-visitor-keys: 3.4.1 + '@typescript-eslint/types': 6.15.0 + eslint-visitor-keys: 3.4.3 dev: true /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@vitejs/plugin-react@4.0.0(vite@4.3.9): - resolution: {integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==} + /@vitejs/plugin-react@4.2.1(vite@4.5.1): + resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.2.0 + vite: ^4.2.0 || ^5.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.6) + '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 4.3.9(@types/node@18.15.3) + vite: 4.5.1(@types/node@18.15.3) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@4.2.3(vite@4.3.9)(vue@3.2.47): - resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} + /@vitejs/plugin-vue@4.5.2(vite@4.5.1)(vue@3.3.13): + resolution: {integrity: sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 4.3.9(@types/node@18.15.3) - vue: 3.2.47 + vite: 4.5.1(@types/node@18.15.3) + vue: 3.3.13(typescript@5.2.2) + dev: true + + /@vitest/coverage-istanbul@1.1.0(vitest@1.1.0): + resolution: {integrity: sha512-sjHGQQu7lkJUYSBMOR3f9AyOlK1LBVr0v7LMar/4i167ltabRWlQ2STBDM4P6Wl659NAcHlZ/RXxrAgJPavDMA==} + peerDependencies: + vitest: ^1.0.0 + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.1 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.6 + magicast: 0.3.2 + picocolors: 1.0.0 + test-exclude: 6.0.0 + vitest: 1.1.0(@types/node@18.15.3) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.1.0: + resolution: {integrity: sha512-9IE2WWkcJo2BR9eqtY5MIo3TPmS50Pnwpm66A6neb2hvk/QSLfPXBz2qdiwUOQkwyFuuXEUj5380CbwfzW4+/w==} + dependencies: + '@vitest/spy': 1.1.0 + '@vitest/utils': 1.1.0 + chai: 4.3.10 + dev: true + + /@vitest/runner@1.1.0: + resolution: {integrity: sha512-zdNLJ00pm5z/uhbWF6aeIJCGMSyTyWImy3Fcp9piRGvueERFlQFbUwCpzVce79OLm2UHk9iwaMSOaU9jVHgNVw==} + dependencies: + '@vitest/utils': 1.1.0 + p-limit: 5.0.0 + pathe: 1.1.1 + dev: true + + /@vitest/snapshot@1.1.0: + resolution: {integrity: sha512-5O/wyZg09V5qmNmAlUgCBqflvn2ylgsWJRRuPrnHEfDNT6tQpQ8O1isNGgo+VxofISHqz961SG3iVvt3SPK/QQ==} + dependencies: + magic-string: 0.30.5 + pathe: 1.1.1 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.1.0: + resolution: {integrity: sha512-sNOVSU/GE+7+P76qYo+VXdXhXffzWZcYIPQfmkiRxaNCSPiLANvQx5Mx6ZURJ/ndtEkUJEpvKLXqAYTKEY+lTg==} + dependencies: + tinyspy: 2.2.0 + dev: true + + /@vitest/utils@1.1.0: + resolution: {integrity: sha512-z+s510fKmYz4Y41XhNs3vcuFTFhcij2YF7F8VQfMEYAAUfqQh0Zfg7+w9xdgFGhPf3tX3TicAe+8BDITk6ampQ==} + dependencies: + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 dev: true - /@vue/compiler-core@3.2.47: - resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} + /@vue/compiler-core@3.3.13: + resolution: {integrity: sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==} dependencies: - '@babel/parser': 7.22.5 - '@vue/shared': 3.2.47 + '@babel/parser': 7.23.6 + '@vue/shared': 3.3.13 estree-walker: 2.0.2 - source-map: 0.6.1 + source-map-js: 1.0.2 dev: true - /@vue/compiler-dom@3.2.47: - resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} + /@vue/compiler-dom@3.3.13: + resolution: {integrity: sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw==} dependencies: - '@vue/compiler-core': 3.2.47 - '@vue/shared': 3.2.47 + '@vue/compiler-core': 3.3.13 + '@vue/shared': 3.3.13 dev: true - /@vue/compiler-sfc@3.2.47: - resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} + /@vue/compiler-sfc@3.3.13: + resolution: {integrity: sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw==} dependencies: - '@babel/parser': 7.22.5 - '@vue/compiler-core': 3.2.47 - '@vue/compiler-dom': 3.2.47 - '@vue/compiler-ssr': 3.2.47 - '@vue/reactivity-transform': 3.2.47 - '@vue/shared': 3.2.47 + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.13 + '@vue/compiler-dom': 3.3.13 + '@vue/compiler-ssr': 3.3.13 + '@vue/reactivity-transform': 3.3.13 + '@vue/shared': 3.3.13 estree-walker: 2.0.2 - magic-string: 0.25.9 - postcss: 8.4.24 - source-map: 0.6.1 + magic-string: 0.30.5 + postcss: 8.4.32 + source-map-js: 1.0.2 dev: true - /@vue/compiler-ssr@3.2.47: - resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} + /@vue/compiler-ssr@3.3.13: + resolution: {integrity: sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw==} dependencies: - '@vue/compiler-dom': 3.2.47 - '@vue/shared': 3.2.47 + '@vue/compiler-dom': 3.3.13 + '@vue/shared': 3.3.13 dev: true - /@vue/devtools-api@6.5.0: - resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + /@vue/devtools-api@6.5.1: + resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: true - /@vue/reactivity-transform@3.2.47: - resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} + /@vue/reactivity-transform@3.3.13: + resolution: {integrity: sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q==} dependencies: - '@babel/parser': 7.22.5 - '@vue/compiler-core': 3.2.47 - '@vue/shared': 3.2.47 + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.13 + '@vue/shared': 3.3.13 estree-walker: 2.0.2 - magic-string: 0.25.9 + magic-string: 0.30.5 dev: true - /@vue/reactivity@3.2.47: - resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} + /@vue/reactivity@3.3.13: + resolution: {integrity: sha512-fjzCxceMahHhi4AxUBzQqqVhuA21RJ0COaWTbIBl1PruGW1CeY97louZzLi4smpYx+CHfFPPU/CS8NybbGvPKQ==} dependencies: - '@vue/shared': 3.2.47 + '@vue/shared': 3.3.13 dev: true - /@vue/runtime-core@3.2.47: - resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} + /@vue/runtime-core@3.3.13: + resolution: {integrity: sha512-1TzA5TvGuh2zUwMJgdfvrBABWZ7y8kBwBhm7BXk8rvdx2SsgcGfz2ruv2GzuGZNvL1aKnK8CQMV/jFOrxNQUMA==} dependencies: - '@vue/reactivity': 3.2.47 - '@vue/shared': 3.2.47 + '@vue/reactivity': 3.3.13 + '@vue/shared': 3.3.13 dev: true - /@vue/runtime-dom@3.2.47: - resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} + /@vue/runtime-dom@3.3.13: + resolution: {integrity: sha512-JJkpE8R/hJKXqVTgUoODwS5wqKtOsmJPEqmp90PDVGygtJ4C0PtOkcEYXwhiVEmef6xeXcIlrT3Yo5aQ4qkHhQ==} dependencies: - '@vue/runtime-core': 3.2.47 - '@vue/shared': 3.2.47 - csstype: 2.6.21 + '@vue/runtime-core': 3.3.13 + '@vue/shared': 3.3.13 + csstype: 3.1.3 dev: true - /@vue/server-renderer@3.2.47(vue@3.2.47): - resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} + /@vue/server-renderer@3.3.13(vue@3.3.13): + resolution: {integrity: sha512-vSnN+nuf6iSqTL3Qgx/9A+BT+0Zf/VJOgF5uMZrKjYPs38GMYyAU1coDyBNHauehXDaP+zl73VhwWv0vBRBHcg==} peerDependencies: - vue: 3.2.47 + vue: 3.3.13 dependencies: - '@vue/compiler-ssr': 3.2.47 - '@vue/shared': 3.2.47 - vue: 3.2.47 + '@vue/compiler-ssr': 3.3.13 + '@vue/shared': 3.3.13 + vue: 3.3.13(typescript@5.2.2) dev: true - /@vue/shared@3.2.47: - resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} + /@vue/shared@3.3.13: + resolution: {integrity: sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==} dev: true - /@vueuse/core@9.13.0(vue@3.2.47): + /@vueuse/core@9.13.0(vue@3.3.13): resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} dependencies: '@types/web-bluetooth': 0.0.16 '@vueuse/metadata': 9.13.0 - '@vueuse/shared': 9.13.0(vue@3.2.47) - vue-demi: 0.14.5(vue@3.2.47) + '@vueuse/shared': 9.13.0(vue@3.3.13) + vue-demi: 0.14.6(vue@3.3.13) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7134,10 +6653,10 @@ packages: resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} dev: true - /@vueuse/shared@9.13.0(vue@3.2.47): + /@vueuse/shared@9.13.0(vue@3.3.13): resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} dependencies: - vue-demi: 0.14.5(vue@3.2.47) + vue-demi: 0.14.6(vue@3.3.13) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7249,24 +6768,24 @@ packages: '@xtuc/long': 4.2.2 dev: false + /@whatwg-node/events@0.0.2: + resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==} + dev: true + /@whatwg-node/events@0.0.3: resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} dev: true - /@whatwg-node/fetch@0.3.2: - resolution: {integrity: sha512-Bs5zAWQs0tXsLa4mRmLw7Psps1EN78vPtgcLpw3qPY8s6UYPUM67zFZ9cy+7tZ64PXhfwzxJn+m7RH2Lq48RNQ==} + /@whatwg-node/fetch@0.6.9(@types/node@18.15.3): + resolution: {integrity: sha512-JfrBCJdMu9n9OARc0e/hPHcD98/8Nz1CKSdGYDg6VbObDkV/Ys30xe5i/wPOatYbxuvatj1kfWeHf7iNX3i17w==} dependencies: '@peculiar/webcrypto': 1.4.3 - abort-controller: 3.0.0 + '@whatwg-node/node-fetch': 0.0.5(@types/node@18.15.3) busboy: 1.6.0 - event-target-polyfill: 0.0.3 - form-data-encoder: 1.9.0 - formdata-node: 4.4.1 - node-fetch: 2.7.0 - undici: 5.22.1 + urlpattern-polyfill: 6.0.2 web-streams-polyfill: 3.2.1 transitivePeerDependencies: - - encoding + - '@types/node' dev: true /@whatwg-node/fetch@0.8.8: @@ -7279,6 +6798,17 @@ packages: web-streams-polyfill: 3.2.1 dev: true + /@whatwg-node/node-fetch@0.0.5(@types/node@18.15.3): + resolution: {integrity: sha512-hbccmaSZaItdsRuBKBEEhLoO+5oXJPxiyd0kG2xXd0Dh3Rt+vZn4pADHxuSiSHLd9CM+S2z4+IxlEGbWUgiz9g==} + peerDependencies: + '@types/node': ^18.0.6 + dependencies: + '@types/node': 18.15.3 + '@whatwg-node/events': 0.0.2 + busboy: 1.6.0 + tslib: 2.6.2 + dev: true + /@whatwg-node/node-fetch@0.3.6: resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} dependencies: @@ -7286,7 +6816,7 @@ packages: busboy: 1.6.0 fast-querystring: 1.1.2 fast-url-parser: 1.1.3 - tslib: 2.6.0 + tslib: 2.6.2 dev: true /@xtuc/ieee754@1.2.0: @@ -7299,19 +6829,13 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead dev: false /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: true - /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -7327,31 +6851,26 @@ packages: acorn-walk: 7.2.0 dev: false - /acorn-import-assertions@1.9.0(acorn@8.9.0): + /acorn-import-assertions@1.9.0(acorn@8.11.2): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.9.0 + acorn: 8.11.2 dev: false - /acorn-jsx@5.3.2(acorn@8.9.0): + /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.9.0 + acorn: 8.11.2 /acorn-walk@7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - /acorn-walk@8.3.1: resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} engines: {node: '>=0.4.0'} @@ -7367,12 +6886,6 @@ packages: resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} hasBin: true - dev: true - - /acorn@8.9.0: - resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} - engines: {node: '>=0.4.0'} - hasBin: true /address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} @@ -7460,23 +6973,23 @@ packages: require-from-string: 2.0.2 uri-js: 4.4.1 - /algoliasearch@4.18.0: - resolution: {integrity: sha512-pCuVxC1SVcpc08ENH32T4sLKSyzoU7TkRIDBMwSLfIiW+fq4znOmWDkAygHZ6pRcO9I1UJdqlfgnV7TRj+MXrA==} - dependencies: - '@algolia/cache-browser-local-storage': 4.18.0 - '@algolia/cache-common': 4.18.0 - '@algolia/cache-in-memory': 4.18.0 - '@algolia/client-account': 4.18.0 - '@algolia/client-analytics': 4.18.0 - '@algolia/client-common': 4.18.0 - '@algolia/client-personalization': 4.18.0 - '@algolia/client-search': 4.18.0 - '@algolia/logger-common': 4.18.0 - '@algolia/logger-console': 4.18.0 - '@algolia/requester-browser-xhr': 4.18.0 - '@algolia/requester-common': 4.18.0 - '@algolia/requester-node-http': 4.18.0 - '@algolia/transporter': 4.18.0 + /algoliasearch@4.22.0: + resolution: {integrity: sha512-gfceltjkwh7PxXwtkS8KVvdfK+TSNQAWUeNSxf4dA29qW5tf2EGwa8jkJujlT9jLm17cixMVoGNc+GJFO1Mxhg==} + dependencies: + '@algolia/cache-browser-local-storage': 4.22.0 + '@algolia/cache-common': 4.22.0 + '@algolia/cache-in-memory': 4.22.0 + '@algolia/client-account': 4.22.0 + '@algolia/client-analytics': 4.22.0 + '@algolia/client-common': 4.22.0 + '@algolia/client-personalization': 4.22.0 + '@algolia/client-search': 4.22.0 + '@algolia/logger-common': 4.22.0 + '@algolia/logger-console': 4.22.0 + '@algolia/requester-browser-xhr': 4.22.0 + '@algolia/requester-common': 4.22.0 + '@algolia/requester-node-http': 4.22.0 + '@algolia/transporter': 4.22.0 dev: true /ansi-colors@4.1.3: @@ -7504,8 +7017,8 @@ packages: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - /ansi-sequence-parser@1.1.0: - resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} + /ansi-sequence-parser@1.1.1: + resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -7537,6 +7050,17 @@ packages: normalize-path: 3.0.0 picomatch: 2.3.1 + /append-transform@2.0.0: + resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} + engines: {node: '>=8'} + dependencies: + default-require-extensions: 3.0.1 + dev: true + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: true + /are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} @@ -7558,18 +7082,10 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /aria-query@4.2.2: - resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} - engines: {node: '>=6.0'} - dependencies: - '@babel/runtime': 7.22.5 - '@babel/runtime-corejs3': 7.22.5 - dev: false - /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: - deep-equal: 2.2.1 + deep-equal: 2.2.3 dev: false /aria-query@5.3.0: @@ -7580,7 +7096,7 @@ packages: /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 is-array-buffer: 3.0.2 /array-flatten@1.1.1: @@ -7595,26 +7111,15 @@ packages: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.1 - is-string: 1.0.7 - /array-includes@3.1.7: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 is-string: 1.0.7 - dev: true /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} @@ -7624,58 +7129,37 @@ packages: resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 - dev: true - - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - dev: true - - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 + es-shim-unscopables: 1.0.2 /array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - dev: true + es-shim-unscopables: 1.0.2 - /array.prototype.reduce@1.0.5: - resolution: {integrity: sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==} + /array.prototype.reduce@1.0.6: + resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 dev: false @@ -7683,12 +7167,11 @@ packages: /array.prototype.tosorted@1.1.2: resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 - dev: true + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 /arraybuffer.prototype.slice@1.0.2: resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} @@ -7696,12 +7179,11 @@ packages: dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.5 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.3 get-intrinsic: 1.2.2 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 - dev: true /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -7711,17 +7193,40 @@ packages: /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + /asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + dependencies: + bn.js: 4.12.0 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + safer-buffer: 2.1.2 + dev: true + /asn1js@3.0.5: resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} engines: {node: '>=12.0.0'} dependencies: - pvtsutils: 1.3.2 + pvtsutils: 1.3.5 pvutils: 1.1.3 - tslib: 2.6.0 + tslib: 2.6.2 + dev: true + + /assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + dependencies: + call-bind: 1.0.5 + is-nan: 1.3.2 + object-is: 1.1.5 + object.assign: 4.1.5 + util: 0.12.5 dev: true - /ast-types-flow@0.0.7: - resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} @@ -7734,15 +7239,14 @@ packages: lodash: 4.17.21 dev: false - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: false /asynciterator.prototype@1.0.0: resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} dependencies: has-symbols: 1.0.3 - dev: true /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -7757,19 +7261,19 @@ packages: engines: {node: '>=8'} dev: true - /autoprefixer@10.4.14(postcss@8.4.24): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + /autoprefixer@10.4.16(postcss@8.4.32): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.9 - caniuse-lite: 1.0.30001509 - fraction.js: 4.2.0 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001570 + fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false @@ -7777,32 +7281,27 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - /axe-core@4.7.2: - resolution: {integrity: sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==} + /axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} engines: {node: '>=4'} - /axobject-query@2.2.0: - resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} - dev: false - /axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} dependencies: dequal: 2.0.3 - dev: true - /babel-jest@27.5.1(@babel/core@7.22.5): + /babel-jest@27.5.1(@babel/core@7.23.6): resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__core': 7.20.1 + '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.22.5) + babel-preset-jest: 27.5.1(@babel/core@7.23.6) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -7810,37 +7309,19 @@ packages: - supports-color dev: false - /babel-jest@29.7.0(@babel/core@7.22.5): - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.22.5 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.1 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.22.5) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-loader@8.3.0(@babel/core@7.22.5)(webpack@5.88.0): + /babel-loader@8.3.0(@babel/core@7.23.6)(webpack@5.89.0): resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false /babel-plugin-istanbul@6.1.1: @@ -7854,76 +7335,67 @@ packages: test-exclude: 6.0.0 transitivePeerDependencies: - supports-color + dev: false /babel-plugin-jest-hoist@27.5.1: resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - '@types/babel__core': 7.20.1 - '@types/babel__traverse': 7.20.1 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.4 dev: false - /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} - dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - '@types/babel__core': 7.20.1 - '@types/babel__traverse': 7.20.1 - dev: true - /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.6 cosmiconfig: 7.1.0 - resolve: 1.22.2 + resolve: 1.22.8 dev: false - /babel-plugin-named-asset-import@0.3.8(@babel/core@7.22.5): + /babel-plugin-named-asset-import@0.3.8(@babel/core@7.23.6): resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==} peerDependencies: '@babel/core': ^7.1.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 dev: false - /babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.22.5): - resolution: {integrity: sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==} + /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.6): + resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) - semver: 6.3.0 + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.6 + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6) + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.22.5): - resolution: {integrity: sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==} + /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.6): + resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) - core-js-compat: 3.31.0 + '@babel/core': 7.23.6 + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6) + core-js-compat: 3.34.0 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.22.5): - resolution: {integrity: sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==} + /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.6): + resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6) transitivePeerDependencies: - supports-color dev: false @@ -7936,102 +7408,90 @@ packages: resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} dev: false - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.5): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.6): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.5) - - /babel-preset-fbjs@3.4.0(@babel/core@7.22.5): + '@babel/core': 7.23.6 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.6) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.6) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.6) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.6) + dev: false + + /babel-preset-fbjs@3.4.0(@babel/core@7.23.6): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.23.6 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.6) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.23.6) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.6) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.6) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.6) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.6) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.6) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 - transitivePeerDependencies: - - supports-color dev: true - /babel-preset-jest@27.5.1(@babel/core@7.22.5): + /babel-preset-jest@27.5.1(@babel/core@7.23.6): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.6) dev: false - /babel-preset-jest@29.6.3(@babel/core@7.22.5): - 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 - dependencies: - '@babel/core': 7.22.5 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) - dev: true - /babel-preset-react-app@10.0.1: resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==} dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-decorators': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.5) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.22.5) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-runtime': 7.22.5(@babel/core@7.22.5) - '@babel/preset-env': 7.22.5(@babel/core@7.22.5) - '@babel/preset-react': 7.22.5(@babel/core@7.22.5) - '@babel/preset-typescript': 7.22.5(@babel/core@7.22.5) - '@babel/runtime': 7.22.5 + '@babel/core': 7.23.6 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.6) + '@babel/plugin-proposal-decorators': 7.23.6(@babel/core@7.23.6) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.23.6) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.23.6) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.6) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.23.6) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.23.6) + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-runtime': 7.23.6(@babel/core@7.23.6) + '@babel/preset-env': 7.23.6(@babel/core@7.23.6) + '@babel/preset-react': 7.23.3(@babel/core@7.23.6) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.6) + '@babel/runtime': 7.23.6 babel-plugin-macros: 3.1.0 babel-plugin-transform-react-remove-prop-types: 0.4.24 transitivePeerDependencies: @@ -8064,18 +7524,19 @@ packages: is-windows: 1.0.2 dev: true - /bfj@7.0.2: - resolution: {integrity: sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==} + /bfj@7.1.0: + resolution: {integrity: sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==} engines: {node: '>= 8.0.0'} dependencies: bluebird: 3.7.2 - check-types: 11.2.2 + check-types: 11.2.3 hoopy: 0.1.4 + jsonpath: 1.1.1 tryer: 1.0.1 dev: false - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + /big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} dev: true @@ -8101,11 +7562,9 @@ packages: /bn.js@4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - dev: false /bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - dev: false /body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} @@ -8152,7 +7611,7 @@ packages: resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} engines: {node: '>= 5.10.0'} dependencies: - big-integer: 1.6.51 + big-integer: 1.6.52 dev: true /brace-expansion@1.1.11: @@ -8180,21 +7639,72 @@ packages: /brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - dev: false /browser-process-hrtime@1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: false - /browserslist@4.21.9: - resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + /browser-resolve@2.0.0: + resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + dependencies: + resolve: 1.22.8 + dev: true + + /browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + dev: true + + /browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + dependencies: + cipher-base: 1.0.4 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /browserify-rsa@4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + dev: true + + /browserify-sign@4.2.2: + resolution: {integrity: sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==} + engines: {node: '>= 4'} dependencies: - caniuse-lite: 1.0.30001509 - electron-to-chromium: 1.4.442 - node-releases: 2.0.12 - update-browserslist-db: 1.0.11(browserslist@4.21.9) + bn.js: 5.2.1 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.4 + inherits: 2.0.4 + parse-asn1: 5.1.6 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + dev: true + + /browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + dependencies: + pako: 1.0.11 + dev: true /browserslist@4.22.2: resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} @@ -8206,13 +7716,6 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) - /bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - dependencies: - fast-json-stable-stringify: 2.1.0 - dev: true - /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: @@ -8220,6 +7723,11 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: false + + /buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + dev: true /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -8228,10 +7736,21 @@ packages: ieee754: 1.2.1 dev: true + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} + /builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + dev: true + /bundle-name@3.0.0: resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} engines: {node: '>=12'} @@ -8239,8 +7758,8 @@ packages: run-applescript: 5.0.0 dev: true - /bundle-require@4.0.1(esbuild@0.17.19): - resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} + /bundle-require@4.0.2(esbuild@0.17.19): + resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.17' @@ -8249,13 +7768,13 @@ packages: load-tsconfig: 0.2.5 dev: true - /bundle-require@4.0.1(esbuild@0.19.3): - resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} + /bundle-require@4.0.2(esbuild@0.19.10): + resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.17' dependencies: - esbuild: 0.19.3 + esbuild: 0.19.10 load-tsconfig: 0.2.5 dev: false @@ -8280,11 +7799,15 @@ packages: engines: {node: '>=8'} dev: true - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + /caching-transform@4.0.0: + resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} + engines: {node: '>=8'} dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 + hasha: 5.2.2 + make-dir: 3.1.0 + package-hash: 4.0.0 + write-file-atomic: 3.0.3 + dev: true /call-bind@1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} @@ -8292,7 +7815,6 @@ packages: function-bind: 1.1.2 get-intrinsic: 1.2.2 set-function-length: 1.1.1 - dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -8302,7 +7824,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.6.0 + tslib: 2.6.2 /camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} @@ -8325,19 +7847,17 @@ packages: /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + dev: false /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.21.9 - caniuse-lite: 1.0.30001509 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001570 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001509: - resolution: {integrity: sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==} - /caniuse-lite@1.0.30001570: resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} @@ -8345,7 +7865,7 @@ packages: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.4.1 upper-case-first: 2.0.2 dev: true @@ -8358,6 +7878,19 @@ packages: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} dev: true + /chai@4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -8374,14 +7907,6 @@ packages: supports-color: 7.2.0 dev: false - /chalk@4.0.0: - resolution: {integrity: sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: false - /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -8433,12 +7958,13 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.4.1 dev: true /char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} + dev: false /char-regex@2.0.1: resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} @@ -8465,8 +7991,14 @@ packages: resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} dev: true - /check-types@11.2.2: - resolution: {integrity: sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==} + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /check-types@11.2.3: + resolution: {integrity: sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==} dev: false /chokidar@3.5.3: @@ -8488,15 +8020,23 @@ packages: engines: {node: '>=6.0'} dev: false - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + /cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + /cjs-module-lexer@1.2.3: resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + dev: false - /clean-css@5.3.2: - resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} + /clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 @@ -8514,8 +8054,8 @@ packages: restore-cursor: 3.1.0 dev: true - /cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} dev: true @@ -8576,18 +8116,20 @@ packages: /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: false /coa@2.0.2: resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} engines: {node: '>= 4.0'} dependencies: - '@types/q': 1.5.5 + '@types/q': 1.5.8 chalk: 2.4.2 q: 1.5.1 dev: false - /collect-v8-coverage@1.0.1: - resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} + /collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: false /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -8642,13 +8184,13 @@ packages: engines: {node: '>= 12'} dev: false - /commander@9.4.1: - resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} dev: false - /comment-parser@1.4.0: - resolution: {integrity: sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==} + /comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} dev: true @@ -8662,7 +8204,6 @@ packages: /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: false /compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} @@ -8708,14 +8249,22 @@ packages: engines: {node: '>=0.8'} dev: false + /console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + dev: true + /constant-case@3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.4.1 upper-case: 2.0.2 dev: true + /constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + dev: true + /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -8751,19 +8300,19 @@ packages: engines: {node: '>= 0.6'} dev: false - /core-js-compat@3.31.0: - resolution: {integrity: sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==} + /core-js-compat@3.34.0: + resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==} dependencies: - browserslist: 4.21.9 + browserslist: 4.22.2 dev: false - /core-js-pure@3.31.0: - resolution: {integrity: sha512-/AnE9Y4OsJZicCzIe97JP5XoPKQJfTuEG43aEVLFJGOJpyqELod+pE6LEl63DfG1Mp8wX97LDaDpy1GmLEUxlg==} + /core-js-pure@3.34.0: + resolution: {integrity: sha512-pmhivkYXkymswFfbXsANmBAewXx86UBfmagP+w0wkK06kLsLlTK5oQmsURPivzMkIBQiYq2cjamcZExIwlFQIg==} requiresBuild: true dev: false - /core-js@3.31.0: - resolution: {integrity: sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==} + /core-js@3.34.0: + resolution: {integrity: sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==} requiresBuild: true dev: false @@ -8771,99 +8320,92 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: false - /cosmiconfig-toml-loader@1.0.0: - resolution: {integrity: sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==} - dependencies: - '@iarna/toml': 2.2.5 - dev: true - - /cosmiconfig-typescript-loader@4.1.1(@types/node@20.10.5)(cosmiconfig@7.0.1)(ts-node@10.9.1)(typescript@5.3.3): - resolution: {integrity: sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@types/node': '*' - cosmiconfig: '>=7' - ts-node: '>=10' - typescript: '>=3' - dependencies: - '@types/node': 20.10.5 - cosmiconfig: 7.0.1 - ts-node: 10.9.1(@types/node@20.10.5)(typescript@5.3.3) - typescript: 5.3.3 - dev: true - - /cosmiconfig-typescript-loader@4.1.1(@types/node@20.10.5)(cosmiconfig@7.1.0)(ts-node@10.9.2)(typescript@5.3.3): - resolution: {integrity: sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg==} - engines: {node: '>=12', npm: '>=6'} + /cosmiconfig-typescript-loader@4.4.0(@types/node@18.15.3)(cosmiconfig@7.1.0)(ts-node@10.9.2)(typescript@5.2.2): + resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} + engines: {node: '>=v14.21.3'} peerDependencies: '@types/node': '*' cosmiconfig: '>=7' ts-node: '>=10' - typescript: '>=3' + typescript: '>=4' dependencies: - '@types/node': 20.10.5 + '@types/node': 18.15.3 cosmiconfig: 7.1.0 - ts-node: 10.9.2(@types/node@20.10.5)(typescript@5.3.3) - typescript: 5.3.3 + ts-node: 10.9.2(@types/node@18.15.3)(typescript@5.2.2) + typescript: 5.2.2 dev: true /cosmiconfig@6.0.0: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} dependencies: - '@types/parse-json': 4.0.0 + '@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 dev: false - /cosmiconfig@7.0.1: - resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: - '@types/parse-json': 4.0.0 + '@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 - dev: true - /cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} + /cosmiconfig@8.0.0: + resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} + engines: {node: '>=14'} dependencies: - '@types/parse-json': 4.0.0 import-fresh: 3.3.0 + js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - yaml: 1.10.2 + dev: true - /create-jest@29.7.0(@types/node@18.15.3): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true + /coverage-diff@3.2.0: + resolution: {integrity: sha512-ZapsZXZZTQAEfWlUoObrpkvRnMYHbi99T96XRJlrbcZkIKpDvSmVxfJ0dPwjI3eTbl122hVMTmEwielS7qvTfg==} dependencies: - '@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@18.15.3) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node + markdown-table: 2.0.0 + dev: true + + /create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + dev: true + + /create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + dev: true + + /create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 dev: true /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /cross-fetch@3.1.8: - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + /cross-fetch@4.0.0: + resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} dependencies: node-fetch: 2.7.0 transitivePeerDependencies: @@ -8883,7 +8425,7 @@ packages: dependencies: nice-try: 1.0.5 path-key: 2.0.1 - semver: 5.7.1 + semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 dev: true @@ -8900,60 +8442,76 @@ packages: resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} dev: true + /crypto-browserify@3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.2 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + dev: true + /crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} dev: false - /css-blank-pseudo@3.0.3(postcss@8.4.24): + /css-blank-pseudo@3.0.3(postcss@8.4.32): resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /css-declaration-sorter@6.4.0(postcss@8.4.24): - resolution: {integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==} + /css-declaration-sorter@6.4.1(postcss@8.4.32): + resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /css-has-pseudo@3.0.4(postcss@8.4.24): + /css-has-pseudo@3.0.4(postcss@8.4.32): resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /css-loader@6.8.1(webpack@5.88.0): + /css-loader@6.8.1(webpack@5.89.0): resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) - postcss: 8.4.24 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.24) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.24) - postcss-modules-scope: 3.0.0(postcss@8.4.24) - postcss-modules-values: 4.0.0(postcss@8.4.24) + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.32) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.32) + postcss-modules-scope: 3.0.0(postcss@8.4.32) + postcss-modules-values: 4.0.0(postcss@8.4.32) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false - /css-minimizer-webpack-plugin@3.4.1(esbuild@0.17.19)(webpack@5.88.0): + /css-minimizer-webpack-plugin@3.4.1(esbuild@0.17.19)(webpack@5.89.0): resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -8972,24 +8530,24 @@ packages: esbuild: optional: true dependencies: - cssnano: 5.1.15(postcss@8.4.24) + cssnano: 5.1.15(postcss@8.4.32) esbuild: 0.17.19 jest-worker: 27.5.1 - postcss: 8.4.24 + postcss: 8.4.32 schema-utils: 4.2.0 serialize-javascript: 6.0.1 source-map: 0.6.1 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false - /css-prefers-color-scheme@6.0.3(postcss@8.4.24): + /css-prefers-color-scheme@6.0.3(postcss@8.4.32): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false /css-select-base-adapter@0.1.1: @@ -9045,8 +8603,8 @@ packages: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} dev: false - /cssdb@7.6.0: - resolution: {integrity: sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==} + /cssdb@7.9.1: + resolution: {integrity: sha512-fqy6ZnNfpb8qAvTT0qijWyTsUmYThsDX2F2ctMG4ceI7mI4DtsMILSiMBiuuDnVIYTyWvCctdp9Nb08p/6m2SQ==} dev: false /cssesc@3.0.0: @@ -9055,62 +8613,62 @@ packages: hasBin: true dev: false - /cssnano-preset-default@5.2.14(postcss@8.4.24): + /cssnano-preset-default@5.2.14(postcss@8.4.32): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.4.0(postcss@8.4.24) - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 - postcss-calc: 8.2.4(postcss@8.4.24) - postcss-colormin: 5.3.1(postcss@8.4.24) - postcss-convert-values: 5.1.3(postcss@8.4.24) - postcss-discard-comments: 5.1.2(postcss@8.4.24) - postcss-discard-duplicates: 5.1.0(postcss@8.4.24) - postcss-discard-empty: 5.1.1(postcss@8.4.24) - postcss-discard-overridden: 5.1.0(postcss@8.4.24) - postcss-merge-longhand: 5.1.7(postcss@8.4.24) - postcss-merge-rules: 5.1.4(postcss@8.4.24) - postcss-minify-font-values: 5.1.0(postcss@8.4.24) - postcss-minify-gradients: 5.1.1(postcss@8.4.24) - postcss-minify-params: 5.1.4(postcss@8.4.24) - postcss-minify-selectors: 5.2.1(postcss@8.4.24) - postcss-normalize-charset: 5.1.0(postcss@8.4.24) - postcss-normalize-display-values: 5.1.0(postcss@8.4.24) - postcss-normalize-positions: 5.1.1(postcss@8.4.24) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.24) - postcss-normalize-string: 5.1.0(postcss@8.4.24) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.24) - postcss-normalize-unicode: 5.1.1(postcss@8.4.24) - postcss-normalize-url: 5.1.0(postcss@8.4.24) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.24) - postcss-ordered-values: 5.1.3(postcss@8.4.24) - postcss-reduce-initial: 5.1.2(postcss@8.4.24) - postcss-reduce-transforms: 5.1.0(postcss@8.4.24) - postcss-svgo: 5.1.0(postcss@8.4.24) - postcss-unique-selectors: 5.1.1(postcss@8.4.24) - dev: false - - /cssnano-utils@3.1.0(postcss@8.4.24): + css-declaration-sorter: 6.4.1(postcss@8.4.32) + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-calc: 8.2.4(postcss@8.4.32) + postcss-colormin: 5.3.1(postcss@8.4.32) + postcss-convert-values: 5.1.3(postcss@8.4.32) + postcss-discard-comments: 5.1.2(postcss@8.4.32) + postcss-discard-duplicates: 5.1.0(postcss@8.4.32) + postcss-discard-empty: 5.1.1(postcss@8.4.32) + postcss-discard-overridden: 5.1.0(postcss@8.4.32) + postcss-merge-longhand: 5.1.7(postcss@8.4.32) + postcss-merge-rules: 5.1.4(postcss@8.4.32) + postcss-minify-font-values: 5.1.0(postcss@8.4.32) + postcss-minify-gradients: 5.1.1(postcss@8.4.32) + postcss-minify-params: 5.1.4(postcss@8.4.32) + postcss-minify-selectors: 5.2.1(postcss@8.4.32) + postcss-normalize-charset: 5.1.0(postcss@8.4.32) + postcss-normalize-display-values: 5.1.0(postcss@8.4.32) + postcss-normalize-positions: 5.1.1(postcss@8.4.32) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.32) + postcss-normalize-string: 5.1.0(postcss@8.4.32) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.32) + postcss-normalize-unicode: 5.1.1(postcss@8.4.32) + postcss-normalize-url: 5.1.0(postcss@8.4.32) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.32) + postcss-ordered-values: 5.1.3(postcss@8.4.32) + postcss-reduce-initial: 5.1.2(postcss@8.4.32) + postcss-reduce-transforms: 5.1.0(postcss@8.4.32) + postcss-svgo: 5.1.0(postcss@8.4.32) + postcss-unique-selectors: 5.1.1(postcss@8.4.32) + dev: false + + /cssnano-utils@3.1.0(postcss@8.4.32): resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /cssnano@5.1.15(postcss@8.4.24): + /cssnano@5.1.15(postcss@8.4.32): resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 5.2.14(postcss@8.4.24) + cssnano-preset-default: 5.2.14(postcss@8.4.32) lilconfig: 2.1.0 - postcss: 8.4.24 + postcss: 8.4.32 yaml: 1.10.2 dev: false @@ -9136,12 +8694,8 @@ packages: cssom: 0.3.8 dev: false - /csstype@2.6.21: - resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} - dev: true - - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} /csv-generate@3.4.3: resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} @@ -9243,22 +8797,21 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: false - /dedent@1.5.1: - resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 dev: true - /deep-equal@2.2.1: - resolution: {integrity: sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==} + /deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 + call-bind: 1.0.5 es-get-iterator: 1.1.3 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 is-arguments: 1.1.1 is-array-buffer: 3.0.2 is-date-object: 1.0.5 @@ -9267,12 +8820,12 @@ packages: isarray: 2.0.5 object-is: 1.1.5 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 side-channel: 1.0.4 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.9 + which-typed-array: 1.1.13 dev: false /deep-is@0.1.4: @@ -9281,6 +8834,7 @@ packages: /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + dev: false /default-browser-id@3.0.0: resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} @@ -9307,6 +8861,13 @@ packages: execa: 5.1.1 dev: false + /default-require-extensions@3.0.1: + resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} + engines: {node: '>=8'} + dependencies: + strip-bom: 4.0.0 + dev: true + /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: @@ -9317,10 +8878,9 @@ packages: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 gopd: 1.0.1 - has-property-descriptors: 1.0.0 - dev: true + has-property-descriptors: 1.0.1 /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} @@ -9331,21 +8891,13 @@ packages: engines: {node: '>=12'} dev: true - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.1 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 object-keys: 1.1.1 - dev: true /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} @@ -9370,6 +8922,13 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + /des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true + /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -9383,6 +8942,7 @@ packages: /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} + dev: false /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -9408,10 +8968,6 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9422,6 +8978,14 @@ packages: engines: {node: '>=0.3.1'} dev: true + /diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dev: true + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -9436,8 +9000,8 @@ packages: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: false - /dns-packet@5.6.0: - resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==} + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 @@ -9480,6 +9044,11 @@ packages: entities: 2.2.0 dev: false + /domain-browser@4.23.0: + resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} + engines: {node: '>=10'} + dev: true + /domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} dev: false @@ -9491,6 +9060,7 @@ packages: /domexception@2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead dependencies: webidl-conversions: 5.0.0 dev: false @@ -9521,7 +9091,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.6.2 /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} @@ -9549,8 +9119,8 @@ packages: engines: {node: '>=10'} dev: true - /dset@3.1.2: - resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} + /dset@3.1.3: + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} engines: {node: '>=4'} dev: true @@ -9573,9 +9143,6 @@ packages: jake: 10.8.7 dev: false - /electron-to-chromium@1.4.442: - resolution: {integrity: sha512-RkrZF//Ya+0aJq2NM3OdisNh5ZodZq1rdXOS96G8DdDgpDKqKE81yTbbQ3F/4CKm1JBPsGu1Lp/akkna2xO06Q==} - /electron-to-chromium@1.4.615: resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==} @@ -9589,18 +9156,12 @@ packages: inherits: 2.0.4 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: false /emittery@0.10.2: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} engines: {node: '>=12'} dev: false - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - /emittery@0.8.1: resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} engines: {node: '>=10'} @@ -9630,11 +9191,12 @@ packages: tapable: 2.2.1 dev: false - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 + strip-ansi: 6.0.1 dev: true /entities@2.2.0: @@ -9657,89 +9219,49 @@ packages: stackframe: 1.3.4 dev: false - /es-abstract@1.21.2: - resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 + hasown: 2.0.0 + internal-slot: 1.0.6 is-array-buffer: 3.0.2 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 - - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.12 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 - dev: true + which-typed-array: 1.1.13 /es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} @@ -9748,8 +9270,8 @@ packages: /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 is-arguments: 1.1.1 is-map: 2.0.2 @@ -9763,37 +9285,36 @@ packages: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - es-set-tostringtag: 2.0.1 - function-bind: 1.1.1 - get-intrinsic: 1.2.1 + es-set-tostringtag: 2.0.2 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 globalthis: 1.0.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 + internal-slot: 1.0.6 iterator.prototype: 1.1.2 safe-array-concat: 1.0.1 - dev: true - /es-module-lexer@1.3.0: - resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: false - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 + get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 + hasown: 2.0.0 - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - has: 1.0.3 + hasown: 2.0.0 /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -9803,6 +9324,10 @@ packages: is-date-object: 1.0.5 is-symbol: 1.0.4 + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + dev: true + /esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} @@ -9832,6 +9357,36 @@ packages: '@esbuild/win32-ia32': 0.17.19 '@esbuild/win32-x64': 0.17.19 + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + /esbuild@0.19.10: resolution: {integrity: sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==} engines: {node: '>=12'} @@ -9861,37 +9416,6 @@ packages: '@esbuild/win32-arm64': 0.19.10 '@esbuild/win32-ia32': 0.19.10 '@esbuild/win32-x64': 0.19.10 - dev: true - - /esbuild@0.19.3: - resolution: {integrity: sha512-UlJ1qUUA2jL2nNib1JTSkifQTcYTroFqRjwCFW4QYEKEsixXD5Tik9xML7zh2gTxkYTBKGHNH9y7txMwVyPbjw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.19.3 - '@esbuild/android-arm64': 0.19.3 - '@esbuild/android-x64': 0.19.3 - '@esbuild/darwin-arm64': 0.19.3 - '@esbuild/darwin-x64': 0.19.3 - '@esbuild/freebsd-arm64': 0.19.3 - '@esbuild/freebsd-x64': 0.19.3 - '@esbuild/linux-arm': 0.19.3 - '@esbuild/linux-arm64': 0.19.3 - '@esbuild/linux-ia32': 0.19.3 - '@esbuild/linux-loong64': 0.19.3 - '@esbuild/linux-mips64el': 0.19.3 - '@esbuild/linux-ppc64': 0.19.3 - '@esbuild/linux-riscv64': 0.19.3 - '@esbuild/linux-s390x': 0.19.3 - '@esbuild/linux-x64': 0.19.3 - '@esbuild/netbsd-x64': 0.19.3 - '@esbuild/openbsd-x64': 0.19.3 - '@esbuild/sunos-x64': 0.19.3 - '@esbuild/win32-arm64': 0.19.3 - '@esbuild/win32-ia32': 0.19.3 - '@esbuild/win32-x64': 0.19.3 - dev: false /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -9908,25 +9432,38 @@ packages: /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} + dev: false /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /escodegen@2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + /escodegen@1.14.3: + resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} + engines: {node: '>=4.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 4.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: false + + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 estraverse: 5.3.0 esutils: 2.0.3 - optionator: 0.8.3 optionalDependencies: source-map: 0.6.1 dev: false - /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.0)(eslint@8.52.0): + /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1)(eslint@8.56.0): resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -9934,14 +9471,14 @@ packages: eslint-plugin-import: ^2.25.2 dependencies: confusing-browser-globals: 1.0.11 - eslint: 8.52.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.52.0) - object.assign: 4.1.4 - object.entries: 1.1.6 - semver: 6.3.0 + eslint: 8.56.0 + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint@8.56.0) + object.assign: 4.1.5 + object.entries: 1.1.7 + semver: 6.3.1 dev: true - /eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@6.9.1)(@typescript-eslint/parser@6.9.1)(eslint-plugin-import@2.29.0)(eslint@8.52.0): + /eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@6.15.0)(@typescript-eslint/parser@6.15.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0): resolution: {integrity: sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==} peerDependencies: '@typescript-eslint/eslint-plugin': ^5.13.0 || ^6.0.0 @@ -9949,20 +9486,20 @@ packages: eslint: ^7.32.0 || ^8.2.0 eslint-plugin-import: ^2.25.3 dependencies: - '@typescript-eslint/eslint-plugin': 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2) - eslint: 8.52.0 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.0)(eslint@8.52.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.52.0) + '@typescript-eslint/eslint-plugin': 6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint@8.56.0) dev: true - /eslint-config-prettier@9.0.0(eslint@8.52.0): - resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + /eslint-config-prettier@9.1.0(eslint@8.56.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.52.0 + eslint: 8.56.0 dev: true /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0)(jest@27.5.1)(typescript@5.2.2): @@ -9975,21 +9512,21 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.22.5 - '@babel/eslint-parser': 7.22.5(@babel/core@7.22.5)(eslint@8.56.0) - '@rushstack/eslint-patch': 1.3.2 - '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/parser': 5.59.0(eslint@8.56.0)(typescript@5.2.2) + '@babel/core': 7.23.6 + '@babel/eslint-parser': 7.23.3(@babel/core@7.23.6)(eslint@8.56.0) + '@rushstack/eslint-patch': 1.6.1 + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.2.2) babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.56.0 eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0) - eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.59.0)(eslint@8.56.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0)(eslint@8.56.0)(jest@27.5.1)(typescript@5.2.2) - eslint-plugin-jsx-a11y: 6.6.1(eslint@8.56.0) - eslint-plugin-react: 7.31.10(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.56.0) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.56.0)(jest@27.5.1)(typescript@5.2.2) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) + eslint-plugin-react: 7.33.2(eslint@8.56.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) - eslint-plugin-testing-library: 5.11.0(eslint@8.56.0)(typescript@5.2.2) + eslint-plugin-testing-library: 5.11.1(eslint@8.56.0)(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -10000,16 +9537,6 @@ packages: - supports-color dev: false - /eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} - dependencies: - debug: 3.2.7(supports-color@5.5.0) - is-core-module: 2.12.1 - resolve: 1.22.2 - transitivePeerDependencies: - - supports-color - dev: false - /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: @@ -10018,9 +9545,8 @@ packages: resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -10041,15 +9567,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.59.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.2.2) debug: 3.2.7(supports-color@5.5.0) eslint: 8.56.0 - eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -10070,23 +9596,23 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.2.2) debug: 3.2.7(supports-color@5.5.0) - eslint: 8.52.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-eslint-comments@3.2.0(eslint@8.52.0): + /eslint-plugin-eslint-comments@3.2.0(eslint@8.56.0): resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' dependencies: escape-string-regexp: 1.0.5 - eslint: 8.52.0 - ignore: 5.2.4 + eslint: 8.56.0 + ignore: 5.3.0 dev: true /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0): @@ -10097,15 +9623,15 @@ packages: '@babel/plugin-transform-react-jsx': ^7.14.9 eslint: ^8.1.0 dependencies: - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.22.5) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.6) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.6) eslint: 8.56.0 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: false - /eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.59.0)(eslint@8.56.0): - resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.56.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -10114,29 +9640,33 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.59.0(eslint@8.56.0)(typescript@5.2.2) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - debug: 2.6.9 + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.2.2) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7(supports-color@5.5.0) doctrine: 2.1.0 eslint: 8.56.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint@8.56.0) - has: 1.0.3 - is-core-module: 2.12.1 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + hasown: 2.0.0 + is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.2 - tsconfig-paths: 3.14.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: false - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.52.0): - resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.15.0)(eslint@8.56.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -10145,16 +9675,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@5.5.0) doctrine: 2.1.0 - eslint: 8.52.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -10163,14 +9693,14 @@ packages: object.groupby: 1.0.1 object.values: 1.1.7 semver: 6.3.1 - tsconfig-paths: 3.14.2 + tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: true - /eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0)(eslint@8.56.0)(jest@27.5.1)(typescript@5.2.2): + /eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.56.0)(jest@27.5.1)(typescript@5.2.2): resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} peerDependencies: @@ -10183,8 +9713,8 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/experimental-utils': 5.60.1(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 jest: 27.5.1 transitivePeerDependencies: @@ -10192,74 +9722,51 @@ packages: - typescript dev: false - /eslint-plugin-jsdoc@46.8.2(eslint@8.52.0): - resolution: {integrity: sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==} + /eslint-plugin-jsdoc@46.9.1(eslint@8.56.0): + resolution: {integrity: sha512-11Ox5LCl2wY7gGkp9UOyew70o9qvii1daAH+h/MFobRVRNcy7sVlH+jm0HQdgcvcru6285GvpjpUyoa051j03Q==} engines: {node: '>=16'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@es-joy/jsdoccomment': 0.40.1 + '@es-joy/jsdoccomment': 0.41.0 are-docs-informative: 0.0.2 - comment-parser: 1.4.0 + comment-parser: 1.4.1 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 8.52.0 + eslint: 8.56.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.5.4 - spdx-expression-parse: 3.0.1 + spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-jsx-a11y@6.6.1(eslint@8.56.0): - resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - '@babel/runtime': 7.22.5 - aria-query: 4.2.2 - array-includes: 3.1.6 - ast-types-flow: 0.0.7 - axe-core: 4.7.2 - axobject-query: 2.2.0 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - eslint: 8.56.0 - has: 1.0.3 - jsx-ast-utils: 3.3.3 - language-tags: 1.0.8 - minimatch: 3.1.2 - semver: 6.3.0 - dev: false - - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.52.0): - resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.6 aria-query: 5.3.0 - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - ast-types-flow: 0.0.7 - axe-core: 4.7.2 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.52.0 - has: 1.0.3 - jsx-ast-utils: 3.3.3 - language-tags: 1.0.5 + es-iterator-helpers: 1.0.15 + eslint: 8.56.0 + hasown: 2.0.0 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - semver: 6.3.0 - dev: true + object.entries: 1.1.7 + object.fromentries: 2.0.7 - /eslint-plugin-prettier@5.0.1(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@3.0.3): + /eslint-plugin-prettier@5.0.1(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.1.1): resolution: {integrity: sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -10273,29 +9780,11 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.52.0 - eslint-config-prettier: 9.0.0(eslint@8.52.0) - prettier: 3.0.3 + eslint: 8.56.0 + eslint-config-prettier: 9.1.0(eslint@8.56.0) + prettier: 3.1.1 prettier-linter-helpers: 1.0.0 - synckit: 0.8.5 - dev: true - - /eslint-plugin-react-hooks@4.6.0(eslint@8.38.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - dependencies: - eslint: 8.38.0 - dev: true - - /eslint-plugin-react-hooks@4.6.0(eslint@8.52.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - dependencies: - eslint: 8.52.0 + synckit: 0.8.6 dev: true /eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): @@ -10305,71 +9794,46 @@ packages: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: eslint: 8.56.0 - dev: false - /eslint-plugin-react-refresh@0.3.4(eslint@8.38.0): - resolution: {integrity: sha512-E0ViBglxSQAERBp6eTj5fPgtCRtDonnbCFiVQBhf4Dto2blJRxg1dFUMdMh7N6ljTI4UwPhHwYDQ3Dyo4m6bwA==} + /eslint-plugin-react-refresh@0.3.5(eslint@8.56.0): + resolution: {integrity: sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==} peerDependencies: eslint: '>=7' dependencies: - eslint: 8.38.0 - dev: true - - /eslint-plugin-react@7.31.10(eslint@8.56.0): - resolution: {integrity: sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - doctrine: 2.1.0 eslint: 8.56.0 - estraverse: 5.3.0 - jsx-ast-utils: 3.3.3 - minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 - prop-types: 15.8.1 - resolve: 2.0.0-next.4 - semver: 6.3.0 - string.prototype.matchall: 4.0.8 - dev: false + dev: true - /eslint-plugin-react@7.33.2(eslint@8.52.0): + /eslint-plugin-react@7.33.2(eslint@8.56.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 - eslint: 8.52.0 + eslint: 8.56.0 estraverse: 5.3.0 - jsx-ast-utils: 3.3.3 + jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 prop-types: 15.8.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.8 - dev: true + string.prototype.matchall: 4.0.10 - /eslint-plugin-testing-library@5.11.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==} + /eslint-plugin-testing-library@5.11.1(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.60.1(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 transitivePeerDependencies: - supports-color @@ -10390,14 +9854,6 @@ packages: esrecurse: 4.3.0 estraverse: 4.3.0 - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10410,126 +9866,26 @@ packages: engines: {node: '>=10'} dev: false - /eslint-visitor-keys@3.4.1: - resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /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-webpack-plugin@3.2.0(eslint@8.56.0)(webpack@5.88.0): + /eslint-webpack-plugin@3.2.0(eslint@8.56.0)(webpack@5.89.0): resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} engines: {node: '>= 12.13.0'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 webpack: ^5.0.0 dependencies: - '@types/eslint': 8.40.2 + '@types/eslint': 8.44.9 eslint: 8.56.0 jest-worker: 28.1.3 micromatch: 4.0.5 normalize-path: 3.0.0 schema-utils: 4.2.0 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false - /eslint@8.38.0: - resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.0.3 - '@eslint/js': 8.38.0 - '@humanwhocodes/config-array': 0.11.10 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.5.2 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.20.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-sdsl: 4.4.1 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint@8.52.0: - resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.52.0 - '@humanwhocodes/config-array': 0.11.13 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.20.0 - graphemer: 1.4.0 - ignore: 5.2.4 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - /eslint@8.56.0: resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10575,25 +9931,21 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: false - - /espree@9.5.2: - resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.9.0 - acorn-jsx: 5.3.2(acorn@8.9.0) - eslint-visitor-keys: 3.4.1 - dev: true /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.9.0 - acorn-jsx: 5.3.2(acorn@8.9.0) + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) eslint-visitor-keys: 3.4.3 + /esprima@1.2.2: + resolution: {integrity: sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: false + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -10645,13 +9997,13 @@ packages: '@scure/bip39': 1.2.1 dev: false - /ethers@6.7.1: - resolution: {integrity: sha512-qX5kxIFMfg1i+epfgb0xF4WM7IqapIIu50pOJ17aebkxxa4BacW5jFrQRmCJpDEg2ZK2oNtR5QjrQ1WDBF29dA==} + /ethers@6.9.0: + resolution: {integrity: sha512-pmfNyQzc2mseLe91FnT2vmNaTt8dDzhxZ/xItAV7uGsF4dI4ek2ufMu3rAkgQETL/TIs0GS5A+U05g9QyWnv3Q==} engines: {node: '>=14.0.0'} dependencies: - '@adraffy/ens-normalize': 1.9.2 - '@noble/hashes': 1.1.2 - '@noble/secp256k1': 1.7.1 + '@adraffy/ens-normalize': 1.10.0 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 '@types/node': 18.15.13 aes-js: 4.0.0-beta.5 tslib: 2.4.0 @@ -10660,22 +10012,19 @@ packages: - bufferutil - utf-8-validate - /event-target-polyfill@0.0.3: - resolution: {integrity: sha512-ZMc6UuvmbinrCk4RzGyVmRyIsAyxMRlp4CqSrcQRO8Dy0A9ldbiRy5kdtBj4OtP7EClGdqGfIqo9JmOClMsGLQ==} - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: true - /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - dev: false + + /evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + dev: true /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} @@ -10706,9 +10055,25 @@ packages: strip-final-newline: 3.0.0 dev: true + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + /exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} + dev: false /expect@27.5.1: resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} @@ -10720,27 +10085,6 @@ packages: jest-message-util: 27.5.1 dev: false - /expect@29.5.0: - resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.5.0 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.5.0 - jest-message-util: 29.5.0 - jest-util: 29.5.0 - - /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@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 - dev: true - /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -10822,18 +10166,8 @@ packages: resolution: {integrity: sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==} dev: true - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} - 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.5 - - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -10860,8 +10194,8 @@ packages: punycode: 1.4.1 dev: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} dependencies: reusify: 1.0.4 @@ -10890,13 +10224,13 @@ packages: /fbjs@3.0.5: resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} dependencies: - cross-fetch: 3.1.8 + cross-fetch: 4.0.0 fbjs-css-vars: 1.0.2 loose-envify: 1.4.0 object-assign: 4.1.1 promise: 7.3.1 setimmediate: 1.0.5 - ua-parser-js: 1.0.35 + ua-parser-js: 1.0.37 transitivePeerDependencies: - encoding dev: true @@ -10919,9 +10253,9 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.2.0 - /file-loader@6.2.0(webpack@5.88.0): + /file-loader@6.2.0(webpack@5.89.0): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10929,7 +10263,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false /filelist@1.0.4: @@ -10971,7 +10305,6 @@ packages: commondir: 1.0.1 make-dir: 3.1.0 pkg-dir: 4.2.0 - dev: false /find-up@2.1.0: resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} @@ -11017,26 +10350,27 @@ packages: write: 1.0.3 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 /flatted@2.0.2: resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} /flexsearch@0.7.31: resolution: {integrity: sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==} dev: true - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -11050,14 +10384,22 @@ packages: dependencies: is-callable: 1.2.7 + /foreground-child@2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 3.0.7 + dev: true + /foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 - signal-exit: 4.0.2 + signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.56.0)(typescript@5.2.2)(webpack@5.88.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.56.0)(typescript@5.2.2)(webpack@5.89.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -11071,8 +10413,8 @@ packages: vue-template-compiler: optional: true dependencies: - '@babel/code-frame': 7.22.5 - '@types/json-schema': 7.0.12 + '@babel/code-frame': 7.23.5 + '@types/json-schema': 7.0.15 chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 6.0.0 @@ -11086,13 +10428,9 @@ packages: semver: 7.5.4 tapable: 1.1.3 typescript: 5.2.2 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false - /form-data-encoder@1.9.0: - resolution: {integrity: sha512-rahaRMkN8P8d/tgK/BLPX+WBVM27NbvdXBxqQujBtkDAIFspaRqN7Od7lfdGQA6KAD+f82fYCLBq1ipvcu8qLw==} - dev: true - /form-data@3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} @@ -11100,27 +10438,29 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: false + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true /format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} dev: true - /formdata-node@4.4.1: - resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} - engines: {node: '>= 12.20'} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 4.0.0-beta.3 - dev: true - /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} dev: false - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: false /fresh@0.5.2: @@ -11128,13 +10468,17 @@ packages: engines: {node: '>= 0.6'} dev: false + /fromentries@1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + dev: true + /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: false /fs-extra@7.0.1: @@ -11162,11 +10506,11 @@ packages: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: false - /fs-monkey@1.0.4: - resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==} + /fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} dev: false /fs.realpath@1.0.0: @@ -11179,31 +10523,17 @@ packages: requiresBuild: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - functions-have-names: 1.2.3 /function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.3 functions-have-names: 1.2.3 - dev: true /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -11216,6 +10546,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + /get-graphql-schema@2.1.2: resolution: {integrity: sha512-1z5Hw91VrE3GrpCZE6lE8Dy+jz4kXWesLS7rCSjwOxf5BOcIedAZeTUJRIeIzmmR+PA9CKOkPTYFRJbdgUtrxA==} hasBin: true @@ -11228,14 +10562,6 @@ packages: - encoding dev: true - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 - /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -11243,7 +10569,6 @@ packages: has-proto: 1.0.1 has-symbols: 1.0.3 hasown: 2.0.0 - dev: true /get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} @@ -11262,12 +10587,17 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 /get-tsconfig@4.7.2: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} @@ -11295,16 +10625,16 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false - /glob@10.2.6: - resolution: {integrity: sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==} + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.2.1 - minimatch: 9.0.2 - minipass: 6.0.2 - path-scurry: 1.10.0 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} @@ -11346,25 +10676,17 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 - dev: false /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -11372,97 +10694,97 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 + fast-glob: 3.3.2 + ignore: 5.3.0 merge2: 1.4.1 slash: 3.0.0 /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - /graphql-config@4.3.6(@types/node@20.10.5)(graphql@16.6.0)(typescript@5.3.3): - resolution: {integrity: sha512-i7mAPwc0LAZPnYu2bI8B6yXU5820Wy/ArvmOseDLZIu0OU1UTULEuexHo6ZcHXeT9NvGGaUPQZm8NV3z79YydA==} + /graphql-config@4.5.0(@types/node@18.15.3)(graphql@16.8.1): + resolution: {integrity: sha512-x6D0/cftpLUJ0Ch1e5sj1TZn6Wcxx4oMfmhaG9shM0DKajA9iR+j1z86GSTQ19fShbGvrSSvbIQsHku6aQ6BBw==} engines: {node: '>= 10.0.0'} peerDependencies: + cosmiconfig-toml-loader: ^1.0.0 graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + cosmiconfig-toml-loader: + optional: true dependencies: - '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.6.0) - '@graphql-tools/json-file-loader': 7.4.18(graphql@16.6.0) - '@graphql-tools/load': 7.8.14(graphql@16.6.0) - '@graphql-tools/merge': 8.4.2(graphql@16.6.0) - '@graphql-tools/url-loader': 7.17.18(@types/node@20.10.5)(graphql@16.6.0) - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) - cosmiconfig: 7.0.1 - cosmiconfig-toml-loader: 1.0.0 - cosmiconfig-typescript-loader: 4.1.1(@types/node@20.10.5)(cosmiconfig@7.0.1)(ts-node@10.9.1)(typescript@5.3.3) - graphql: 16.6.0 - minimatch: 4.2.1 + '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.8.1) + '@graphql-tools/json-file-loader': 7.4.18(graphql@16.8.1) + '@graphql-tools/load': 7.8.14(graphql@16.8.1) + '@graphql-tools/merge': 8.4.2(graphql@16.8.1) + '@graphql-tools/url-loader': 7.17.18(@types/node@18.15.3)(graphql@16.8.1) + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + cosmiconfig: 8.0.0 + graphql: 16.8.1 + jiti: 1.17.1 + minimatch: 4.2.3 string-env-interpolation: 1.0.1 - ts-node: 10.9.1(@types/node@20.10.5)(typescript@5.3.3) - tslib: 2.6.0 + tslib: 2.6.2 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - '@types/node' - bufferutil - encoding - - typescript - utf-8-validate dev: true - /graphql-request@5.0.0(graphql@16.6.0): + /graphql-request@5.0.0(graphql@16.8.1): resolution: {integrity: sha512-SpVEnIo2J5k2+Zf76cUkdvIRaq5FMZvGQYnA4lUWYbc99m+fHh4CZYRRO/Ff4tCLQ613fzCm3SiDT64ubW5Gyw==} peerDependencies: graphql: 14 - 16 dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) - cross-fetch: 3.1.8 + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + cross-fetch: 4.0.0 extract-files: 9.0.0 form-data: 3.0.1 - graphql: 16.6.0 + graphql: 16.8.1 transitivePeerDependencies: - encoding dev: false - /graphql-request@6.1.0(graphql@16.6.0): + /graphql-request@6.1.0(graphql@16.8.1): resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} peerDependencies: graphql: 14 - 16 dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) - cross-fetch: 3.1.8 - graphql: 16.6.0 + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + cross-fetch: 4.0.0 + graphql: 16.8.1 transitivePeerDependencies: - encoding dev: true - /graphql-tag@2.12.6(graphql@16.6.0): + /graphql-tag@2.12.6(graphql@16.8.1): resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} engines: {node: '>=10'} peerDependencies: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - graphql: 16.6.0 - tslib: 2.6.0 + graphql: 16.8.1 + tslib: 2.6.2 - /graphql-ws@5.12.1(graphql@16.6.0): + /graphql-ws@5.12.1(graphql@16.8.1): resolution: {integrity: sha512-umt4f5NnMK46ChM2coO36PTFhHouBrK9stWWBczERguwYrGnPNxJ9dimU6IyOBfOkC6Izhkg4H8+F51W/8CYDg==} engines: {node: '>=10'} peerDependencies: graphql: '>=0.11 <=16' dependencies: - graphql: 16.6.0 + graphql: 16.8.1 dev: true /graphql@14.7.0: @@ -11472,8 +10794,8 @@ packages: iterall: 1.3.0 dev: true - /graphql@16.6.0: - resolution: {integrity: sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==} + /graphql@16.8.1: + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} /gzip-size@6.0.0: @@ -11487,8 +10809,8 @@ packages: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: false - /handlebars@4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + /handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} hasBin: true dependencies: @@ -11520,10 +10842,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} @@ -11539,25 +10861,34 @@ packages: dependencies: has-symbols: 1.0.3 - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + /hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: - function-bind: 1.1.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + dev: true /hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: false + + /hasha@5.2.2: + resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} + engines: {node: '>=8'} + dependencies: + is-stream: 2.0.1 + type-fest: 0.8.1 + dev: true /hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: true /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} @@ -11568,7 +10899,7 @@ packages: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 - tslib: 2.6.0 + tslib: 2.4.1 dev: true /hmac-drbg@1.0.1: @@ -11577,7 +10908,6 @@ packages: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: false /hoopy@0.1.4: resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==} @@ -11617,26 +10947,32 @@ packages: hasBin: true dependencies: camel-case: 4.1.2 - clean-css: 5.3.2 + clean-css: 5.3.3 commander: 8.3.0 he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.18.2 + terser: 5.26.0 dev: false - /html-webpack-plugin@5.5.3(webpack@5.88.0): - resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} + /html-webpack-plugin@5.6.0(webpack@5.89.0): + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: + '@rspack/core': 0.x || 1.x webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false /htmlparser2@6.1.0: @@ -11698,7 +11034,7 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.17): + /http-proxy-middleware@2.0.6(@types/express@4.17.21): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -11707,8 +11043,8 @@ packages: '@types/express': optional: true dependencies: - '@types/express': 4.17.17 - '@types/http-proxy': 1.17.11 + '@types/express': 4.17.21 + '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -11722,12 +11058,16 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 requires-port: 1.0.0 transitivePeerDependencies: - debug dev: false + /https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + dev: true + /https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -11761,6 +11101,11 @@ packages: engines: {node: '>=14.18.0'} dev: true + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -11774,13 +11119,13 @@ packages: safer-buffer: 2.1.2 dev: false - /icss-utils@5.1.0(postcss@8.4.24): + /icss-utils@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false /idb@7.1.1: @@ -11802,14 +11147,9 @@ packages: resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} dev: true - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - /ignore@5.3.0: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} - dev: false /immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} @@ -11839,6 +11179,7 @@ packages: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + dev: false /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -11865,8 +11206,8 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: false - /inquirer@8.2.5: - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} + /inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} dependencies: ansi-escapes: 4.3.2 @@ -11883,15 +11224,15 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 - wrap-ansi: 7.0.0 + wrap-ansi: 6.2.0 dev: true - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 + get-intrinsic: 1.2.2 + hasown: 2.0.0 side-channel: 1.0.4 /invariant@2.2.4: @@ -11933,16 +11274,15 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 - dev: false /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.10 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -11952,7 +11292,6 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - dev: true /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -11969,7 +11308,7 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 /is-buffer@1.1.6: @@ -11992,23 +11331,10 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - /is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - dependencies: - ci-info: 3.8.0 - dev: true - - /is-core-module@2.12.1: - resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} - dependencies: - has: 1.0.3 - /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 - dev: true /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -12042,8 +11368,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.2 - dev: true + call-bind: 1.0.5 /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} @@ -12052,13 +11377,13 @@ packages: /is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} + dev: false /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - dev: true /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} @@ -12086,7 +11411,7 @@ packages: /is-lower-case@2.0.2: resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 dev: true /is-map@2.0.2: @@ -12096,6 +11421,14 @@ packages: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} dev: false + /is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + dev: true + /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -12147,7 +11480,7 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 /is-regexp@1.0.0: @@ -12173,7 +11506,7 @@ packages: /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} @@ -12203,26 +11536,14 @@ packages: dependencies: has-symbols: 1.0.3 - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - /is-typed-array@1.1.12: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.13 - dev: true /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: false /is-unc-path@1.0.0: resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} @@ -12239,7 +11560,7 @@ packages: /is-upper-case@2.0.2: resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 dev: true /is-utf8@0.2.1: @@ -12252,13 +11573,13 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} @@ -12281,6 +11602,11 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /isomorphic-timers-promises@1.0.1: + resolution: {integrity: sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==} + engines: {node: '>=10'} + dev: true + /isomorphic-ws@5.0.0(ws@8.13.0): resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} peerDependencies: @@ -12289,49 +11615,80 @@ packages: ws: 8.13.0 dev: true - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + /isomorphic-ws@5.0.0(ws@8.15.1): + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + dependencies: + ws: 8.15.1 + dev: true + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + /istanbul-lib-hook@3.0.0: + resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} + engines: {node: '>=8'} + dependencies: + append-transform: 2.0.0 + dev: true + + /istanbul-lib-instrument@4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} engines: {node: '>=8'} + dependencies: + '@babel/core': 7.23.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true /istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/core': 7.23.6 + '@babel/parser': 7.23.6 '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: false /istanbul-lib-instrument@6.0.1: resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/core': 7.23.6 + '@babel/parser': 7.23.6 '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + /istanbul-lib-processinfo@2.0.3: + resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} engines: {node: '>=8'} dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 - supports-color: 7.2.0 - dev: false + archy: 1.0.0 + cross-spawn: 7.0.3 + istanbul-lib-coverage: 3.2.2 + p-map: 3.0.0 + rimraf: 3.0.2 + uuid: 8.3.2 + dev: true /istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 @@ -12340,13 +11697,13 @@ packages: engines: {node: '>=10'} dependencies: debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + /istanbul-reports@3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 @@ -12360,14 +11717,13 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.4 set-function-name: 2.0.1 - dev: true - /jackspeak@2.2.1: - resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==} + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -12379,7 +11735,7 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - async: 3.2.4 + async: 3.2.5 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 @@ -12394,15 +11750,6 @@ packages: throat: 6.0.2 dev: false - /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - execa: 5.1.1 - jest-util: 29.7.0 - p-limit: 3.1.0 - dev: true - /jest-circus@27.5.1: resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12410,7 +11757,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -12430,35 +11777,6 @@ packages: - supports-color dev: false - /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} - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.5.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.0.4 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - /jest-cli@27.5.1: resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12489,34 +11807,6 @@ packages: - utf-8-validate dev: false - /jest-cli@29.7.0(@types/node@18.15.3): - 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 - dependencies: - '@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@18.15.3) - exit: 0.1.2 - import-local: 3.1.0 - jest-config: 29.7.0(@types/node@18.15.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 - dev: true - /jest-config@27.5.1: resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12526,12 +11816,12 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.23.6 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1(@babel/core@7.22.5) + babel-jest: 27.5.1(@babel/core@7.23.6) chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 @@ -12557,86 +11847,6 @@ packages: - utf-8-validate dev: false - /jest-config@29.7.0(@types/node@16.18.34): - 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 - dependencies: - '@babel/core': 7.22.5 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - babel-jest: 29.7.0(@babel/core@7.22.5) - chalk: 4.1.2 - ci-info: 3.8.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.5 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - - /jest-config@29.7.0(@types/node@18.15.3): - 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 - dependencies: - '@babel/core': 7.22.5 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.15.3 - babel-jest: 29.7.0(@babel/core@7.22.5) - chalk: 4.1.2 - ci-info: 3.8.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.5 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - /jest-diff@27.5.1: resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12647,25 +11857,6 @@ packages: pretty-format: 27.5.1 dev: false - /jest-diff@29.5.0: - resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.5.0 - - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - /jest-docblock@27.5.1: resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12673,13 +11864,6 @@ packages: detect-newline: 3.1.0 dev: false - /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - /jest-each@27.5.1: resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12691,17 +11875,6 @@ packages: pretty-format: 27.5.1 dev: false - /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} - 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 - dev: true - /jest-environment-jsdom@27.5.1: resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12709,7 +11882,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -12727,44 +11900,23 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 jest-mock: 27.5.1 jest-util: 27.5.1 dev: false - /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - jest-mock: 29.7.0 - jest-util: 29.7.0 - dev: true - /jest-get-type@27.5.1: resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-haste-map@27.5.1: resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/graceful-fs': 4.1.6 - '@types/node': 16.18.34 + '@types/graceful-fs': 4.1.9 + '@types/node': 16.18.68 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -12778,25 +11930,6 @@ packages: fsevents: 2.3.3 dev: false - /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/graceful-fs': 4.1.6 - '@types/node': 16.18.34 - 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.5 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /jest-jasmine2@27.5.1: resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12805,7 +11938,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -12830,14 +11963,6 @@ packages: pretty-format: 27.5.1 dev: false - /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - /jest-matcher-utils@27.5.1: resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12848,32 +11973,13 @@ packages: pretty-format: 27.5.1 dev: false - /jest-matcher-utils@29.5.0: - resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.5.0 - jest-get-type: 29.4.3 - pretty-format: 29.5.0 - - /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} - dependencies: - chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - /jest-message-util@27.5.1: resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.23.5 '@jest/types': 27.5.1 - '@types/stack-utils': 2.0.1 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 @@ -12886,9 +11992,9 @@ packages: resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.23.5 '@jest/types': 28.1.3 - '@types/stack-utils': 2.0.1 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 @@ -12897,52 +12003,14 @@ packages: stack-utils: 2.0.6 dev: false - /jest-message-util@29.5.0: - resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.22.5 - '@jest/types': 29.5.0 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.5.0 - slash: 3.0.0 - stack-utils: 2.0.6 - - /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} - dependencies: - '@babel/code-frame': 7.22.5 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-mock@27.5.1: resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 dev: false - /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - jest-util: 29.7.0 - dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} @@ -12955,18 +12023,6 @@ packages: jest-resolve: 27.5.1 dev: false - /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 29.7.0 - dev: true - /jest-regex-util@27.5.1: resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12977,11 +12033,6 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: false - /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-resolve-dependencies@27.5.1: resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -12993,46 +12044,21 @@ packages: - supports-color dev: false - /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-regex-util: 29.6.3 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - /jest-resolve@27.5.1: resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@jest/types': 27.5.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) - jest-util: 27.5.1 - jest-validate: 27.5.1 - resolve: 1.22.2 - resolve.exports: 1.1.1 - slash: 3.0.0 - dev: false - - /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: + '@jest/types': 27.5.1 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 + jest-haste-map: 27.5.1 + jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) + jest-util: 27.5.1 + jest-validate: 27.5.1 resolve: 1.22.8 - resolve.exports: 2.0.2 + resolve.exports: 1.1.1 slash: 3.0.0 - dev: true + dev: false /jest-runner@27.5.1: resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} @@ -13043,7 +12069,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -13066,35 +12092,6 @@ packages: - utf-8-validate dev: false - /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@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': 16.18.34 - 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 - dev: true - /jest-runtime@27.5.1: resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -13108,7 +12105,7 @@ packages: '@jest/types': 27.5.1 chalk: 4.1.2 cjs-module-lexer: 1.2.3 - collect-v8-coverage: 1.0.1 + collect-v8-coverage: 1.0.2 execa: 5.1.1 glob: 7.2.3 graceful-fs: 4.2.11 @@ -13125,41 +12122,11 @@ packages: - supports-color dev: false - /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.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': 16.18.34 - chalk: 4.1.2 - cjs-module-lexer: 1.2.3 - collect-v8-coverage: 1.0.1 - 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 - dev: true - /jest-serializer@27.5.1: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 graceful-fs: 4.2.11 dev: false @@ -13167,16 +12134,16 @@ packages: resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 + '@babel/core': 7.23.6 + '@babel/generator': 7.23.6 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6) + '@babel/traverse': 7.23.6 + '@babel/types': 7.23.6 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__traverse': 7.20.1 + '@types/babel__traverse': 7.20.4 '@types/prettier': 2.7.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.6) chalk: 4.1.2 expect: 27.5.1 graceful-fs: 4.2.11 @@ -13193,49 +12160,14 @@ packages: - supports-color dev: false - /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) - '@babel/types': 7.22.5 - '@jest/expect-utils': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) - 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.5.4 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-text-transformer@1.0.4: - resolution: {integrity: sha512-Qi3FpWP6EFxZimSD05Zlmd/WER8l/3agVG7e5voHgdnM2vTs45sxS/i8qMWMO/dBkoxajndrGXfJTvhEENnjqw==} - engines: {node: '>=9.5.0', npm: '>=5.8.0'} - dependencies: - uuid: 3.4.0 - dev: true - /jest-util@27.5.1: resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: false @@ -13245,36 +12177,13 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 16.18.34 + '@types/node': 16.18.68 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: false - /jest-util@29.5.0: - resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.5.0 - '@types/node': 16.18.34 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true - /jest-validate@27.5.1: resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -13287,18 +12196,6 @@ packages: pretty-format: 27.5.1 dev: false - /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@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 - dev: true - /jest-watch-typeahead@1.1.0(jest@27.5.1): resolution: {integrity: sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -13321,7 +12218,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.18.34 + '@types/node': 16.18.68 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -13334,7 +12231,7 @@ packages: dependencies: '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 16.18.34 + '@types/node': 16.18.68 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -13342,25 +12239,11 @@ packages: string-length: 4.0.2 dev: false - /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 16.18.34 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 29.7.0 - string-length: 4.0.2 - dev: true - /jest-worker@26.6.2: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -13369,7 +12252,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -13378,21 +12261,11 @@ packages: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 16.18.34 + '@types/node': 16.18.68 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@types/node': 16.18.34 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - /jest@27.5.1: resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -13414,29 +12287,13 @@ packages: - utf-8-validate dev: false - /jest@29.7.0(@types/node@18.15.3): - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jiti@1.17.1: + resolution: {integrity: sha512-NZIITw8uZQFuzQimqjUxIrIcEdxYDFIe/0xYfIlVXTkiBjjyBEvgasj5bb0/cHtPRD/NziPbT312sFrkI5ALpw==} hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.7.0 - '@jest/types': 29.6.3 - import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@18.15.3) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node dev: true - /jiti@1.18.2: - resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: false @@ -13444,18 +12301,14 @@ packages: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true - /jose@4.14.4: - resolution: {integrity: sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==} + /jose@4.15.4: + resolution: {integrity: sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==} dev: true /joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} - /js-sdsl@4.4.1: - resolution: {integrity: sha512-6Gsx8R0RucyePbWqPssR8DyfuXmLBooYN5cZFZKjHGnQuaf7pEzhtpceagJxVu4LqhYY5EYA7nko3FmeHZ1KbA==} - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -13487,20 +12340,20 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.9.0 + acorn: 8.11.2 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 data-urls: 2.0.0 decimal.js: 10.4.3 domexception: 2.0.1 - escodegen: 2.0.0 + escodegen: 2.1.0 form-data: 3.0.1 html-encoding-sniffer: 2.0.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.5 + nwsapi: 2.2.7 parse5: 6.0.1 saxes: 5.0.1 symbol-tree: 3.2.4 @@ -13529,6 +12382,9 @@ packages: engines: {node: '>=4'} hasBin: true + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true @@ -13549,10 +12405,14 @@ packages: /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - /json-stable-stringify@1.0.2: - resolution: {integrity: sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==} + /json-stable-stringify@1.1.0: + resolution: {integrity: sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA==} + engines: {node: '>= 0.4'} dependencies: + call-bind: 1.0.5 + isarray: 2.0.5 jsonify: 0.0.1 + object-keys: 1.1.1 dev: true /json-to-pretty-yaml@1.2.2: @@ -13586,7 +12446,7 @@ packages: /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 dev: false @@ -13595,17 +12455,32 @@ packages: resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} dev: true + /jsonpath@1.1.1: + resolution: {integrity: sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==} + dependencies: + esprima: 1.2.2 + static-eval: 2.0.2 + underscore: 1.12.1 + dev: false + /jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} dev: false - /jsx-ast-utils@3.3.3: - resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.6 - object.assign: 4.1.4 + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.1.7 + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} @@ -13614,6 +12489,7 @@ packages: /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + dev: false /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} @@ -13628,20 +12504,14 @@ packages: /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - /language-tags@1.0.5: - resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} - dependencies: - language-subtag-registry: 0.3.22 - dev: true - - /language-tags@1.0.8: - resolution: {integrity: sha512-aWAZwgPLS8hJ20lNPm9HNVs4inexz6S2sQa3wx/+ycuutMNE5/IfYxiWYBbi+9UWCQVaXYCOPUl6gFrPR7+jGg==} + /language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} dependencies: language-subtag-registry: 0.3.22 - dev: false - /launch-editor@2.6.0: - resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==} + /launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} dependencies: picocolors: 1.0.0 shell-quote: 1.8.1 @@ -13650,6 +12520,7 @@ packages: /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} + dev: false /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} @@ -13670,6 +12541,11 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} + /lilconfig@3.0.0: + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} + dev: false + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -13752,6 +12628,14 @@ packages: engines: {node: '>= 12.13.0'} dev: false + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 + dev: true + /locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -13792,8 +12676,13 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: false + /lodash.flattendeep@4.4.0: + resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} + dev: true + /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: false /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -13848,19 +12737,25 @@ packages: dependencies: js-tokens: 4.0.0 + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + /lower-case-first@2.0.2: resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 dev: true /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 - /lru-cache@10.0.0: - resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==} + /lru-cache@10.1.0: + resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} /lru-cache@4.1.5: @@ -13893,13 +12788,28 @@ packages: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 + dev: false + + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.2: + resolution: {integrity: sha512-Fjwkl6a0syt9TFN0JSYpOybxiMCkYNEeOTnOTNRbjphirLakznZXAqrXgj/7GG3D1dvETONNwrBfinvAbpunDg==} + dependencies: + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + source-map-js: 1.0.2 + dev: true /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: semver: 6.3.1 - dev: false /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -13915,6 +12825,7 @@ packages: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 + dev: false /map-age-cleaner@0.1.3: resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} @@ -13938,8 +12849,8 @@ packages: engines: {node: '>=8'} dev: true - /markdown-it@13.0.1: - resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==} + /markdown-it@13.0.2: + resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} hasBin: true dependencies: argparse: 2.0.1 @@ -13960,6 +12871,14 @@ packages: engines: {node: '>= 12'} hasBin: true + /md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + /md5@2.3.0: resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} dependencies: @@ -13988,7 +12907,7 @@ packages: /mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: - '@types/mdast': 3.0.11 + '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 micromark: 2.11.4 parse-entities: 2.0.0 @@ -14047,7 +12966,7 @@ packages: /mdast-util-to-markdown@0.6.5: resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 longest-streak: 2.0.4 mdast-util-to-string: 2.0.0 parse-entities: 2.0.0 @@ -14089,7 +13008,7 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.4 + fs-monkey: 1.0.5 dev: false /memorystream@0.3.1: @@ -14101,7 +13020,7 @@ packages: resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} engines: {node: '>=8'} dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -14125,7 +13044,7 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /meros@1.3.0(@types/node@20.10.5): + /meros@1.3.0(@types/node@18.15.3): resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} engines: {node: '>=13'} peerDependencies: @@ -14134,7 +13053,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.10.5 + '@types/node': 18.15.3 dev: true /methods@1.1.2: @@ -14221,6 +13140,14 @@ packages: braces: 3.0.2 picomatch: 2.3.1 + /miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + dev: true + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -14250,23 +13177,21 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - /mini-css-extract-plugin@2.7.6(webpack@5.88.0): + /mini-css-extract-plugin@2.7.6(webpack@5.89.0): resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: false /minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - dev: false /minimatch@3.0.5: resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} @@ -14279,8 +13204,8 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@4.2.1: - resolution: {integrity: sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==} + /minimatch@4.2.3: + resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} engines: {node: '>=10'} dependencies: brace-expansion: 1.1.11 @@ -14293,11 +13218,12 @@ packages: brace-expansion: 2.0.1 dev: false - /minimatch@9.0.2: - resolution: {integrity: sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==} - engines: {node: '>=16 || 14 >=14.17'} + /minimatch@6.2.0: + resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} @@ -14317,12 +13243,12 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - /minipass@6.0.2: - resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} - /mixme@0.5.9: - resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + /mixme@0.5.10: + resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} dev: true @@ -14336,6 +13262,16 @@ packages: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true + dev: false + + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.11.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.2 + dev: true /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -14351,7 +13287,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.6.0 + dns-packet: 5.6.1 thunky: 1.1.0 dev: false @@ -14370,8 +13306,8 @@ packages: resolution: {integrity: sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==} dev: false - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -14411,7 +13347,7 @@ packages: '@next/env': 13.4.4 '@swc/helpers': 0.5.1 busboy: 1.6.0 - caniuse-lite: 1.0.30001509 + caniuse-lite: 1.0.30001570 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -14440,24 +13376,7 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.6.0 - - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true - - /node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false + tslib: 2.4.1 /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -14478,12 +13397,49 @@ packages: /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - /node-releases@2.0.12: - resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + /node-preload@0.2.1: + resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} + engines: {node: '>=8'} + dependencies: + process-on-spawn: 1.0.0 + dev: true /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + /node-stdlib-browser@1.2.0: + resolution: {integrity: sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==} + engines: {node: '>=10'} + dependencies: + assert: 2.1.0 + browser-resolve: 2.0.0 + browserify-zlib: 0.2.0 + buffer: 5.7.1 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + create-require: 1.1.1 + crypto-browserify: 3.12.0 + domain-browser: 4.23.0 + events: 3.3.0 + https-browserify: 1.0.0 + isomorphic-timers-promises: 1.0.1 + os-browserify: 0.3.0 + path-browserify: 1.0.1 + pkg-dir: 5.0.0 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + readable-stream: 3.6.2 + stream-browserify: 3.0.0 + stream-http: 3.2.0 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.1 + url: 0.11.3 + util: 0.12.5 + vm-browserify: 1.1.2 + dev: true + /nodemon@2.0.22: resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==} engines: {node: '>=8.10.0'} @@ -14494,7 +13450,7 @@ packages: ignore-by-default: 1.0.1 minimatch: 3.1.2 pstree.remy: 1.1.8 - semver: 5.7.1 + semver: 5.7.2 simple-update-notifier: 1.1.0 supports-color: 5.5.0 touch: 3.1.0 @@ -14512,8 +13468,8 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.2 - semver: 5.7.1 + resolve: 1.22.8 + semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -14559,7 +13515,7 @@ packages: pidtree: 0.3.1 read-pkg: 3.0.0 shell-quote: 1.8.1 - string.prototype.padend: 3.1.4 + string.prototype.padend: 3.1.5 dev: true /npm-run-path@4.0.1: @@ -14601,10 +13557,46 @@ packages: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} dev: true - /nwsapi@2.2.5: - resolution: {integrity: sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==} + /nwsapi@2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} dev: false + /nyc@15.1.0: + resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} + engines: {node: '>=8.9'} + hasBin: true + dependencies: + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + caching-transform: 4.0.0 + convert-source-map: 1.9.0 + decamelize: 1.2.0 + find-cache-dir: 3.3.2 + find-up: 4.1.0 + foreground-child: 2.0.0 + get-package-type: 0.1.0 + glob: 7.2.3 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-hook: 3.0.0 + istanbul-lib-instrument: 4.0.3 + istanbul-lib-processinfo: 2.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.6 + make-dir: 3.1.0 + node-preload: 0.2.1 + p-map: 3.0.0 + process-on-spawn: 1.0.0 + resolve-from: 5.0.0 + rimraf: 3.0.2 + signal-exit: 3.0.7 + spawn-wrap: 2.0.0 + test-exclude: 6.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - supports-color + dev: true + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -14614,101 +13606,77 @@ packages: engines: {node: '>= 6'} dev: false - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - dev: true /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - dev: false + call-bind: 1.0.5 + define-properties: 1.2.1 /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - /object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - - /object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + /object.entries@1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 /object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true - /object.getownpropertydescriptors@2.1.6: - resolution: {integrity: sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==} + /object.getownpropertydescriptors@2.1.7: + resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} engines: {node: '>= 0.8'} dependencies: - array.prototype.reduce: 1.0.5 - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - safe-array-concat: 1.0.0 + array.prototype.reduce: 1.0.6 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + safe-array-concat: 1.0.1 dev: false /object.groupby@1.0.1: resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.1 - dev: true - - /object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} - dependencies: - define-properties: 1.2.0 - es-abstract: 1.21.2 + get-intrinsic: 1.2.2 - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} - engines: {node: '>= 0.4'} + /object.hasown@1.1.3: + resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + define-properties: 1.2.1 + es-abstract: 1.22.3 /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} @@ -14744,8 +13712,8 @@ packages: mimic-fn: 4.0.0 dev: true - /open@8.4.0: - resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 @@ -14771,7 +13739,7 @@ packages: levn: 0.3.0 prelude-ls: 1.1.2 type-check: 0.3.2 - word-wrap: 1.2.3 + word-wrap: 1.2.5 dev: false /optionator@0.9.3: @@ -14792,7 +13760,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -14800,6 +13768,10 @@ packages: wcwidth: 1.0.1 dev: true + /os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + dev: true + /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -14850,6 +13822,13 @@ packages: dependencies: yocto-queue: 0.1.0 + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate@2.0.0: resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} engines: {node: '>=4'} @@ -14881,6 +13860,13 @@ packages: engines: {node: '>=6'} dev: true + /p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + dependencies: + aggregate-error: 3.1.0 + dev: true + /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -14928,11 +13914,25 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + /package-hash@4.0.0: + resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} + engines: {node: '>=8'} + dependencies: + graceful-fs: 4.2.11 + hasha: 5.2.2 + lodash.flattendeep: 4.4.0 + release-zalgo: 1.0.0 + dev: true + + /pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + dev: true + /param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.6.2 /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} @@ -14940,6 +13940,16 @@ packages: dependencies: callsites: 3.1.0 + /parse-asn1@5.1.6: + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + dependencies: + asn1.js: 5.4.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + dev: true + /parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: @@ -14979,7 +13989,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -14997,13 +14007,17 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.6.2 + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true /path-case@3.0.4: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.4.1 dev: true /path-exists@3.0.0: @@ -15047,15 +14061,15 @@ packages: path-root-regex: 0.1.2 dev: true - /path-scurry@1.10.0: - resolution: {integrity: sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==} + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.0 - minipass: 6.0.2 + lru-cache: 10.1.0 + minipass: 7.0.4 - /path-to-glob-pattern@1.0.2: - resolution: {integrity: sha512-ryF65N5MBB9XOjE5mMOi+0bMrh1F0ORQmqDSSERvv5zD62Cfc5QC6rK1AR1xuDIG1I091CkNENblbteWy1bXgw==} + /path-to-glob-pattern@2.0.1: + resolution: {integrity: sha512-tmciSlVyHnX0LC86+zSr+0LURw9rDPw8ilhXcmTpVUOnI6OsKdCzXQs5fTG10Bjz26IBdnKL3XIaP+QvGsk5YQ==} dev: true /path-to-regexp@0.1.7: @@ -15082,6 +14096,25 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: true + /performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} dev: false @@ -15139,6 +14172,21 @@ packages: dependencies: find-up: 4.1.0 + /pkg-dir@5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + dev: true + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: true + /pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} @@ -15161,291 +14209,291 @@ packages: - supports-color dev: false - /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.24): + /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.32): resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-browser-comments@4.0.0(browserslist@4.21.9)(postcss@8.4.24): + /postcss-browser-comments@4.0.0(browserslist@4.22.2)(postcss@8.4.32): resolution: {integrity: sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==} engines: {node: '>=8'} peerDependencies: browserslist: '>=4' postcss: '>=8' dependencies: - browserslist: 4.21.9 - postcss: 8.4.24 + browserslist: 4.22.2 + postcss: 8.4.32 dev: false - /postcss-calc@8.2.4(postcss@8.4.24): + /postcss-calc@8.2.4(postcss@8.4.32): resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: false - /postcss-clamp@4.1.0(postcss@8.4.24): + /postcss-clamp@4.1.0(postcss@8.4.32): resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} engines: {node: '>=7.6.0'} peerDependencies: postcss: ^8.4.6 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-color-functional-notation@4.2.4(postcss@8.4.24): + /postcss-color-functional-notation@4.2.4(postcss@8.4.32): resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-color-hex-alpha@8.0.4(postcss@8.4.24): + /postcss-color-hex-alpha@8.0.4(postcss@8.4.32): resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-color-rebeccapurple@7.1.1(postcss@8.4.24): + /postcss-color-rebeccapurple@7.1.1(postcss@8.4.32): resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@5.3.1(postcss@8.4.24): + /postcss-colormin@5.3.1(postcss@8.4.32): resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.9 + browserslist: 4.22.2 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@5.1.3(postcss@8.4.24): + /postcss-convert-values@5.1.3(postcss@8.4.32): resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.9 - postcss: 8.4.24 + browserslist: 4.22.2 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-custom-media@8.0.2(postcss@8.4.24): + /postcss-custom-media@8.0.2(postcss@8.4.32): resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-custom-properties@12.1.11(postcss@8.4.24): + /postcss-custom-properties@12.1.11(postcss@8.4.32): resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-custom-selectors@6.0.3(postcss@8.4.24): + /postcss-custom-selectors@6.0.3(postcss@8.4.32): resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-dir-pseudo-class@6.0.5(postcss@8.4.24): + /postcss-dir-pseudo-class@6.0.5(postcss@8.4.32): resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-discard-comments@5.1.2(postcss@8.4.24): + /postcss-discard-comments@5.1.2(postcss@8.4.32): resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-discard-duplicates@5.1.0(postcss@8.4.24): + /postcss-discard-duplicates@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-discard-empty@5.1.1(postcss@8.4.24): + /postcss-discard-empty@5.1.1(postcss@8.4.32): resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-discard-overridden@5.1.0(postcss@8.4.24): + /postcss-discard-overridden@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-double-position-gradients@3.1.2(postcss@8.4.24): + /postcss-double-position-gradients@3.1.2(postcss@8.4.32): resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) - postcss: 8.4.24 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-env-function@4.0.6(postcss@8.4.24): + /postcss-env-function@4.0.6(postcss@8.4.32): resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-flexbugs-fixes@5.0.2(postcss@8.4.24): + /postcss-flexbugs-fixes@5.0.2(postcss@8.4.32): resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} peerDependencies: postcss: ^8.1.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-focus-visible@6.0.4(postcss@8.4.24): + /postcss-focus-visible@6.0.4(postcss@8.4.32): resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-focus-within@5.0.4(postcss@8.4.24): + /postcss-focus-within@5.0.4(postcss@8.4.32): resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-font-variant@5.0.0(postcss@8.4.24): + /postcss-font-variant@5.0.0(postcss@8.4.32): resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-gap-properties@3.0.5(postcss@8.4.24): + /postcss-gap-properties@3.0.5(postcss@8.4.32): resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-image-set-function@4.0.7(postcss@8.4.24): + /postcss-image-set-function@4.0.7(postcss@8.4.32): resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-import@15.1.0(postcss@8.4.24): + /postcss-import@15.1.0(postcss@8.4.32): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.2 + resolve: 1.22.8 dev: false - /postcss-initial@4.0.1(postcss@8.4.24): + /postcss-initial@4.0.1(postcss@8.4.32): resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-js@4.0.1(postcss@8.4.24): + /postcss-js@4.0.1(postcss@8.4.32): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-lab-function@4.2.1(postcss@8.4.24): + /postcss-lab-function@4.2.1(postcss@8.4.32): resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) - postcss: 8.4.24 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false @@ -15465,8 +14513,8 @@ packages: yaml: 1.10.2 dev: true - /postcss-load-config@4.0.1(postcss@8.4.24): - resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + /postcss-load-config@4.0.2(postcss@8.4.32): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: postcss: '>=8.0.9' @@ -15477,12 +14525,12 @@ packages: ts-node: optional: true dependencies: - lilconfig: 2.1.0 - postcss: 8.4.24 - yaml: 2.3.1 + lilconfig: 3.0.0 + postcss: 8.4.32 + yaml: 2.3.4 dev: false - /postcss-loader@6.2.1(postcss@8.4.24)(webpack@5.88.0): + /postcss-loader@6.2.1(postcss@8.4.32)(webpack@5.89.0): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -15491,251 +14539,251 @@ packages: dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 - postcss: 8.4.24 + postcss: 8.4.32 semver: 7.5.4 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false - /postcss-logical@5.0.4(postcss@8.4.24): + /postcss-logical@5.0.4(postcss@8.4.32): resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-media-minmax@5.0.0(postcss@8.4.24): + /postcss-media-minmax@5.0.0(postcss@8.4.32): resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-merge-longhand@5.1.7(postcss@8.4.24): + /postcss-merge-longhand@5.1.7(postcss@8.4.32): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.24) + stylehacks: 5.1.1(postcss@8.4.32) dev: false - /postcss-merge-rules@5.1.4(postcss@8.4.24): + /postcss-merge-rules@5.1.4(postcss@8.4.32): resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.9 + browserslist: 4.22.2 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-minify-font-values@5.1.0(postcss@8.4.24): + /postcss-minify-font-values@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@5.1.1(postcss@8.4.24): + /postcss-minify-gradients@5.1.1(postcss@8.4.32): resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@5.1.4(postcss@8.4.24): + /postcss-minify-params@5.1.4(postcss@8.4.32): resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.9 - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + browserslist: 4.22.2 + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@5.2.1(postcss@8.4.24): + /postcss-minify-selectors@5.2.1(postcss@8.4.32): resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.24): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.32): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-modules-local-by-default@4.0.3(postcss@8.4.24): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.32): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) - postcss: 8.4.24 + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.0.0(postcss@8.4.24): + /postcss-modules-scope@3.0.0(postcss@8.4.32): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.24): + /postcss-modules-values@4.0.0(postcss@8.4.32): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) - postcss: 8.4.24 + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 dev: false - /postcss-nested@6.0.1(postcss@8.4.24): + /postcss-nested@6.0.1(postcss@8.4.32): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-nesting@10.2.0(postcss@8.4.24): + /postcss-nesting@10.2.0(postcss@8.4.32): resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-normalize-charset@5.1.0(postcss@8.4.24): + /postcss-normalize-charset@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-normalize-display-values@5.1.0(postcss@8.4.24): + /postcss-normalize-display-values@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@5.1.1(postcss@8.4.24): + /postcss-normalize-positions@5.1.1(postcss@8.4.32): resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.24): + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.32): resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@5.1.0(postcss@8.4.24): + /postcss-normalize-string@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.24): + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@5.1.1(postcss@8.4.24): + /postcss-normalize-unicode@5.1.1(postcss@8.4.32): resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.9 - postcss: 8.4.24 + browserslist: 4.22.2 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@5.1.0(postcss@8.4.24): + /postcss-normalize-url@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: normalize-url: 6.1.0 - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@5.1.1(postcss@8.4.24): + /postcss-normalize-whitespace@5.1.1(postcss@8.4.32): resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize@10.0.1(browserslist@4.21.9)(postcss@8.4.24): + /postcss-normalize@10.0.1(browserslist@4.22.2)(postcss@8.4.32): resolution: {integrity: sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==} engines: {node: '>= 12'} peerDependencies: @@ -15743,164 +14791,164 @@ packages: postcss: '>= 8' dependencies: '@csstools/normalize.css': 12.0.0 - browserslist: 4.21.9 - postcss: 8.4.24 - postcss-browser-comments: 4.0.0(browserslist@4.21.9)(postcss@8.4.24) + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-browser-comments: 4.0.0(browserslist@4.22.2)(postcss@8.4.32) sanitize.css: 13.0.0 dev: false - /postcss-opacity-percentage@1.1.3(postcss@8.4.24): + /postcss-opacity-percentage@1.1.3(postcss@8.4.32): resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-ordered-values@5.1.3(postcss@8.4.24): + /postcss-ordered-values@5.1.3(postcss@8.4.32): resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + cssnano-utils: 3.1.0(postcss@8.4.32) + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-overflow-shorthand@3.0.4(postcss@8.4.24): + /postcss-overflow-shorthand@3.0.4(postcss@8.4.32): resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-page-break@3.0.4(postcss@8.4.24): + /postcss-page-break@3.0.4(postcss@8.4.32): resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} peerDependencies: postcss: ^8 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-place@7.0.5(postcss@8.4.24): + /postcss-place@7.0.5(postcss@8.4.32): resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-preset-env@7.8.3(postcss@8.4.24): + /postcss-preset-env@7.8.3(postcss@8.4.32): resolution: {integrity: sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.24) - '@csstools/postcss-color-function': 1.1.1(postcss@8.4.24) - '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.24) - '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.24) - '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.24) - '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.24) - '@csstools/postcss-nested-calc': 1.0.0(postcss@8.4.24) - '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.24) - '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.24) - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) - '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.24) - '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.4.24) - '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.4.24) - '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.24) - autoprefixer: 10.4.14(postcss@8.4.24) - browserslist: 4.21.9 - css-blank-pseudo: 3.0.3(postcss@8.4.24) - css-has-pseudo: 3.0.4(postcss@8.4.24) - css-prefers-color-scheme: 6.0.3(postcss@8.4.24) - cssdb: 7.6.0 - postcss: 8.4.24 - postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.24) - postcss-clamp: 4.1.0(postcss@8.4.24) - postcss-color-functional-notation: 4.2.4(postcss@8.4.24) - postcss-color-hex-alpha: 8.0.4(postcss@8.4.24) - postcss-color-rebeccapurple: 7.1.1(postcss@8.4.24) - postcss-custom-media: 8.0.2(postcss@8.4.24) - postcss-custom-properties: 12.1.11(postcss@8.4.24) - postcss-custom-selectors: 6.0.3(postcss@8.4.24) - postcss-dir-pseudo-class: 6.0.5(postcss@8.4.24) - postcss-double-position-gradients: 3.1.2(postcss@8.4.24) - postcss-env-function: 4.0.6(postcss@8.4.24) - postcss-focus-visible: 6.0.4(postcss@8.4.24) - postcss-focus-within: 5.0.4(postcss@8.4.24) - postcss-font-variant: 5.0.0(postcss@8.4.24) - postcss-gap-properties: 3.0.5(postcss@8.4.24) - postcss-image-set-function: 4.0.7(postcss@8.4.24) - postcss-initial: 4.0.1(postcss@8.4.24) - postcss-lab-function: 4.2.1(postcss@8.4.24) - postcss-logical: 5.0.4(postcss@8.4.24) - postcss-media-minmax: 5.0.0(postcss@8.4.24) - postcss-nesting: 10.2.0(postcss@8.4.24) - postcss-opacity-percentage: 1.1.3(postcss@8.4.24) - postcss-overflow-shorthand: 3.0.4(postcss@8.4.24) - postcss-page-break: 3.0.4(postcss@8.4.24) - postcss-place: 7.0.5(postcss@8.4.24) - postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.24) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.24) - postcss-selector-not: 6.0.1(postcss@8.4.24) + '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.32) + '@csstools/postcss-color-function': 1.1.1(postcss@8.4.32) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.32) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.32) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.32) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.32) + '@csstools/postcss-nested-calc': 1.0.0(postcss@8.4.32) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.32) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.32) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.32) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.32) + '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.4.32) + '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.4.32) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.32) + autoprefixer: 10.4.16(postcss@8.4.32) + browserslist: 4.22.2 + css-blank-pseudo: 3.0.3(postcss@8.4.32) + css-has-pseudo: 3.0.4(postcss@8.4.32) + css-prefers-color-scheme: 6.0.3(postcss@8.4.32) + cssdb: 7.9.1 + postcss: 8.4.32 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.32) + postcss-clamp: 4.1.0(postcss@8.4.32) + postcss-color-functional-notation: 4.2.4(postcss@8.4.32) + postcss-color-hex-alpha: 8.0.4(postcss@8.4.32) + postcss-color-rebeccapurple: 7.1.1(postcss@8.4.32) + postcss-custom-media: 8.0.2(postcss@8.4.32) + postcss-custom-properties: 12.1.11(postcss@8.4.32) + postcss-custom-selectors: 6.0.3(postcss@8.4.32) + postcss-dir-pseudo-class: 6.0.5(postcss@8.4.32) + postcss-double-position-gradients: 3.1.2(postcss@8.4.32) + postcss-env-function: 4.0.6(postcss@8.4.32) + postcss-focus-visible: 6.0.4(postcss@8.4.32) + postcss-focus-within: 5.0.4(postcss@8.4.32) + postcss-font-variant: 5.0.0(postcss@8.4.32) + postcss-gap-properties: 3.0.5(postcss@8.4.32) + postcss-image-set-function: 4.0.7(postcss@8.4.32) + postcss-initial: 4.0.1(postcss@8.4.32) + postcss-lab-function: 4.2.1(postcss@8.4.32) + postcss-logical: 5.0.4(postcss@8.4.32) + postcss-media-minmax: 5.0.0(postcss@8.4.32) + postcss-nesting: 10.2.0(postcss@8.4.32) + postcss-opacity-percentage: 1.1.3(postcss@8.4.32) + postcss-overflow-shorthand: 3.0.4(postcss@8.4.32) + postcss-page-break: 3.0.4(postcss@8.4.32) + postcss-place: 7.0.5(postcss@8.4.32) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.32) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.32) + postcss-selector-not: 6.0.1(postcss@8.4.32) postcss-value-parser: 4.2.0 dev: false - /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.24): + /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.32): resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /postcss-reduce-initial@5.1.2(postcss@8.4.24): + /postcss-reduce-initial@5.1.2(postcss@8.4.32): resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.9 + browserslist: 4.22.2 caniuse-api: 3.0.0 - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-reduce-transforms@5.1.0(postcss@8.4.24): + /postcss-reduce-transforms@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: false - /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.24): + /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.32): resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} peerDependencies: postcss: ^8.0.3 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 dev: false - /postcss-selector-not@6.0.1(postcss@8.4.24): + /postcss-selector-not@6.0.1(postcss@8.4.32): resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false @@ -15912,24 +14960,24 @@ packages: util-deprecate: 1.0.2 dev: false - /postcss-svgo@5.1.0(postcss@8.4.24): + /postcss-svgo@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-value-parser: 4.2.0 svgo: 2.8.0 dev: false - /postcss-unique-selectors@5.1.1(postcss@8.4.24): + /postcss-unique-selectors@5.1.1(postcss@8.4.32): resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false @@ -15949,25 +14997,25 @@ packages: resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 dev: false - /postcss@8.4.24: - resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - /preact@10.15.1: - resolution: {integrity: sha512-qs2ansoQEwzNiV5eAcRT1p1EC/dmEzaATVDJNiB3g2sRDWdA7b7MurXdJjB2+/WQktGWZwxvDrnuRFbWuIr64g==} + /preact@10.19.3: + resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} dev: true - /preferred-pm@3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + /preferred-pm@3.1.2: + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} engines: {node: '>=10'} dependencies: find-up: 5.0.0 @@ -15998,8 +15046,8 @@ packages: hasBin: true dev: true - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + /prettier@3.1.1: + resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} engines: {node: '>=14'} hasBin: true dev: true @@ -16035,14 +15083,6 @@ packages: react-is: 18.2.0 dev: false - /pretty-format@29.5.0: - resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.4.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - /pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -16050,11 +15090,24 @@ packages: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 + dev: true /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: false + /process-on-spawn@1.0.0: + resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} + engines: {node: '>=8'} + dependencies: + fromentries: 1.3.2 + dev: true + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: true + /promise@7.3.1: resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} dependencies: @@ -16073,6 +15126,7 @@ packages: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 + dev: false /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -16081,8 +15135,8 @@ packages: object-assign: 4.1.1 react-is: 16.13.1 - /property-expr@2.0.5: - resolution: {integrity: sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==} + /property-expr@2.0.6: + resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==} dev: false /proxy-addr@2.0.7: @@ -16105,22 +15159,29 @@ packages: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} dev: true + /public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + parse-asn1: 5.1.6 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true + /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - /pure-rand@6.0.4: - resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} - dev: true - - /pvtsutils@1.3.2: - resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} + /pvtsutils@1.3.5: + resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} dependencies: - tslib: 2.6.0 + tslib: 2.6.2 dev: true /pvutils@1.1.3: @@ -16139,6 +15200,18 @@ packages: side-channel: 1.0.4 dev: false + /qs@6.11.2: + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + dev: true + /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: false @@ -16157,15 +15230,21 @@ packages: performance-now: 2.1.0 dev: false - /ramda@0.29.0: - resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} + /ramda@0.29.1: + resolution: {integrity: sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==} dev: false /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 - dev: false + + /randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} @@ -16197,15 +15276,15 @@ packages: resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} engines: {node: '>=14'} dependencies: - core-js: 3.31.0 + core-js: 3.34.0 object-assign: 4.1.1 promise: 8.3.0 raf: 3.4.1 regenerator-runtime: 0.13.11 - whatwg-fetch: 3.6.2 + whatwg-fetch: 3.6.20 dev: false - /react-dev-utils@12.0.1(eslint@8.56.0)(typescript@5.2.2)(webpack@5.88.0): + /react-dev-utils@12.0.1(eslint@8.56.0)(typescript@5.2.2)(webpack@5.89.0): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -16215,23 +15294,23 @@ packages: typescript: optional: true dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.23.5 address: 1.2.2 - browserslist: 4.21.9 + browserslist: 4.22.2 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.56.0)(typescript@5.2.2)(webpack@5.88.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.56.0)(typescript@5.2.2)(webpack@5.89.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 immer: 9.0.21 is-root: 2.1.0 loader-utils: 3.2.1 - open: 8.4.0 + open: 8.4.2 pkg-up: 3.1.0 prompts: 2.4.2 react-error-overlay: 6.0.11 @@ -16240,7 +15319,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 5.2.2 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) transitivePeerDependencies: - eslint - supports-color @@ -16293,61 +15372,62 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.22.5 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.88.0) + '@babel/core': 7.23.6 + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.89.0) '@svgr/webpack': 5.5.0 - babel-jest: 27.5.1(@babel/core@7.22.5) - babel-loader: 8.3.0(@babel/core@7.22.5)(webpack@5.88.0) - babel-plugin-named-asset-import: 0.3.8(@babel/core@7.22.5) + babel-jest: 27.5.1(@babel/core@7.23.6) + babel-loader: 8.3.0(@babel/core@7.23.6)(webpack@5.89.0) + babel-plugin-named-asset-import: 0.3.8(@babel/core@7.23.6) babel-preset-react-app: 10.0.1 - bfj: 7.0.2 - browserslist: 4.21.9 + bfj: 7.1.0 + browserslist: 4.22.2 camelcase: 6.3.0 case-sensitive-paths-webpack-plugin: 2.4.0 - css-loader: 6.8.1(webpack@5.88.0) - css-minimizer-webpack-plugin: 3.4.1(esbuild@0.17.19)(webpack@5.88.0) + css-loader: 6.8.1(webpack@5.89.0) + css-minimizer-webpack-plugin: 3.4.1(esbuild@0.17.19)(webpack@5.89.0) dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.56.0 eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0)(jest@27.5.1)(typescript@5.2.2) - eslint-webpack-plugin: 3.2.0(eslint@8.56.0)(webpack@5.88.0) - file-loader: 6.2.0(webpack@5.88.0) + eslint-webpack-plugin: 3.2.0(eslint@8.56.0)(webpack@5.89.0) + file-loader: 6.2.0(webpack@5.89.0) fs-extra: 10.1.0 - html-webpack-plugin: 5.5.3(webpack@5.88.0) + html-webpack-plugin: 5.6.0(webpack@5.89.0) identity-obj-proxy: 3.0.0 jest: 27.5.1 jest-resolve: 27.5.1 jest-watch-typeahead: 1.1.0(jest@27.5.1) - mini-css-extract-plugin: 2.7.6(webpack@5.88.0) - postcss: 8.4.24 - postcss-flexbugs-fixes: 5.0.2(postcss@8.4.24) - postcss-loader: 6.2.1(postcss@8.4.24)(webpack@5.88.0) - postcss-normalize: 10.0.1(browserslist@4.21.9)(postcss@8.4.24) - postcss-preset-env: 7.8.3(postcss@8.4.24) + mini-css-extract-plugin: 2.7.6(webpack@5.89.0) + postcss: 8.4.32 + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.32) + postcss-loader: 6.2.1(postcss@8.4.32)(webpack@5.89.0) + postcss-normalize: 10.0.1(browserslist@4.22.2)(postcss@8.4.32) + postcss-preset-env: 7.8.3(postcss@8.4.32) prompts: 2.4.2 react: 18.2.0 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1(eslint@8.56.0)(typescript@5.2.2)(webpack@5.88.0) + react-dev-utils: 12.0.1(eslint@8.56.0)(typescript@5.2.2)(webpack@5.89.0) react-refresh: 0.11.0 - resolve: 1.22.2 + resolve: 1.22.8 resolve-url-loader: 4.0.0 - sass-loader: 12.6.0(webpack@5.88.0) - semver: 7.3.8 - source-map-loader: 3.0.2(webpack@5.88.0) - style-loader: 3.3.3(webpack@5.88.0) - tailwindcss: 3.3.2 - terser-webpack-plugin: 5.3.9(esbuild@0.17.19)(webpack@5.88.0) + sass-loader: 12.6.0(webpack@5.89.0) + semver: 7.5.4 + source-map-loader: 3.0.2(webpack@5.89.0) + style-loader: 3.3.3(webpack@5.89.0) + tailwindcss: 3.4.0 + terser-webpack-plugin: 5.3.9(esbuild@0.17.19)(webpack@5.89.0) typescript: 5.2.2 - webpack: 5.88.0(esbuild@0.17.19) - webpack-dev-server: 4.15.1(webpack@5.88.0) - webpack-manifest-plugin: 4.1.1(webpack@5.88.0) - workbox-webpack-plugin: 6.6.0(webpack@5.88.0) + webpack: 5.89.0(esbuild@0.17.19) + webpack-dev-server: 4.15.1(webpack@5.89.0) + webpack-manifest-plugin: 4.1.1(webpack@5.89.0) + workbox-webpack-plugin: 6.6.0(webpack@5.89.0) optionalDependencies: fsevents: 2.3.3 transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@types/babel__core' - '@types/webpack' @@ -16430,7 +15510,7 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -16490,16 +15570,15 @@ packages: resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 globalthis: 1.0.3 which-builtin-type: 1.1.3 - dev: true - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -16511,37 +15590,28 @@ packages: /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - dev: false - /regenerator-transform@0.15.1: - resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.6 dev: false /regex-parser@2.2.11: resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} dev: false - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 - /regexp.prototype.flags@1.5.1: resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 - define-properties: 1.2.0 + define-properties: 1.2.1 set-function-name: 2.0.1 - dev: true /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} @@ -16549,7 +15619,7 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 + 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 @@ -16570,13 +15640,20 @@ packages: /relay-runtime@12.0.0: resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.6 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: - encoding dev: true + /release-zalgo@1.0.0: + resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} + engines: {node: '>=4'} + dependencies: + es6-error: 4.1.1 + dev: true + /remark-footnotes@3.0.0: resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} dependencies: @@ -16668,6 +15745,7 @@ packages: engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 + dev: false /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} @@ -16705,26 +15783,13 @@ packages: engines: {node: '>=10'} dev: false - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - dev: true - /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.12.1 + is-core-module: 2.13.1 path-parse: 1.0.7 dev: true - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true - dependencies: - is-core-module: 2.12.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -16732,13 +15797,12 @@ packages: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -16776,17 +15840,24 @@ packages: dependencies: glob: 7.2.3 + /ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + dev: true + /rollup-plugin-terser@7.0.2(rollup@2.79.1): resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.23.5 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.18.2 + terser: 5.26.0 dev: false /rollup@2.79.1: @@ -16797,14 +15868,35 @@ packages: fsevents: 2.3.3 dev: false - /rollup@3.25.3: - resolution: {integrity: sha512-ZT279hx8gszBj9uy5FfhoG4bZx8c+0A1sbqtr7Q3KNWIizpTdDEPZbV2xcbvHsnFp4MavCQYZyzApJ+virB8Yw==} + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: true + /rollup@4.9.1: + resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.1 + '@rollup/rollup-android-arm64': 4.9.1 + '@rollup/rollup-darwin-arm64': 4.9.1 + '@rollup/rollup-darwin-x64': 4.9.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.1 + '@rollup/rollup-linux-arm64-gnu': 4.9.1 + '@rollup/rollup-linux-arm64-musl': 4.9.1 + '@rollup/rollup-linux-riscv64-gnu': 4.9.1 + '@rollup/rollup-linux-x64-gnu': 4.9.1 + '@rollup/rollup-linux-x64-musl': 4.9.1 + '@rollup/rollup-win32-arm64-msvc': 4.9.1 + '@rollup/rollup-win32-ia32-msvc': 4.9.1 + '@rollup/rollup-win32-x64-msvc': 4.9.1 + fsevents: 2.3.3 + dev: true + /run-applescript@5.0.0: resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} engines: {node: '>=12'} @@ -16825,19 +15917,9 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.6.0 + tslib: 2.6.2 dev: true - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: false - /safe-array-concat@1.0.1: resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} @@ -16846,7 +15928,6 @@ packages: get-intrinsic: 1.2.2 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -16858,8 +15939,8 @@ packages: /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 is-regex: 1.1.4 /safer-buffer@2.1.2: @@ -16869,7 +15950,7 @@ packages: resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==} dev: false - /sass-loader@12.6.0(webpack@5.88.0): + /sass-loader@12.6.0(webpack@5.89.0): resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -16890,7 +15971,7 @@ packages: dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false /sax@1.2.4: @@ -16914,7 +15995,7 @@ packages: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: false @@ -16923,7 +16004,7 @@ packages: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: false @@ -16932,7 +16013,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: false @@ -16941,7 +16022,7 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) @@ -16959,22 +16040,19 @@ packages: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: false - /selfsigned@2.1.1: - resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} dependencies: + '@types/node-forge': 1.3.10 node-forge: 1.3.1 dev: false - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -16984,21 +16062,6 @@ packages: hasBin: true dev: true - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /semver@7.5.3: - resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} @@ -17031,7 +16094,7 @@ packages: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.4.1 upper-case-first: 2.0.2 dev: true @@ -17085,8 +16148,7 @@ packages: define-data-property: 1.1.1 get-intrinsic: 1.2.2 gopd: 1.0.1 - has-property-descriptors: 1.0.0 - dev: true + has-property-descriptors: 1.0.1 /set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} @@ -17094,8 +16156,7 @@ packages: dependencies: define-data-property: 1.1.1 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 - dev: true + has-property-descriptors: 1.0.1 /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -17109,6 +16170,14 @@ packages: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: false + /sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -17134,10 +16203,10 @@ packages: /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - /shiki@0.14.3: - resolution: {integrity: sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==} + /shiki@0.14.7: + resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} dependencies: - ansi-sequence-parser: 1.1.0 + ansi-sequence-parser: 1.1.1 jsonc-parser: 3.2.0 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 @@ -17145,15 +16214,19 @@ packages: /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /signal-exit@4.0.2: - resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} /signedsource@1.0.0: @@ -17169,6 +16242,7 @@ packages: /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: false /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -17202,7 +16276,7 @@ packages: engines: {node: '>=6'} hasBin: true dependencies: - array.prototype.flat: 1.3.1 + array.prototype.flat: 1.3.2 breakword: 1.0.6 grapheme-splitter: 1.0.4 strip-ansi: 6.0.1 @@ -17214,7 +16288,7 @@ packages: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.4.1 dev: true /sockjs@0.3.24: @@ -17233,7 +16307,7 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map-loader@3.0.2(webpack@5.88.0): + /source-map-loader@3.0.2(webpack@5.89.0): resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -17242,16 +16316,9 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false - /source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -17277,6 +16344,19 @@ packages: /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead + dev: false + + /spawn-wrap@2.0.0: + resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} + engines: {node: '>=8'} + dependencies: + foreground-child: 2.0.0 + is-windows: 1.0.2 + make-dir: 3.1.0 + rimraf: 3.0.2 + signal-exit: 3.0.7 + which: 2.0.2 + dev: true /spawndamnit@2.0.0: resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} @@ -17289,7 +16369,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true /spdx-exceptions@2.3.0: @@ -17300,11 +16380,18 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.16 dev: true - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} dev: true /spdy-transport@3.0.0: @@ -17336,7 +16423,7 @@ packages: /sponge-case@1.0.1: resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 dev: true /sprintf-js@1.0.3: @@ -17352,11 +16439,22 @@ packages: engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 + dev: false + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false + /static-eval@2.0.2: + resolution: {integrity: sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==} + dependencies: + escodegen: 1.14.3 + dev: false + /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -17367,17 +16465,37 @@ packages: engines: {node: '>= 0.8'} dev: false + /std-env@3.6.0: + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} + dev: true + /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: - internal-slot: 1.0.5 + internal-slot: 1.0.6 dev: false + /stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /stream-http@3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + xtend: 4.0.2 + dev: true + /stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: - mixme: 0.5.9 + mixme: 0.5.10 dev: true /streamsearch@1.1.0: @@ -17394,6 +16512,7 @@ packages: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 + dev: false /string-length@5.0.1: resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==} @@ -17423,73 +16542,49 @@ packages: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 + internal-slot: 1.0.6 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 side-channel: 1.0.4 - /string.prototype.padend@3.1.4: - resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} + /string.prototype.padend@3.1.5: + resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - /string.prototype.trim@1.2.8: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true - - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.5 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true - - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.5 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -17562,19 +16657,25 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.11.2 + dev: true + /structured-source@4.0.0: resolution: {integrity: sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==} dependencies: boundary: 2.0.0 dev: true - /style-loader@3.3.3(webpack@5.88.0): + /style-loader@3.3.3(webpack@5.89.0): resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false /styled-jsx@5.1.1(@babel/core@7.23.6)(react@18.2.0): @@ -17595,19 +16696,19 @@ packages: react: 18.2.0 dev: false - /stylehacks@5.1.1(postcss@8.4.24): + /stylehacks@5.1.1(postcss@8.4.32): resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.9 - postcss: 8.4.24 + browserslist: 4.22.2 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: false - /sucrase@3.32.0: - resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} + /sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} engines: {node: '>=8'} hasBin: true dependencies: @@ -17636,6 +16737,7 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 + dev: false /supports-hyperlinks@2.3.0: resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} @@ -17667,7 +16769,7 @@ packages: csso: 4.2.0 js-yaml: 3.14.1 mkdirp: 0.5.6 - object.values: 1.1.6 + object.values: 1.1.7 sax: 1.2.4 stable: 0.1.8 unquote: 1.1.1 @@ -17691,19 +16793,19 @@ packages: /swap-case@2.0.2: resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 dev: true /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: false - /synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + /synckit@0.8.6: + resolution: {integrity: sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/utils': 2.4.2 - tslib: 2.6.0 + tslib: 2.6.2 dev: true /table@6.8.1: @@ -17725,8 +16827,8 @@ packages: long: 4.0.0 dev: false - /tailwindcss@3.3.2: - resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} + /tailwindcss@3.4.0: + resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -17735,24 +16837,23 @@ packages: chokidar: 3.5.3 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.3.1 + fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.18.2 + jiti: 1.21.0 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.24 - postcss-import: 15.1.0(postcss@8.4.24) - postcss-js: 4.0.1(postcss@8.4.24) - postcss-load-config: 4.0.1(postcss@8.4.24) - postcss-nested: 6.0.1(postcss@8.4.24) + postcss: 8.4.32 + postcss-import: 15.1.0(postcss@8.4.32) + postcss-js: 4.0.1(postcss@8.4.32) + postcss-load-config: 4.0.2(postcss@8.4.32) + postcss-nested: 6.0.1(postcss@8.4.32) postcss-selector-parser: 6.0.13 - postcss-value-parser: 4.2.0 - resolve: 1.22.2 - sucrase: 3.32.0 + resolve: 1.22.8 + sucrase: 3.34.0 transitivePeerDependencies: - ts-node dev: false @@ -17795,7 +16896,7 @@ packages: supports-hyperlinks: 2.3.0 dev: false - /terser-webpack-plugin@5.3.9(esbuild@0.17.19)(webpack@5.88.0): + /terser-webpack-plugin@5.3.9(esbuild@0.17.19)(webpack@5.89.0): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -17811,22 +16912,22 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.20 esbuild: 0.17.19 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.18.2 - webpack: 5.88.0(esbuild@0.17.19) + terser: 5.26.0 + webpack: 5.89.0(esbuild@0.17.19) dev: false - /terser@5.18.2: - resolution: {integrity: sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==} + /terser@5.26.0: + resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.3 - acorn: 8.9.0 + '@jridgewell/source-map': 0.3.5 + acorn: 8.11.2 commander: 2.20.3 source-map-support: 0.5.21 dev: false @@ -17842,15 +16943,15 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - /textlint-rule-helper@2.3.0: - resolution: {integrity: sha512-Ug78Saahb/qVImttL0NSFyT5/JJ5wXvOPepR2pYAjNi54BsQAAz/hAyyEgKuYeR0+yjFb0KPhby4f880X5vqHA==} + /textlint-rule-helper@2.3.1: + resolution: {integrity: sha512-b1bijvyiUmKinfFE5hkQMSXs3Ky8jyZ3Y6SOoTRJKV9HLL2LWUVFAUezO7z4FpAkVvYruDYWCwA5qWV8GmvyUw==} dependencies: - '@textlint/ast-node-types': 13.3.2 + '@textlint/ast-node-types': 13.4.1 structured-source: 4.0.0 unist-util-visit: 2.0.3 dev: true - /textlint-rule-no-dead-link@5.1.2(textlint@13.3.2): + /textlint-rule-no-dead-link@5.1.2(textlint@13.4.1): resolution: {integrity: sha512-TXJKXL5WU6dtSbRuNli91D0emY8hQTBP1VUSbq2Ka+zDMoE/vqkzsAyVl7V7YuiwW8URXfc98BzYHu4NDAdQLw==} engines: {node: '>=4'} peerDependencies: @@ -17865,38 +16966,37 @@ packages: node-fetch: 2.7.0 p-memoize: 3.1.0 p-queue: 6.6.2 - textlint: 13.3.2 - textlint-rule-helper: 2.3.0 + textlint: 13.4.1 + textlint-rule-helper: 2.3.1 transitivePeerDependencies: - encoding dev: true - /textlint@13.3.2: - resolution: {integrity: sha512-i14ug8jyC1iNko16dpzp/blSLbvXTONiZbvkNT30N3VzDPCtNn2yV4qSZhiRWFi1hHfgOdG3n/u0DZvllZCHXQ==} + /textlint@13.4.1: + resolution: {integrity: sha512-ev6XkQEUMWcW90hTHJKlvt23ca1AtmmK2iw4mazqKnSVz8PTSMg45NB68ht3ev92lIPD+8Wt4D6JxCInZkh4GQ==} engines: {node: '>=16.0.0'} hasBin: true dependencies: - '@textlint/ast-node-types': 13.3.2 - '@textlint/ast-traverse': 13.3.2 - '@textlint/config-loader': 13.3.2 - '@textlint/feature-flag': 13.3.2 - '@textlint/fixer-formatter': 13.3.2 - '@textlint/kernel': 13.3.2 - '@textlint/linter-formatter': 13.3.2 - '@textlint/module-interop': 13.3.2 - '@textlint/textlint-plugin-markdown': 13.3.2 - '@textlint/textlint-plugin-text': 13.3.2 - '@textlint/types': 13.3.2 - '@textlint/utils': 13.3.2 + '@textlint/ast-node-types': 13.4.1 + '@textlint/ast-traverse': 13.4.1 + '@textlint/config-loader': 13.4.1 + '@textlint/feature-flag': 13.4.1 + '@textlint/fixer-formatter': 13.4.1 + '@textlint/kernel': 13.4.1 + '@textlint/linter-formatter': 13.4.1 + '@textlint/module-interop': 13.4.1 + '@textlint/textlint-plugin-markdown': 13.4.1 + '@textlint/textlint-plugin-text': 13.4.1 + '@textlint/types': 13.4.1 + '@textlint/utils': 13.4.1 debug: 4.3.4 file-entry-cache: 5.0.1 get-stdin: 5.0.1 glob: 7.2.3 - is-file: 1.0.0 md5: 2.3.0 mkdirp: 0.5.6 optionator: 0.9.3 - path-to-glob-pattern: 1.0.2 + path-to-glob-pattern: 2.0.1 rc-config-loader: 4.1.3 read-pkg: 1.1.0 read-pkg-up: 3.0.0 @@ -17926,14 +17026,35 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - dev: false + /thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + dev: false + + /timers-browserify@2.0.12: + resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} + engines: {node: '>=0.6.0'} + dependencies: + setimmediate: 1.0.5 + dev: true + + /tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + dev: true + + /tinypool@0.8.1: + resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} + dev: true /title-case@3.0.3: resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 dev: true /titleize@3.0.0: @@ -17950,6 +17071,7 @@ packages: /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: false /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -17986,7 +17108,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: false @@ -17997,13 +17119,13 @@ packages: /tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /tr46@2.1.0: resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /traverse@0.6.7: @@ -18055,85 +17177,18 @@ packages: glob: 7.2.3 mkdirp: 0.5.6 prettier: 2.8.8 - resolve: 1.22.2 + resolve: 1.22.8 ts-essentials: 1.0.4 dev: true /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.5.0)(esbuild@0.17.19)(jest@29.7.0)(typescript@5.2.2): - resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - '@babel/core': 7.23.6 - '@jest/types': 29.5.0 - bs-logger: 0.2.6 - esbuild: 0.17.19 - fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@18.15.3) - jest-util: 29.5.0 - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.5.4 - typescript: 5.2.2 - yargs-parser: 21.1.1 - dev: true - /ts-log@2.2.5: resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} dev: true - /ts-node@10.9.1(@types/node@20.10.5)(typescript@5.3.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.10.5 - acorn: 8.9.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.3.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /ts-node@10.9.2(@types/node@20.10.5)(typescript@5.3.3): + /ts-node@10.9.2(@types/node@18.15.3)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -18152,14 +17207,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.10.5 + '@types/node': 18.15.3 acorn: 8.11.2 acorn-walk: 8.3.1 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.3.3 + typescript: 5.2.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -18168,8 +17223,8 @@ packages: resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} dev: true - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -18184,10 +17239,9 @@ packages: /tslib@2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} - dev: true - /tslib@2.6.0: - resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsup@6.7.0(typescript@5.2.2): resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} @@ -18205,7 +17259,7 @@ packages: typescript: optional: true dependencies: - bundle-require: 4.0.1(esbuild@0.17.19) + bundle-require: 4.0.2(esbuild@0.17.19) cac: 6.7.14 chokidar: 3.5.3 debug: 4.3.4 @@ -18215,9 +17269,9 @@ packages: joycon: 3.1.1 postcss-load-config: 3.1.4 resolve-from: 5.0.0 - rollup: 3.25.3 + rollup: 3.29.4 source-map: 0.8.0-beta.0 - sucrase: 3.32.0 + sucrase: 3.34.0 tree-kill: 1.2.2 typescript: 5.2.2 transitivePeerDependencies: @@ -18245,8 +17299,12 @@ packages: fsevents: 2.3.3 dev: true - /tty-table@4.2.1: - resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + /tty-browserify@0.0.1: + resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} + dev: true + + /tty-table@4.2.3: + resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} engines: {node: '>=8.0.0'} hasBin: true dependencies: @@ -18259,65 +17317,64 @@ packages: yargs: 17.7.2 dev: true - /turbo-darwin-64@1.8.8: - resolution: {integrity: sha512-18cSeIm7aeEvIxGyq7PVoFyEnPpWDM/0CpZvXKHpQ6qMTkfNt517qVqUTAwsIYqNS8xazcKAqkNbvU1V49n65Q==} + /turbo-darwin-64@1.11.2: + resolution: {integrity: sha512-toFmRG/adriZY3hOps7nYCfqHAS+Ci6xqgX3fbo82kkLpC6OBzcXnleSwuPqjHVAaRNhVoB83L5njcE9Qwi2og==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.8.8: - resolution: {integrity: sha512-ruGRI9nHxojIGLQv1TPgN7ud4HO4V8mFBwSgO6oDoZTNuk5ybWybItGR+yu6fni5vJoyMHXOYA2srnxvOc7hjQ==} + /turbo-darwin-arm64@1.11.2: + resolution: {integrity: sha512-FCsEDZ8BUSFYEOSC3rrARQrj7x2VOrmVcfrMUIhexTxproRh4QyMxLfr6LALk4ymx6jbDCxWa6Szal8ckldFbA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.8.8: - resolution: {integrity: sha512-N/GkHTHeIQogXB1/6ZWfxHx+ubYeb8Jlq3b/3jnU4zLucpZzTQ8XkXIAfJG/TL3Q7ON7xQ8yGOyGLhHL7MpFRg==} + /turbo-linux-64@1.11.2: + resolution: {integrity: sha512-Vzda/o/QyEske5CxLf0wcu7UUS+7zB90GgHZV4tyN+WZtoouTvbwuvZ3V6b5Wgd3OJ/JwWR0CXDK7Sf4VEMr7A==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.8.8: - resolution: {integrity: sha512-hKqLbBHgUkYf2Ww8uBL9UYdBFQ5677a7QXdsFhONXoACbDUPvpK4BKlz3NN7G4NZ+g9dGju+OJJjQP0VXRHb5w==} + /turbo-linux-arm64@1.11.2: + resolution: {integrity: sha512-bRLwovQRz0yxDZrM4tQEAYV0fBHEaTzUF0JZ8RG1UmZt/CqtpnUrJpYb1VK8hj1z46z9YehARpYCwQ2K0qU4yw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.8.8: - resolution: {integrity: sha512-2ndjDJyzkNslXxLt+PQuU21AHJWc8f6MnLypXy3KsN4EyX/uKKGZS0QJWz27PeHg0JS75PVvhfFV+L9t9i+Yyg==} + /turbo-windows-64@1.11.2: + resolution: {integrity: sha512-LgTWqkHAKgyVuLYcEPxZVGPInTjjeCnN5KQMdJ4uQZ+xMDROvMFS2rM93iQl4ieDJgidwHCxxCxaU9u8c3d/Kg==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.8.8: - resolution: {integrity: sha512-xCA3oxgmW9OMqpI34AAmKfOVsfDljhD5YBwgs0ZDsn5h3kCHhC4x9W5dDk1oyQ4F5EXSH3xVym5/xl1J6WRpUg==} + /turbo-windows-arm64@1.11.2: + resolution: {integrity: sha512-829aVBU7IX0c/B4G7g1VI8KniAGutHhIupkYMgF6xPkYVev2G3MYe6DMS/vsLt9GGM9ulDtdWxWrH5P2ngK8IQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.8.8: - resolution: {integrity: sha512-qYJ5NjoTX+591/x09KgsDOPVDUJfU9GoS+6jszQQlLp1AHrf1wRFA3Yps8U+/HTG03q0M4qouOfOLtRQP4QypA==} + /turbo@1.11.2: + resolution: {integrity: sha512-jPC7LVQJzebs5gWf8FmEvsvXGNyKbN+O9qpvv98xpNaM59aS0/Irhd0H0KbcqnXfsz7ETlzOC3R+xFWthC4Z8A==} hasBin: true - requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.8.8 - turbo-darwin-arm64: 1.8.8 - turbo-linux-64: 1.8.8 - turbo-linux-arm64: 1.8.8 - turbo-windows-64: 1.8.8 - turbo-windows-arm64: 1.8.8 + turbo-darwin-64: 1.11.2 + turbo-darwin-arm64: 1.11.2 + turbo-linux-64: 1.11.2 + turbo-linux-arm64: 1.11.2 + turbo-windows-64: 1.11.2 + turbo-windows-arm64: 1.11.2 dev: true /type-check@0.3.2: @@ -18365,8 +17422,8 @@ packages: engines: {node: '>=8'} dev: true - /type-fest@3.1.0: - resolution: {integrity: sha512-StmrZmK3eD9mDF9Vt7UhqthrDSk66O9iYl5t5a0TSoVkHjl0XZx/xuc/BRz4urAXXGHOY5OLsE0RdJFIApSFmw==} + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} dev: false @@ -18385,7 +17442,6 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 - dev: true /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} @@ -18395,7 +17451,6 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - dev: true /typed-array-byte-offset@1.0.0: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} @@ -18406,53 +17461,51 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - dev: true /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: is-typedarray: 1.0.0 - dev: false - /typedoc-plugin-markdown@3.15.3(typedoc@0.25.3): - resolution: {integrity: sha512-idntFYu3vfaY3eaD+w9DeRd0PmNGqGuNLKihPU9poxFGnATJYGn9dPtEhn2QrTdishFMg7jPXAhos+2T6YCWRQ==} + /typedoc-plugin-markdown@3.17.1(typedoc@0.25.4): + resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} peerDependencies: typedoc: '>=0.24.0' dependencies: - handlebars: 4.7.7 - typedoc: 0.25.3(typescript@5.2.2) + handlebars: 4.7.8 + typedoc: 0.25.4(typescript@5.2.2) dev: false - /typedoc-plugin-merge-modules@5.0.1(typedoc@0.25.3): - resolution: {integrity: sha512-7fiMYDUaeslsGSFDevw+azhD0dFJce0h2g5UuQ8zXljoky+YfmzoNkoTCx+KWaNJo6rz2DzaD2feVJyUhvUegg==} + /typedoc-plugin-merge-modules@5.1.0(typedoc@0.25.4): + resolution: {integrity: sha512-jXH27L/wlxFjErgBXleh3opVgjVTXFEuBo68Yfl18S9Oh/IqxK6NV94jlEJ9hl4TXc9Zm2l7Rfk41CEkcCyvFQ==} peerDependencies: - typedoc: 0.24.x + typedoc: 0.24.x || 0.25.x dependencies: - typedoc: 0.25.3(typescript@5.2.2) + typedoc: 0.25.4(typescript@5.2.2) dev: true - /typedoc@0.25.3(typescript@5.2.2): - resolution: {integrity: sha512-Ow8Bo7uY1Lwy7GTmphRIMEo6IOZ+yYUyrc8n5KXIZg1svpqhZSWgni2ZrDhe+wLosFS8yswowUzljTAV/3jmWw==} + /typedoc@0.25.4(typescript@5.2.2): + resolution: {integrity: sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==} engines: {node: '>= 16'} hasBin: true peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x dependencies: lunr: 2.3.9 marked: 4.3.0 minimatch: 9.0.3 - shiki: 0.14.3 + shiki: 0.14.7 typescript: 5.2.2 - /types-ramda@0.29.4: - resolution: {integrity: sha512-XO/820iRsCDwqLjE8XE+b57cVGPyk1h+U9lBGpDWvbEky+NQChvHVwaKM05WnW1c5z3EVQh8NhXFmh2E/1YazQ==} + /types-ramda@0.29.6: + resolution: {integrity: sha512-VJoOk1uYNh9ZguGd3eZvqkdhD4hTGtnjRBUx5Zc0U9ftmnCgiWcSj/lsahzKunbiwRje1MxxNkEy1UdcXRCpYw==} dependencies: ts-toolbelt: 9.6.0 dev: true @@ -18462,20 +17515,18 @@ packages: engines: {node: '>=14.17'} hasBin: true - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /ua-parser-js@1.0.35: - resolution: {integrity: sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==} + /ua-parser-js@1.0.37: + resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} dev: true /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true + /ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + dev: true + /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -18487,7 +17538,7 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -18501,16 +17552,9 @@ packages: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} dev: true - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true - - /undici@5.22.1: - resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} - engines: {node: '>=14.0'} - dependencies: - busboy: 1.6.0 - dev: true + /underscore@1.12.1: + resolution: {integrity: sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==} + dev: false /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} @@ -18538,7 +17582,7 @@ packages: /unified@9.2.2: resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 bail: 1.0.5 extend: 3.0.2 is-buffer: 2.0.5 @@ -18565,20 +17609,20 @@ packages: /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 dev: true /unist-util-visit-parents@3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-is: 4.1.0 dev: true /unist-util-visit@2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 dev: true @@ -18593,8 +17637,8 @@ packages: engines: {node: '>= 4.0.0'} dev: false - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: false @@ -18624,16 +17668,6 @@ packages: engines: {node: '>=4'} dev: false - /update-browserslist-db@1.0.11(browserslist@4.21.9): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.9 - escalade: 3.1.1 - picocolors: 1.0.0 - /update-browserslist-db@1.0.13(browserslist@4.22.2): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -18647,19 +17681,19 @@ packages: /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 dev: true /upper-case@2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: - tslib: 2.6.0 + tslib: 2.4.1 dev: true /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} @@ -18668,6 +17702,19 @@ packages: requires-port: 1.0.0 dev: false + /url@0.11.3: + resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} + dependencies: + punycode: 1.4.1 + qs: 6.11.2 + dev: true + + /urlpattern-polyfill@6.0.2: + resolution: {integrity: sha512-5vZjFlH9ofROmuWmXM9yj2wljYKgWstGwe8YTyiqM7hVum/g9LyCizPZtb3UqsuppVwety9QJmfc42VggLpTgg==} + dependencies: + braces: 3.0.2 + dev: true + /urlpattern-polyfill@8.0.2: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: true @@ -18678,12 +17725,22 @@ packages: /util.promisify@1.0.1: resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} dependencies: - define-properties: 1.2.0 - es-abstract: 1.21.2 + define-properties: 1.2.1 + es-abstract: 1.22.3 has-symbols: 1.0.3 - object.getownpropertydescriptors: 2.1.6 + object.getownpropertydescriptors: 2.1.7 dev: false + /util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.12 + which-typed-array: 1.1.13 + dev: true + /utila@0.4.0: resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} dev: false @@ -18693,19 +17750,12 @@ packages: engines: {node: '>= 0.4.0'} dev: false - /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 - dev: true - /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - dev: false - /uuid@9.0.0: - resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true dev: false @@ -18717,20 +17767,11 @@ packages: resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} engines: {node: '>=10.12.0'} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 1.9.0 source-map: 0.7.4 dev: false - /v8-to-istanbul@9.1.3: - resolution: {integrity: sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.18 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 2.0.0 - dev: true - /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -18751,26 +17792,70 @@ packages: /vfile-message@2.0.4: resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 dev: true - /vite@4.3.9(@types/node@18.15.3): - resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + /vite-node@1.1.0(@types/node@18.15.3): + resolution: {integrity: sha512-jV48DDUxGLEBdHCQvxL1mEh7+naVy+nhUUUaPAZLd3FJgXuxQiewHcfeZebbJ6onDqNGkP4r3MhQ342PRlG81Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 5.0.10(@types/node@18.15.3) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-plugin-node-polyfills@0.17.0(vite@5.0.10): + resolution: {integrity: sha512-iPmPn7376e5u6QvoTSJa16hf5Q0DFwHFXJk2uYpsNlmI3JdPms7hWyh55o+OysJ5jo9J5XPhLC9sMOYifwFd1w==} + peerDependencies: + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + dependencies: + '@rollup/plugin-inject': 5.0.5 + buffer-polyfill: /buffer@6.0.3 + node-stdlib-browser: 1.2.0 + process: 0.11.10 + vite: 5.0.10(@types/node@18.15.3) + transitivePeerDependencies: + - rollup + dev: true + + /vite-plugin-plain-text@1.4.2: + resolution: {integrity: sha512-nkCWW16lkTidaGZ9kItwMZ5OEkUeXMrY4Okc9IQXrN/p6SAuDYmEiGqMRKl1rnhm6CR1h98uJtn+ODkv0cL7DA==} + dependencies: + '@napi-rs/magic-string': 0.3.4 + fast-glob: 3.3.2 + minimatch: 6.2.0 + dev: true + + /vite@4.5.1(@types/node@18.15.3): + resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: '@types/node': '>= 14' less: '*' + lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' @@ -18780,6 +17865,8 @@ packages: optional: true less: optional: true + lightningcss: + optional: true sass: optional: true stylus: @@ -18790,14 +17877,50 @@ packages: optional: true dependencies: '@types/node': 18.15.3 - esbuild: 0.17.19 - postcss: 8.4.24 - rollup: 3.25.3 + esbuild: 0.18.20 + postcss: 8.4.32 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@5.0.10(@types/node@18.15.3): + resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.15.3 + esbuild: 0.19.10 + postcss: 8.4.32 + rollup: 4.9.1 optionalDependencies: fsevents: 2.3.3 dev: true - /vitepress-plugin-search@1.0.4-alpha.19(flexsearch@0.7.31)(vitepress@1.0.0-alpha.51)(vue@3.2.47): + /vitepress-plugin-search@1.0.4-alpha.19(flexsearch@0.7.31)(vitepress@1.0.0-alpha.51)(vue@3.3.13): resolution: {integrity: sha512-WFOPn5dStyMINd+rVjNxbEmGa7U+qGHLxLnda56EG+ATil1i0yOauGhJEh5LPMvuCUVIA9tInJnFXklOBb39dA==} engines: {node: ^14.13.1 || ^16.7.0 || >=18} peerDependencies: @@ -18805,33 +17928,34 @@ packages: vitepress: ^1.0.0-alpha.13 vue: '3' dependencies: - '@types/flexsearch': 0.7.3 + '@types/flexsearch': 0.7.6 '@types/markdown-it': 12.2.3 flexsearch: 0.7.31 - markdown-it: 13.0.1 - vitepress: 1.0.0-alpha.51(@algolia/client-search@4.22.0)(@types/node@18.15.3)(search-insights@2.13.0) - vue: 3.2.47 + markdown-it: 13.0.2 + vitepress: 1.0.0-alpha.51(@algolia/client-search@4.22.0)(@types/node@18.15.3)(search-insights@2.13.0)(typescript@5.2.2) + vue: 3.3.13(typescript@5.2.2) dev: true - /vitepress@1.0.0-alpha.51(@algolia/client-search@4.22.0)(@types/node@18.15.3)(search-insights@2.13.0): + /vitepress@1.0.0-alpha.51(@algolia/client-search@4.22.0)(@types/node@18.15.3)(search-insights@2.13.0)(typescript@5.2.2): resolution: {integrity: sha512-euZpjXeIaNUadLAQtd7NYbKhJJoDyZ6z8YK77qlM2c6NvUB5wmLPU6moP4rfcKUqpBDrsrxjJS6fdPk6azS5qQ==} hasBin: true dependencies: - '@docsearch/css': 3.5.1 - '@docsearch/js': 3.5.1(@algolia/client-search@4.22.0)(search-insights@2.13.0) - '@vitejs/plugin-vue': 4.2.3(vite@4.3.9)(vue@3.2.47) - '@vue/devtools-api': 6.5.0 - '@vueuse/core': 9.13.0(vue@3.2.47) + '@docsearch/css': 3.5.2 + '@docsearch/js': 3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0) + '@vitejs/plugin-vue': 4.5.2(vite@4.5.1)(vue@3.3.13) + '@vue/devtools-api': 6.5.1 + '@vueuse/core': 9.13.0(vue@3.3.13) body-scroll-lock: 4.0.0-beta.0 - shiki: 0.14.3 - vite: 4.3.9(@types/node@18.15.3) - vue: 3.2.47 + shiki: 0.14.7 + vite: 4.5.1(@types/node@18.15.3) + vue: 3.3.13(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' - '@types/node' - '@types/react' - '@vue/composition-api' - less + - lightningcss - react - react-dom - sass @@ -18839,6 +17963,68 @@ packages: - stylus - sugarss - terser + - typescript + dev: true + + /vitest@1.1.0(@types/node@18.15.3): + resolution: {integrity: sha512-oDFiCrw7dd3Jf06HoMtSRARivvyjHJaTxikFxuqJjO76U436PqlVw1uLn7a8OSPrhSfMGVaRakKpA2lePdw79A==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': ^1.0.0 + '@vitest/ui': ^1.0.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 18.15.3 + '@vitest/expect': 1.1.0 + '@vitest/runner': 1.1.0 + '@vitest/snapshot': 1.1.0 + '@vitest/spy': 1.1.0 + '@vitest/utils': 1.1.0 + acorn-walk: 8.3.1 + cac: 6.7.14 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.5 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.6.0 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.8.1 + vite: 5.0.10(@types/node@18.15.3) + vite-node: 1.1.0(@types/node@18.15.3) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} dev: true /vscode-oniguruma@1.7.0: @@ -18847,8 +18033,8 @@ packages: /vscode-textmate@8.0.0: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - /vue-demi@0.14.5(vue@3.2.47): - resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} + /vue-demi@0.14.6(vue@3.3.13): + resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -18859,17 +18045,23 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.2.47 + vue: 3.3.13(typescript@5.2.2) dev: true - /vue@3.2.47: - resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==} + /vue@3.3.13(typescript@5.2.2): + resolution: {integrity: sha512-LDnUpQvDgsfc0u/YgtAgTMXJlJQqjkxW1PVcOnJA5cshPleULDjHi7U45pl2VJYazSSvLH8UKcid/kzH8I0a0Q==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@vue/compiler-dom': 3.2.47 - '@vue/compiler-sfc': 3.2.47 - '@vue/runtime-dom': 3.2.47 - '@vue/server-renderer': 3.2.47(vue@3.2.47) - '@vue/shared': 3.2.47 + '@vue/compiler-dom': 3.3.13 + '@vue/compiler-sfc': 3.3.13 + '@vue/runtime-dom': 3.3.13 + '@vue/server-renderer': 3.3.13(vue@3.3.13) + '@vue/shared': 3.3.13 + typescript: 5.2.2 dev: true /w3c-hr-time@1.0.2: @@ -18890,6 +18082,7 @@ packages: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 + dev: false /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} @@ -18916,11 +18109,6 @@ packages: engines: {node: '>= 8'} dev: true - /web-streams-polyfill@4.0.0-beta.3: - resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} - engines: {node: '>= 14'} - dev: true - /web-vitals@2.1.4: resolution: {integrity: sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==} dev: false @@ -18928,11 +18116,11 @@ packages: /webcrypto-core@1.7.7: resolution: {integrity: sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==} dependencies: - '@peculiar/asn1-schema': 2.3.6 + '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 - pvtsutils: 1.3.2 - tslib: 2.6.0 + pvtsutils: 1.3.5 + tslib: 2.6.2 dev: true /webidl-conversions@3.0.1: @@ -18951,7 +18139,7 @@ packages: engines: {node: '>=10.4'} dev: false - /webpack-dev-middleware@5.3.3(webpack@5.88.0): + /webpack-dev-middleware@5.3.3(webpack@5.89.0): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -18962,10 +18150,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) dev: false - /webpack-dev-server@4.15.1(webpack@5.88.0): + /webpack-dev-server@4.15.1(webpack@5.89.0): resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} engines: {node: '>= 12.13.0'} hasBin: true @@ -18978,13 +18166,13 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.5.0 - '@types/express': 4.17.17 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.5 + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.5 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.10 ansi-html-community: 0.0.8 bonjour-service: 1.1.1 chokidar: 3.5.3 @@ -18995,20 +18183,20 @@ packages: express: 4.18.2 graceful-fs: 4.2.11 html-entities: 2.4.0 - http-proxy-middleware: 2.0.6(@types/express@4.17.17) + http-proxy-middleware: 2.0.6(@types/express@4.17.21) ipaddr.js: 2.1.0 - launch-editor: 2.6.0 - open: 8.4.0 + launch-editor: 2.6.1 + open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 schema-utils: 4.2.0 - selfsigned: 2.1.1 + selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.88.0(esbuild@0.17.19) - webpack-dev-middleware: 5.3.3(webpack@5.88.0) - ws: 8.13.0 + webpack: 5.89.0(esbuild@0.17.19) + webpack-dev-middleware: 5.3.3(webpack@5.89.0) + ws: 8.15.1 transitivePeerDependencies: - bufferutil - debug @@ -19016,14 +18204,14 @@ packages: - utf-8-validate dev: false - /webpack-manifest-plugin@4.1.1(webpack@5.88.0): + /webpack-manifest-plugin@4.1.1(webpack@5.89.0): resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==} engines: {node: '>=12.22.0'} peerDependencies: webpack: ^4.44.2 || ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) webpack-sources: 2.3.1 dev: false @@ -19047,8 +18235,8 @@ packages: engines: {node: '>=10.13.0'} dev: false - /webpack@5.88.0(esbuild@0.17.19): - resolution: {integrity: sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==} + /webpack@5.89.0(esbuild@0.17.19): + resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -19057,17 +18245,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 1.0.1 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.9.0 - acorn-import-assertions: 1.9.0(acorn@8.9.0) - browserslist: 4.21.9 + acorn: 8.11.2 + acorn-import-assertions: 1.9.0(acorn@8.11.2) + browserslist: 4.22.2 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 - es-module-lexer: 1.3.0 + es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -19078,7 +18266,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(esbuild@0.17.19)(webpack@5.88.0) + terser-webpack-plugin: 5.3.9(esbuild@0.17.19)(webpack@5.89.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -19107,8 +18295,8 @@ packages: iconv-lite: 0.4.24 dev: false - /whatwg-fetch@3.6.2: - resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + /whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} dev: false /whatwg-mimetype@2.3.0: @@ -19150,7 +18338,7 @@ packages: resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} engines: {node: '>= 0.4'} dependencies: - function.prototype.name: 1.1.5 + function.prototype.name: 1.1.6 has-tostringtag: 1.0.0 is-async-function: 2.0.0 is-date-object: 1.0.5 @@ -19161,8 +18349,7 @@ packages: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.9 - dev: true + which-typed-array: 1.1.13 /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} @@ -19193,18 +18380,6 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 - dev: true - - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -19219,8 +18394,17 @@ packages: dependencies: isexe: 2.0.0 - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} dev: false @@ -19246,10 +18430,10 @@ packages: engines: {node: '>=10.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.22.5 - '@babel/preset-env': 7.22.5(@babel/core@7.22.5) - '@babel/runtime': 7.22.5 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.5)(rollup@2.79.1) + '@babel/core': 7.23.6 + '@babel/preset-env': 7.23.6(@babel/core@7.23.6) + '@babel/runtime': 7.23.6 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.6)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -19289,7 +18473,6 @@ packages: /workbox-cacheable-response@6.6.0: resolution: {integrity: sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==} - deprecated: workbox-background-sync@6.6.0 dependencies: workbox-core: 6.6.0 dev: false @@ -19368,7 +18551,7 @@ packages: resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==} dev: false - /workbox-webpack-plugin@6.6.0(webpack@5.88.0): + /workbox-webpack-plugin@6.6.0(webpack@5.89.0): resolution: {integrity: sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==} engines: {node: '>=10.0.0'} peerDependencies: @@ -19377,7 +18560,7 @@ packages: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.88.0(esbuild@0.17.19) + webpack: 5.89.0(esbuild@0.17.19) webpack-sources: 1.4.3 workbox-build: 6.6.0 transitivePeerDependencies: @@ -19388,7 +18571,7 @@ packages: /workbox-window@6.6.0: resolution: {integrity: sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==} dependencies: - '@types/trusted-types': 2.0.3 + '@types/trusted-types': 2.0.7 workbox-core: 6.6.0 dev: false @@ -19427,15 +18610,6 @@ packages: is-typedarray: 1.0.0 signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - dev: false - - /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} - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: true /write@1.0.3: resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} @@ -19468,6 +18642,19 @@ packages: optional: true utf-8-validate: optional: true + dev: true + + /ws@8.15.1: + resolution: {integrity: sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true /ws@8.5.0: resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} @@ -19489,6 +18676,11 @@ packages: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: false + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true @@ -19515,8 +18707,8 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} dev: false @@ -19590,16 +18782,21 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + /yup@0.32.11: resolution: {integrity: sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.22.5 - '@types/lodash': 4.14.195 + '@babel/runtime': 7.23.6 + '@types/lodash': 4.14.202 lodash: 4.17.21 lodash-es: 4.17.21 nanoclone: 0.2.1 - property-expr: 2.0.5 + property-expr: 2.0.6 toposort: 2.0.2 dev: false diff --git a/scripts/ci-test.sh b/scripts/tests-ci.sh similarity index 64% rename from scripts/ci-test.sh rename to scripts/tests-ci.sh index d5a42af2d78..12ef33d5d53 100755 --- a/scripts/ci-test.sh +++ b/scripts/tests-ci.sh @@ -8,13 +8,8 @@ pnpm node:run > /dev/null 2>&1 & echo "Started Fuel-Core node in background." -if [[ "$*" == *"--coverage"* ]]; then - pnpm test $@ - TEST_RESULT=$? -else - pnpm test - TEST_RESULT=$? -fi +pnpm test +TEST_RESULT=$? echo "Killing Fuel-Core node." diff --git a/scripts/tests-coverage-diff.ts b/scripts/tests-coverage-diff.ts new file mode 100644 index 00000000000..8c3f2d2496d --- /dev/null +++ b/scripts/tests-coverage-diff.ts @@ -0,0 +1,14 @@ +import { diff as coverageDiff } from 'coverage-diff'; +import { readFileSync, writeFileSync } from 'fs'; + +const getDiff = () => { + const base = JSON.parse(readFileSync('coverage-master/coverage-summary.json').toString()); + const head = JSON.parse(readFileSync('coverage/report/coverage-summary.json').toString()); + return coverageDiff(base, head); +}; + +(() => { + const { results } = getDiff(); + const formattedResults = results.split(`${process.cwd()}/`).join(''); + writeFileSync('coverage/report/coverage-diff.txt', formattedResults, { flag: 'w' }); +})(); diff --git a/scripts/tests-coverage-merge.ts b/scripts/tests-coverage-merge.ts new file mode 100644 index 00000000000..635f77188a8 --- /dev/null +++ b/scripts/tests-coverage-merge.ts @@ -0,0 +1,35 @@ +import { execSync } from 'child_process'; +import { readdirSync, renameSync, rmSync } from 'fs'; +import { join } from 'path'; + +const restructureCoverageDirectory = () => { + const coverageDir = join(__dirname, '../coverage/'); + const environmentsDir = join(coverageDir, '/environments/'); + const validEnvironments = ['node']; + + const environments = readdirSync(environmentsDir); + environments.forEach((environment) => { + if (validEnvironments.includes(environment)) { + // Move environment coverage directories to a single file + renameSync( + join(environmentsDir, `${environment}/coverage-final.json`), + join(environmentsDir, `${environment}.json`) + ); + // Remove environment coverage directory + rmSync(join(environmentsDir, environment), { recursive: true, force: true }); + } + }); +}; + +(() => { + // Structure all coverage environment dirs into a single dir + restructureCoverageDirectory(); + + // Merge all coverage files + execSync('nyc merge coverage/environments coverage/merged/coverage.json'); + + // Generate coverage report + execSync( + 'nyc report --temp-dir=coverage/merged --report-dir=coverage/report --exclude-after-remap=false' + ); +})(); diff --git a/scripts/tests-find.sh b/scripts/tests-find.sh new file mode 100755 index 00000000000..a9809c69244 --- /dev/null +++ b/scripts/tests-find.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +ROOT=$(cd "$(dirname "$0")/.."; pwd) + +FILES=$(find $ROOT/{apps,packages,internal} -name '*.test.ts') + +if [[ $* == *--all* ]]; then + grep -lE "@group\s+(node|e2e)" $FILES +elif [[ $* == *--node* ]]; then + grep -lE "@group\s+node" $FILES +elif [[ $* == *--e2e* ]]; then + grep -lE "@group\s+e2e" $FILES +fi diff --git a/scripts/tests-validate.sh b/scripts/tests-validate.sh new file mode 100755 index 00000000000..5d649a18742 --- /dev/null +++ b/scripts/tests-validate.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +ROOT=$(cd "$(dirname "$0")/.."; pwd) + +FILES=$(find $ROOT/{apps,packages,internal} -name '*.test.ts') +INVALID_FILES=$(grep -LE "@group\s+(node|e2e)" $FILES) + +if [ ! -z "$INVALID_FILES" ]; then + echo -e "Test files don't contain a test environment configuration:" + echo -e $INVALID_FILES + exit 1 +fi \ No newline at end of file diff --git a/tsconfig.base.json b/tsconfig.base.json index 5c5915c7030..09debdaee95 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -11,7 +11,8 @@ "skipLibCheck": true, "strict": true, "target": "ES2022", - "sourceMap": true + "sourceMap": true, + "types": ["vitest/globals", "node", "node-fetch", "web"] }, "exclude": ["**/dist", "**/node_modules"] } diff --git a/vite.base.config.mts b/vite.base.config.mts new file mode 100644 index 00000000000..267d6ca8df9 --- /dev/null +++ b/vite.base.config.mts @@ -0,0 +1,40 @@ +import plainText from "vite-plugin-plain-text"; +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + plugins: [ + plainText("**/*.hbs", { + namedExport: false, + }), + ], + test: { + exclude: [ + "**/node_modules/**", + "**/dist/**", + "/apps/demo-nextjs", + "/apps/demo-react-cra", + "/apps/demo-react-vite", + ], + globals: true, + ui: false, + setupFiles: ["./vite.env.ts"], + coverage: { + enabled: true, + provider: "istanbul", + reporter: ["json"], + include: [ + 'packages', 'internal', 'apps' + ], + exclude: [ + "**/node_modules/**", + "**/dist/**", + "**/test/**", + "**/*.test.ts", + "**/*.d.ts", + "packages/fuel-gauge/**", + "apps/demo-*", + "apps/docs", + ], + }, + }, +}); diff --git a/jest.env.ts b/vite.env.ts similarity index 86% rename from jest.env.ts rename to vite.env.ts index e550cae7793..f66dab6c98e 100644 --- a/jest.env.ts +++ b/vite.env.ts @@ -3,7 +3,7 @@ import { hexlify } from 'ethers'; import faucets from './.fuel-core/configs/faucets.json'; /** - * Gets the private key for the current Jest worker. + * Gets the private key for the current Vitest worker. * * The PK is basically the current worker's ID. This allows us to * have a unique faucet wallet for each file being tested and prevents @@ -18,11 +18,11 @@ import faucets from './.fuel-core/configs/faucets.json'; * - 0x0101010101010101010101010101010101010101010101010101010101010101 * - 0x0202020202020202020202020202020202020202020202020202020202020202 * - * See: https://jestjs.io/docs/environment-variables#jest_worker_id + * See: https://vitest.dev/config/#setupfiles */ const getPrivateKeyForCurrentWorker = () => { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const workerId = Number.parseInt(process.env.JEST_WORKER_ID!, 10); + const workerId = Number.parseInt(process.env.VITEST_POOL_ID!, 10) || 1; if (workerId > faucets.length) { throw new Error(`At most ${faucets.length} workers are supported.`); diff --git a/vite.node.config.mts b/vite.node.config.mts new file mode 100644 index 00000000000..b6a7f3cf4e8 --- /dev/null +++ b/vite.node.config.mts @@ -0,0 +1,14 @@ +import type { UserConfig } from 'vitest/config'; +import { mergeConfig } from 'vitest/config'; + +import baseConfig from './vite.base.config.mts'; + +const config: UserConfig = { + test: { + coverage: { + reportsDirectory: 'coverage/environments/node', + }, + }, +}; + +export default mergeConfig(baseConfig, config);