From 7071a46d8f604787672426ea035cc2bb9a0b4c48 Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Mon, 4 Nov 2024 21:28:27 +0800 Subject: [PATCH 01/13] fix: issue14 --- .eslintrc.js | 32 + .github/workflows/main.yml | 45 + .gitignore | 23 + CHANGELOG.md | 21 + LICENSE | 204 + OFFICIAL_SYNC.md | 36 + README.md | 436 ++ index.html | 29 + package.json | 102 + postcss.config.cjs | 5 + public/official_sync_process_flowchart.png | Bin 0 -> 490027 bytes rollup.config.mjs | 20 + scripts/switch-cli.mjs | 4 + scripts/utils.mjs | 46 + src/components/TonConnectButton.vue | 41 + src/components/index.ts | 1 + src/errors/index.ts | 2 + .../ton-connect-provider-not-set.error.ts | 13 + src/errors/ton-connect-ui-vue.error.ts | 12 + src/hooks/index.ts | 5 + src/hooks/useIsConnectionRestored.ts | 17 + src/hooks/useTonAddress.ts | 22 + src/hooks/useTonConnectModal.ts | 23 + src/hooks/useTonConnectUI.ts | 34 + src/hooks/useTonWallet.ts | 28 + src/index.ts | 4 + src/library.ts | 3 + src/plugin.ts | 26 + src/shims-vue.d.ts | 5 + src/types.ts | 67 + src/utils/UIProvider.ts | 68 + src/utils/errors.ts | 12 + src/utils/web.ts | 7 + tsconfig.json | 41 + tsconfig.node.json | 9 + vite.config.ts | 55 + yarn.lock | 5429 +++++++++++++++++ 37 files changed, 6927 insertions(+) create mode 100644 .eslintrc.js create mode 100644 .github/workflows/main.yml create mode 100644 .gitignore create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 OFFICIAL_SYNC.md create mode 100644 README.md create mode 100644 index.html create mode 100644 package.json create mode 100644 postcss.config.cjs create mode 100644 public/official_sync_process_flowchart.png create mode 100644 rollup.config.mjs create mode 100644 scripts/switch-cli.mjs create mode 100644 scripts/utils.mjs create mode 100644 src/components/TonConnectButton.vue create mode 100644 src/components/index.ts create mode 100644 src/errors/index.ts create mode 100644 src/errors/ton-connect-provider-not-set.error.ts create mode 100644 src/errors/ton-connect-ui-vue.error.ts create mode 100644 src/hooks/index.ts create mode 100644 src/hooks/useIsConnectionRestored.ts create mode 100644 src/hooks/useTonAddress.ts create mode 100644 src/hooks/useTonConnectModal.ts create mode 100644 src/hooks/useTonConnectUI.ts create mode 100644 src/hooks/useTonWallet.ts create mode 100644 src/index.ts create mode 100644 src/library.ts create mode 100644 src/plugin.ts create mode 100644 src/shims-vue.d.ts create mode 100644 src/types.ts create mode 100644 src/utils/UIProvider.ts create mode 100644 src/utils/errors.ts create mode 100644 src/utils/web.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..1359509 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,32 @@ +module.exports = { + extends: ["plugin:vue/vue3-recommended"], + parserOptions: { + sourceType: "module", + ecmaVersion: "latest", + ecmaFeatures: { + jsx: true, + }, + }, + plugins: ["vue"], + rules: { + "import/extensions": ["off"], + "@typescript-eslint/explicit-function-return-type": [ + "error", + { + allowExpressions: true, + allowTypedFunctionExpressions: true, + allowConciseArrowFunctionExpressionsStartingWithVoid: true, + allowDirectConstAssertionInArrowFunctions: true, + }, + ], + "unused-imports/no-unused-vars": [ + "error", + { + vars: "all", + varsIgnorePattern: "^_", + args: "after-used", + argsIgnorePattern: "^_", + }, + ], + }, +}; diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..a2c8552 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,45 @@ +name: Build and publish + +on: + push: + branches: [ "main" ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Read .nvmrc + run: echo "NVMRC=$(cat .nvmrc)" >> $GITHUB_ENV + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: '${{ env.NVMRC }}' + + - name: Set up NPM token 1 + run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc + + - name: Install dependencies + run: yarn install + + - name: Build project + run: yarn build + + - name: Verify NPM token with multiple commands 1 + run: | + echo "Running npm whoami..." + npm whoami + echo "Running npm ping..." + npm ping + echo "Running npm publish --dry-run..." + npm publish --dry-run + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish package + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npm publish diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..22a2002 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/lib + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..63b3aab --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,21 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## 2.1.0 (2024-11-04) + + +### Features + +* add TonConnectUIPlugin ([af7c4d2](https://github.com/TownSquareXYZ/tonconnect-ui-vue/commit/af7c4d24f825d36c453ccb694ba0dbddacb755f1)) +* add TypeScript type definitions ([4cd5796](https://github.com/TownSquareXYZ/tonconnect-ui-vue/commit/4cd5796829a1e44d5266f0161c4853d792de1ecb)) +* use Symble key in provide / inject ([e3f5115](https://github.com/TownSquareXYZ/tonconnect-ui-vue/commit/e3f51155999d2699170a416909ed01db6c7b0dc2)) + + +### Bug Fixes + +* add vue-demi to external dependencies ([e83b1bd](https://github.com/TownSquareXYZ/tonconnect-ui-vue/commit/e83b1bd91e1f9aa404098de90d394548f6821bdf)) +* resolve issues with Vue 2.7 integration ([263dd91](https://github.com/TownSquareXYZ/tonconnect-ui-vue/commit/263dd917c77c3007c878eaef4882ea159b501619)) +* update injections components & watch options change ([e1f8be8](https://github.com/TownSquareXYZ/tonconnect-ui-vue/commit/e1f8be88dffabaa7c0a81ffe961b3c56ce66cc96)) +* useTonConnectUI().tonConnectUI is not typed ([2449bd8](https://github.com/TownSquareXYZ/tonconnect-ui-vue/commit/2449bd8027c235818f085bdce608edc9ba5ee3d6)) + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5747f44 --- /dev/null +++ b/LICENSE @@ -0,0 +1,204 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2024 Townsquare Labs + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Portions of this software are based on the work of Original Software Project: + Copyright 2022 tonkeeper diff --git a/OFFICIAL_SYNC.md b/OFFICIAL_SYNC.md new file mode 100644 index 0000000..dacf125 --- /dev/null +++ b/OFFICIAL_SYNC.md @@ -0,0 +1,36 @@ +# Sync with Official Releases + +We are committed to providing our users with a reliable and continuously optimized Kit, so we will keep in close sync with the official release, and whenever a new official version is released, we will quickly update it to ensure that our Kit will always include the latest features, fixes, and improvements. Additionally, we conduct regular compatibility tests and performance optimizations based on the official release cadence to ensure you get the best experience possible. Whether it's the introduction of new features or security enhancements, you can rest assured that you can rely on us to stay consistent and on the cutting edge with the official release. + +## process description + +1. get the latest npm version to compare + +2. if inconsistent, select the latest tag with version number to compare and get the patch file + a. get all tags + b. select the tags to compare + c. get the patch file + +3. parse patch and compare tonconnect react update content + +4. if only package.json version and tonconnect ui version have changed + +5. pull our package file and update these fields + a. pull the latest code + b. update package.json + +6. create a new branch and commit the changes + +7. merge the branch into main + +8. trigger github action to automatically update log and publish to npm + +9. after successful merge, remove the created branch + +10. if the patch contains more than just version updates, create an issue to be notified + a. if the patch contains other significant changes, create an issue on github to be notified about the updates + +11. if any request fails after step 3, create an issue, making sure there is only one issue per problem + + + ![Official_Sync_Process_Flowchart_image](./public/official_sync_process_flowchart.png) diff --git a/README.md b/README.md new file mode 100644 index 0000000..b60b311 --- /dev/null +++ b/README.md @@ -0,0 +1,436 @@ +# TON Connect UI Vue + +TonConnect UI Vue is a Vue UI kit for TonConnect SDK. Use it to connect your app to TON wallets via TonConnect protocol in Vue apps. + +If you don't use Vue for your app, take a look at [TonConnect UI](https://github.com/ton-connect/sdk/tree/main/packages/ui) and [TonConnect UI React](https://github.com/ton-connect/sdk/tree/main/packages/ui-react). + +If you want to use TonConnect on the server side, you should use the [TonConnect SDK](https://github.com/ton-connect/sdk/tree/main/packages/sdk). + +You can find more details and the protocol specification in the [docs](https://docs.ton.org/develop/dapps/ton-connect/overview). + +--- +## Features +- **TonConnect UI Integration**: Vue components and hooks for TON wallet connections. +- **Cross-version Compatibility**: Fully supports **Vue 2.7+** and **Vue 3** through `vue-demi`. +- **TypeScript Support**: Complete type definitions for enhanced development experience. +- **Flexible Configuration**: Extensive options for customizing behavior and appearance. +--- + +# Getting started + +[Latest API documentation](https://ton-connect.github.io/sdk/modules/_tonconnect_ui-vue.html) + +# Getting started + +## Installation with npm +`npm i @townsquarelabs/ui-vue` +## Installation with yarn +`yarn add @townsquarelabs/ui-vue` + +# Sync with Official Releases +This [OFFICIAL_SYNC.md](./OFFICIAL_SYNC.md) file describes how we synchronize with the official. + +# Usage + + +## Use TonConnectUIPlugin + +Use TonConnectUIPlugin before mounting the app. You can specify UI options using plugin options. +// todo + + +For Vue@2.7: +```ts +import Vue from 'vue' +import { TonConnectUIPlugin } from '@townsquarelabs/ui-vue' + +import App from './App.vue' + +Vue.use(TonConnectUIPlugin, { + manifestUrl: "https:///tonconnect-manifest.json" +}); + +new Vue({ + render: (h) => h(App) +}).$mount('#app') +``` + +For Vue@3: +```ts +import { createApp } from 'vue' +import { TonConnectUIPlugin } from '@townsquarelabs/ui-vue' + +import App from './App.vue' + +const app = createApp(App) +app + .use(TonConnectUIPlugin,{ manifestUrl: "https:///tonconnect-manifest.json" }) + .mount('#app') +``` + +## Add TonConnect Button +TonConnect Button is universal UI component for initializing connection. After wallet is connected it transforms to a wallet menu. +It is recommended to place it in the top right corner of your app. + +```vue + + + +``` + +You can add `buttonRootId` props to the button as well. +`` + + +## Use TonConnect UI hooks + +### useTonAddress +Use it to get user's current ton wallet address. Pass boolean parameter isUserFriendly to choose format of the address. If wallet is not connected hook will return empty string. + +```vue + + + +``` + +### useTonWallet +Use it to get user's current ton wallet. If wallet is not connected hook will return null. + +See all wallet's properties +// todo + + + +```vue + + + +``` + +### useTonConnectModal + +Use this hook to access the functions for opening and closing the modal window. The hook returns an object with the current modal state and methods to open and close the modal. + +```vue + + + +``` + +### useTonConnectUI +Use it to get access to the `TonConnectUI` instance and UI options updating function. + +[See more about TonConnectUI instance methods](https://github.com/ton-connect/sdk/tree/main/packages/ui#send-transaction) + +[See more about setOptions function](https://github.com/ton-connect/sdk/tree/main/packages/ui#change-options-if-needed) + + +```vue + + + +``` + +or + +```vue + +``` + +### useIsConnectionRestored +Indicates current status of the connection restoring process. +You can use it to detect when connection restoring process if finished. + +```vue + + + +``` + +## Add connect request parameters (ton_proof) +Use `tonConnectUI.setConnectRequestParameters` function to pass your connect request parameters. + +This function takes one parameter: + +Set state to 'loading' while you are waiting for the response from your backend. If user opens connect wallet modal at this moment, he will see a loader. +```ts +import { ref } from 'vue'; +import { useTonConnectUI } from '@townsquarelabs/ui-vue'; + +const {tonConnectUI} = useTonConnectUI(); + +tonConnectUI.setConnectRequestParameters({ + state: 'loading' +}); +``` + +or + +Set state to 'ready' and define `tonProof` value. Passed parameter will be applied to the connect request (QR and universal link). +```ts +import { ref } from 'vue'; +import { useTonConnectUI } from '@townsquarelabs/ui-vue'; + +const {tonConnectUI} = useTonConnectUI(); + +tonConnectUI.setConnectRequestParameters({ + state: 'ready', + value: { + tonProof: '' + } +}); +``` + +or + +Remove loader if it was enabled via `state: 'loading'` (e.g. you received an error instead of a response from your backend). Connect request will be created without any additional parameters. +```ts +import { ref } from 'vue'; +import { useTonConnectUI } from '@townsquarelabs/ui-vue'; + +const {tonConnectUI} = useTonConnectUI(); + +tonConnectUI.setConnectRequestParameters(null); +``` + + +You can call `tonConnectUI.setConnectRequestParameters` multiple times if your tonProof payload has bounded lifetime (e.g. you can refresh connect request parameters every 10 minutes). + + +```ts +import { ref } from 'vue'; +import { useTonConnectUI } from '@townsquarelabs/ui-vue'; + +const { tonConnectUI } = useTonConnectUI(); + +// enable ui loader +tonConnectUI.setConnectRequestParameters({ state: 'loading' }); + +// fetch you tonProofPayload from the backend +const tonProofPayload: string | null = await fetchTonProofPayloadFromBackend(); + +if (!tonProofPayload) { + // remove loader, connect request will be without any additional parameters + tonConnectUI.setConnectRequestParameters(null); +} else { + // add tonProof to the connect request + tonConnectUI.setConnectRequestParameters({ + state: "ready", + value: { tonProof: tonProofPayload } + }); +} + +``` + + +You can find `ton_proof` result in the `wallet` object when wallet will be connected: + +```ts +import { ref, onMounted } from 'vue'; +import { useTonConnectUI } from '@townsquarelabs/ui-vue'; + +const { tonConnectUI } = useTonConnectUI(); + +onMounted(() => + tonConnectUI.onStatusChange(wallet => { + if (wallet.connectItems?.tonProof && 'proof' in wallet.connectItems.tonProof) { + checkProofInYourBackend(wallet.connectItems.tonProof.proof, wallet.account); + } +})); +``` + +# Troubleshooting + +## Animations not working + +If you are experiencing issues with animations not working in your environment, it might be due to a lack of support for the Web Animations API. To resolve this issue, you can use the `web-animations-js` polyfill. + +### Using npm + +To install the polyfill, run the following command: + +```shell +npm install web-animations-js +``` + +Then, import the polyfill in your project: + +```typescript +import 'web-animations-js'; +``` + +### Using CDN + +Alternatively, you can include the polyfill via CDN by adding the following script tag to your HTML: + +```html + +``` + +Both methods will provide a fallback implementation of the Web Animations API and should resolve the animation issues you are facing. + +# Sync with Official Releases + +We are committed to providing our users with a reliable and continuously optimized Kit, so we will keep in close sync with the official release, and whenever a new official version is released, we will quickly update it to ensure that our Kit will always include the latest features, fixes, and improvements. Additionally, we conduct regular compatibility tests and performance optimizations based on the official release cadence to ensure you get the best experience possible. Whether it's the introduction of new features or security enhancements, you can rest assured that you can rely on us to stay consistent and on the cutting edge with the official release. + +## process description + +1. get the latest npm version to compare + +2. if inconsistent, select the latest tag with version number to compare and get the patch file + a. get all tags + b. select the tags to compare + c. get the patch file + +3. parse patch and compare tonconnect react update content + +4. if only package.json version and tonconnect ui version have changed + +5. pull our package file and update these fields + a. pull the latest code + b. update package.json + +6. create a new branch and commit the changes + +7. merge the branch into main + +8. trigger github action to automatically update log and publish to npm + +9. after successful merge, remove the created branch + +10. if the patch contains more than just version updates, create an issue to be notified + a. if the patch contains other significant changes, create an issue on github to be notified about the updates + +11. if any request fails after step 3, create an issue, making sure there is only one issue per problem + + + ![Official_Sync_Process_Flowchart_image](./public/official_sync_process_flowchart.png) diff --git a/index.html b/index.html new file mode 100644 index 0000000..3c5d418 --- /dev/null +++ b/index.html @@ -0,0 +1,29 @@ + + + + + + + Vite + Vue + TS + + +
+ + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..b023d37 --- /dev/null +++ b/package.json @@ -0,0 +1,102 @@ +{ + "name": "@townsquarelabs/ui-vue", + "private": false, + "version": "2.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "npx vue-demi-switch 3 && vite build", + "build:lib": "yarn build:lib:3 && yarn build:lib:2.7", + "build:lib:2.7": "npx vue-demi-switch 2 && vite build", + "build:lib:3": "npx vue-demi-switch 3 && vite build", + "preview": "vite preview", + "lint-fix": "eslint --fix --ext .ts,.vue src", + "lint": "eslint", + "prepare": "husky", + "security-audit": "npm audit && npm outdated", + "release": "standard-version" + }, + "publishConfig": { + "access": "public" + }, + "description": "TonConnect UI Vue is a Vue UI kit for TonConnect SDK. Use it to connect your app to TON wallets via TonConnect protocol in Vue apps.", + "repository": { + "type": "git", + "url": "git+https://github.com/TownSquareXYZ/tonconnect-ui-vue.git" + }, + "keywords": [ + "ton", + "townsquarexyz", + "TON", + "Wallet", + "ton-connect", + "tonconnect", + "Connect", + "Tonkeeper", + "sdk", + "UI", + "Vue" + ], + "author": "", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/TownSquareXYZ/tonconnect-ui-vue/issues" + }, + "homepage": "https://github.com/TownSquareXYZ/tonconnect-ui-vue#readme", + "files": [ + "lib", + "scripts" + ], + "main": "./lib/index.cjs", + "module": "./lib/index.mjs", + "types": "./lib/index.d.ts", + "exports": { + ".": { + "types": "./lib/index.d.ts", + "require": "./lib/index.cjs", + "import": "./lib/index.mjs", + "default": "./lib/index.cjs" + } + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^2.7.0 || >=3.0.0", + "vue-demi": "^0.14.8" + }, + "dependencies": { + "@tonconnect/ui": "2.0.10-beta.0" + }, + "devDependencies": { + "@types/node": "^18.19.7", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "@vitejs/plugin-legacy": "^5.2.0", + "@vitejs/plugin-vue": "^5.0.5", + "@vitejs/plugin-vue2": "^2.3.1", + "@vue-macros/volar": "^0.18.16", + "@vue/composition-api": "^1.7.2", + "autoprefixer": "^10.4.16", + "eslint": "^8.56.0", + "eslint-config-prettier": "^8.10.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-vue": "^9.20.1", + "husky": "^9.0.11", + "lint-staged": "^15.2.2", + "typescript": "^4.9.5", + "unplugin-vue-components": "^0.27.4", + "unplugin-vue-define-options": "^1.5.1", + "vite": "^5.0.11", + "vite-plugin-dts": "^4.2.1", + "vitest": "latest", + "vue": "^2.7.16", + "vue-demi": "^0.14.10", + "vue-eslint-parser": "^9.4.0", + "vue-tsc": "^0.39.5", + "standard-version": "^9.5.0" + }, + "lint-staged": { + "*.{vue,ts,tsx}": [ + "eslint --ext .ts,.vue src" + ] + } +} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..90d9fff --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {}, + }, +} diff --git a/public/official_sync_process_flowchart.png b/public/official_sync_process_flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..f829da2bdbdd2a92ff8b86d562ac47c3b9272c89 GIT binary patch literal 490027 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

82hn1SHRyP+d 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

i*~>3s(xc?WASG0W|2sb!A-x9o-w8J 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 literal 0 HcmV?d00001 diff --git a/rollup.config.mjs b/rollup.config.mjs new file mode 100644 index 0000000..a436d6e --- /dev/null +++ b/rollup.config.mjs @@ -0,0 +1,20 @@ +import vue from '@vitejs/plugin-vue2' +import typescript from '@rollup/plugin-typescript'; + +const config = [ + { + input: "./src/index.ts", + output: [{ file: "lib/index.d.ts", format: "es" }], + plugins: [ + vue(), + typescript({ + tsconfig: path.resolve(__dirname, 'tsconfig.json'), + // Ensure declaration files are generated + declaration: true, + declarationMap: true, + }), + ], + }, +]; + +export default config; \ No newline at end of file diff --git a/scripts/switch-cli.mjs b/scripts/switch-cli.mjs new file mode 100644 index 0000000..b5caf6c --- /dev/null +++ b/scripts/switch-cli.mjs @@ -0,0 +1,4 @@ +import { switchVersion } from './utils.mjs' + +const version = process.argv[2] +switchVersion(version) \ No newline at end of file diff --git a/scripts/utils.mjs b/scripts/utils.mjs new file mode 100644 index 0000000..81813db --- /dev/null +++ b/scripts/utils.mjs @@ -0,0 +1,46 @@ +import path from 'path' +import fs from 'fs' +import { fileURLToPath } from 'url' +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) + +function switchVersion(version) { + const src = getLibDir(version) + const dest = path.join(src, '..') + console.log(`[frontend-shared] switch lib to vue version ${version}`) + copyDir(src, dest) +} + +function getLibDir(version) { + const dirname = String(version).startsWith('2') ? 'vue2' : 'vue3' + return path.join(__dirname, `../lib/${dirname}`) +} + +function copyDir(src, dest) { + console.log(`copying from ${src} to ${dest}`) + // unlink for pnpm, #92 + try { + fs.unlinkSync(dest) + } catch (error) {} + try { + copyRecursiveSync(src, dest) + } catch (error) { + console.error(error) + } +} + +function copyRecursiveSync(src, dest) { + const exists = fs.existsSync(src) + const stats = exists && fs.statSync(src) + const isDirectory = stats && stats.isDirectory() + if (isDirectory) { + !fs.existsSync(dest) && fs.mkdirSync(dest) + fs.readdirSync(src).forEach((childItemName) => { + copyRecursiveSync(path.join(src, childItemName), path.join(dest, childItemName)) + }) + } else { + fs.copyFileSync(src, dest) + } +} + +export { getLibDir, copyDir, switchVersion } \ No newline at end of file diff --git a/src/components/TonConnectButton.vue b/src/components/TonConnectButton.vue new file mode 100644 index 0000000..8e569f5 --- /dev/null +++ b/src/components/TonConnectButton.vue @@ -0,0 +1,41 @@ + diff --git a/src/components/index.ts b/src/components/index.ts new file mode 100644 index 0000000..6c08d88 --- /dev/null +++ b/src/components/index.ts @@ -0,0 +1 @@ +export { default as TonConnectButton } from "./TonConnectButton.vue"; diff --git a/src/errors/index.ts b/src/errors/index.ts new file mode 100644 index 0000000..535d1b1 --- /dev/null +++ b/src/errors/index.ts @@ -0,0 +1,2 @@ +export { TonConnectProviderNotSetError } from './ton-connect-provider-not-set.error'; +export { TonConnectUIVueError } from './ton-connect-ui-vue.error'; diff --git a/src/errors/ton-connect-provider-not-set.error.ts b/src/errors/ton-connect-provider-not-set.error.ts new file mode 100644 index 0000000..ddcc10e --- /dev/null +++ b/src/errors/ton-connect-provider-not-set.error.ts @@ -0,0 +1,13 @@ +import { TonConnectUIVueError } from './ton-connect-ui-vue.error'; + +/** + * Thrown when either not added to the top of the tags tree, + * either there is an attempt using TonConnect UI hook or inside + */ +export class TonConnectProviderNotSetError extends TonConnectUIVueError { + constructor(...args: ConstructorParameters) { + super(...args); + + Object.setPrototypeOf(this, TonConnectProviderNotSetError.prototype); + } +} diff --git a/src/errors/ton-connect-ui-vue.error.ts b/src/errors/ton-connect-ui-vue.error.ts new file mode 100644 index 0000000..1f16da9 --- /dev/null +++ b/src/errors/ton-connect-ui-vue.error.ts @@ -0,0 +1,12 @@ +import { TonConnectUIError } from '@tonconnect/ui'; + +/** + * Base class for TonConnectUIReact errors. You can check if the error was triggered by the @tonconnect/ui-react using `err instanceof TonConnectUIReactError`. + */ +export class TonConnectUIVueError extends TonConnectUIError { + constructor(...args: ConstructorParameters) { + super(...args); + + Object.setPrototypeOf(this, TonConnectUIVueError.prototype); + } +} diff --git a/src/hooks/index.ts b/src/hooks/index.ts new file mode 100644 index 0000000..3eb38a3 --- /dev/null +++ b/src/hooks/index.ts @@ -0,0 +1,5 @@ +export { useTonAddress } from './useTonAddress'; +export { useTonConnectModal } from './useTonConnectModal'; +export { useTonConnectUI } from './useTonConnectUI'; +export { useTonWallet } from './useTonWallet'; +export { useIsConnectionRestored } from './useIsConnectionRestored'; \ No newline at end of file diff --git a/src/hooks/useIsConnectionRestored.ts b/src/hooks/useIsConnectionRestored.ts new file mode 100644 index 0000000..f92e012 --- /dev/null +++ b/src/hooks/useIsConnectionRestored.ts @@ -0,0 +1,17 @@ +import { ref, onMounted } from 'vue-demi'; +import { useTonConnectUI } from './useTonConnectUI'; + +export function useIsConnectionRestored() { + const restored = ref(false); + const { tonConnectUI } = useTonConnectUI(); + + onMounted(() => { + if (tonConnectUI) { + tonConnectUI.connectionRestored.then(() => { + restored.value = true; + }); + } + }); + + return restored; +} diff --git a/src/hooks/useTonAddress.ts b/src/hooks/useTonAddress.ts new file mode 100644 index 0000000..4872dfa --- /dev/null +++ b/src/hooks/useTonAddress.ts @@ -0,0 +1,22 @@ +import { computed } from 'vue-demi'; +import { CHAIN, toUserFriendlyAddress } from '@tonconnect/ui'; +import { useTonWallet } from './useTonWallet'; + +export function useTonAddress(userFriendly = true) { + const wallet = useTonWallet(); + + const tonAddress = computed(() => { + if (wallet.value) { + return userFriendly + ? toUserFriendlyAddress( + wallet.value.account.address, + wallet.value.account.chain === CHAIN.TESTNET + ) + : wallet.value.account.address; + } else { + return ''; + } + }); + + return tonAddress; +} \ No newline at end of file diff --git a/src/hooks/useTonConnectModal.ts b/src/hooks/useTonConnectModal.ts new file mode 100644 index 0000000..6d7df8e --- /dev/null +++ b/src/hooks/useTonConnectModal.ts @@ -0,0 +1,23 @@ +import { ref, onMounted } from 'vue-demi'; +import { useTonConnectUI } from './useTonConnectUI'; +import { WalletsModalState } from '@tonconnect/ui'; + +export function useTonConnectModal() { + const { tonConnectUI } = useTonConnectUI(); + const state = ref(tonConnectUI?.modal.state || null); + + onMounted(() => { + if (tonConnectUI) { + state.value = tonConnectUI.modal.state; + tonConnectUI.onModalStateChange((value: WalletsModalState) => { + state.value = value; + }); + } + }); + + return { + state: state, + open: () => tonConnectUI?.modal.open(), + close: () => tonConnectUI?.modal.close() + }; +} diff --git a/src/hooks/useTonConnectUI.ts b/src/hooks/useTonConnectUI.ts new file mode 100644 index 0000000..5b41a48 --- /dev/null +++ b/src/hooks/useTonConnectUI.ts @@ -0,0 +1,34 @@ +import { getCurrentInstance, isVue2 } from 'vue-demi'; +import { TonConnectUI, TonConnectUiOptions } from '@tonconnect/ui'; +import { checkProvider } from '../utils/errors'; +import { isServerSide } from '../utils/web'; + +export function useTonConnectUI() { + if (isServerSide()) { + return { + tonConnectUI: null as TonConnectUI | null, + setOptions: () => {}, + }; + } + + const instance = getCurrentInstance() as any; + const globalPropertiesMap = isVue2 ? instance?.proxy: instance?.appContext?.app.config.globalProperties + + const tonConnectUI = globalPropertiesMap?.$tonConnectUI as TonConnectUI | undefined; + + if (!tonConnectUI) { + throw new Error("TonConnect is not avaliable"); + } + + checkProvider(tonConnectUI); + + const setOptions = (options: TonConnectUiOptions) => { + tonConnectUI.uiOptions = options; + }; + + + return { + tonConnectUI, + setOptions, + }; +} diff --git a/src/hooks/useTonWallet.ts b/src/hooks/useTonWallet.ts new file mode 100644 index 0000000..46d5017 --- /dev/null +++ b/src/hooks/useTonWallet.ts @@ -0,0 +1,28 @@ +import { ref, onMounted, onUnmounted } from 'vue-demi'; +import { ConnectedWallet, Wallet, WalletInfoWithOpenMethod } from '@tonconnect/ui'; +import { useTonConnectUI } from './useTonConnectUI'; + +export function useTonWallet() { + const { tonConnectUI } = useTonConnectUI(); + const wallet = ref( + tonConnectUI?.wallet || null + ); + + const updateWallet = (value: ConnectedWallet | null) => { + wallet.value = value; + }; + + onMounted(() => { + if (tonConnectUI) { + wallet.value = tonConnectUI.wallet; + const unsubscribe = tonConnectUI.onStatusChange((value: ConnectedWallet | null) => { + updateWallet(value); + }); + onUnmounted(() => { + unsubscribe(); + }); + } + }); + + return wallet; +} diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..c99a6f6 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,4 @@ +export * from '@tonconnect/ui'; +export * from './library'; +export * from './plugin'; +export * from './types'; diff --git a/src/library.ts b/src/library.ts new file mode 100644 index 0000000..4154875 --- /dev/null +++ b/src/library.ts @@ -0,0 +1,3 @@ +export * from './components'; +export * from './errors'; +export * from './hooks'; \ No newline at end of file diff --git a/src/plugin.ts b/src/plugin.ts new file mode 100644 index 0000000..7557d94 --- /dev/null +++ b/src/plugin.ts @@ -0,0 +1,26 @@ +import { + isVue2, + shallowRef, + PluginObject, +} from "vue-demi"; +import { TonConnectUI } from "@tonconnect/ui"; +import { isClientSide } from "./utils/web"; +import { TonConnectUIProviderProps } from "./types"; + +export const TonConnectUIPlugin: PluginObject = { + install(app, options) { + const tonConnectUI = shallowRef(null); + + // Initialize TonConnectUI if on client side + if (isClientSide() && !tonConnectUI.value) { + tonConnectUI.value = new TonConnectUI(options || {}); + } + + if (isVue2) { + app.prototype.$tonConnectUI = tonConnectUI.value; + } else { + // @ts-expect-error + app.config.globalProperties.$tonConnectUI = tonConnectUI.value; + } + }, +}; diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..4ca75b5 --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,5 @@ +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} \ No newline at end of file diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..4d3e091 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,67 @@ +import { + ActionConfiguration, + Locales, + UIPreferences, + WalletsListConfiguration +} from '@tonconnect/ui'; +import type { ITonConnect } from '@tonconnect/ui'; + + +export type TonConnectUIProviderProps = Partial & + Partial; + +export interface TonConnectUIProviderPropsWithManifest { + /** + * Url to the [manifest]{@link https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest} with the Dapp metadata that will be displayed in the user's wallet. + * If not passed, manifest from `${window.location.origin}/tonconnect-manifest.json` will be taken. + */ + manifestUrl: string; +} + +export interface TonConnectUIProviderPropsWithConnector { + /** + * TonConnect instance. Can be helpful if you use custom ITonConnect implementation, or use both of @tonconnect/sdk and @tonconnect/ui in your app. + */ + connector: ITonConnect; +} + +export interface TonConnectUIProviderPropsBase { + /** + * Try to restore existing session and reconnect to the corresponding wallet. + * @default true. + */ + restoreConnection: boolean; + + /** + * Language for the phrases it the UI elements. + * @default system + */ + language: Locales; + + /** + * HTML element id to attach the modal window element. If not passed, `div#tc-widget-root` in the end of the will be added and used. + * @default `div#tc-widget-root`. + */ + widgetRootId: string; + + /** + * UI elements configuration. + */ + uiPreferences?: UIPreferences; + + /** + * Configuration for the wallets list in the connect wallet modal. + */ + walletsListConfiguration?: WalletsListConfiguration; + + /** + * Configuration for action-period (e.g. sendTransaction) UI elements: modals and notifications and wallet behaviour (return strategy). + */ + actionsConfiguration?: ActionConfiguration; + + /** + * Specifies whether the Android back button should be used to close modals and notifications on Android devices. + * @default true + */ + enableAndroidBackHandler?: boolean; +} diff --git a/src/utils/UIProvider.ts b/src/utils/UIProvider.ts new file mode 100644 index 0000000..44817da --- /dev/null +++ b/src/utils/UIProvider.ts @@ -0,0 +1,68 @@ + +import { + ActionConfiguration, + Locales, + UIPreferences, + WalletsListConfiguration +} from '@tonconnect/ui'; +import type { ITonConnect } from '@tonconnect/ui'; + + +export type TonConnectUIProviderProps = Partial & + Partial; + +export interface TonConnectUIProviderPropsWithManifest { + /** + * Url to the [manifest]{@link https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest} with the Dapp metadata that will be displayed in the user's wallet. + * If not passed, manifest from `${window.location.origin}/tonconnect-manifest.json` will be taken. + */ + manifestUrl: string; +} + +export interface TonConnectUIProviderPropsWithConnector { + /** + * TonConnect instance. Can be helpful if you use custom ITonConnect implementation, or use both of @tonconnect/sdk and @tonconnect/ui in your app. + */ + connector: ITonConnect; +} + +export interface TonConnectUIProviderPropsBase { + /** + * Try to restore existing session and reconnect to the corresponding wallet. + * @default true. + */ + restoreConnection: boolean; + + /** + * Language for the phrases it the UI elements. + * @default system + */ + language: Locales; + + /** + * HTML element id to attach the modal window element. If not passed, `div#tc-widget-root` in the end of the will be added and used. + * @default `div#tc-widget-root`. + */ + widgetRootId: string; + + /** + * UI elements configuration. + */ + uiPreferences?: UIPreferences; + + /** + * Configuration for the wallets list in the connect wallet modal. + */ + walletsListConfiguration?: WalletsListConfiguration; + + /** + * Configuration for action-period (e.g. sendTransaction) UI elements: modals and notifications and wallet behaviour (return strategy). + */ + actionsConfiguration?: ActionConfiguration; + + /** + * Specifies whether the Android back button should be used to close modals and notifications on Android devices. + * @default true + */ + enableAndroidBackHandler?: boolean; +} diff --git a/src/utils/errors.ts b/src/utils/errors.ts new file mode 100644 index 0000000..32e4986 --- /dev/null +++ b/src/utils/errors.ts @@ -0,0 +1,12 @@ +import { TonConnectUI } from '@tonconnect/ui'; +import { TonConnectProviderNotSetError } from '../errors/ton-connect-provider-not-set.error'; + +export function checkProvider(provider: TonConnectUI | null): provider is TonConnectUI { + if (!provider) { + throw new TonConnectProviderNotSetError( + 'You should add on the top of the app to use TonConnect' + ); + } + + return true; +} diff --git a/src/utils/web.ts b/src/utils/web.ts new file mode 100644 index 0000000..06d45b0 --- /dev/null +++ b/src/utils/web.ts @@ -0,0 +1,7 @@ +export function isClientSide(): boolean { + return typeof window !== 'undefined'; +} + +export function isServerSide(): boolean { + return !isClientSide(); +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e8ffb2a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,41 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "noLib": false, + "forceConsistentCasingInFileNames": true, + "allowSyntheticDefaultImports": true, + "strictFunctionTypes": false, + "jsx": "preserve", + "baseUrl": ".", + "allowJs": true, + "sourceMap": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "experimentalDecorators": true, + "lib": ["dom", "esnext"], + "noImplicitAny": false, + "skipLibCheck": true, + "typeRoots": ["./node_modules/@types/", "./types", "./node_modules"], + "types": ["vite/client", "node", "unplugin-vue-define-options/macros-global"], + "removeComments": true, + "paths": { + "/@/*": ["src/*"] + }, + }, + "include": [ + // "tests/**/*.ts", + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.tsx", + "src/**/*.vue", + // "types/**/*.d.ts", + // "types/**/*.ts", + // "vite.config.ts" + ], + "exclude": ["node_modules", "dist", "**/*.js"] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..9d31e2a --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..24bad6b --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,55 @@ +import { defineConfig } from "vite"; +import vue2 from "@vitejs/plugin-vue2"; +import vue3 from "@vitejs/plugin-vue"; +import path from "path"; +import dts from "vite-plugin-dts"; +import { isVue2 } from "vue-demi"; +import * as compiler from "@vue/compiler-sfc"; + +export default defineConfig({ + plugins: [ + isVue2 + ? vue2() + : vue3({ + compiler: compiler as any, + }), + dts({ + insertTypesEntry: true, + }), + ], + optimizeDeps: { + exclude: ["csstype", "vue-demi"], + }, + build: { + target: "es2018", + outDir: 'lib', + emptyOutDir: true, + minify: false, + sourcemap: false, + lib: { + formats: ["es", "cjs"], + entry: path.resolve("src/index.ts"), + name: "@townsquarelabs/ui-vue", + fileName: (format) => { + switch (format) { + case "es": + return "index.mjs"; + case "cjs": + return "index.cjs"; + default: + throw new Error("Unknown format"); + } + }, + }, + rollupOptions: { + external: ["vue", "@tonconnect/ui", "vue-demi"], + output: { + globals: { + vue: "Vue", + "@tonconnect/ui": "TON_CONNECT_UI", + "vue-demi": "VueDemi", + }, + }, + }, + }, +}); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..edb622a --- /dev/null +++ b/yarn.lock @@ -0,0 +1,5429 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@antfu/utils@^0.7.10": + version "0.7.10" + resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.7.10.tgz#ae829f170158e297a9b6a28f161a8e487d00814d" + integrity sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww== + +"@babel/code-frame@^7.0.0": + version "7.26.2" + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" + integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== + +"@babel/core@^7.23.9": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz" + integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.24.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.23.0", "@babel/helper-member-expression-to-functions@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz" + integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + +"@babel/helper-module-transforms@^7.23.3", "@babel/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz" + integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== + dependencies: + "@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/helper-simple-access@^7.22.5", "@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== + +"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz" + integrity sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw== + dependencies: + "@babel/helper-function-name" "^7.23.0" + "@babel/template" "^7.24.0" + "@babel/types" "^7.24.5" + +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + +"@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.23.5", "@babel/parser@^7.25.3": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== + dependencies: + "@babel/types" "^7.25.6" + +"@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz" + integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz" + integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz" + integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz" + integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz" + integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-attributes@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz" + integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz" + integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-async-generator-functions@^7.24.3": + version "7.24.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz" + integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz" + integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== + dependencies: + "@babel/helper-module-imports" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz" + integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-block-scoping@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz" + integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-class-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz" + integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-class-static-block@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz" + integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz" + integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== + dependencies: + "@babel/helper-annotate-as-pure" "^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-plugin-utils" "^7.24.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-split-export-declaration" "^7.24.5" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz" + integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/template" "^7.24.0" + +"@babel/plugin-transform-destructuring@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz" + integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-dotall-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz" + integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-duplicate-keys@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz" + integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-dynamic-import@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz" + integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz" + integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-export-namespace-from@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz" + integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz" + integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz" + integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-json-strings@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz" + integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz" + integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-logical-assignment-operators@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz" + integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz" + integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-amd@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz" + integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-commonjs@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz" + integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz" + integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz" + integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz" + integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz" + integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz" + integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz" + integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.24.5" + +"@babel/plugin-transform-object-super@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz" + integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" + +"@babel/plugin-transform-optional-catch-binding@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz" + integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz" + integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz" + integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-private-methods@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz" + integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-private-property-in-object@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz" + integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz" + integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-regenerator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz" + integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz" + integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-shorthand-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz" + integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz" + integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz" + integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-template-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz" + integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-typeof-symbol@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz" + integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-unicode-escapes@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz" + integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-property-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz" + integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz" + integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-sets-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz" + integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/preset-env@^7.23.9": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz" + integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== + dependencies: + "@babel/compat-data" "^7.24.4" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.24.1" + "@babel/plugin-syntax-import-attributes" "^7.24.1" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.24.1" + "@babel/plugin-transform-async-generator-functions" "^7.24.3" + "@babel/plugin-transform-async-to-generator" "^7.24.1" + "@babel/plugin-transform-block-scoped-functions" "^7.24.1" + "@babel/plugin-transform-block-scoping" "^7.24.5" + "@babel/plugin-transform-class-properties" "^7.24.1" + "@babel/plugin-transform-class-static-block" "^7.24.4" + "@babel/plugin-transform-classes" "^7.24.5" + "@babel/plugin-transform-computed-properties" "^7.24.1" + "@babel/plugin-transform-destructuring" "^7.24.5" + "@babel/plugin-transform-dotall-regex" "^7.24.1" + "@babel/plugin-transform-duplicate-keys" "^7.24.1" + "@babel/plugin-transform-dynamic-import" "^7.24.1" + "@babel/plugin-transform-exponentiation-operator" "^7.24.1" + "@babel/plugin-transform-export-namespace-from" "^7.24.1" + "@babel/plugin-transform-for-of" "^7.24.1" + "@babel/plugin-transform-function-name" "^7.24.1" + "@babel/plugin-transform-json-strings" "^7.24.1" + "@babel/plugin-transform-literals" "^7.24.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" + "@babel/plugin-transform-member-expression-literals" "^7.24.1" + "@babel/plugin-transform-modules-amd" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-modules-systemjs" "^7.24.1" + "@babel/plugin-transform-modules-umd" "^7.24.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.24.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" + "@babel/plugin-transform-numeric-separator" "^7.24.1" + "@babel/plugin-transform-object-rest-spread" "^7.24.5" + "@babel/plugin-transform-object-super" "^7.24.1" + "@babel/plugin-transform-optional-catch-binding" "^7.24.1" + "@babel/plugin-transform-optional-chaining" "^7.24.5" + "@babel/plugin-transform-parameters" "^7.24.5" + "@babel/plugin-transform-private-methods" "^7.24.1" + "@babel/plugin-transform-private-property-in-object" "^7.24.5" + "@babel/plugin-transform-property-literals" "^7.24.1" + "@babel/plugin-transform-regenerator" "^7.24.1" + "@babel/plugin-transform-reserved-words" "^7.24.1" + "@babel/plugin-transform-shorthand-properties" "^7.24.1" + "@babel/plugin-transform-spread" "^7.24.1" + "@babel/plugin-transform-sticky-regex" "^7.24.1" + "@babel/plugin-transform-template-literals" "^7.24.1" + "@babel/plugin-transform-typeof-symbol" "^7.24.5" + "@babel/plugin-transform-unicode-escapes" "^7.24.1" + "@babel/plugin-transform-unicode-property-regex" "^7.24.1" + "@babel/plugin-transform-unicode-regex" "^7.24.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.8.4": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz" + integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== + dependencies: + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.4.4": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + +"@babel/types@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== + dependencies: + "@babel/helper-string-parser" "^7.24.8" + "@babel/helper-validator-identifier" "^7.24.7" + to-fast-properties "^2.0.0" + +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + +"@esbuild/darwin-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" + integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== + +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== + +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + +"@hutson/parse-repository-url@^3.0.0": + version "3.0.2" + resolved "https://registry.npmmirror.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@microsoft/api-extractor-model@7.29.6": + version "7.29.6" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.29.6.tgz#e5941514502049b06ca9af21e2096f8f1ad5a01b" + integrity sha512-gC0KGtrZvxzf/Rt9oMYD2dHvtN/1KPEYsrQPyMKhLHnlVuO/f4AFN3E4toqZzD2pt4LhkKoYmL2H9tX3yCOyRw== + dependencies: + "@microsoft/tsdoc" "~0.15.0" + "@microsoft/tsdoc-config" "~0.17.0" + "@rushstack/node-core-library" "5.7.0" + +"@microsoft/api-extractor@7.47.7": + version "7.47.7" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.47.7.tgz#3bc4450fe46c265bef857ab938aa15b9fc7a85de" + integrity sha512-fNiD3G55ZJGhPOBPMKD/enozj8yxJSYyVJWxRWdcUtw842rvthDHJgUWq9gXQTensFlMHv2wGuCjjivPv53j0A== + dependencies: + "@microsoft/api-extractor-model" "7.29.6" + "@microsoft/tsdoc" "~0.15.0" + "@microsoft/tsdoc-config" "~0.17.0" + "@rushstack/node-core-library" "5.7.0" + "@rushstack/rig-package" "0.5.3" + "@rushstack/terminal" "0.14.0" + "@rushstack/ts-command-line" "4.22.6" + lodash "~4.17.15" + minimatch "~3.0.3" + resolve "~1.22.1" + semver "~7.5.4" + source-map "~0.6.1" + typescript "5.4.2" + +"@microsoft/tsdoc-config@~0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.17.0.tgz#82605152b3c1d3f5cd4a11697bc298437484d55d" + integrity sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg== + dependencies: + "@microsoft/tsdoc" "0.15.0" + ajv "~8.12.0" + jju "~1.4.0" + resolve "~1.22.2" + +"@microsoft/tsdoc@0.15.0", "@microsoft/tsdoc@~0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz#f29a55df17cb6e87cfbabce33ff6a14a9f85076d" + integrity sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@rollup/pluginutils@^5.1.0": + version "5.1.0" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz" + integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@rollup/rollup-android-arm-eabi@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz#1a32112822660ee104c5dd3a7c595e26100d4c2d" + integrity sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ== + +"@rollup/rollup-android-arm-eabi@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz#155c7d82c1b36c3ad84d9adf9b3cd520cba81a0f" + integrity sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg== + +"@rollup/rollup-android-arm64@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz#5aeef206d65ff4db423f3a93f71af91b28662c5b" + integrity sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw== + +"@rollup/rollup-android-arm64@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz#b94b6fa002bd94a9cbd8f9e47e23b25e5bd113ba" + integrity sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g== + +"@rollup/rollup-darwin-arm64@4.17.2": + version "4.17.2" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz" + integrity sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw== + +"@rollup/rollup-darwin-arm64@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz#0934126cf9cbeadfe0eb7471ab5d1517e8cd8dcc" + integrity sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ== + +"@rollup/rollup-darwin-x64@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz#f64fc51ed12b19f883131ccbcea59fc68cbd6c0b" + integrity sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ== + +"@rollup/rollup-darwin-x64@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz#0ce8e1e0f349778938c7c90e4bdc730640e0a13e" + integrity sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA== + +"@rollup/rollup-linux-arm-gnueabihf@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz#1a7641111be67c10111f7122d1e375d1226cbf14" + integrity sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A== + +"@rollup/rollup-linux-arm-gnueabihf@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz#5669d34775ad5d71e4f29ade99d0ff4df523afb6" + integrity sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g== + +"@rollup/rollup-linux-arm-musleabihf@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz#c93fd632923e0fee25aacd2ae414288d0b7455bb" + integrity sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg== + +"@rollup/rollup-linux-arm-musleabihf@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz#f6d1a0e1da4061370cb2f4244fbdd727c806dd88" + integrity sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA== + +"@rollup/rollup-linux-arm64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz#fa531425dd21d058a630947527b4612d9d0b4a4a" + integrity sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A== + +"@rollup/rollup-linux-arm64-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz#ed96a05e99743dee4d23cc4913fc6e01a0089c88" + integrity sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw== + +"@rollup/rollup-linux-arm64-musl@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz#8acc16f095ceea5854caf7b07e73f7d1802ac5af" + integrity sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA== + +"@rollup/rollup-linux-arm64-musl@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz#057ea26eaa7e537a06ded617d23d57eab3cecb58" + integrity sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ== + +"@rollup/rollup-linux-powerpc64le-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz#94e69a8499b5cf368911b83a44bb230782aeb571" + integrity sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ== + +"@rollup/rollup-linux-powerpc64le-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz#6e6e1f9404c9bf3fbd7d51cd11cd288a9a2843aa" + integrity sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw== + +"@rollup/rollup-linux-riscv64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz#7ef1c781c7e59e85a6ce261cc95d7f1e0b56db0f" + integrity sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg== + +"@rollup/rollup-linux-riscv64-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz#eef1536a53f6e6658a2a778130e6b1a4a41cb439" + integrity sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ== + +"@rollup/rollup-linux-s390x-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz#f15775841c3232fca9b78cd25a7a0512c694b354" + integrity sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g== + +"@rollup/rollup-linux-s390x-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz#2b28fb89ca084efaf8086f435025d96b4a966957" + integrity sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg== + +"@rollup/rollup-linux-x64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz#b521d271798d037ad70c9f85dd97d25f8a52e811" + integrity sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ== + +"@rollup/rollup-linux-x64-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz#5226cde6c6b495b04a3392c1d2c572844e42f06b" + integrity sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g== + +"@rollup/rollup-linux-x64-musl@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz#9254019cc4baac35800991315d133cc9fd1bf385" + integrity sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q== + +"@rollup/rollup-linux-x64-musl@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz#2c2412982e6c2a00a2ecac6d548ebb02f0aa6ca4" + integrity sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg== + +"@rollup/rollup-win32-arm64-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz#27f65a89f6f52ee9426ec11e3571038e4671790f" + integrity sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA== + +"@rollup/rollup-win32-arm64-msvc@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz#fbb6ef5379199e2ec0103ef32877b0985c773a55" + integrity sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q== + +"@rollup/rollup-win32-ia32-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz#a2fbf8246ed0bb014f078ca34ae6b377a90cb411" + integrity sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ== + +"@rollup/rollup-win32-ia32-msvc@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz#d50e2082e147e24d87fe34abbf6246525ec3845a" + integrity sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA== + +"@rollup/rollup-win32-x64-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz#5a2d08b81e8064b34242d5cc9973ef8dd1e60503" + integrity sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w== + +"@rollup/rollup-win32-x64-msvc@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz#4115233aa1bd5a2060214f96d8511f6247093212" + integrity sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA== + +"@rushstack/node-core-library@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-5.7.0.tgz#f28699c7d0b3de0120a207f8b9d5bd7c69806e18" + integrity sha512-Ff9Cz/YlWu9ce4dmqNBZpA45AEya04XaBFIjV7xTVeEf+y/kTjEasmozqFELXlNG4ROdevss75JrrZ5WgufDkQ== + dependencies: + ajv "~8.13.0" + ajv-draft-04 "~1.0.0" + ajv-formats "~3.0.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.22.1" + semver "~7.5.4" + +"@rushstack/rig-package@0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.5.3.tgz#ea4d8a3458540b1295500149c04e645f23134e5d" + integrity sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow== + dependencies: + resolve "~1.22.1" + strip-json-comments "~3.1.1" + +"@rushstack/terminal@0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@rushstack/terminal/-/terminal-0.14.0.tgz#967ecc586d7172204353059f8fdb1760666e9381" + integrity sha512-juTKMAMpTIJKudeFkG5slD8Z/LHwNwGZLtU441l/u82XdTBfsP+LbGKJLCNwP5se+DMCT55GB8x9p6+C4UL7jw== + dependencies: + "@rushstack/node-core-library" "5.7.0" + supports-color "~8.1.1" + +"@rushstack/ts-command-line@4.22.6": + version "4.22.6" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.22.6.tgz#2aee4fc98c6043c026ce278880fbffb5227de5ca" + integrity sha512-QSRqHT/IfoC5nk9zn6+fgyqOPXHME0BfchII9EUPR19pocsNp/xSbeBCbD3PIR2Lg+Q5qk7OFqk1VhWPMdKHJg== + dependencies: + "@rushstack/terminal" "0.14.0" + "@types/argparse" "1.0.38" + argparse "~1.0.9" + string-argv "~0.3.1" + +"@tonconnect/isomorphic-eventsource@^0.0.2": + version "0.0.2" + resolved "https://registry.npmjs.org/@tonconnect/isomorphic-eventsource/-/isomorphic-eventsource-0.0.2.tgz" + integrity sha512-B4UoIjPi0QkvIzZH5fV3BQLWrqSYABdrzZQSI9sJA9aA+iC0ohOzFwVVGXanlxeDAy1bcvPbb29f6sVUk0UnnQ== + dependencies: + eventsource "^2.0.2" + +"@tonconnect/isomorphic-fetch@^0.0.3": + version "0.0.3" + resolved "https://registry.npmjs.org/@tonconnect/isomorphic-fetch/-/isomorphic-fetch-0.0.3.tgz" + integrity sha512-jIg5nTrDwnite4fXao3dD83eCpTvInTjZon/rZZrIftIegh4XxyVb5G2mpMqXrVGk1e8SVXm3Kj5OtfMplQs0w== + dependencies: + node-fetch "^2.6.9" + +"@tonconnect/protocol@^2.2.6": + version "2.2.6" + resolved "https://registry.npmjs.org/@tonconnect/protocol/-/protocol-2.2.6.tgz" + integrity sha512-kyoDz5EqgsycYP+A+JbVsAUYHNT059BCrK+m0pqxykMODwpziuSAXfwAZmHcg8v7NB9VKYbdFY55xKeXOuEd0w== + dependencies: + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + +"@tonconnect/sdk@3.0.5": + version "3.0.5" + resolved "https://registry.npmmirror.com/@tonconnect/sdk/-/sdk-3.0.5.tgz#08a202bdc8ea897c37221fd69925c35cd2106323" + integrity sha512-ow0qnN4s3iQ/r2uXobZ7YzdQBtan/36CgCT9IP35G07g38UxsUXwzw8ANmJTDj/JPiQcIKuYBMfIwIX9zLM0wg== + dependencies: + "@tonconnect/isomorphic-eventsource" "^0.0.2" + "@tonconnect/isomorphic-fetch" "^0.0.3" + "@tonconnect/protocol" "^2.2.6" + +"@tonconnect/ui@2.0.10-beta.0": + version "2.0.10-beta.0" + resolved "https://registry.npmmirror.com/@tonconnect/ui/-/ui-2.0.10-beta.0.tgz#5f1586795db5bf9f7a286d3b2fb92910b5510dea" + integrity sha512-epD/ATgwQ3inCY2adVEIgwCtOuM6F2CPhXbrRl1hQggnCGsbqYAz6gSD4sxkV0BInPpo/utSwlExpNpHMB1GLA== + dependencies: + "@tonconnect/sdk" "3.0.5" + classnames "^2.3.2" + csstype "^3.1.1" + deepmerge "^4.2.2" + ua-parser-js "^1.0.35" + +"@types/argparse@1.0.38": + version "1.0.38" + resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + +"@types/estree@1.0.5", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/minimist@^1.2.0": + version "1.2.5" + resolved "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/node@^18.19.7": + version "18.19.31" + resolved "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz" + integrity sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA== + dependencies: + undici-types "~5.26.4" + +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + +"@types/semver@^7.3.12": + version "7.5.8" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@typescript-eslint/eslint-plugin@^5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@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.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@vitejs/plugin-legacy@^5.2.0": + version "5.3.2" + resolved "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-5.3.2.tgz" + integrity sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg== + dependencies: + "@babel/core" "^7.23.9" + "@babel/preset-env" "^7.23.9" + browserslist "^4.23.0" + browserslist-to-esbuild "^2.1.1" + core-js "^3.36.0" + magic-string "^0.30.7" + regenerator-runtime "^0.14.1" + systemjs "^6.14.3" + +"@vitejs/plugin-vue2@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue2/-/plugin-vue2-2.3.1.tgz#53078d3d9d50d9863f1fbb1c1ef7791a5fcd4948" + integrity sha512-/ksaaz2SRLN11JQhLdEUhDzOn909WEk99q9t9w+N12GjQCljzv7GyvAbD/p20aBUjHkvpGOoQ+FCOkG+mjDF4A== + +"@vitejs/plugin-vue@^5.0.5": + version "5.0.5" + resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz#e3dc11e427d4b818b7e3202766ad156e3d5e2eaa" + integrity sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ== + +"@vitest/expect@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-2.1.1.tgz#907137a86246c5328929d796d741c4e95d1ee19d" + integrity sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w== + dependencies: + "@vitest/spy" "2.1.1" + "@vitest/utils" "2.1.1" + chai "^5.1.1" + tinyrainbow "^1.2.0" + +"@vitest/mocker@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-2.1.1.tgz#3e37c80ac267318d4aa03c5073a017d148dc8e67" + integrity sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA== + dependencies: + "@vitest/spy" "^2.1.0-beta.1" + estree-walker "^3.0.3" + magic-string "^0.30.11" + +"@vitest/pretty-format@2.1.1", "@vitest/pretty-format@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.1.1.tgz#fea25dd4e88c3c1329fbccd1d16b1d607eb40067" + integrity sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ== + dependencies: + tinyrainbow "^1.2.0" + +"@vitest/runner@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-2.1.1.tgz#f3b1fbc3c109fc44e2cceecc881344453f275559" + integrity sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA== + dependencies: + "@vitest/utils" "2.1.1" + pathe "^1.1.2" + +"@vitest/snapshot@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-2.1.1.tgz#38ef23104e90231fea5540754a19d8468afbba66" + integrity sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw== + dependencies: + "@vitest/pretty-format" "2.1.1" + magic-string "^0.30.11" + pathe "^1.1.2" + +"@vitest/spy@2.1.1", "@vitest/spy@^2.1.0-beta.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-2.1.1.tgz#20891f7421a994256ea0d739ed72f05532c78488" + integrity sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g== + dependencies: + tinyspy "^3.0.0" + +"@vitest/utils@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.1.1.tgz#284d016449ecb4f8704d198d049fde8360cc136e" + integrity sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ== + dependencies: + "@vitest/pretty-format" "2.1.1" + loupe "^3.1.1" + tinyrainbow "^1.2.0" + +"@volar/code-gen@0.39.5": + version "0.39.5" + resolved "https://registry.yarnpkg.com/@volar/code-gen/-/code-gen-0.39.5.tgz#971aad44cf9cfaf047c39dbc495ac061c66989da" + integrity sha512-vQr5VoCH8T2NHmqLc/AA1/4F8l41WB+24+I+VjxBaev/Hmwjye9K0GlmMHAOl84WB3hWGOqpHaPX6JkqzRNjJg== + dependencies: + "@volar/source-map" "0.39.5" + +"@volar/language-core@2.4.5", "@volar/language-core@~2.4.1": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-2.4.5.tgz#af8ba724b05fc4dce2339c49662e732e9c22c897" + integrity sha512-F4tA0DCO5Q1F5mScHmca0umsi2ufKULAnMOVBfMsZdT4myhVl4WdKRwCaKcfOkIEuyrAVvtq1ESBdZ+rSyLVww== + dependencies: + "@volar/source-map" "2.4.5" + +"@volar/language-core@~1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.11.1.tgz#ecdf12ea8dc35fb8549e517991abcbf449a5ad4f" + integrity sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw== + dependencies: + "@volar/source-map" "1.11.1" + +"@volar/source-map@0.39.5": + version "0.39.5" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-0.39.5.tgz#0ee7308f718bc0fb280c22f3252968d04750fac6" + integrity sha512-IVOX+v++Sr5Kok4/cLbDJp2vf1ia1rChpV7adgcnMle6uORBuGFEur234UzamK0iHRCcfFFRz7z+hSPf2CO23Q== + +"@volar/source-map@1.11.1", "@volar/source-map@~1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.11.1.tgz#535b0328d9e2b7a91dff846cab4058e191f4452f" + integrity sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg== + dependencies: + muggle-string "^0.3.1" + +"@volar/source-map@2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-2.4.5.tgz#81223a06321aaa067b40619189b44a9f0b7ac2d8" + integrity sha512-varwD7RaKE2J/Z+Zu6j3mNNJbNT394qIxXwdvz/4ao/vxOfyClZpSDtLKkwWmecinkOVos5+PWkWraelfMLfpw== + +"@volar/typescript-faster@0.39.5": + version "0.39.5" + resolved "https://registry.yarnpkg.com/@volar/typescript-faster/-/typescript-faster-0.39.5.tgz#433b1d8caa981f6e5ff1ccc6fde4a1bdb9b25db8" + integrity sha512-IzLqlxefmKkjNKXC/8aFiqPcTqnj6RG31D2f9cIWxmW9pvUYJxLED+y9phnOxNxq0OmeRtQ3Pfmvu85tUBoZsQ== + dependencies: + semver "^7.3.7" + +"@volar/typescript@^2.4.4": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-2.4.5.tgz#1210c1e8561ac20af46348ceaf8e6e96c797063f" + integrity sha512-mcT1mHvLljAEtHviVcBuOyAwwMKz1ibXTi5uYtP/pf4XxoAzpdkQ+Br2IC0NPCvLCbjPZmbf3I0udndkfB1CDg== + dependencies: + "@volar/language-core" "2.4.5" + path-browserify "^1.0.1" + vscode-uri "^3.0.8" + +"@volar/vue-code-gen@0.39.5": + version "0.39.5" + resolved "https://registry.yarnpkg.com/@volar/vue-code-gen/-/vue-code-gen-0.39.5.tgz#b16e52de668bd465e3b74a5785dda712979a1bcc" + integrity sha512-y+QUV9MuuasiIuRoGKQl+gMhDaAX6XNhckAyJCvD1FZ8f2eJuPY2VtoFxmu/Z2bGWBdtUW/g98jaeKJ+j3wwOw== + dependencies: + "@volar/code-gen" "0.39.5" + "@volar/source-map" "0.39.5" + "@vue/compiler-core" "^3.2.37" + "@vue/compiler-dom" "^3.2.37" + "@vue/shared" "^3.2.37" + +"@volar/vue-language-core@0.39.5": + version "0.39.5" + resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-0.39.5.tgz#9f4d83c452f6d5a1a67b3cf2e95e0b456e86549c" + integrity sha512-m+e1tYuL/WRPhSeC7hZ0NuSwHsfnnGJVxCBHLaP7jR0f6xcC0DAegP3QF+gfu9ZJFPGznpZYFKadngMjuhQS9Q== + dependencies: + "@volar/code-gen" "0.39.5" + "@volar/source-map" "0.39.5" + "@volar/vue-code-gen" "0.39.5" + "@vue/compiler-sfc" "^3.2.37" + "@vue/reactivity" "^3.2.37" + +"@volar/vue-typescript@0.39.5": + version "0.39.5" + resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-0.39.5.tgz#3c57befd4c996fef8df70d171ba531871f215535" + integrity sha512-ckhWD1xOi0OMr702XVkv/Npsb9FKAp5gvhxyLv0QqWekPdSo04t4KrZfwosJLGERIEcyr50SuB7HqBp8ndQmzA== + dependencies: + "@volar/code-gen" "0.39.5" + "@volar/typescript-faster" "0.39.5" + "@volar/vue-language-core" "0.39.5" + +"@vue-macros/common@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@vue-macros/common/-/common-1.10.2.tgz#4c886082cfd94de2fb16e8e1df99d141873450e7" + integrity sha512-WC66NPVh2mJWqm4L0l/u/cOqm4pNOIwVdMGnDYAH2rHcOWy5x68GkhpkYTBu1+xwCSeHWOQn1TCGGbD+98fFpA== + dependencies: + "@babel/types" "^7.24.0" + "@rollup/pluginutils" "^5.1.0" + "@vue/compiler-sfc" "^3.4.21" + ast-kit "^0.12.1" + local-pkg "^0.5.0" + magic-string-ast "^0.3.0" + +"@vue-macros/common@1.14.0": + version "1.14.0" + resolved "https://registry.yarnpkg.com/@vue-macros/common/-/common-1.14.0.tgz#c4b94fdb49aaacc72885989f2d739734476d1296" + integrity sha512-xwQhDoEXRNXobNQmdqOD20yUGdVLVLZe4zhDlT9q/E+z+mvT3wukaAoJG80XRnv/BcgOOCVpxqpkQZ3sNTgjWA== + dependencies: + "@babel/types" "^7.25.6" + "@rollup/pluginutils" "^5.1.0" + "@vue/compiler-sfc" "^3.5.4" + ast-kit "^1.1.0" + local-pkg "^0.5.0" + magic-string-ast "^0.6.2" + +"@vue-macros/define-props@2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@vue-macros/define-props/-/define-props-2.0.4.tgz#5dfe40f60627604510b010deb932dae15765ef91" + integrity sha512-opifxLT9yF+A/bEfEpuFxNcAMPEmnPv/ewlCDmOH8VX+CBnlWbDqY0n0LcimPGRTYkRDAkNBHRRQulxNfRXNpw== + dependencies: + "@vue-macros/common" "1.10.2" + unplugin "^1.10.0" + +"@vue-macros/short-bind@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@vue-macros/short-bind/-/short-bind-0.2.3.tgz#bb8cb7570e1dbd93c1769bf7eb3b6e900dd71015" + integrity sha512-3QwHQQDVNpsWh36/q4sB5QmGGedwIZUmL2rvQ8YQD6EA455samG0r2zB9Q6Z7DA8+qk6TjpmkvltubDY9TWtEQ== + dependencies: + "@vue-macros/common" "1.10.2" + "@vue/compiler-core" "^3.4.21" + +"@vue-macros/short-vmodel@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@vue-macros/short-vmodel/-/short-vmodel-1.4.3.tgz#9c6ea87a32ce5d802906f61aa3f9a70f7cc7cc25" + integrity sha512-ZQph4GuKl4kEXtzGDddqSgfykAZ9cT7tu14G4K3ZGJ8wsLmhuLGWfFL596UVg5zfVyMWuC/SbTmR8UEp/eMPJA== + dependencies: + "@vue-macros/common" "1.10.2" + "@vue/compiler-core" "^3.4.21" + +"@vue-macros/volar@^0.18.16": + version "0.18.18" + resolved "https://registry.yarnpkg.com/@vue-macros/volar/-/volar-0.18.18.tgz#fcea936351410645d677c56baeca5c083c75a0c2" + integrity sha512-oDY085pdFMGG/mnJH6z4pFKdlVjp/3vqBbIzDUMDGysqizmpb6r6ly1RXO3/pfGaN9iCvMiwhx/dbYkg/LHpNA== + dependencies: + "@rollup/pluginutils" "^5.1.0" + "@vue-macros/common" "1.10.2" + "@vue-macros/define-props" "2.0.4" + "@vue-macros/short-bind" "0.2.3" + "@vue-macros/short-vmodel" "1.4.3" + "@vue/language-core" "1.8.27" + "@vue/shared" "^3.4.21" + +"@vue/compiler-core@3.5.6", "@vue/compiler-core@^3.2.37", "@vue/compiler-core@^3.4.21": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.6.tgz#4a771c738fe745b61b963c41077af1405200db33" + integrity sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA== + dependencies: + "@babel/parser" "^7.25.3" + "@vue/shared" "3.5.6" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.2.0" + +"@vue/compiler-dom@3.5.6", "@vue/compiler-dom@^3.2.37", "@vue/compiler-dom@^3.3.0", "@vue/compiler-dom@^3.4.0": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.6.tgz#0942c290d3a52eb396243850ec73005f669c210d" + integrity sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw== + dependencies: + "@vue/compiler-core" "3.5.6" + "@vue/shared" "3.5.6" + +"@vue/compiler-sfc@2.7.16": + version "2.7.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz#ff81711a0fac9c68683d8bb00b63f857de77dc83" + integrity sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg== + dependencies: + "@babel/parser" "^7.23.5" + postcss "^8.4.14" + source-map "^0.6.1" + optionalDependencies: + prettier "^1.18.2 || ^2.0.0" + +"@vue/compiler-sfc@^3.2.37", "@vue/compiler-sfc@^3.4.21", "@vue/compiler-sfc@^3.5.4": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.6.tgz#7f730002a18c7be7962741de6a40491eb59e4ad6" + integrity sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg== + dependencies: + "@babel/parser" "^7.25.3" + "@vue/compiler-core" "3.5.6" + "@vue/compiler-dom" "3.5.6" + "@vue/compiler-ssr" "3.5.6" + "@vue/shared" "3.5.6" + estree-walker "^2.0.2" + magic-string "^0.30.11" + postcss "^8.4.47" + source-map-js "^1.2.0" + +"@vue/compiler-ssr@3.5.6": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.6.tgz#011eb621ec27c51fea50297d872b0282e6c49133" + integrity sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A== + dependencies: + "@vue/compiler-dom" "3.5.6" + "@vue/shared" "3.5.6" + +"@vue/compiler-vue2@^2.7.16": + version "2.7.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz#2ba837cbd3f1b33c2bc865fbe1a3b53fb611e249" + integrity sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +"@vue/composition-api@^1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@vue/composition-api/-/composition-api-1.7.2.tgz#0b656f3ec39fefc2cf40aaa8c12426bcfeae1b44" + integrity sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw== + +"@vue/language-core@1.8.27": + version "1.8.27" + resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.27.tgz#2ca6892cb524e024a44e554e4c55d7a23e72263f" + integrity sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA== + dependencies: + "@volar/language-core" "~1.11.1" + "@volar/source-map" "~1.11.1" + "@vue/compiler-dom" "^3.3.0" + "@vue/shared" "^3.3.0" + computeds "^0.0.1" + minimatch "^9.0.3" + muggle-string "^0.3.1" + path-browserify "^1.0.1" + vue-template-compiler "^2.7.14" + +"@vue/language-core@2.1.6": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-2.1.6.tgz#b48186bdb9b3ef2b83e1f76d5b1ac357b3a7ed94" + integrity sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg== + dependencies: + "@volar/language-core" "~2.4.1" + "@vue/compiler-dom" "^3.4.0" + "@vue/compiler-vue2" "^2.7.16" + "@vue/shared" "^3.4.0" + computeds "^0.0.1" + minimatch "^9.0.3" + muggle-string "^0.4.1" + path-browserify "^1.0.1" + +"@vue/reactivity@^3.2.37": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.6.tgz#d26fea799db554e7c1c3469be3577e0b8fd6deb6" + integrity sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ== + dependencies: + "@vue/shared" "3.5.6" + +"@vue/shared@3.5.6", "@vue/shared@^3.2.37", "@vue/shared@^3.3.0", "@vue/shared@^3.4.0", "@vue/shared@^3.4.21": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.6.tgz#602b3c2dccfe612f9e2e52e861dd7db340961a4f" + integrity sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA== + +JSONStream@^1.0.4: + version "1.3.5" + resolved "https://registry.npmmirror.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.11.3, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +acorn@^8.12.1: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== + +ajv-draft-04@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz#3b64761b268ba0b9e668f0b41ba53fce0ad77fc8" + integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== + +ajv-formats@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-3.0.1.tgz#3d5dc762bca17679c3c2ea7e90ad6b7532309578" + integrity sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ== + dependencies: + ajv "^8.0.0" + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + +ajv@~8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@~8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" + integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== + dependencies: + fast-deep-equal "^3.1.3" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.4.1" + +ansi-escapes@^6.2.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz" + integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.0.0, ansi-styles@^6.2.1: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +argparse@~1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== + +ast-kit@^0.12.1: + version "0.12.1" + resolved "https://registry.npmjs.org/ast-kit/-/ast-kit-0.12.1.tgz" + integrity sha512-O+33g7x6irsESUcd47KdfWUrS2F6aGp9KeVJFGj0YjIznfXpBxVGjA0w+y/1OKqX4mFOfmZ9Xpf1ixPT4n9xxw== + dependencies: + "@babel/parser" "^7.23.9" + pathe "^1.1.2" + +ast-kit@^1.0.1, ast-kit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ast-kit/-/ast-kit-1.1.0.tgz#fe7c7eb44c8d01b1c7516f544d964e88f534f769" + integrity sha512-RlNqd4u6c/rJ5R+tN/ZTtyNrH8X0NHCvyt6gD8RHa3JjzxxHWoyaU0Ujk3Zjbh7IZqrYl1Sxm6XzZifmVxXxHQ== + dependencies: + "@babel/parser" "^7.25.3" + pathe "^1.1.2" + +ast-walker-scope@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/ast-walker-scope/-/ast-walker-scope-0.6.2.tgz#b827e8949c129802f76fe0f142e95fd7efda57dc" + integrity sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ== + dependencies: + "@babel/parser" "^7.25.3" + ast-kit "^1.0.1" + +autoprefixer@^10.4.16: + version "10.4.20" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b" + integrity sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g== + dependencies: + browserslist "^4.23.3" + caniuse-lite "^1.0.30001646" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.1" + postcss-value-parser "^4.2.0" + +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.2" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist-to-esbuild@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz" + integrity sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw== + dependencies: + meow "^13.0.0" + +browserslist@^4.22.2, browserslist@^4.23.0: + version "4.23.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +browserslist@^4.23.3: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== + dependencies: + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001587: + version "1.0.30001616" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz" + integrity sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw== + +caniuse-lite@^1.0.30001646: + version "1.0.30001660" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz#31218de3463fabb44d0b7607b652e56edf2e2355" + integrity sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg== + +chai@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.1.tgz#f035d9792a22b481ead1c65908d14bb62ec1c82c" + integrity sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA== + dependencies: + assertion-error "^2.0.1" + check-error "^2.1.1" + deep-eql "^5.0.1" + loupe "^3.1.0" + pathval "^2.0.0" + +chalk@5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +check-error@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" + integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== + +chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +classnames@^2.3.2: + version "2.5.1" + resolved "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== + dependencies: + restore-cursor "^4.0.0" + +cli-truncate@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz" + integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== + dependencies: + slice-ansi "^5.0.0" + string-width "^7.0.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +commander@11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +compare-versions@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-6.1.1.tgz#7af3cc1099ba37d244b3145a9af5201b629148a9" + integrity sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg== + +computeds@^0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz" + integrity sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +confbox@^0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz" + integrity sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA== + +conventional-changelog-angular@^5.0.12: + version "5.0.13" + resolved "https://registry.npmmirror.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== + dependencies: + compare-func "^2.0.0" + q "^1.5.1" + +conventional-changelog-atom@^2.0.8: + version "2.0.8" + resolved "https://registry.npmmirror.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" + integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== + dependencies: + q "^1.5.1" + +conventional-changelog-codemirror@^2.0.8: + version "2.0.8" + resolved "https://registry.npmmirror.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" + integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== + dependencies: + q "^1.5.1" + +conventional-changelog-config-spec@2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz#874a635287ef8b581fd8558532bf655d4fb59f2d" + integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== + +conventional-changelog-conventionalcommits@4.6.3, conventional-changelog-conventionalcommits@^4.5.0: + version "4.6.3" + resolved "https://registry.npmmirror.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz#0765490f56424b46f6cb4db9135902d6e5a36dc2" + integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== + dependencies: + compare-func "^2.0.0" + lodash "^4.17.15" + q "^1.5.1" + +conventional-changelog-core@^4.2.1: + version "4.2.4" + resolved "https://registry.npmmirror.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" + integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== + dependencies: + add-stream "^1.0.0" + conventional-changelog-writer "^5.0.0" + conventional-commits-parser "^3.2.0" + dateformat "^3.0.0" + get-pkg-repo "^4.0.0" + git-raw-commits "^2.0.8" + git-remote-origin-url "^2.0.0" + git-semver-tags "^4.1.1" + lodash "^4.17.15" + normalize-package-data "^3.0.0" + q "^1.5.1" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" + through2 "^4.0.0" + +conventional-changelog-ember@^2.0.9: + version "2.0.9" + resolved "https://registry.npmmirror.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" + integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== + dependencies: + q "^1.5.1" + +conventional-changelog-eslint@^3.0.9: + version "3.0.9" + resolved "https://registry.npmmirror.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" + integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== + dependencies: + q "^1.5.1" + +conventional-changelog-express@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" + integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== + dependencies: + q "^1.5.1" + +conventional-changelog-jquery@^3.0.11: + version "3.0.11" + resolved "https://registry.npmmirror.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" + integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== + dependencies: + q "^1.5.1" + +conventional-changelog-jshint@^2.0.9: + version "2.0.9" + resolved "https://registry.npmmirror.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" + integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== + dependencies: + compare-func "^2.0.0" + q "^1.5.1" + +conventional-changelog-preset-loader@^2.3.4: + version "2.3.4" + resolved "https://registry.npmmirror.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" + integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== + +conventional-changelog-writer@^5.0.0: + version "5.0.1" + resolved "https://registry.npmmirror.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" + integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== + dependencies: + conventional-commits-filter "^2.0.7" + dateformat "^3.0.0" + handlebars "^4.7.7" + json-stringify-safe "^5.0.1" + lodash "^4.17.15" + meow "^8.0.0" + semver "^6.0.0" + split "^1.0.0" + through2 "^4.0.0" + +conventional-changelog@3.1.25: + version "3.1.25" + resolved "https://registry.npmmirror.com/conventional-changelog/-/conventional-changelog-3.1.25.tgz#3e227a37d15684f5aa1fb52222a6e9e2536ccaff" + integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ== + dependencies: + conventional-changelog-angular "^5.0.12" + conventional-changelog-atom "^2.0.8" + conventional-changelog-codemirror "^2.0.8" + conventional-changelog-conventionalcommits "^4.5.0" + conventional-changelog-core "^4.2.1" + conventional-changelog-ember "^2.0.9" + conventional-changelog-eslint "^3.0.9" + conventional-changelog-express "^2.0.6" + conventional-changelog-jquery "^3.0.11" + conventional-changelog-jshint "^2.0.9" + conventional-changelog-preset-loader "^2.3.4" + +conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.npmmirror.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== + dependencies: + lodash.ismatch "^4.4.0" + modify-values "^1.0.0" + +conventional-commits-parser@^3.2.0: + version "3.2.4" + resolved "https://registry.npmmirror.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.1" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +conventional-recommended-bump@6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" + integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== + dependencies: + concat-stream "^2.0.0" + conventional-changelog-preset-loader "^2.3.4" + conventional-commits-filter "^2.0.7" + conventional-commits-parser "^3.2.0" + git-raw-commits "^2.0.8" + git-semver-tags "^4.1.1" + meow "^8.0.0" + q "^1.5.1" + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +core-js-compat@^3.31.0, core-js-compat@^3.36.1: + version "3.37.0" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz" + integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA== + dependencies: + browserslist "^4.23.0" + +core-js@^3.36.0: + version "3.37.0" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.37.0.tgz" + integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.1.0, csstype@^3.1.1: + version "3.1.3" + resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + +dateformat@^3.0.0: + version "3.0.3" + resolved "https://registry.npmmirror.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + +debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^4.3.6: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +deep-eql@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" + integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== + +detect-newline@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotgitignore@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" + integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== + dependencies: + find-up "^3.0.0" + minimatch "^3.0.4" + +electron-to-chromium@^1.4.668: + version "1.4.756" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.756.tgz" + integrity sha512-RJKZ9+vEBMeiPAvKNWyZjuYyUqMndcP1f335oHqn3BEQbs2NFtVrnK5+6Xg5wSM9TknNNpWghGDUCKGYF+xWXw== + +electron-to-chromium@^1.5.4: + version "1.5.24" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.24.tgz#b3cd2f71b7a84bac340d862e3b7b0aadf48478de" + integrity sha512-0x0wLCmpdKFCi9ulhvYZebgcPmHTkFVUfU2wzDykadkslKwT4oAmDTHEKLnlrDsMGZe4B+ksn8quZfZjYsBetA== + +emoji-regex@^10.3.0: + version "10.3.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +esbuild@^0.20.1: + version "0.20.2" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + optionalDependencies: + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" + +esbuild@^0.21.3: + version "0.21.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" + integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== + optionalDependencies: + "@esbuild/aix-ppc64" "0.21.5" + "@esbuild/android-arm" "0.21.5" + "@esbuild/android-arm64" "0.21.5" + "@esbuild/android-x64" "0.21.5" + "@esbuild/darwin-arm64" "0.21.5" + "@esbuild/darwin-x64" "0.21.5" + "@esbuild/freebsd-arm64" "0.21.5" + "@esbuild/freebsd-x64" "0.21.5" + "@esbuild/linux-arm" "0.21.5" + "@esbuild/linux-arm64" "0.21.5" + "@esbuild/linux-ia32" "0.21.5" + "@esbuild/linux-loong64" "0.21.5" + "@esbuild/linux-mips64el" "0.21.5" + "@esbuild/linux-ppc64" "0.21.5" + "@esbuild/linux-riscv64" "0.21.5" + "@esbuild/linux-s390x" "0.21.5" + "@esbuild/linux-x64" "0.21.5" + "@esbuild/netbsd-x64" "0.21.5" + "@esbuild/openbsd-x64" "0.21.5" + "@esbuild/sunos-x64" "0.21.5" + "@esbuild/win32-arm64" "0.21.5" + "@esbuild/win32-ia32" "0.21.5" + "@esbuild/win32-x64" "0.21.5" + +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^8.10.0: + version "8.10.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz" + integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== + +eslint-plugin-prettier@^4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-vue@^9.20.1: + version "9.25.0" + resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz" + integrity sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + globals "^13.24.0" + natural-compare "^1.4.0" + nth-check "^2.1.1" + postcss-selector-parser "^6.0.15" + semver "^7.6.0" + vue-eslint-parser "^9.4.2" + xml-name-validator "^4.0.0" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.1.1, eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.56.0: + version "8.57.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + 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.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + 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" + +espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esquery@^1.4.0, esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +eventsource@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz" + integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== + +execa@8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + 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" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-glob@^3.2.9, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-uri@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" + integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +figures@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fs-extra@~7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-east-asian-width@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz" + integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== + +get-func-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-pkg-repo@^4.0.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== + dependencies: + "@hutson/parse-repository-url" "^3.0.0" + hosted-git-info "^4.0.0" + through2 "^2.0.0" + yargs "^16.2.0" + +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + +git-raw-commits@^2.0.8: + version "2.0.11" + resolved "https://registry.npmmirror.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== + dependencies: + meow "^8.0.0" + semver "^6.0.0" + +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== + dependencies: + ini "^1.3.2" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0, globals@^13.24.0: + version "13.24.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +handlebars@^4.7.7: + version "4.7.8" + resolved "https://registry.npmmirror.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +hasown@^2.0.0, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + +husky@^9.0.11: + version "9.0.11" + resolved "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz" + integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== + +ignore@^5.2.0: + version "5.3.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.2: + version "1.3.8" + resolved "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-core-module@^2.5.0: + version "2.15.1" + resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-fullwidth-code-point@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz" + integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== + dependencies: + get-east-asian-width "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== + dependencies: + text-extensions "^1.0.0" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jju@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kolorist@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" + integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lint-staged@^15.2.2: + version "15.2.2" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz" + integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== + dependencies: + chalk "5.3.0" + commander "11.1.0" + debug "4.3.4" + execa "8.0.1" + lilconfig "3.0.0" + listr2 "8.0.1" + micromatch "4.0.5" + pidtree "0.6.0" + string-argv "0.3.2" + yaml "2.3.4" + +listr2@8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz" + integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== + dependencies: + cli-truncate "^4.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.0.0" + rfdc "^1.3.0" + wrap-ansi "^9.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== + dependencies: + mlly "^1.4.2" + pkg-types "^1.0.3" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.ismatch@^4.4.0: + version "4.4.0" + resolved "https://registry.npmmirror.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.15, lodash@^4.17.21, lodash@~4.17.15: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-update@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz" + integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== + dependencies: + ansi-escapes "^6.2.0" + cli-cursor "^4.0.0" + slice-ansi "^7.0.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" + +loupe@^3.1.0, loupe@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.1.tgz#71d038d59007d890e3247c5db97c1ec5a92edc54" + integrity sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw== + dependencies: + get-func-name "^2.0.1" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string-ast@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/magic-string-ast/-/magic-string-ast-0.3.0.tgz#8fc83ac6d084c5a342645a30354184a6e0ab4382" + integrity sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA== + dependencies: + magic-string "^0.30.2" + +magic-string-ast@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/magic-string-ast/-/magic-string-ast-0.6.2.tgz#180679c584bdea9de1dbb6c755fd3e4bf1b0b509" + integrity sha512-oN3Bcd7ZVt+0VGEs7402qR/tjgjbM7kPlH/z7ufJnzTLVBzXJITRHOJiwMmmYMgZfdoWQsfQcY+iKlxiBppnMA== + dependencies: + magic-string "^0.30.10" + +magic-string@^0.30.10, magic-string@^0.30.7: + version "0.30.10" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz" + integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +magic-string@^0.30.11, magic-string@^0.30.2: + version "0.30.11" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" + integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +meow@^13.0.0: + version "13.2.0" + resolved "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz" + integrity sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== + +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.npmmirror.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@4.0.5, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^9.0.3: + version "9.0.4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimatch@~3.0.3: + version "3.0.8" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" + integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== + dependencies: + brace-expansion "^1.1.7" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.5: + version "1.2.8" + resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mlly@^1.4.2, mlly@^1.6.1: + version "1.7.0" + resolved "https://registry.npmjs.org/mlly/-/mlly-1.7.0.tgz" + integrity sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.1.0" + ufo "^1.5.3" + +mlly@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.1.tgz#e0336429bb0731b6a8e887b438cbdae522c8f32f" + integrity sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.1.1" + ufo "^1.5.3" + +modify-values@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +muggle-string@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/muggle-string/-/muggle-string-0.3.1.tgz#e524312eb1728c63dd0b2ac49e3282e6ed85963a" + integrity sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg== + +muggle-string@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/muggle-string/-/muggle-string-0.4.1.tgz#3b366bd43b32f809dc20659534dd30e7c8a0d328" + integrity sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-fetch@^2.6.9: + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +nth-check@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== + +pathval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" + integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picocolors@^1.0.1, picocolors@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pkg-types@^1.0.3, pkg-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.0.tgz" + integrity sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA== + dependencies: + confbox "^0.1.7" + mlly "^1.6.1" + pathe "^1.1.2" + +pkg-types@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.2.0.tgz#d0268e894e93acff11a6279de147e83354ebd42d" + integrity sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA== + dependencies: + confbox "^0.1.7" + mlly "^1.7.1" + pathe "^1.1.2" + +postcss-selector-parser@^6.0.15: + version "6.0.16" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz" + integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.14, postcss@^8.4.43, postcss@^8.4.47: + version "8.4.47" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" + integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== + dependencies: + nanoid "^3.3.7" + picocolors "^1.1.0" + source-map-js "^1.2.1" + +postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +"prettier@^1.18.2 || ^2.0.0": + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +q@^1.5.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2: + version "3.6.2" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.14.0, regenerator-runtime@^0.14.1: + version "0.14.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.0, resolve@^1.14.2, resolve@~1.22.1, resolve@~1.22.2: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup@^4.13.0: + version "4.17.2" + resolved "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz" + integrity sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.17.2" + "@rollup/rollup-android-arm64" "4.17.2" + "@rollup/rollup-darwin-arm64" "4.17.2" + "@rollup/rollup-darwin-x64" "4.17.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.17.2" + "@rollup/rollup-linux-arm-musleabihf" "4.17.2" + "@rollup/rollup-linux-arm64-gnu" "4.17.2" + "@rollup/rollup-linux-arm64-musl" "4.17.2" + "@rollup/rollup-linux-powerpc64le-gnu" "4.17.2" + "@rollup/rollup-linux-riscv64-gnu" "4.17.2" + "@rollup/rollup-linux-s390x-gnu" "4.17.2" + "@rollup/rollup-linux-x64-gnu" "4.17.2" + "@rollup/rollup-linux-x64-musl" "4.17.2" + "@rollup/rollup-win32-arm64-msvc" "4.17.2" + "@rollup/rollup-win32-ia32-msvc" "4.17.2" + "@rollup/rollup-win32-x64-msvc" "4.17.2" + fsevents "~2.3.2" + +rollup@^4.20.0: + version "4.21.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.21.3.tgz#c64ba119e6aeb913798a6f7eef2780a0df5a0821" + integrity sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.21.3" + "@rollup/rollup-android-arm64" "4.21.3" + "@rollup/rollup-darwin-arm64" "4.21.3" + "@rollup/rollup-darwin-x64" "4.21.3" + "@rollup/rollup-linux-arm-gnueabihf" "4.21.3" + "@rollup/rollup-linux-arm-musleabihf" "4.21.3" + "@rollup/rollup-linux-arm64-gnu" "4.21.3" + "@rollup/rollup-linux-arm64-musl" "4.21.3" + "@rollup/rollup-linux-powerpc64le-gnu" "4.21.3" + "@rollup/rollup-linux-riscv64-gnu" "4.21.3" + "@rollup/rollup-linux-s390x-gnu" "4.21.3" + "@rollup/rollup-linux-x64-gnu" "4.21.3" + "@rollup/rollup-linux-x64-musl" "4.21.3" + "@rollup/rollup-win32-arm64-msvc" "4.21.3" + "@rollup/rollup-win32-ia32-msvc" "4.21.3" + "@rollup/rollup-win32-x64-msvc" "4.21.3" + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.1.1, semver@^7.3.4: + version "7.6.3" + resolved "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.3.6, semver@^7.3.7, semver@^7.6.0: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@~7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +siginfo@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" + integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== + +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +slice-ansi@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz" + integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== + dependencies: + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" + +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.20" + resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" + integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stackback@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" + integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== + +standard-version@^9.5.0: + version "9.5.0" + resolved "https://registry.npmmirror.com/standard-version/-/standard-version-9.5.0.tgz#851d6dcddf5320d5079601832aeb185dbf497949" + integrity sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q== + dependencies: + chalk "^2.4.2" + conventional-changelog "3.1.25" + conventional-changelog-config-spec "2.1.0" + conventional-changelog-conventionalcommits "4.6.3" + conventional-recommended-bump "6.1.0" + detect-indent "^6.0.0" + detect-newline "^3.1.0" + dotgitignore "^2.1.0" + figures "^3.1.0" + find-up "^5.0.0" + git-semver-tags "^4.0.0" + semver "^7.1.1" + stringify-package "^1.0.1" + yargs "^16.0.0" + +std-env@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" + integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== + +string-argv@0.3.2, string-argv@~0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz" + integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-package@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" + integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@~8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +systemjs@^6.14.3: + version "6.15.1" + resolved "https://registry.npmjs.org/systemjs/-/systemjs-6.15.1.tgz" + integrity sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA== + +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +through@2, "through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.npmmirror.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tinybench@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" + integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== + +tinyexec@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.0.tgz#ed60cfce19c17799d4a241e06b31b0ec2bee69e6" + integrity sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg== + +tinypool@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.0.1.tgz#c64233c4fac4304e109a64340178760116dbe1fe" + integrity sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA== + +tinyrainbow@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-1.2.0.tgz#5c57d2fc0fb3d1afd78465c33ca885d04f02abb5" + integrity sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ== + +tinyspy@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a" + integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tweetnacl-util@^0.15.1: + version "0.15.1" + resolved "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz" + integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== + +tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz" + integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +typescript@5.4.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" + integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== + +typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +ua-parser-js@^1.0.35: + version "1.0.38" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz" + integrity sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ== + +ufo@^1.5.3: + version "1.5.3" + resolved "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz" + integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== + +uglify-js@^3.1.4: + version "3.19.3" + resolved "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" + integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unplugin-vue-components@^0.27.4: + version "0.27.4" + resolved "https://registry.yarnpkg.com/unplugin-vue-components/-/unplugin-vue-components-0.27.4.tgz#748468b2cb6a856235bdd512c33b629c33c3d23a" + integrity sha512-1XVl5iXG7P1UrOMnaj2ogYa5YTq8aoh5jwDPQhemwO/OrXW+lPQKDXd1hMz15qxQPxgb/XXlbgo3HQ2rLEbmXQ== + dependencies: + "@antfu/utils" "^0.7.10" + "@rollup/pluginutils" "^5.1.0" + chokidar "^3.6.0" + debug "^4.3.6" + fast-glob "^3.3.2" + local-pkg "^0.5.0" + magic-string "^0.30.11" + minimatch "^9.0.5" + mlly "^1.7.1" + unplugin "^1.12.1" + +unplugin-vue-define-options@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/unplugin-vue-define-options/-/unplugin-vue-define-options-1.5.1.tgz#0976a57344bc583c147d76f6aac0e01efcfb9430" + integrity sha512-Ss+sHK0D98UPrzrJ1Bh7QmZtdymvGn7IVniB/Y1vsWQiKNOznjN8XLo228AfaHSFuIfx5x7wuNDqKTL5xBqhgw== + dependencies: + "@vue-macros/common" "1.14.0" + ast-walker-scope "^0.6.2" + unplugin "^1.14.1" + +unplugin@^1.10.0, unplugin@^1.12.1, unplugin@^1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.14.1.tgz#c76d6155a661e43e6a897bce6b767a1ecc344c1a" + integrity sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w== + dependencies: + acorn "^8.12.1" + webpack-virtual-modules "^0.6.2" + +update-browserslist-db@^1.0.13: + version "1.0.15" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz" + integrity sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.0" + +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + +uri-js@^4.2.2, uri-js@^4.4.1: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vite-node@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.1.1.tgz#7d46f623c04dfed6df34e7127711508a3386fa1c" + integrity sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA== + dependencies: + cac "^6.7.14" + debug "^4.3.6" + pathe "^1.1.2" + vite "^5.0.0" + +vite-plugin-dts@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-4.2.1.tgz#f8bee33b732929717ce13ef7a382696d51200c30" + integrity sha512-/QlYvgUMiv8+ZTEerhNCYnYaZMM07cdlX6hQCR/w/g/nTh0tUXPoYwbT6SitizLJ9BybT1lnrcZgqheI6wromQ== + dependencies: + "@microsoft/api-extractor" "7.47.7" + "@rollup/pluginutils" "^5.1.0" + "@volar/typescript" "^2.4.4" + "@vue/language-core" "2.1.6" + compare-versions "^6.1.1" + debug "^4.3.6" + kolorist "^1.8.0" + local-pkg "^0.5.0" + magic-string "^0.30.11" + +vite@^5.0.0: + version "5.4.6" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.6.tgz#85a93a1228a7fb5a723ca1743e337a2588ed008f" + integrity sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.43" + rollup "^4.20.0" + optionalDependencies: + fsevents "~2.3.3" + +vite@^5.0.11: + version "5.2.11" + resolved "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz" + integrity sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ== + dependencies: + esbuild "^0.20.1" + postcss "^8.4.38" + rollup "^4.13.0" + optionalDependencies: + fsevents "~2.3.3" + +vitest@latest: + version "2.1.1" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.1.1.tgz#24a6f6f5d894509f10685b82de008c507faacbb1" + integrity sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA== + dependencies: + "@vitest/expect" "2.1.1" + "@vitest/mocker" "2.1.1" + "@vitest/pretty-format" "^2.1.1" + "@vitest/runner" "2.1.1" + "@vitest/snapshot" "2.1.1" + "@vitest/spy" "2.1.1" + "@vitest/utils" "2.1.1" + chai "^5.1.1" + debug "^4.3.6" + magic-string "^0.30.11" + pathe "^1.1.2" + std-env "^3.7.0" + tinybench "^2.9.0" + tinyexec "^0.3.0" + tinypool "^1.0.0" + tinyrainbow "^1.2.0" + vite "^5.0.0" + vite-node "2.1.1" + why-is-node-running "^2.3.0" + +vscode-uri@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" + integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== + +vue-demi@^0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.10.tgz#afc78de3d6f9e11bf78c55e8510ee12814522f04" + integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg== + +vue-eslint-parser@^9.4.0: + version "9.4.3" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz#9b04b22c71401f1e8bca9be7c3e3416a4bde76a8" + integrity sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg== + dependencies: + debug "^4.3.4" + eslint-scope "^7.1.1" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.6" + +vue-eslint-parser@^9.4.2: + version "9.4.2" + resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz" + integrity sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ== + dependencies: + debug "^4.3.4" + eslint-scope "^7.1.1" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.6" + +vue-template-compiler@^2.7.14: + version "2.7.16" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz#c81b2d47753264c77ac03b9966a46637482bb03b" + integrity sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +vue-tsc@^0.39.5: + version "0.39.5" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-0.39.5.tgz#0b75f5c3574b70fb448982702db2aa532a7fad6e" + integrity sha512-jhTsrKhZkafpIeN4Cbhr1K53hNfa/oesSrlh7hUaeHyCk55VhZT6oJkwJbtqN4MYkWZIwPrm3/xTwsELuf2ocg== + dependencies: + "@volar/vue-language-core" "0.39.5" + "@volar/vue-typescript" "0.39.5" + +vue@^2.7.16: + version "2.7.16" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.16.tgz#98c60de9def99c0e3da8dae59b304ead43b967c9" + integrity sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw== + dependencies: + "@vue/compiler-sfc" "2.7.16" + csstype "^3.1.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webpack-virtual-modules@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8" + integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +why-is-node-running@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" + integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== + dependencies: + siginfo "^2.0.0" + stackback "0.0.2" + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz" + integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@2.3.4: + version "2.3.4" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^16.0.0, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From f091e3a17d424fa4d8e61eaa98697f12d196a21e Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 16:51:05 +0800 Subject: [PATCH 02/13] feat: add any eslint --- .eslintrc.js | 1 + package.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index 1359509..f6d4ffe 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -28,5 +28,6 @@ module.exports = { argsIgnorePattern: "^_", }, ], + "@typescript-eslint/no-explicit-any": "error", }, }; diff --git a/package.json b/package.json index b023d37..8d1e5c7 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "preview": "vite preview", "lint-fix": "eslint --fix --ext .ts,.vue src", "lint": "eslint", - "prepare": "husky", + "prepare": "husky install", "security-audit": "npm audit && npm outdated", "release": "standard-version" }, From 908a4b3d5dc137cbdc7e3563e782dd030f25d886 Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 17:09:39 +0800 Subject: [PATCH 03/13] feat: test git commit husky --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8d1e5c7..b023d37 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "preview": "vite preview", "lint-fix": "eslint --fix --ext .ts,.vue src", "lint": "eslint", - "prepare": "husky install", + "prepare": "husky", "security-audit": "npm audit && npm outdated", "release": "standard-version" }, From 8a30c675177e94a6b0ccd488414158b658cf8a1f Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 17:22:03 +0800 Subject: [PATCH 04/13] test: husky pre-commit hook --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index b023d37..1b42409 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,6 @@ "build:lib:2.7": "npx vue-demi-switch 2 && vite build", "build:lib:3": "npx vue-demi-switch 3 && vite build", "preview": "vite preview", - "lint-fix": "eslint --fix --ext .ts,.vue src", - "lint": "eslint", "prepare": "husky", "security-audit": "npm audit && npm outdated", "release": "standard-version" From 7e69a0fb2c1e99f78327b6a3eaa87c734d907188 Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 17:23:18 +0800 Subject: [PATCH 05/13] test: husky pre-commit hook --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 1b42409..b023d37 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ "build:lib:2.7": "npx vue-demi-switch 2 && vite build", "build:lib:3": "npx vue-demi-switch 3 && vite build", "preview": "vite preview", + "lint-fix": "eslint --fix --ext .ts,.vue src", + "lint": "eslint", "prepare": "husky", "security-audit": "npm audit && npm outdated", "release": "standard-version" From 304a8623191e5e275469edb1ef793eb5afb00c6d Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 17:25:54 +0800 Subject: [PATCH 06/13] test: husky pre-commit hook --- package.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/package.json b/package.json index b023d37..4f0bda5 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,6 @@ "build:lib:3": "npx vue-demi-switch 3 && vite build", "preview": "vite preview", "lint-fix": "eslint --fix --ext .ts,.vue src", - "lint": "eslint", "prepare": "husky", "security-audit": "npm audit && npm outdated", "release": "standard-version" @@ -95,8 +94,6 @@ "standard-version": "^9.5.0" }, "lint-staged": { - "*.{vue,ts,tsx}": [ - "eslint --ext .ts,.vue src" - ] + "*.{vue,ts,tsx}": "lint-fix" } } From dd1dd10f0ee031300d0250861348671fb026b18e Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 17:28:50 +0800 Subject: [PATCH 07/13] test: husky pre-commit hook --- package.json | 7 +++++-- src/hooks/useTonConnectUI.ts | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4f0bda5..25bfc48 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "build:lib:2.7": "npx vue-demi-switch 2 && vite build", "build:lib:3": "npx vue-demi-switch 3 && vite build", "preview": "vite preview", - "lint-fix": "eslint --fix --ext .ts,.vue src", + "lint-fix": "eslint --fix", + "lint": "eslint", "prepare": "husky", "security-audit": "npm audit && npm outdated", "release": "standard-version" @@ -94,6 +95,8 @@ "standard-version": "^9.5.0" }, "lint-staged": { - "*.{vue,ts,tsx}": "lint-fix" + "*.{vue,ts,tsx}": [ + "lint-fix" + ] } } diff --git a/src/hooks/useTonConnectUI.ts b/src/hooks/useTonConnectUI.ts index 5b41a48..780e73b 100644 --- a/src/hooks/useTonConnectUI.ts +++ b/src/hooks/useTonConnectUI.ts @@ -17,7 +17,8 @@ export function useTonConnectUI() { const tonConnectUI = globalPropertiesMap?.$tonConnectUI as TonConnectUI | undefined; if (!tonConnectUI) { - throw new Error("TonConnect is not avaliable"); + console.log("TonConnect is not avaliable"); + return } checkProvider(tonConnectUI); From d498ccbc10b00da85ed4991cecbdd8f598f0455c Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 17:40:23 +0800 Subject: [PATCH 08/13] test: husky pre-commit hook --- .eslintrc.js => .eslintrc.cjs | 8 ++++++-- package.json | 9 +++++---- src/hooks/useTonConnectUI.ts | 3 +-- yarn.lock | 5 +++++ 4 files changed, 17 insertions(+), 8 deletions(-) rename .eslintrc.js => .eslintrc.cjs (78%) diff --git a/.eslintrc.js b/.eslintrc.cjs similarity index 78% rename from .eslintrc.js rename to .eslintrc.cjs index f6d4ffe..66efb1b 100644 --- a/.eslintrc.js +++ b/.eslintrc.cjs @@ -1,5 +1,9 @@ module.exports = { - extends: ["plugin:vue/vue3-recommended"], + parser: '@typescript-eslint/parser', + extends: [ + "plugin:vue/vue3-recommended", + "plugin:@typescript-eslint/recommended", + ], parserOptions: { sourceType: "module", ecmaVersion: "latest", @@ -7,7 +11,7 @@ module.exports = { jsx: true, }, }, - plugins: ["vue"], + plugins: ["vue", "@typescript-eslint", "unused-imports"], rules: { "import/extensions": ["off"], "@typescript-eslint/explicit-function-return-type": [ diff --git a/package.json b/package.json index 25bfc48..28fa0a7 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "build:lib:2.7": "npx vue-demi-switch 2 && vite build", "build:lib:3": "npx vue-demi-switch 3 && vite build", "preview": "vite preview", - "lint-fix": "eslint --fix", + "lint-fix": "eslint --fix --ext .ts,.vue src", "lint": "eslint", "prepare": "husky", "security-audit": "npm audit && npm outdated", @@ -79,9 +79,11 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^8.10.0", "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-unused-imports": "^4.1.4", "eslint-plugin-vue": "^9.20.1", "husky": "^9.0.11", "lint-staged": "^15.2.2", + "standard-version": "^9.5.0", "typescript": "^4.9.5", "unplugin-vue-components": "^0.27.4", "unplugin-vue-define-options": "^1.5.1", @@ -91,12 +93,11 @@ "vue": "^2.7.16", "vue-demi": "^0.14.10", "vue-eslint-parser": "^9.4.0", - "vue-tsc": "^0.39.5", - "standard-version": "^9.5.0" + "vue-tsc": "^0.39.5" }, "lint-staged": { "*.{vue,ts,tsx}": [ - "lint-fix" + "eslint --ext .ts,.vue src" ] } } diff --git a/src/hooks/useTonConnectUI.ts b/src/hooks/useTonConnectUI.ts index 780e73b..5b41a48 100644 --- a/src/hooks/useTonConnectUI.ts +++ b/src/hooks/useTonConnectUI.ts @@ -17,8 +17,7 @@ export function useTonConnectUI() { const tonConnectUI = globalPropertiesMap?.$tonConnectUI as TonConnectUI | undefined; if (!tonConnectUI) { - console.log("TonConnect is not avaliable"); - return + throw new Error("TonConnect is not avaliable"); } checkProvider(tonConnectUI); diff --git a/yarn.lock b/yarn.lock index edb622a..b7144ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2989,6 +2989,11 @@ eslint-plugin-prettier@^4.2.1: dependencies: prettier-linter-helpers "^1.0.0" +eslint-plugin-unused-imports@^4.1.4: + version "4.1.4" + resolved "https://registry.npmmirror.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-4.1.4.tgz#62ddc7446ccbf9aa7b6f1f0b00a980423cda2738" + integrity sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ== + eslint-plugin-vue@^9.20.1: version "9.25.0" resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz" From fccea646a782a394b879d7703cbe1cf6532b3a96 Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 17:46:41 +0800 Subject: [PATCH 09/13] test: husky pre-commit hook --- src/hooks/useTonConnectModal.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hooks/useTonConnectModal.ts b/src/hooks/useTonConnectModal.ts index 6d7df8e..3f6e030 100644 --- a/src/hooks/useTonConnectModal.ts +++ b/src/hooks/useTonConnectModal.ts @@ -9,6 +9,7 @@ export function useTonConnectModal() { onMounted(() => { if (tonConnectUI) { state.value = tonConnectUI.modal.state; + tonConnectUI.onModalStateChange((value: WalletsModalState) => { state.value = value; }); From ee869366344bab360e5820c00177de6a1680df8c Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 22:56:17 +0800 Subject: [PATCH 10/13] chore: add prettier config --- .eslintrc.cjs | 6 ++-- package.json | 8 +++-- src/components/TonConnectButton.vue | 34 +++++++++--------- src/hooks/useIsConnectionRestored.ts | 4 +-- src/hooks/useTonAddress.ts | 4 +-- src/hooks/useTonConnectModal.ts | 10 ++++-- src/hooks/useTonConnectUI.ts | 53 +++++++++++++++++++++------ src/hooks/useTonWallet.ts | 54 ++++++++++++++++++---------- src/plugin.ts | 2 +- src/shims-vue.d.ts | 6 ++-- yarn.lock | 40 ++++++++++++++++----- 11 files changed, 153 insertions(+), 68 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 66efb1b..c0078de 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,8 +1,10 @@ module.exports = { parser: '@typescript-eslint/parser', extends: [ - "plugin:vue/vue3-recommended", - "plugin:@typescript-eslint/recommended", + 'plugin:vue/vue3-essential', + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', ], parserOptions: { sourceType: "module", diff --git a/package.json b/package.json index 28fa0a7..9727aec 100644 --- a/package.json +++ b/package.json @@ -77,12 +77,13 @@ "@vue/composition-api": "^1.7.2", "autoprefixer": "^10.4.16", "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^4.2.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-unused-imports": "^4.1.4", "eslint-plugin-vue": "^9.20.1", "husky": "^9.0.11", "lint-staged": "^15.2.2", + "prettier": "^3.3.3", "standard-version": "^9.5.0", "typescript": "^4.9.5", "unplugin-vue-components": "^0.27.4", @@ -97,7 +98,8 @@ }, "lint-staged": { "*.{vue,ts,tsx}": [ - "eslint --ext .ts,.vue src" + "eslint --ext .ts,.vue src", + "prettier --write" ] } } diff --git a/src/components/TonConnectButton.vue b/src/components/TonConnectButton.vue index 8e569f5..8d5f5df 100644 --- a/src/components/TonConnectButton.vue +++ b/src/components/TonConnectButton.vue @@ -1,41 +1,43 @@ + \ No newline at end of file diff --git a/src/hooks/useIsConnectionRestored.ts b/src/hooks/useIsConnectionRestored.ts index f92e012..2def722 100644 --- a/src/hooks/useIsConnectionRestored.ts +++ b/src/hooks/useIsConnectionRestored.ts @@ -1,7 +1,7 @@ -import { ref, onMounted } from 'vue-demi'; +import { ref, onMounted, Ref } from 'vue-demi'; import { useTonConnectUI } from './useTonConnectUI'; -export function useIsConnectionRestored() { +export function useIsConnectionRestored(): Ref { const restored = ref(false); const { tonConnectUI } = useTonConnectUI(); diff --git a/src/hooks/useTonAddress.ts b/src/hooks/useTonAddress.ts index 4872dfa..5fd4bd7 100644 --- a/src/hooks/useTonAddress.ts +++ b/src/hooks/useTonAddress.ts @@ -1,8 +1,8 @@ -import { computed } from 'vue-demi'; +import { computed, ComputedRef } from 'vue-demi'; import { CHAIN, toUserFriendlyAddress } from '@tonconnect/ui'; import { useTonWallet } from './useTonWallet'; -export function useTonAddress(userFriendly = true) { +export function useTonAddress(userFriendly = true): ComputedRef { const wallet = useTonWallet(); const tonAddress = computed(() => { diff --git a/src/hooks/useTonConnectModal.ts b/src/hooks/useTonConnectModal.ts index 3f6e030..a28dc53 100644 --- a/src/hooks/useTonConnectModal.ts +++ b/src/hooks/useTonConnectModal.ts @@ -1,15 +1,19 @@ -import { ref, onMounted } from 'vue-demi'; +import { ref, onMounted, Ref } from 'vue-demi'; import { useTonConnectUI } from './useTonConnectUI'; import { WalletsModalState } from '@tonconnect/ui'; -export function useTonConnectModal() { +export function useTonConnectModal(): { + state: Ref; + open: () => void; + close: () => void; +} { const { tonConnectUI } = useTonConnectUI(); const state = ref(tonConnectUI?.modal.state || null); onMounted(() => { if (tonConnectUI) { state.value = tonConnectUI.modal.state; - + tonConnectUI.onModalStateChange((value: WalletsModalState) => { state.value = value; }); diff --git a/src/hooks/useTonConnectUI.ts b/src/hooks/useTonConnectUI.ts index 5b41a48..4375a67 100644 --- a/src/hooks/useTonConnectUI.ts +++ b/src/hooks/useTonConnectUI.ts @@ -1,34 +1,67 @@ -import { getCurrentInstance, isVue2 } from 'vue-demi'; +import { DefineComponent, getCurrentInstance, isVue2 } from 'vue-demi'; import { TonConnectUI, TonConnectUiOptions } from '@tonconnect/ui'; import { checkProvider } from '../utils/errors'; import { isServerSide } from '../utils/web'; -export function useTonConnectUI() { +type CustomInstance = DefineComponent & { + proxy?: { + $tonConnectUI?: TonConnectUI; + }; + appContext?: { + app: { + config: { + globalProperties: { + $tonConnectUI?: TonConnectUI; + }; + }; + }; + }; +}; + + +export function useTonConnectUI(): { + tonConnectUI: TonConnectUI | null; + setOptions: (options: TonConnectUiOptions) => void; + error?: string; +} { if (isServerSide()) { return { tonConnectUI: null as TonConnectUI | null, - setOptions: () => {}, + setOptions: () => { + // empty + }, }; } - const instance = getCurrentInstance() as any; - const globalPropertiesMap = isVue2 ? instance?.proxy: instance?.appContext?.app.config.globalProperties + const instance = getCurrentInstance() as CustomInstance | null; - const tonConnectUI = globalPropertiesMap?.$tonConnectUI as TonConnectUI | undefined; + if (!instance) { + return { + tonConnectUI: null, + setOptions: () => { + // empty + }, + error: 'Vue instance not found', + }; + } + const tonConnectUI: TonConnectUI | null = isVue2 + ? instance.proxy?.$tonConnectUI ?? null + : instance.appContext?.app?.config?.globalProperties?.$tonConnectUI ?? null; + if (!tonConnectUI) { - throw new Error("TonConnect is not avaliable"); + throw new Error("TonConnect is not available"); } checkProvider(tonConnectUI); - const setOptions = (options: TonConnectUiOptions) => { + // 明确返回类型为 void + const setOptions = (options: TonConnectUiOptions): void => { tonConnectUI.uiOptions = options; }; - return { tonConnectUI, setOptions, }; -} +} \ No newline at end of file diff --git a/src/hooks/useTonWallet.ts b/src/hooks/useTonWallet.ts index 46d5017..2a878dc 100644 --- a/src/hooks/useTonWallet.ts +++ b/src/hooks/useTonWallet.ts @@ -1,28 +1,46 @@ -import { ref, onMounted, onUnmounted } from 'vue-demi'; +import { ref, onMounted, onUnmounted, Ref } from 'vue-demi'; import { ConnectedWallet, Wallet, WalletInfoWithOpenMethod } from '@tonconnect/ui'; import { useTonConnectUI } from './useTonConnectUI'; -export function useTonWallet() { - const { tonConnectUI } = useTonConnectUI(); - const wallet = ref( - tonConnectUI?.wallet || null +// Custom type to make properties mutable +type Mutable = { + -readonly [P in keyof T]: T[P]; +}; + +function isWallet(value: unknown): value is Wallet | (Wallet & WalletInfoWithOpenMethod) { + return ( + value !== null && + typeof value === 'object' && + 'device' in value && + 'provider' in value && + 'account' in value ); +} - const updateWallet = (value: ConnectedWallet | null) => { - wallet.value = value; +export function useTonWallet(): Ref { + const { tonConnectUI } = useTonConnectUI(); + const wallet = ref(null); + + const updateWallet = (value: ConnectedWallet | null): void => { + if (isWallet(value)) { + wallet.value = value as Mutable; + } else { + wallet.value = null; + } }; - onMounted(() => { - if (tonConnectUI) { - wallet.value = tonConnectUI.wallet; - const unsubscribe = tonConnectUI.onStatusChange((value: ConnectedWallet | null) => { - updateWallet(value); - }); - onUnmounted(() => { - unsubscribe(); - }); + const subscribeToWalletChanges = (): void => { + if (!tonConnectUI) return; + + if (isWallet(tonConnectUI.wallet)) { + wallet.value = tonConnectUI.wallet as Mutable; } - }); + + const unsubscribe = tonConnectUI.onStatusChange(updateWallet); + onUnmounted(unsubscribe); + }; + + onMounted(subscribeToWalletChanges); return wallet; -} +} \ No newline at end of file diff --git a/src/plugin.ts b/src/plugin.ts index 7557d94..f647bef 100644 --- a/src/plugin.ts +++ b/src/plugin.ts @@ -19,7 +19,7 @@ export const TonConnectUIPlugin: PluginObject = { if (isVue2) { app.prototype.$tonConnectUI = tonConnectUI.value; } else { - // @ts-expect-error + // @ts-expect-error: TypeScript does not recognize the globalProperties property in Vue 3 app.config.globalProperties.$tonConnectUI = tonConnectUI.value; } }, diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts index 4ca75b5..62b1e66 100644 --- a/src/shims-vue.d.ts +++ b/src/shims-vue.d.ts @@ -1,5 +1,5 @@ declare module '*.vue' { - import type { DefineComponent } from 'vue' - const component: DefineComponent<{}, {}, any> - export default component + import Vue from 'vue'; + const component: Vue & { [key: string]: unknown }; + export default component; } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b7144ba..3c56c22 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1383,6 +1383,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@pkgr/core@^0.1.0": + version "0.1.1" + resolved "https://registry.npmmirror.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" + integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== + "@rollup/pluginutils@^5.1.0": version "5.1.0" resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz" @@ -2977,17 +2982,18 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^8.10.0: - version "8.10.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== +eslint-config-prettier@^9.1.0: + version "9.1.0" + resolved "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== +eslint-plugin-prettier@^5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" + integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== dependencies: prettier-linter-helpers "^1.0.0" + synckit "^0.9.1" eslint-plugin-unused-imports@^4.1.4: version "4.1.4" @@ -4391,6 +4397,11 @@ prettier-linter-helpers@^1.0.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.3.3: + version "3.3.3" + resolved "https://registry.npmmirror.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" + integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -4919,6 +4930,14 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +synckit@^0.9.1: + version "0.9.2" + resolved "https://registry.npmmirror.com/synckit/-/synckit-0.9.2.tgz#a3a935eca7922d48b9e7d6c61822ee6c3ae4ec62" + integrity sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw== + dependencies: + "@pkgr/core" "^0.1.0" + tslib "^2.6.2" + systemjs@^6.14.3: version "6.15.1" resolved "https://registry.npmjs.org/systemjs/-/systemjs-6.15.1.tgz" @@ -5006,6 +5025,11 @@ tslib@^1.8.1: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.6.2: + version "2.8.1" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" From ac847c2e6e3230675a2bc61db7eef38dc71bbd27 Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 22:57:09 +0800 Subject: [PATCH 11/13] chore: add prettier config --- src/components/TonConnectButton.vue | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/components/TonConnectButton.vue b/src/components/TonConnectButton.vue index 8d5f5df..053094c 100644 --- a/src/components/TonConnectButton.vue +++ b/src/components/TonConnectButton.vue @@ -13,25 +13,20 @@ export default defineComponent({ setup(props, { slots }) { const { setOptions } = useTonConnectUI(); - // 组件挂载时调用 onMounted(() => { setOptions({ buttonRootId: props.buttonRootId }); }); - // 组件卸载时调用 onBeforeUnmount(() => { setOptions({ buttonRootId: null }); }); - // 返回虚拟节点 return () => { - // 根据 Vue 版本来调整 vnodeData const vnodeData = { style: { width: "fit-content" }, ...(isVue2 ? { attrs: { id: props.buttonRootId || "" } } : { id: props.buttonRootId || "" }), }; - // 使用 h 函数生成虚拟节点 return h( "div", vnodeData, From 8b97bf4b1b7d47ef5211071ef3daaf75e87421c5 Mon Sep 17 00:00:00 2001 From: Guo Hong <1352118502@qq.com> Date: Thu, 7 Nov 2024 23:10:26 +0800 Subject: [PATCH 12/13] chore: add prettier config --- .eslintrc.cjs | 11 ++- .prettierrc | 3 + src/components/TonConnectButton.vue | 29 +++--- src/components/index.ts | 2 +- .../ton-connect-provider-not-set.error.ts | 8 +- src/errors/ton-connect-ui-vue.error.ts | 8 +- src/hooks/index.ts | 2 +- src/hooks/useIsConnectionRestored.ts | 20 ++-- src/hooks/useTonAddress.ts | 30 +++--- src/hooks/useTonConnectModal.ts | 38 +++---- src/hooks/useTonConnectUI.ts | 98 +++++++++--------- src/hooks/useTonWallet.ts | 84 +++++++++------- src/library.ts | 2 +- src/plugin.ts | 12 +-- src/shims-vue.d.ts | 2 +- src/types.ts | 98 +++++++++--------- src/utils/UIProvider.ts | 99 ++++++++++--------- src/utils/errors.ts | 16 +-- src/utils/web.ts | 4 +- 19 files changed, 295 insertions(+), 271 deletions(-) create mode 100644 .prettierrc diff --git a/.eslintrc.cjs b/.eslintrc.cjs index c0078de..596afd1 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,12 +1,12 @@ module.exports = { - parser: '@typescript-eslint/parser', + parser: "vue-eslint-parser", extends: [ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', + "plugin:vue/recommended", + "plugin:@typescript-eslint/recommended", + "prettier", ], parserOptions: { + parser: "@typescript-eslint/parser", sourceType: "module", ecmaVersion: "latest", ecmaFeatures: { @@ -35,5 +35,6 @@ module.exports = { }, ], "@typescript-eslint/no-explicit-any": "error", + "quotes": ["error", "single"], }, }; diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..92cde39 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "singleQuote": true +} \ No newline at end of file diff --git a/src/components/TonConnectButton.vue b/src/components/TonConnectButton.vue index 053094c..da3fceb 100644 --- a/src/components/TonConnectButton.vue +++ b/src/components/TonConnectButton.vue @@ -1,13 +1,20 @@ \ No newline at end of file + diff --git a/src/components/index.ts b/src/components/index.ts index 6c08d88..35733da 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1 +1 @@ -export { default as TonConnectButton } from "./TonConnectButton.vue"; +export { default as TonConnectButton } from './TonConnectButton.vue'; diff --git a/src/errors/ton-connect-provider-not-set.error.ts b/src/errors/ton-connect-provider-not-set.error.ts index ddcc10e..dfa1ced 100644 --- a/src/errors/ton-connect-provider-not-set.error.ts +++ b/src/errors/ton-connect-provider-not-set.error.ts @@ -5,9 +5,9 @@ import { TonConnectUIVueError } from './ton-connect-ui-vue.error'; * either there is an attempt using TonConnect UI hook or inside */ export class TonConnectProviderNotSetError extends TonConnectUIVueError { - constructor(...args: ConstructorParameters) { - super(...args); + constructor(...args: ConstructorParameters) { + super(...args); - Object.setPrototypeOf(this, TonConnectProviderNotSetError.prototype); - } + Object.setPrototypeOf(this, TonConnectProviderNotSetError.prototype); + } } diff --git a/src/errors/ton-connect-ui-vue.error.ts b/src/errors/ton-connect-ui-vue.error.ts index 1f16da9..7186d8e 100644 --- a/src/errors/ton-connect-ui-vue.error.ts +++ b/src/errors/ton-connect-ui-vue.error.ts @@ -4,9 +4,9 @@ import { TonConnectUIError } from '@tonconnect/ui'; * Base class for TonConnectUIReact errors. You can check if the error was triggered by the @tonconnect/ui-react using `err instanceof TonConnectUIReactError`. */ export class TonConnectUIVueError extends TonConnectUIError { - constructor(...args: ConstructorParameters) { - super(...args); + constructor(...args: ConstructorParameters) { + super(...args); - Object.setPrototypeOf(this, TonConnectUIVueError.prototype); - } + Object.setPrototypeOf(this, TonConnectUIVueError.prototype); + } } diff --git a/src/hooks/index.ts b/src/hooks/index.ts index 3eb38a3..b5cb6f2 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -2,4 +2,4 @@ export { useTonAddress } from './useTonAddress'; export { useTonConnectModal } from './useTonConnectModal'; export { useTonConnectUI } from './useTonConnectUI'; export { useTonWallet } from './useTonWallet'; -export { useIsConnectionRestored } from './useIsConnectionRestored'; \ No newline at end of file +export { useIsConnectionRestored } from './useIsConnectionRestored'; diff --git a/src/hooks/useIsConnectionRestored.ts b/src/hooks/useIsConnectionRestored.ts index 2def722..0eaa723 100644 --- a/src/hooks/useIsConnectionRestored.ts +++ b/src/hooks/useIsConnectionRestored.ts @@ -2,16 +2,16 @@ import { ref, onMounted, Ref } from 'vue-demi'; import { useTonConnectUI } from './useTonConnectUI'; export function useIsConnectionRestored(): Ref { - const restored = ref(false); - const { tonConnectUI } = useTonConnectUI(); + const restored = ref(false); + const { tonConnectUI } = useTonConnectUI(); - onMounted(() => { - if (tonConnectUI) { - tonConnectUI.connectionRestored.then(() => { - restored.value = true; - }); - } - }); + onMounted(() => { + if (tonConnectUI) { + tonConnectUI.connectionRestored.then(() => { + restored.value = true; + }); + } + }); - return restored; + return restored; } diff --git a/src/hooks/useTonAddress.ts b/src/hooks/useTonAddress.ts index 5fd4bd7..9190bb2 100644 --- a/src/hooks/useTonAddress.ts +++ b/src/hooks/useTonAddress.ts @@ -3,20 +3,20 @@ import { CHAIN, toUserFriendlyAddress } from '@tonconnect/ui'; import { useTonWallet } from './useTonWallet'; export function useTonAddress(userFriendly = true): ComputedRef { - const wallet = useTonWallet(); + const wallet = useTonWallet(); - const tonAddress = computed(() => { - if (wallet.value) { - return userFriendly - ? toUserFriendlyAddress( - wallet.value.account.address, - wallet.value.account.chain === CHAIN.TESTNET - ) - : wallet.value.account.address; - } else { - return ''; - } - }); + const tonAddress = computed(() => { + if (wallet.value) { + return userFriendly + ? toUserFriendlyAddress( + wallet.value.account.address, + wallet.value.account.chain === CHAIN.TESTNET, + ) + : wallet.value.account.address; + } else { + return ''; + } + }); - return tonAddress; -} \ No newline at end of file + return tonAddress; +} diff --git a/src/hooks/useTonConnectModal.ts b/src/hooks/useTonConnectModal.ts index a28dc53..1899a0b 100644 --- a/src/hooks/useTonConnectModal.ts +++ b/src/hooks/useTonConnectModal.ts @@ -3,26 +3,28 @@ import { useTonConnectUI } from './useTonConnectUI'; import { WalletsModalState } from '@tonconnect/ui'; export function useTonConnectModal(): { - state: Ref; - open: () => void; - close: () => void; + state: Ref; + open: () => void; + close: () => void; } { - const { tonConnectUI } = useTonConnectUI(); - const state = ref(tonConnectUI?.modal.state || null); + const { tonConnectUI } = useTonConnectUI(); + const state = ref( + tonConnectUI?.modal.state || null, + ); - onMounted(() => { - if (tonConnectUI) { - state.value = tonConnectUI.modal.state; + onMounted(() => { + if (tonConnectUI) { + state.value = tonConnectUI.modal.state; - tonConnectUI.onModalStateChange((value: WalletsModalState) => { - state.value = value; - }); - } - }); + tonConnectUI.onModalStateChange((value: WalletsModalState) => { + state.value = value; + }); + } + }); - return { - state: state, - open: () => tonConnectUI?.modal.open(), - close: () => tonConnectUI?.modal.close() - }; + return { + state: state, + open: () => tonConnectUI?.modal.open(), + close: () => tonConnectUI?.modal.close(), + }; } diff --git a/src/hooks/useTonConnectUI.ts b/src/hooks/useTonConnectUI.ts index 4375a67..ecd05d8 100644 --- a/src/hooks/useTonConnectUI.ts +++ b/src/hooks/useTonConnectUI.ts @@ -4,64 +4,64 @@ import { checkProvider } from '../utils/errors'; import { isServerSide } from '../utils/web'; type CustomInstance = DefineComponent & { - proxy?: { - $tonConnectUI?: TonConnectUI; - }; - appContext?: { - app: { - config: { - globalProperties: { - $tonConnectUI?: TonConnectUI; - }; - }; + proxy?: { + $tonConnectUI?: TonConnectUI; + }; + appContext?: { + app: { + config: { + globalProperties: { + $tonConnectUI?: TonConnectUI; }; + }; }; + }; }; - export function useTonConnectUI(): { - tonConnectUI: TonConnectUI | null; - setOptions: (options: TonConnectUiOptions) => void; - error?: string; + tonConnectUI: TonConnectUI | null; + setOptions: (options: TonConnectUiOptions) => void; + error?: string; } { - if (isServerSide()) { - return { - tonConnectUI: null as TonConnectUI | null, - setOptions: () => { - // empty - }, - }; - } + if (isServerSide()) { + return { + tonConnectUI: null as TonConnectUI | null, + setOptions: () => { + // empty + }, + }; + } - const instance = getCurrentInstance() as CustomInstance | null; + const instance = getCurrentInstance() as CustomInstance | null; - if (!instance) { - return { - tonConnectUI: null, - setOptions: () => { - // empty - }, - error: 'Vue instance not found', - }; - } + if (!instance) { + return { + tonConnectUI: null, + setOptions: () => { + // empty + }, + error: 'Vue instance not found', + }; + } - const tonConnectUI: TonConnectUI | null = isVue2 - ? instance.proxy?.$tonConnectUI ?? null - : instance.appContext?.app?.config?.globalProperties?.$tonConnectUI ?? null; - - if (!tonConnectUI) { - throw new Error("TonConnect is not available"); - } + const tonConnectUI: TonConnectUI | null = isVue2 + ? (instance.proxy?.$tonConnectUI ?? null) + : (instance.appContext?.app?.config?.globalProperties?.$tonConnectUI ?? + null); - checkProvider(tonConnectUI); + if (!tonConnectUI) { + throw new Error('TonConnect is not available'); + } - // 明确返回类型为 void - const setOptions = (options: TonConnectUiOptions): void => { - tonConnectUI.uiOptions = options; - }; + checkProvider(tonConnectUI); - return { - tonConnectUI, - setOptions, - }; -} \ No newline at end of file + // 明确返回类型为 void + const setOptions = (options: TonConnectUiOptions): void => { + tonConnectUI.uiOptions = options; + }; + + return { + tonConnectUI, + setOptions, + }; +} diff --git a/src/hooks/useTonWallet.ts b/src/hooks/useTonWallet.ts index 2a878dc..60232a2 100644 --- a/src/hooks/useTonWallet.ts +++ b/src/hooks/useTonWallet.ts @@ -1,5 +1,9 @@ import { ref, onMounted, onUnmounted, Ref } from 'vue-demi'; -import { ConnectedWallet, Wallet, WalletInfoWithOpenMethod } from '@tonconnect/ui'; +import { + ConnectedWallet, + Wallet, + WalletInfoWithOpenMethod, +} from '@tonconnect/ui'; import { useTonConnectUI } from './useTonConnectUI'; // Custom type to make properties mutable @@ -7,40 +11,48 @@ type Mutable = { -readonly [P in keyof T]: T[P]; }; -function isWallet(value: unknown): value is Wallet | (Wallet & WalletInfoWithOpenMethod) { - return ( - value !== null && - typeof value === 'object' && - 'device' in value && - 'provider' in value && - 'account' in value - ); +function isWallet( + value: unknown, +): value is Wallet | (Wallet & WalletInfoWithOpenMethod) { + return ( + value !== null && + typeof value === 'object' && + 'device' in value && + 'provider' in value && + 'account' in value + ); } -export function useTonWallet(): Ref { - const { tonConnectUI } = useTonConnectUI(); - const wallet = ref(null); - - const updateWallet = (value: ConnectedWallet | null): void => { - if (isWallet(value)) { - wallet.value = value as Mutable; - } else { - wallet.value = null; - } - }; - - const subscribeToWalletChanges = (): void => { - if (!tonConnectUI) return; - - if (isWallet(tonConnectUI.wallet)) { - wallet.value = tonConnectUI.wallet as Mutable; - } - - const unsubscribe = tonConnectUI.onStatusChange(updateWallet); - onUnmounted(unsubscribe); - }; - - onMounted(subscribeToWalletChanges); - - return wallet; -} \ No newline at end of file +export function useTonWallet(): Ref< + Wallet | (Wallet & WalletInfoWithOpenMethod) | null +> { + const { tonConnectUI } = useTonConnectUI(); + const wallet = ref(null); + + const updateWallet = (value: ConnectedWallet | null): void => { + if (isWallet(value)) { + wallet.value = value as Mutable< + Wallet | (Wallet & WalletInfoWithOpenMethod) + >; + } else { + wallet.value = null; + } + }; + + const subscribeToWalletChanges = (): void => { + if (!tonConnectUI) return; + + if (isWallet(tonConnectUI.wallet)) { + wallet.value = tonConnectUI.wallet as Mutable< + Wallet | (Wallet & WalletInfoWithOpenMethod) + >; + } + + const unsubscribe = tonConnectUI.onStatusChange(updateWallet); + onUnmounted(unsubscribe); + }; + + onMounted(subscribeToWalletChanges); + + return wallet; +} diff --git a/src/library.ts b/src/library.ts index 4154875..5c4b08a 100644 --- a/src/library.ts +++ b/src/library.ts @@ -1,3 +1,3 @@ export * from './components'; export * from './errors'; -export * from './hooks'; \ No newline at end of file +export * from './hooks'; diff --git a/src/plugin.ts b/src/plugin.ts index f647bef..58bc9cf 100644 --- a/src/plugin.ts +++ b/src/plugin.ts @@ -1,11 +1,7 @@ -import { - isVue2, - shallowRef, - PluginObject, -} from "vue-demi"; -import { TonConnectUI } from "@tonconnect/ui"; -import { isClientSide } from "./utils/web"; -import { TonConnectUIProviderProps } from "./types"; +import { isVue2, shallowRef, PluginObject } from 'vue-demi'; +import { TonConnectUI } from '@tonconnect/ui'; +import { isClientSide } from './utils/web'; +import { TonConnectUIProviderProps } from './types'; export const TonConnectUIPlugin: PluginObject = { install(app, options) { diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts index 62b1e66..87b8d81 100644 --- a/src/shims-vue.d.ts +++ b/src/shims-vue.d.ts @@ -2,4 +2,4 @@ declare module '*.vue' { import Vue from 'vue'; const component: Vue & { [key: string]: unknown }; export default component; -} \ No newline at end of file +} diff --git a/src/types.ts b/src/types.ts index 4d3e091..91502ff 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,67 +1,69 @@ import { - ActionConfiguration, - Locales, - UIPreferences, - WalletsListConfiguration + ActionConfiguration, + Locales, + UIPreferences, + WalletsListConfiguration, } from '@tonconnect/ui'; import type { ITonConnect } from '@tonconnect/ui'; - -export type TonConnectUIProviderProps = Partial & - Partial; +export type TonConnectUIProviderProps = Partial & + Partial< + | TonConnectUIProviderPropsWithManifest + | TonConnectUIProviderPropsWithConnector + >; export interface TonConnectUIProviderPropsWithManifest { - /** - * Url to the [manifest]{@link https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest} with the Dapp metadata that will be displayed in the user's wallet. - * If not passed, manifest from `${window.location.origin}/tonconnect-manifest.json` will be taken. - */ - manifestUrl: string; + /** + * Url to the [manifest]{@link https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest} with the Dapp metadata that will be displayed in the user's wallet. + * If not passed, manifest from `${window.location.origin}/tonconnect-manifest.json` will be taken. + */ + manifestUrl: string; } export interface TonConnectUIProviderPropsWithConnector { - /** - * TonConnect instance. Can be helpful if you use custom ITonConnect implementation, or use both of @tonconnect/sdk and @tonconnect/ui in your app. - */ - connector: ITonConnect; + /** + * TonConnect instance. Can be helpful if you use custom ITonConnect implementation, or use both of @tonconnect/sdk and @tonconnect/ui in your app. + */ + connector: ITonConnect; } export interface TonConnectUIProviderPropsBase { - /** - * Try to restore existing session and reconnect to the corresponding wallet. - * @default true. - */ - restoreConnection: boolean; + /** + * Try to restore existing session and reconnect to the corresponding wallet. + * @default true. + */ + restoreConnection: boolean; - /** - * Language for the phrases it the UI elements. - * @default system - */ - language: Locales; + /** + * Language for the phrases it the UI elements. + * @default system + */ + language: Locales; - /** - * HTML element id to attach the modal window element. If not passed, `div#tc-widget-root` in the end of the will be added and used. - * @default `div#tc-widget-root`. - */ - widgetRootId: string; + /** + * HTML element id to attach the modal window element. If not passed, `div#tc-widget-root` in the end of the will be added and used. + * @default `div#tc-widget-root`. + */ + widgetRootId: string; - /** - * UI elements configuration. - */ - uiPreferences?: UIPreferences; + /** + * UI elements configuration. + */ + uiPreferences?: UIPreferences; - /** - * Configuration for the wallets list in the connect wallet modal. - */ - walletsListConfiguration?: WalletsListConfiguration; + /** + * Configuration for the wallets list in the connect wallet modal. + */ + walletsListConfiguration?: WalletsListConfiguration; - /** - * Configuration for action-period (e.g. sendTransaction) UI elements: modals and notifications and wallet behaviour (return strategy). - */ - actionsConfiguration?: ActionConfiguration; + /** + * Configuration for action-period (e.g. sendTransaction) UI elements: modals and notifications and wallet behaviour (return strategy). + */ + actionsConfiguration?: ActionConfiguration; - /** - * Specifies whether the Android back button should be used to close modals and notifications on Android devices. - * @default true - */ - enableAndroidBackHandler?: boolean; + /** + * Specifies whether the Android back button should be used to close modals and notifications on Android devices. + * @default true + */ + enableAndroidBackHandler?: boolean; } diff --git a/src/utils/UIProvider.ts b/src/utils/UIProvider.ts index 44817da..91502ff 100644 --- a/src/utils/UIProvider.ts +++ b/src/utils/UIProvider.ts @@ -1,68 +1,69 @@ - import { - ActionConfiguration, - Locales, - UIPreferences, - WalletsListConfiguration + ActionConfiguration, + Locales, + UIPreferences, + WalletsListConfiguration, } from '@tonconnect/ui'; import type { ITonConnect } from '@tonconnect/ui'; - -export type TonConnectUIProviderProps = Partial & - Partial; +export type TonConnectUIProviderProps = Partial & + Partial< + | TonConnectUIProviderPropsWithManifest + | TonConnectUIProviderPropsWithConnector + >; export interface TonConnectUIProviderPropsWithManifest { - /** - * Url to the [manifest]{@link https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest} with the Dapp metadata that will be displayed in the user's wallet. - * If not passed, manifest from `${window.location.origin}/tonconnect-manifest.json` will be taken. - */ - manifestUrl: string; + /** + * Url to the [manifest]{@link https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest} with the Dapp metadata that will be displayed in the user's wallet. + * If not passed, manifest from `${window.location.origin}/tonconnect-manifest.json` will be taken. + */ + manifestUrl: string; } export interface TonConnectUIProviderPropsWithConnector { - /** - * TonConnect instance. Can be helpful if you use custom ITonConnect implementation, or use both of @tonconnect/sdk and @tonconnect/ui in your app. - */ - connector: ITonConnect; + /** + * TonConnect instance. Can be helpful if you use custom ITonConnect implementation, or use both of @tonconnect/sdk and @tonconnect/ui in your app. + */ + connector: ITonConnect; } export interface TonConnectUIProviderPropsBase { - /** - * Try to restore existing session and reconnect to the corresponding wallet. - * @default true. - */ - restoreConnection: boolean; + /** + * Try to restore existing session and reconnect to the corresponding wallet. + * @default true. + */ + restoreConnection: boolean; - /** - * Language for the phrases it the UI elements. - * @default system - */ - language: Locales; + /** + * Language for the phrases it the UI elements. + * @default system + */ + language: Locales; - /** - * HTML element id to attach the modal window element. If not passed, `div#tc-widget-root` in the end of the will be added and used. - * @default `div#tc-widget-root`. - */ - widgetRootId: string; + /** + * HTML element id to attach the modal window element. If not passed, `div#tc-widget-root` in the end of the will be added and used. + * @default `div#tc-widget-root`. + */ + widgetRootId: string; - /** - * UI elements configuration. - */ - uiPreferences?: UIPreferences; + /** + * UI elements configuration. + */ + uiPreferences?: UIPreferences; - /** - * Configuration for the wallets list in the connect wallet modal. - */ - walletsListConfiguration?: WalletsListConfiguration; + /** + * Configuration for the wallets list in the connect wallet modal. + */ + walletsListConfiguration?: WalletsListConfiguration; - /** - * Configuration for action-period (e.g. sendTransaction) UI elements: modals and notifications and wallet behaviour (return strategy). - */ - actionsConfiguration?: ActionConfiguration; + /** + * Configuration for action-period (e.g. sendTransaction) UI elements: modals and notifications and wallet behaviour (return strategy). + */ + actionsConfiguration?: ActionConfiguration; - /** - * Specifies whether the Android back button should be used to close modals and notifications on Android devices. - * @default true - */ - enableAndroidBackHandler?: boolean; + /** + * Specifies whether the Android back button should be used to close modals and notifications on Android devices. + * @default true + */ + enableAndroidBackHandler?: boolean; } diff --git a/src/utils/errors.ts b/src/utils/errors.ts index 32e4986..1e03aea 100644 --- a/src/utils/errors.ts +++ b/src/utils/errors.ts @@ -1,12 +1,14 @@ import { TonConnectUI } from '@tonconnect/ui'; import { TonConnectProviderNotSetError } from '../errors/ton-connect-provider-not-set.error'; -export function checkProvider(provider: TonConnectUI | null): provider is TonConnectUI { - if (!provider) { - throw new TonConnectProviderNotSetError( - 'You should add on the top of the app to use TonConnect' - ); - } +export function checkProvider( + provider: TonConnectUI | null, +): provider is TonConnectUI { + if (!provider) { + throw new TonConnectProviderNotSetError( + 'You should add on the top of the app to use TonConnect', + ); + } - return true; + return true; } diff --git a/src/utils/web.ts b/src/utils/web.ts index 06d45b0..c860a8a 100644 --- a/src/utils/web.ts +++ b/src/utils/web.ts @@ -1,7 +1,7 @@ export function isClientSide(): boolean { - return typeof window !== 'undefined'; + return typeof window !== 'undefined'; } export function isServerSide(): boolean { - return !isClientSide(); + return !isClientSide(); } From 4097fb848670473de3bf779fa0b276aa36bb3736 Mon Sep 17 00:00:00 2001 From: xiangnuans <1352118502@qq.com> Date: Mon, 11 Nov 2024 10:09:20 +0800 Subject: [PATCH 13/13] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E7=A9=BA?= =?UTF-8?q?=E5=80=BC=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useIsConnectionRestored.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/useIsConnectionRestored.ts b/src/hooks/useIsConnectionRestored.ts index 0eaa723..7e6f756 100644 --- a/src/hooks/useIsConnectionRestored.ts +++ b/src/hooks/useIsConnectionRestored.ts @@ -6,7 +6,7 @@ export function useIsConnectionRestored(): Ref { const { tonConnectUI } = useTonConnectUI(); onMounted(() => { - if (tonConnectUI) { + if (tonConnectUI?.closeModal) { tonConnectUI.connectionRestored.then(() => { restored.value = true; });

o6q>z5UW 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 z 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