diff --git a/.env-eos-mainnet.example b/.env-eos-mainnet.example new file mode 100644 index 000000000..b2dd55cb5 --- /dev/null +++ b/.env-eos-mainnet.example @@ -0,0 +1,41 @@ +APP_NAME=Hypha DHO - EOS MainNet + +# BLOCKCHAIN CONFIG +NETWORK_CHAIN_ID=aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906 +BLOCKCHAIN_ENDPOINTS=https://eos.api.eosnation.io + +# BLOCKCHAIN EXPLORER +BLOCKCHAIN_EXPLORER=https://bloks.io/ +BLOCKCHAIN_EXPLORER_BTC=https://www.blockchain.com/btc/tx/ +BLOCKCHAIN_EXPLORER_ETH=https://etherscan.io/tx/ +BLOCKCHAIN_EXPLORER_EOS=https://bloks.io/transaction/ + +# CONTRACTS +DAO_CONTRACT=dao.hypha +TLOSTO_SEEDS=tlosto.seeds +SUPPLY_CONTRACT=voice.hypha +KV_CONTRACT=kv.hypha + +# INFURA +IPFS_URL=ipfs.infura.io +IPFS_PROJECT_ID= +IPFS_PROJECT_SECRET= + +# GRAPHQL +DGRAPH_URL=https://nameless-brook-400051.eu-central-1.aws.cloud.dgraph.io +GRAPHQL_URI=https://nameless-brook-400051.eu-central-1.aws.cloud.dgraph.io/graphql +DGRAPH_AUTH_KEY= + +# HYPHA TOKEN SALES +HYPHA_TOKEN_SALES_ENCODE_KEY= +HYPHA_TOKEN_SALES_URL='https://tokensale.hypha.earth' + +# ONBOARDING AND ACCOUNT CREATION SERVICE +PPP_ENV=eos +ACCOUNT_API_URL=https://9fxmgfe1l5.execute-api.us-east-1.amazonaws.com/eosMainNet +ACCOUNT_API_KEY= + +# MONITORING / TOOLING +SENTRY_DSN= +DOCUMENTATION=https://notepad.hypha.earth/5dC66nNXRVGpb1aTHaRJXw +CHROMATIC_PROJECT_TOKEN= diff --git a/.env-eos-testnet.example b/.env-eos-testnet.example new file mode 100644 index 000000000..621a59ac1 --- /dev/null +++ b/.env-eos-testnet.example @@ -0,0 +1,42 @@ +APP_NAME=Hypha DHO - EOS TestNet + +# BLOCKCHAIN CONFIG +NETWORK_CHAIN_ID=73e4385a2708e6d7048834fbc1079f2fabb17b3c125b146af438971e90716c4d +BLOCKCHAIN_ENDPOINTS=https://jungle4.cryptolions.io +EOS_ENDPOINTS=https://jungle4.cryptolions.io + +# BLOCKCHAIN EXPLORER +BLOCKCHAIN_EXPLORER=https://local.bloks.io/?nodeUrl=jungle4.cryptolions.io&systemDomain=eosio&hyperionUrl=https%3A%2F%2Fjungle4history.cryptolions.io +BLOCKCHAIN_EXPLORER_BTC=https://www.blockchain.com/btc/tx/ +BLOCKCHAIN_EXPLORER_ETH=https://etherscan.io/tx/ +BLOCKCHAIN_EXPLORER_EOS=https://bloks.io/transaction/ + +# CONTRACTS +DAO_CONTRACT=daoxhypha111 +TLOSTO_SEEDS=tlosto.seeds +SUPPLY_CONTRACT=voicexhypha1 +KV_CONTRACT=kvxhypha1111 + +# INFURA +IPFS_URL=ipfs.infura.io +IPFS_PROJECT_ID= +IPFS_PROJECT_SECRET= + +# GRAPHQL +DGRAPH_URL=https://nameless-brook-400226.eu-central-1.aws.cloud.dgraph.io +GRAPHQL_URI=https://nameless-brook-400226.eu-central-1.aws.cloud.dgraph.io/graphql +DGRAPH_AUTH_KEY= + +# HYPHA TOKEN SALES +HYPHA_TOKEN_SALES_ENCODE_KEY= +HYPHA_TOKEN_SALES_URL='https://tokensale.hypha.earth' + +# ONBOARDING AND ACCOUNT CREATION SERVICE +PPP_ENV=eos-test +ACCOUNT_API_URL=https://9fxmgfe1l5.execute-api.us-east-1.amazonaws.com/eosMainNet +ACCOUNT_API_KEY= + +# MONITORING / TOOLING +SENTRY_DSN= +DOCUMENTATION=https://notepad.hypha.earth/5dC66nNXRVGpb1aTHaRJXw +CHROMATIC_PROJECT_TOKEN= diff --git a/.env.example b/.env.example index 2fa59821a..6a86d47a0 100644 --- a/.env.example +++ b/.env.example @@ -21,7 +21,6 @@ DGRAPH_ROOT_HASH=52a7ff82bd6f53b31285e97d6806d886eefb650e79754784e9d923d3df347c9 GRAPHQL_URI=https://alpha-stts.tekit.io/graphql BLOCKCHAIN_ENDPOINTS=https://testnet.telos.caleos.io -EOS_ENDPOINTS='https://eos.greymass.com' TLOSTO_SEEDS=tlosto.seeds SUPPLY_CONTRACT=mtvoicehypha diff --git a/.eslintrc.js b/.eslintrc.js index 093b563a3..c36a64ad9 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,7 +1,8 @@ module.exports = { root: true, + parser: 'vue-eslint-parser', parserOptions: { - parser: 'babel-eslint', + parser: '@typescript-eslint/parser', sourceType: 'module' }, env: { @@ -20,6 +21,8 @@ module.exports = { }, // add your custom rules here rules: { + 'space-before-function-paren': 'off', + semi: ['error', 'never'], // allow async-await 'generator-star-spacing': 'off', // allow paren-less arrow functions diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index 52357c4f6..cb5e0b9bb 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -2,11 +2,13 @@ name: Build and Deploy to Development on: push: - branches: [ develop ] + branches: + - develop jobs: build: name: build-dev + environment: telosTestNet runs-on: ubuntu-latest steps: - name: Checkout code @@ -33,10 +35,9 @@ jobs: BLOCKCHAIN_EXPLORER_ETH: 'https://etherscan.io/tx/' BLOCKCHAIN_EXPLORER_EOS: 'https://bloks.io/transaction/' PPP_ENV: 'test' - SENTRY_DSN: '' + SENTRY_DSN: ${{ vars.SENTRY_DSN }} DGRAPH_URL: 'https://alpha-test.tekit.io/' - DGRAPH_ROOT_HASH: '52a7ff82bd6f53b31285e97d6806d886eefb650e79754784e9d923d3df347c91' - BLOCKCHAIN_ENDPOINTS: ${{ secrets.DEV_BLOCKCHAIN_ENDPOINTS }} + BLOCKCHAIN_ENDPOINTS: ${{ vars.BLOCKCHAIN_ENDPOINTS }} TLOSTO_SEEDS: 'tlosto.seeds' SUPPLY_CONTRACT: 'mtvoicehypha' GRAPHQL_URI: 'https://alpha-stts.tekit.io/graphql' @@ -51,7 +52,10 @@ jobs: HYPHA_TOKEN_SALES_URL: 'https://dp9rw57cx84kg.cloudfront.net' HYPHA_TOKEN_SALES_API_URL: 'http://api-tokensale.hypha.earth' HYPHA_TOKEN_SALES_RPC_URL: 'https://telos.greymass.com' - + ROOT_DAO_ID: ${{vars.ROOT_DAO_ID}} + ROOT_DAO_SLUG: ${{vars.ROOT_DAO_SLUG}} + HEALTH_ENDPOINT: ${{ vars.HEALTH_ENDPOINT }} + - name: S3 sync uses: jakejarvis/s3-sync-action@master with: @@ -60,8 +64,8 @@ jobs: AWS_S3_BUCKET: ${{ secrets.DEV_AWS_S3_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.DEV_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.DEV_AWS_SECRET_ACCESS_KEY }} - AWS_REGION: 'us-east-1' # optional: defaults to us-east-1 - SOURCE_DIR: 'dist/spa' # optional: defaults to entire repository + AWS_REGION: 'us-east-1' # optional: defaults to us-east-1 + SOURCE_DIR: 'dist/spa' # optional: defaults to entire repository # Invalidate Cloudfront (this action) - name: invalidate diff --git a/.github/workflows/deploy-eos-dev.yml b/.github/workflows/deploy-eos-dev.yml index 7e6f23630..9a61e9927 100644 --- a/.github/workflows/deploy-eos-dev.yml +++ b/.github/workflows/deploy-eos-dev.yml @@ -1,10 +1,8 @@ -name: EOS - Build and Deploy to Development - TestNet +name: EOS - Build and Deploy to Development - TestNet on: push: - branches: - - feat/eos-deploy - - feature/eos-account-support + branches: [develop] jobs: build: @@ -23,28 +21,28 @@ jobs: - name: Use Node.js uses: actions/setup-node@v1 with: - node-version: "16.x" + node-version: '16.x' - run: yarn global add @vue/cli@latest - run: yarn install - run: mv public/chain-manifests-dev.json public/chain-manifests.json - run: mv public/app-manifest-dev.json public/app-manifest.json - run: yarn build env: - APP_NAME: "Hypha DHO - EOS TestNet" + APP_NAME: 'Hypha DHO - EOS TestNet' NETWORK_CHAIN_ID: ${{ vars.NETWORK_CHAIN_ID }} - DAO_CONTRACT: "daoxhypha111" - HYPHA_CONTRACT: "hyphaxhypha1" - SUPPLY_CONTRACT: "voicexhypha1" - MULTISIG_CONTRACT: "msig.hypha" - KV_CONTRACT: "kvxhypha1111" + DAO_CONTRACT: 'daoxhypha111' + HYPHA_CONTRACT: 'hyphaxhypha1' + SUPPLY_CONTRACT: 'voicexhypha1' + MULTISIG_CONTRACT: 'msig.hypha' + KV_CONTRACT: 'kvxhypha1111' PPP_ENV: ${{ vars.PPP_ENV }} ACCOUNT_API_URL: ${{ vars.ACCOUNT_API_URL }} ACCOUNT_API_KEY: ${{ secrets.ACCOUNT_API_KEY }} BLOCKCHAIN_ENDPOINTS: ${{ vars.BLOCKCHAIN_ENDPOINTS }} BLOCKCHAIN_EXPLORER: ${{ vars.BLOCKCHAIN_EXPLORER }} - BLOCKCHAIN_EXPLORER_BTC: "https://www.blockchain.com/btc/tx/" - BLOCKCHAIN_EXPLORER_ETH: "https://etherscan.io/tx/" - BLOCKCHAIN_EXPLORER_EOS: "https://bloks.io/transaction/" + BLOCKCHAIN_EXPLORER_BTC: 'https://www.blockchain.com/btc/tx/' + BLOCKCHAIN_EXPLORER_ETH: 'https://etherscan.io/tx/' + BLOCKCHAIN_EXPLORER_EOS: 'https://bloks.io/transaction/' SENTRY_DSN: ${{ secrets.SENTRY_DSN }} DOCUMENTATION: ${{ vars.DOCUMENTATION }} @@ -54,19 +52,20 @@ jobs: DGRAPH_AUTH_KEY: ${{ secrets.DGRAPH_AUTH_KEY }} GRAPHQL_URI: ${{vars.GRAPHQL_URI}} ROOT_DAO_ID: ${{vars.ROOT_DAO_ID}} + HEALTH_ENDPOINT: ${{ vars.HEALTH_ENDPOINT }} ELASTIC_SEARCH_URL: ${{ vars.ELASTIC_SEARCH_URL }} ELASTIC_SEARCH_API_KEY: ${{ secrets.ELASTIC_SEARCH_API_KEY }} - IPFS_URL: "ipfs.infura.io" - IPFS_PROJECT_ID: "2F5pWHIOMgHji1DeqUT0mGpvySz" + IPFS_URL: 'ipfs.infura.io' + IPFS_PROJECT_ID: '2F5pWHIOMgHji1DeqUT0mGpvySz' IPFS_PROJECT_SECRET: ${{ secrets.IPFS_PROJECT_SECRET }} - IPFS_GATEWAY: "https://hypha.infura-ipfs.io/ipfs/" + IPFS_GATEWAY: 'https://hypha.infura-ipfs.io/ipfs/' HYPHA_TOKEN_SALES_ENCODE_KEY: ${{ secrets.HYPHA_TOKEN_SALES_ENCODE_KEY }} HYPHA_TOKEN_SALES_URL: ${{ vars.HYPHA_TOKEN_SALES_URL }} - HYPHA_TOKEN_SALES_API_URL: "http://api-tokensale.hypha.earth" - HYPHA_TOKEN_SALES_RPC_URL: "https://telos.greymass.com" + HYPHA_TOKEN_SALES_API_URL: 'http://api-tokensale.hypha.earth' + HYPHA_TOKEN_SALES_RPC_URL: 'https://telos.greymass.com' - name: Deploy to S3 bucket run: aws s3 sync ./dist/spa s3://${{ vars.AWS_S3_BUCKET}} --delete @@ -74,6 +73,6 @@ jobs: uses: chetan/invalidate-cloudfront-action@v2 env: DISTRIBUTION: ${{ vars.DISTRIBUTION_ID}} - PATHS: "/*" + PATHS: '/*' AWS_ACCESS_KEY_ID: ${{ secrets.HYPHA_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.HYPHA_AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/deploy-eos-prod.yml b/.github/workflows/deploy-eos-prod.yml index 42e096c3a..784643f73 100644 --- a/.github/workflows/deploy-eos-prod.yml +++ b/.github/workflows/deploy-eos-prod.yml @@ -1,9 +1,8 @@ name: EOS - Build and Deploy to Production - MainNet on: - push: - branches: - - master + release: + types: [published] jobs: build: @@ -22,41 +21,53 @@ jobs: - name: Use Node.js uses: actions/setup-node@v1 with: - node-version: "16.x" + node-version: '16.x' - run: yarn global add @vue/cli@latest - run: yarn install - run: mv public/chain-manifests-prod.json public/chain-manifests.json - run: mv public/app-manifest-prod.json public/app-manifest.json - run: yarn build env: - APP_NAME: "Hypha DHO" - NETWORK_CHAIN_ID: "1eaa0824707c8c16bd25145493bf062aecddfeb56c736f6ba6397f3195f33c9f" - DAO_CONTRACT: "dao.hypha" - HYPHA_CONTRACT: "hypha.hypha" - ACCOUNT_API_URL: "https://tb3nnn0qa9.execute-api.us-east-1.amazonaws.com/prod" - ACCOUNT_API_KEY: ${{ secrets.PROD_ACCOUNT_API_KEY }} - BLOCKCHAIN_EXPLORER: "https://telos.bloks.io" - BLOCKCHAIN_EXPLORER_BTC: "https://www.blockchain.com/btc/tx/" - BLOCKCHAIN_EXPLORER_ETH: "https://etherscan.io/tx/" - BLOCKCHAIN_EXPLORER_EOS: "https://bloks.io/transaction/" - PPP_ENV: eos - SENTRY_DSN: "https://0b768263dc6247a5a2d309e07f771528@o324628.ingest.sentry.io/4503898341703680" - DOCUMENTATION: "https://notepad.hypha.earth/5dC66nNXRVGpb1aTHaRJXw" - DGRAPH_URL: "https://alpha.tekit.io" - DGRAPH_ROOT_HASH: "52a7ff82bd6f53b31285e97d6806d886eefb650e79754784e9d923d3df347c91" - BLOCKCHAIN_ENDPOINTS: "https://mainnet.telos.net" - TLOSTO_SEEDS: "tlosto.seeds" - SUPPLY_CONTRACT: "voice.hypha" - GRAPHQL_URI: "https://alpha-dhomn.tekit.io/graphql" - ELASTIC_SEARCH_URL: "https://hypha.es.eu-west-1.aws.found.io:9243/dho-mainnet-documents/_search" - ELASTIC_SEARCH_API_KEY: ${{ secrets.PROD_ELASTIC_SEARCH_API_KEY }} - IPFS_URL: "ipfs.infura.io" - IPFS_PROJECT_ID: "2F5pWHIOMgHji1DeqUT0mGpvySz" + APP_NAME: 'Hypha DHO - EOS' + NETWORK_CHAIN_ID: ${{ vars.NETWORK_CHAIN_ID }} + DAO_CONTRACT: 'dao.hypha' + HYPHA_CONTRACT: 'hypha.hypha' + SUPPLY_CONTRACT: 'voice.hypha' + MULTISIG_CONTRACT: 'msig.hypha' + KV_CONTRACT: 'kv.hypha' + PPP_ENV: ${{ vars.PPP_ENV }} + PPP_APP_ID: ${{ vars.PPP_APP_ID }} + ACCOUNT_API_URL: ${{ vars.ACCOUNT_API_URL }} + ACCOUNT_API_KEY: ${{ secrets.ACCOUNT_API_KEY }} + BLOCKCHAIN_ENDPOINTS: ${{ vars.BLOCKCHAIN_ENDPOINTS }} + BLOCKCHAIN_EXPLORER: ${{ vars.BLOCKCHAIN_EXPLORER }} + BLOCKCHAIN_EXPLORER_BTC: 'https://www.blockchain.com/btc/tx/' + BLOCKCHAIN_EXPLORER_ETH: 'https://etherscan.io/tx/' + BLOCKCHAIN_EXPLORER_EOS: 'https://bloks.io/transaction/' + + SENTRY_DSN: ${{ secrets.SENTRY_DSN }} + DOCUMENTATION: ${{ vars.DOCUMENTATION }} + + DGRAPH_URL: ${{ vars.DGRAPH_URL }} + DGRAPH_ROOT_HASH: ${{ vars.DGRAPH_ROOT_HASH }} + DGRAPH_AUTH_KEY: ${{ secrets.DGRAPH_AUTH_KEY }} + GRAPHQL_URI: ${{vars.GRAPHQL_URI}} + ROOT_DAO_ID: ${{vars.ROOT_DAO_ID}} + ROOT_DAO_SLUG: ${{vars.ROOT_DAO_SLUG}} + HEALTH_ENDPOINT: ${{ vars.HEALTH_ENDPOINT }} + + ELASTIC_SEARCH_URL: ${{ vars.ELASTIC_SEARCH_URL }} + ELASTIC_SEARCH_API_KEY: ${{ secrets.ELASTIC_SEARCH_API_KEY }} + + IPFS_URL: 'ipfs.infura.io' + IPFS_PROJECT_ID: '2F5pWHIOMgHji1DeqUT0mGpvySz' IPFS_PROJECT_SECRET: ${{ secrets.IPFS_PROJECT_SECRET }} - IPFS_GATEWAY: "https://hypha.infura-ipfs.io/ipfs/" - MULTISIG_CONTRACT: "msigdhohypha" + IPFS_GATEWAY: 'https://hypha.infura-ipfs.io/ipfs/' + HYPHA_TOKEN_SALES_ENCODE_KEY: ${{ secrets.HYPHA_TOKEN_SALES_ENCODE_KEY }} - HYPHA_TOKEN_SALES_URL: "https://tokensale.hypha.earth" + HYPHA_TOKEN_SALES_URL: ${{ vars.HYPHA_TOKEN_SALES_URL }} + HYPHA_TOKEN_SALES_API_URL: 'http://api-tokensale.hypha.earth' + HYPHA_TOKEN_SALES_RPC_URL: 'https://telos.greymass.com' - name: Deploy to S3 bucket run: aws s3 sync ./dist/spa s3://${{ vars.AWS_S3_BUCKET}} --delete @@ -64,6 +75,6 @@ jobs: uses: chetan/invalidate-cloudfront-action@v2 env: DISTRIBUTION: ${{ vars.DISTRIBUTION_ID}} - PATHS: "/*" + PATHS: '/*' AWS_ACCESS_KEY_ID: ${{ secrets.HYPHA_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.HYPHA_AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml index ed344c577..61199a9c1 100644 --- a/.github/workflows/deploy-prod.yml +++ b/.github/workflows/deploy-prod.yml @@ -1,9 +1,8 @@ name: Build and Deploy to Production on: - push: - branches: [ master ] - + release: + types: [published] jobs: build: name: build-prod @@ -37,7 +36,6 @@ jobs: SENTRY_DSN: ${{ vars.SENTRY_DSN }} DOCUMENTATION: 'https://notepad.hypha.earth/5dC66nNXRVGpb1aTHaRJXw' DGRAPH_URL: 'https://alpha.tekit.io' - DGRAPH_ROOT_HASH: '52a7ff82bd6f53b31285e97d6806d886eefb650e79754784e9d923d3df347c91' BLOCKCHAIN_ENDPOINTS: 'https://mainnet.telos.net' TLOSTO_SEEDS: 'tlosto.seeds' SUPPLY_CONTRACT: 'voice.hypha' @@ -53,6 +51,9 @@ jobs: HYPHA_TOKEN_SALES_URL: 'https://tokensale.hypha.earth' HYPHA_TOKEN_SALES_API_URL: 'http://api-tokensale.hypha.earth' HYPHA_TOKEN_SALES_RPC_URL: 'https://telos.greymass.com' + ROOT_DAO_ID: ${{vars.ROOT_DAO_ID}} + ROOT_DAO_SLUG: ${{vars.ROOT_DAO_SLUG}} + HEALTH_ENDPOINT: ${{ vars.HEALTH_ENDPOINT }} - name: S3 sync uses: jakejarvis/s3-sync-action@master @@ -62,8 +63,8 @@ jobs: AWS_S3_BUCKET: ${{ secrets.PROD_AWS_S3_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.PROD_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.PROD_AWS_SECRET_ACCESS_KEY }} - AWS_REGION: 'us-east-1' # optional: defaults to us-east-1 - SOURCE_DIR: 'dist/spa' # optional: defaults to entire repository + AWS_REGION: 'us-east-1' # optional: defaults to us-east-1 + SOURCE_DIR: 'dist/spa' # optional: defaults to entire repository # Invalidate Cloudfront (this action) - name: invalidate @@ -75,7 +76,6 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.PROD_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.PROD_AWS_SECRET_ACCESS_KEY }} - # - name: S3 Sync and Invalidate Cloudfront Distribution # uses: digital-scarcity/s3-sync-action@master # with: diff --git a/.github/workflows/deploy-staging.yml b/.github/workflows/deploy-staging.yml index 8bf9640b9..59d36ad0d 100644 --- a/.github/workflows/deploy-staging.yml +++ b/.github/workflows/deploy-staging.yml @@ -2,7 +2,7 @@ name: Build and Deploy to Staging on: push: - branches: [ staging ] + branches: [ master ] jobs: build: diff --git a/.github/workflows/deploy.branch.yml b/.github/workflows/deploy.branch.yml new file mode 100644 index 000000000..278ddd1e0 --- /dev/null +++ b/.github/workflows/deploy.branch.yml @@ -0,0 +1,124 @@ +name: Deploy temporary instance + +on: + push: + branches: + - feat/** + - feature/** + - fix/** + - hotfix/** + - docs/** + - style/** + - refactor/** + - perf/** + - test/** + - build/** + - ci/** + - chore/** + - revert/** + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.HYPHA_AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.HYPHA_AWS_SECRET_ACCESS_KEY }} + AWS_REGION: eu-west-1 + NODE_ENV: development + BRANCH_PR_NUMBER: ${{ github.event.number }} + APP_NAME: 'Hypha DHO' + NETWORK_CHAIN_ID: ${{ vars.NETWORK_CHAIN_ID }} + DAO_CONTRACT: ${{ vars.DAO_CONTRACT }} + HYPHA_CONTRACT: ${{ vars.HYPHA_CONTRACT }} + SUPPLY_CONTRACT: ${{ vars.SUPPLY_CONTRACT }} + MULTISIG_CONTRACT: ${{ vars.MULTISIG_CONTRACT }} + KV_CONTRACT: ${{ vars.KV_CONTRACT }} + PPP_ENV: ${{ vars.PPP_ENV }} + ACCOUNT_API_URL: ${{ vars.ACCOUNT_API_URL }} + ACCOUNT_API_KEY: ${{ secrets.ACCOUNT_API_KEY }} + BLOCKCHAIN_ENDPOINTS: ${{ vars.BLOCKCHAIN_ENDPOINTS }} + BLOCKCHAIN_EXPLORER: ${{ vars.BLOCKCHAIN_EXPLORER }} + BLOCKCHAIN_EXPLORER_BTC: ${{ vars.BLOCKCHAIN_EXPLORER_BTC }} + BLOCKCHAIN_EXPLORER_ETH: ${{ vars.BLOCKCHAIN_EXPLORER_ETH }} + BLOCKCHAIN_EXPLORER_EOS: ${{ vars.BLOCKCHAIN_EXPLORER_EOS }} + + SENTRY_DSN: ${{ secrets.SENTRY_DSN }} + DOCUMENTATION: ${{ vars.DOCUMENTATION }} + + DGRAPH_URL: ${{ vars.DGRAPH_URL }} + DGRAPH_ROOT_HASH: ${{ vars.DGRAPH_ROOT_HASH }} + DGRAPH_AUTH_KEY: ${{ secrets.DGRAPH_AUTH_KEY }} + GRAPHQL_URI: ${{vars.GRAPHQL_URI}} + ROOT_DAO_ID: ${{vars.ROOT_DAO_ID}} + + ELASTIC_SEARCH_URL: ${{ vars.ELASTIC_SEARCH_URL }} + ELASTIC_SEARCH_API_KEY: ${{ secrets.ELASTIC_SEARCH_API_KEY }} + + IPFS_URL: ${{ secrets.IPFS_URL }} + IPFS_PROJECT_ID: ${{ secrets.IPFS_PROJECT_ID }} + IPFS_PROJECT_SECRET: ${{ secrets.IPFS_PROJECT_SECRET }} + IPFS_GATEWAY: ${{ secrets.IPFS_GATEWAY }} + + HYPHA_TOKEN_SALES_ENCODE_KEY: ${{ secrets.HYPHA_TOKEN_SALES_ENCODE_KEY }} + HYPHA_TOKEN_SALES_URL: ${{ vars.HYPHA_TOKEN_SALES_URL }} + HYPHA_TOKEN_SALES_API_URL: ${{ vars.HYPHA_TOKEN_SALES_API_URL }} + HYPHA_TOKEN_SALES_RPC_URL: ${{ vars.HYPHA_TOKEN_SALES_RPC_URL }} + +jobs: + build_and_deploy: + name: 'Build and Deploy App' + environment: telosTestNet + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - name: Generate branch name + run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV + - name: checkout + uses: actions/checkout@v3 + - name: Create S3 bucket + run: | + if aws s3api head-bucket --bucket ${{ env.BRANCH_NAME }} 2>/dev/null; then + echo "Bucket exists" + else + aws s3 mb s3://${{ env.BRANCH_NAME }} --region ${{ env.AWS_REGION }} + echo "Bucket created" + fi + + - name: Check CloudFront Distribution + run: | + DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Aliases.Items[0]=='${{ env.BRANCH_NAME }}'].Id" --output text) + if [ -z "$DISTRIBUTION_ID" ] + then + echo "Creating CloudFront distribution" + aws cloudfront create-distribution \ + --origin-domain-name ${{ env.BRANCH_NAME }}.s3.amazonaws.com \ + --default-root-object index.html + else + echo "CloudFront distribution exists with ID: $DISTRIBUTION_ID" + echo "::set-output name=cf-dist-id::$DISTRIBUTION_ID" + fi + + - name: Get CloudFront Distribution DNS Name + id: get_cf_dns_name + run: | + echo "::set-output name=distribution_dns_name::$(aws cloudfront get-distribution-config --id ${{ steps.create_cloudfront.outputs.cloudfront_distribution_id }} --query 'DistributionConfig.ViewerCertificate.ACMCertificateArn' --output text | cut -d '/' -f 2)" + + - name: Create CNAME entry + if: steps.get_cf_dns_name.outputs.distribution_dns_name != '' + run: | + echo ${{ env.BRANCH_NAME }} ${{ steps.get_cf_dns_name.outputs.distribution_dns_name }} >> /etc/hosts + aws route53 change-resource-record-sets --hosted-zone-id ${{ env.AWS_HOSTED_ZONE_ID }} --change-batch '{"Changes":[{"Action":"UPSERT","ResourceRecordSet":{"Name":"${env.BRANCH_NAME}.","Type":"CNAME","TTL":300,"ResourceRecords":[{"Value":"${steps.get_cf_dns_name.outputs.distribution_dns_name}"}]}}]}' + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '16.x' + - run: yarn global add @vue/cli@latest + - run: yarn install + - run: mv public/chain-manifests-prod.json public/chain-manifests.json + - run: mv public/app-manifest-prod.json public/app-manifest.json + - run: yarn build + - name: S3 sync + uses: jakejarvis/s3-sync-action@master + with: + args: --follow-symlinks --delete + env: + AWS_S3_BUCKET: ${{ env.BRANCH_NAME }} + AWS_REGION: ${{ env.AWS_REGION }} + SOURCE_DIR: 'dist/spa' diff --git a/.github/workflows/destroy.branch.yml b/.github/workflows/destroy.branch.yml new file mode 100644 index 000000000..9f463f30b --- /dev/null +++ b/.github/workflows/destroy.branch.yml @@ -0,0 +1,47 @@ +name: Destroy temporary instance + +on: + delete: + branches: + - feat/** + - feature/** + - fix/** + - hotfix/** + - docs/** + - style/** + - refactor/** + - perf/** + - test/** + - build/** + - ci/** + - chore/** + - revert/** + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.HYPHA_AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.HYPHA_AWS_SECRET_ACCESS_KEY }} + AWS_REGION: eu-west-1 + NODE_ENV: development + +jobs: + remove_bucket_and_distribution: + runs-on: ubuntu-latest + + steps: + - name: Generate branch name + run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV + - name: Checkout Repository + uses: actions/checkout@v3 + - name: Delete CloudFront Distribution + if: github.event.pull_request.merged == true + run: | + DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Aliases.Items[0]=='${{ env.BRANCH_NAME }}'].Id" --output text) + if [ ! -z "$DISTRIBUTION_ID" ] + then + aws cloudfront delete-distribution --id $DISTRIBUTION_ID + fi + + - name: Delete S3 Bucket + if: github.event.pull_request.merged == true + run: | + aws s3api delete-bucket --bucket ${{ env.BRANCH_NAME }} --region ${{ secrets.AWS_REGION }} diff --git a/.prettierrc.cjs b/.prettierrc.cjs new file mode 100644 index 000000000..1a03b30c2 --- /dev/null +++ b/.prettierrc.cjs @@ -0,0 +1,30 @@ + +// @ts-check +/// + +/** + * @type {import('prettier').Options} + */ + +module.exports = { + plugins: [require.resolve('@prettier/plugin-pug')], + pugBracketSameLine: false, + pugSingleQuote: false, + pugWrapAttributesThreshold: 1, + pugUseTabs: false, + "spaceBeforeFunctionParen": false, + "arrowParens": "always", + "pugBracketSpacing": false, + "pugIndentOffset": -2, + "pugIndentStart": false, + "semi": false, + "pugPrintWidth": 80, + "pugSingleFileComponentIndentation": true, + "pugAttributeSeparator": "none", + "pugSortAttributes": "asc", + "pugClosingBracketPosition": "new-line", + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "printWidth": 80, + } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 47c90d02b..06c507701 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [2.25.1](https://github.com/hypha-dao/dho-web-client/compare/v2.25.0...v2.25.1) (2023-04-06) + + +### Features + +* add proposal history page ([#2065](https://github.com/hypha-dao/dho-web-client/issues/2065)) ([863b8ed](https://github.com/hypha-dao/dho-web-client/commit/863b8ed55945a165ecc179b3900c3fe0430571a4)) +* **organization:** added circles widget in organization page ([#2104](https://github.com/hypha-dao/dho-web-client/issues/2104)) ([#2111](https://github.com/hypha-dao/dho-web-client/issues/2111)) ([a2358f6](https://github.com/hypha-dao/dho-web-client/commit/a2358f63f0a064c4c44b184296a5295db1423272)) +* **ts:** add typescript support ([#2110](https://github.com/hypha-dao/dho-web-client/issues/2110)) ([320771a](https://github.com/hypha-dao/dho-web-client/commit/320771ae540a9e4aaf6c9571da81ab1451235296)) + + +### Reverts + +* feat(organization): added circles widget in organization page ([#2104](https://github.com/hypha-dao/dho-web-client/issues/2104)) ([#2111](https://github.com/hypha-dao/dho-web-client/issues/2111)) ([#2115](https://github.com/hypha-dao/dho-web-client/issues/2115)) ([3a099da](https://github.com/hypha-dao/dho-web-client/commit/3a099da5227ddf1d7c6ccaff3088855ec6cb9d8b)) + + +### Miscellaneous Chores + +* release 2.25.1 ([658ef6f](https://github.com/hypha-dao/dho-web-client/commit/658ef6f12a949482b35de6850e59e5e01d7daeb8)) + ## [2.24.0](https://github.com/hypha-dao/dho-web-client/compare/v2.23.0...v2.24.0) (2023-03-14) @@ -218,7 +237,7 @@ * **sliding-design:** centering widgets ([#1918](https://github.com/hypha-dao/dho-web-client/issues/1918)) ([#1921](https://github.com/hypha-dao/dho-web-client/issues/1921)) ([69983bd](https://github.com/hypha-dao/dho-web-client/commit/69983bd0f781850578c06d783755d30fe4e79d0c)) * **sliding-design:** issues after feedback ([#1906](https://github.com/hypha-dao/dho-web-client/issues/1906)) ([#1912](https://github.com/hypha-dao/dho-web-client/issues/1912)) ([04aeaf5](https://github.com/hypha-dao/dho-web-client/commit/04aeaf50839ab061d540152c65afc62678e2b78d)) * small fix in router ([#1749](https://github.com/hypha-dao/dho-web-client/issues/1749)) ([846c889](https://github.com/hypha-dao/dho-web-client/commit/846c889e6fc38e95a17bac5459c5e9ebe3e72213)) -* **step-description:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) +* **step-details:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) * **style:** add specificity for rounded border q-input ([d36f94e](https://github.com/hypha-dao/dho-web-client/commit/d36f94ef2a0a92a0c75b445c4279ca3e39e3e8b4)) * **style:** rename rounded-corners to the rounded-full ([#2016](https://github.com/hypha-dao/dho-web-client/issues/2016)) ([cbad8fd](https://github.com/hypha-dao/dho-web-client/commit/cbad8fd98b1b42180d2608fad1adcf716ba7ba91)) * **tablet:** organizational assets page ([44d0bf6](https://github.com/hypha-dao/dho-web-client/commit/44d0bf63cf6a5a21d6755bcf53db620992b22c30)) @@ -455,7 +474,7 @@ * **sliding-design:** centering widgets ([#1918](https://github.com/hypha-dao/dho-web-client/issues/1918)) ([#1921](https://github.com/hypha-dao/dho-web-client/issues/1921)) ([69983bd](https://github.com/hypha-dao/dho-web-client/commit/69983bd0f781850578c06d783755d30fe4e79d0c)) * **sliding-design:** issues after feedback ([#1906](https://github.com/hypha-dao/dho-web-client/issues/1906)) ([#1912](https://github.com/hypha-dao/dho-web-client/issues/1912)) ([04aeaf5](https://github.com/hypha-dao/dho-web-client/commit/04aeaf50839ab061d540152c65afc62678e2b78d)) * small fix in router ([#1749](https://github.com/hypha-dao/dho-web-client/issues/1749)) ([846c889](https://github.com/hypha-dao/dho-web-client/commit/846c889e6fc38e95a17bac5459c5e9ebe3e72213)) -* **step-description:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) +* **step-details:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) * **style:** add specificity for rounded border q-input ([d36f94e](https://github.com/hypha-dao/dho-web-client/commit/d36f94ef2a0a92a0c75b445c4279ca3e39e3e8b4)) * **style:** rename rounded-corners to the rounded-full ([#2016](https://github.com/hypha-dao/dho-web-client/issues/2016)) ([cbad8fd](https://github.com/hypha-dao/dho-web-client/commit/cbad8fd98b1b42180d2608fad1adcf716ba7ba91)) * **tablet:** organizational assets page ([44d0bf6](https://github.com/hypha-dao/dho-web-client/commit/44d0bf63cf6a5a21d6755bcf53db620992b22c30)) @@ -666,7 +685,7 @@ * **sliding-design:** centering widgets ([#1918](https://github.com/hypha-dao/dho-web-client/issues/1918)) ([#1921](https://github.com/hypha-dao/dho-web-client/issues/1921)) ([69983bd](https://github.com/hypha-dao/dho-web-client/commit/69983bd0f781850578c06d783755d30fe4e79d0c)) * **sliding-design:** issues after feedback ([#1906](https://github.com/hypha-dao/dho-web-client/issues/1906)) ([#1912](https://github.com/hypha-dao/dho-web-client/issues/1912)) ([04aeaf5](https://github.com/hypha-dao/dho-web-client/commit/04aeaf50839ab061d540152c65afc62678e2b78d)) * small fix in router ([#1749](https://github.com/hypha-dao/dho-web-client/issues/1749)) ([846c889](https://github.com/hypha-dao/dho-web-client/commit/846c889e6fc38e95a17bac5459c5e9ebe3e72213)) -* **step-description:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) +* **step-details:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) * **style:** add specificity for rounded border q-input ([d36f94e](https://github.com/hypha-dao/dho-web-client/commit/d36f94ef2a0a92a0c75b445c4279ca3e39e3e8b4)) * **tablet:** organizational assets page ([44d0bf6](https://github.com/hypha-dao/dho-web-client/commit/44d0bf63cf6a5a21d6755bcf53db620992b22c30)) * **tablet:** proposal detail styles ([dd45277](https://github.com/hypha-dao/dho-web-client/commit/dd45277cc0e413794c9bc4330653df9c626a78d2)) @@ -837,7 +856,7 @@ * show dynamic deferred on active and archived proposals ([#1578](https://github.com/hypha-dao/dho-web-client/issues/1578)) ([d895d70](https://github.com/hypha-dao/dho-web-client/commit/d895d7020ef78919de618efb197062a80d0495fd)) * **sliding-design:** issues after feedback ([#1906](https://github.com/hypha-dao/dho-web-client/issues/1906)) ([#1912](https://github.com/hypha-dao/dho-web-client/issues/1912)) ([04aeaf5](https://github.com/hypha-dao/dho-web-client/commit/04aeaf50839ab061d540152c65afc62678e2b78d)) * small fix in router ([#1749](https://github.com/hypha-dao/dho-web-client/issues/1749)) ([846c889](https://github.com/hypha-dao/dho-web-client/commit/846c889e6fc38e95a17bac5459c5e9ebe3e72213)) -* **step-description:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) +* **step-details:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) * **style:** add specificity for rounded border q-input ([d36f94e](https://github.com/hypha-dao/dho-web-client/commit/d36f94ef2a0a92a0c75b445c4279ca3e39e3e8b4)) * **tablet:** organizational assets page ([44d0bf6](https://github.com/hypha-dao/dho-web-client/commit/44d0bf63cf6a5a21d6755bcf53db620992b22c30)) * **tablet:** proposal detail styles ([dd45277](https://github.com/hypha-dao/dho-web-client/commit/dd45277cc0e413794c9bc4330653df9c626a78d2)) @@ -1002,7 +1021,7 @@ * select options in filter widget has been fixed ([#1523](https://github.com/hypha-dao/dho-web-client/issues/1523), [#1556](https://github.com/hypha-dao/dho-web-client/issues/1556)) ([#1580](https://github.com/hypha-dao/dho-web-client/issues/1580)) ([8c927bb](https://github.com/hypha-dao/dho-web-client/commit/8c927bbd8b2b8d449acec26bc434a9362153174b)) * show dynamic deferred on active and archived proposals ([#1578](https://github.com/hypha-dao/dho-web-client/issues/1578)) ([d895d70](https://github.com/hypha-dao/dho-web-client/commit/d895d7020ef78919de618efb197062a80d0495fd)) * small fix in router ([#1749](https://github.com/hypha-dao/dho-web-client/issues/1749)) ([846c889](https://github.com/hypha-dao/dho-web-client/commit/846c889e6fc38e95a17bac5459c5e9ebe3e72213)) -* **step-description:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) +* **step-details:** duplicated titles in proposal with edit type ([#1735](https://github.com/hypha-dao/dho-web-client/issues/1735)) ([#1894](https://github.com/hypha-dao/dho-web-client/issues/1894)) ([a110420](https://github.com/hypha-dao/dho-web-client/commit/a110420ce6ff08edc1ef816253733cd20d95fc08)) * **style:** add specificity for rounded border q-input ([d36f94e](https://github.com/hypha-dao/dho-web-client/commit/d36f94ef2a0a92a0c75b445c4279ca3e39e3e8b4)) * **tablet:** organizational assets page ([44d0bf6](https://github.com/hypha-dao/dho-web-client/commit/44d0bf63cf6a5a21d6755bcf53db620992b22c30)) * **tablet:** proposal detail styles ([dd45277](https://github.com/hypha-dao/dho-web-client/commit/dd45277cc0e413794c9bc4330653df9c626a78d2)) diff --git a/codegen.ts b/codegen.ts new file mode 100644 index 000000000..fb5ac090e --- /dev/null +++ b/codegen.ts @@ -0,0 +1,37 @@ +import * as dotenv from 'dotenv' +import { CodegenConfig } from '@graphql-codegen/cli' + +dotenv.config({ path: __dirname + '/.env' }) + +const config: CodegenConfig = { + overwrite: true, + schema: process.env.GRAPHQL_URI, + documents: ['src/**/*.gql'], + generates: { + './src/generated/gql.ts': { + config: { + useTypeImports: true + }, + plugins: [ + { + add: { + content: '/* eslint-disable */' + } + }, + 'typescript', + 'typescript-operations', + 'typescript-vue-apollo-smart-ops' + ] + } + }, + config: { + contextType: 'Context', + strictScalars: true, + scalars: { + DateTime: 'Date', + Int64: 'BigInt' + } + } +} + +export default config diff --git a/cypress/support/component.js b/cypress/support/component.js index 53d9d15a2..3d1a3d225 100644 --- a/cypress/support/component.js +++ b/cypress/support/component.js @@ -24,4 +24,4 @@ import { mount } from 'cypress/vue2' Cypress.Commands.add('mount', mount) // Example use: -// cy.mount(MyComponent) \ No newline at end of file +// cy.mount(MyComponent) diff --git a/package-lock.json b/package-lock.json index b309524a1..a7408d928 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "dho-web-client", - "version": "2.11.0", + "version": "2.25.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -3968,6 +3968,15 @@ "integrity": "sha512-nWlGg+aMfQDhGYa5FtBhZwldeo2MtdjHdxmEQvhBXEnxgD5IhIYl0PHvex8SdwyN7qcSoMykMWdjyAX7ZxkpMw==", "dev": true }, + "@prettier/plugin-pug": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@prettier/plugin-pug/-/plugin-pug-2.4.2.tgz", + "integrity": "sha512-NYno1b0ZIY/2/wIiPSIWVRbWdhJ7KPkwjOo/xzWOZYUA35ZrwaEQshoEoLEizUrnizBuIgW93E9kqIrJEjBang==", + "dev": true, + "requires": { + "pug-lexer": "^5.0.0" + } + }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -4275,37 +4284,37 @@ } }, "@sentry-internal/tracing": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.48.0.tgz", - "integrity": "sha512-MFAPDTrvCtfSm0/Zbmx7HA0Q5uCfRadOUpN8Y8rP1ndz+329h2kA3mZRCuC+3/aXL11zs2CHUhcAkGjwH2vogg==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.47.0.tgz", + "integrity": "sha512-udpHnCzF8DQsWf0gQwd0XFGp6Y8MOiwnl8vGt2ohqZGS3m1+IxoRLXsSkD8qmvN6KKDnwbaAvYnK0z0L+AW95g==", "requires": { - "@sentry/core": "7.48.0", - "@sentry/types": "7.48.0", - "@sentry/utils": "7.48.0", + "@sentry/core": "7.47.0", + "@sentry/types": "7.47.0", + "@sentry/utils": "7.47.0", "tslib": "^1.9.3" }, "dependencies": { "@sentry/core": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.48.0.tgz", - "integrity": "sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.47.0.tgz", + "integrity": "sha512-EFhZhKdMu7wKmWYZwbgTi8FNZ7Fq+HdlXiZWNz51Bqe3pHmfAkdHtAEs0Buo0v623MKA0CA4EjXIazGUM34XTg==", "requires": { - "@sentry/types": "7.48.0", - "@sentry/utils": "7.48.0", + "@sentry/types": "7.47.0", + "@sentry/utils": "7.47.0", "tslib": "^1.9.3" } }, "@sentry/types": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.48.0.tgz", - "integrity": "sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==" + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.47.0.tgz", + "integrity": "sha512-GxXocplN0j1+uczovHrfkykl9wvkamDtWxlPUQgyGlbLGZn+UH1Y79D4D58COaFWGEZdSNKr62gZAjfEYu9nQA==" }, "@sentry/utils": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.48.0.tgz", - "integrity": "sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.47.0.tgz", + "integrity": "sha512-A89SaOLp6XeZfByeYo2C8Ecye/YAtk/gENuyOUhQEdMulI6mZdjqtHAp7pTMVgkBc/YNARVuoa+kR/IdRrTPkQ==", "requires": { - "@sentry/types": "7.48.0", + "@sentry/types": "7.47.0", "tslib": "^1.9.3" } } @@ -4366,47 +4375,47 @@ } }, "@sentry/replay": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.48.0.tgz", - "integrity": "sha512-8fRHMGJ0NJeIZi6UucxUTvfDPaBa7+jU1kCTLjCcuH3X/UVz5PtGLMtFSO5U8HP+mUDlPs97MP1uoDvMa4S2Ng==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.47.0.tgz", + "integrity": "sha512-BFpVZVmwlezZ83y0L43TCTJY142Fxh+z+qZSwTag5HlhmIpBKw/WKg06ajOhrYJbCBkhHmeOvyKkxX0jnc39ZA==", "requires": { - "@sentry/core": "7.48.0", - "@sentry/types": "7.48.0", - "@sentry/utils": "7.48.0" + "@sentry/core": "7.47.0", + "@sentry/types": "7.47.0", + "@sentry/utils": "7.47.0" }, "dependencies": { "@sentry/core": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.48.0.tgz", - "integrity": "sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.47.0.tgz", + "integrity": "sha512-EFhZhKdMu7wKmWYZwbgTi8FNZ7Fq+HdlXiZWNz51Bqe3pHmfAkdHtAEs0Buo0v623MKA0CA4EjXIazGUM34XTg==", "requires": { - "@sentry/types": "7.48.0", - "@sentry/utils": "7.48.0", + "@sentry/types": "7.47.0", + "@sentry/utils": "7.47.0", "tslib": "^1.9.3" } }, "@sentry/types": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.48.0.tgz", - "integrity": "sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==" + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.47.0.tgz", + "integrity": "sha512-GxXocplN0j1+uczovHrfkykl9wvkamDtWxlPUQgyGlbLGZn+UH1Y79D4D58COaFWGEZdSNKr62gZAjfEYu9nQA==" }, "@sentry/utils": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.48.0.tgz", - "integrity": "sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.47.0.tgz", + "integrity": "sha512-A89SaOLp6XeZfByeYo2C8Ecye/YAtk/gENuyOUhQEdMulI6mZdjqtHAp7pTMVgkBc/YNARVuoa+kR/IdRrTPkQ==", "requires": { - "@sentry/types": "7.48.0", + "@sentry/types": "7.47.0", "tslib": "^1.9.3" } } } }, "@sentry/tracing": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.48.0.tgz", - "integrity": "sha512-X6w74Av0fyayNicKIlwL1IdpZ3O0ETQjyYXCDTwHoJL71ojrgrL5vdiNz8WwbPONTnqu98HehPYL/z3DCCKVbw==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.47.0.tgz", + "integrity": "sha512-hJCpKdekwaFNbCVXxfCz5IxfSEJIKnkPmRSVHITOm5VhKwq2e5kmy4Rn6bzSETwJFSDE8LGbR/3eSfGTqw37XA==", "requires": { - "@sentry-internal/tracing": "7.48.0" + "@sentry-internal/tracing": "7.47.0" } }, "@sentry/types": { @@ -4424,51 +4433,51 @@ } }, "@sentry/vue": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/vue/-/vue-7.48.0.tgz", - "integrity": "sha512-0XN7SEkjQxdWPgkJvy7cXf1beJROCtkaILj1PeFWSUAObKemU902n25TNRbVeukUt5Mxjp3/8a0CvhQdpMpTbA==", - "requires": { - "@sentry/browser": "7.48.0", - "@sentry/core": "7.48.0", - "@sentry/types": "7.48.0", - "@sentry/utils": "7.48.0", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/vue/-/vue-7.47.0.tgz", + "integrity": "sha512-ZaiddqyjMH5PAhe3JMw5Xy4vO3wvc97JzmvLnZ3qHkA69hQ1yFDtVhncscWeVtn5r0N9D4+VxUOHMCpDFNyATw==", + "requires": { + "@sentry/browser": "7.47.0", + "@sentry/core": "7.47.0", + "@sentry/types": "7.47.0", + "@sentry/utils": "7.47.0", "tslib": "^1.9.3" }, "dependencies": { "@sentry/browser": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.48.0.tgz", - "integrity": "sha512-tdx/2nhuiykncmXFlV4Dpp+Hxgt/v31LiyXE79IcM560wc+QmWKtzoW9azBWQ0xt5KOO3ERMib9qPE4/ql1/EQ==", - "requires": { - "@sentry-internal/tracing": "7.48.0", - "@sentry/core": "7.48.0", - "@sentry/replay": "7.48.0", - "@sentry/types": "7.48.0", - "@sentry/utils": "7.48.0", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.47.0.tgz", + "integrity": "sha512-L0t07kS/G1UGVZ9fpD6HLuaX8vVBqAGWgu+1uweXthYozu/N7ZAsakjU/Ozu6FSXj1mO3NOJZhOn/goIZLSj5A==", + "requires": { + "@sentry-internal/tracing": "7.47.0", + "@sentry/core": "7.47.0", + "@sentry/replay": "7.47.0", + "@sentry/types": "7.47.0", + "@sentry/utils": "7.47.0", "tslib": "^1.9.3" } }, "@sentry/core": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.48.0.tgz", - "integrity": "sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.47.0.tgz", + "integrity": "sha512-EFhZhKdMu7wKmWYZwbgTi8FNZ7Fq+HdlXiZWNz51Bqe3pHmfAkdHtAEs0Buo0v623MKA0CA4EjXIazGUM34XTg==", "requires": { - "@sentry/types": "7.48.0", - "@sentry/utils": "7.48.0", + "@sentry/types": "7.47.0", + "@sentry/utils": "7.47.0", "tslib": "^1.9.3" } }, "@sentry/types": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.48.0.tgz", - "integrity": "sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==" + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.47.0.tgz", + "integrity": "sha512-GxXocplN0j1+uczovHrfkykl9wvkamDtWxlPUQgyGlbLGZn+UH1Y79D4D58COaFWGEZdSNKr62gZAjfEYu9nQA==" }, "@sentry/utils": { - "version": "7.48.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.48.0.tgz", - "integrity": "sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.47.0.tgz", + "integrity": "sha512-A89SaOLp6XeZfByeYo2C8Ecye/YAtk/gENuyOUhQEdMulI6mZdjqtHAp7pTMVgkBc/YNARVuoa+kR/IdRrTPkQ==", "requires": { - "@sentry/types": "7.48.0", + "@sentry/types": "7.47.0", "tslib": "^1.9.3" } } @@ -4508,9 +4517,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4537,9 +4546,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4565,9 +4574,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4609,9 +4618,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4640,9 +4649,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4668,9 +4677,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "qs": { @@ -4701,9 +4710,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4727,9 +4736,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4750,9 +4759,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4777,9 +4786,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4804,9 +4813,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4837,9 +4846,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -4912,9 +4921,9 @@ } }, "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "find-up": { @@ -4993,9 +5002,9 @@ } }, "semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -5040,9 +5049,9 @@ } }, "terser": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", - "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", + "version": "5.16.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.8.tgz", + "integrity": "sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -5086,9 +5095,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "qs": { @@ -5116,9 +5125,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -5135,9 +5144,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -5171,9 +5180,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "qs": { @@ -5198,9 +5207,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -5222,9 +5231,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "qs": { @@ -5277,9 +5286,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "qs": { @@ -5406,9 +5415,9 @@ } }, "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "cosmiconfig": { @@ -5462,9 +5471,9 @@ }, "dependencies": { "semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -5552,9 +5561,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -5629,9 +5638,9 @@ "dev": true }, "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "fs-extra": { @@ -5722,9 +5731,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "fs-extra": { @@ -5757,9 +5766,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -5830,9 +5839,9 @@ } }, "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "find-up": { @@ -5933,9 +5942,9 @@ } }, "terser": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", - "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", + "version": "5.16.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.8.tgz", + "integrity": "sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -5962,9 +5971,9 @@ }, "dependencies": { "schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -6038,9 +6047,9 @@ } }, "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -6055,9 +6064,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -6087,9 +6096,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "qs": { @@ -6117,9 +6126,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "qs": { @@ -6162,9 +6171,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "estraverse": { @@ -6216,9 +6225,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -6254,9 +6263,9 @@ } }, "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "fs-extra": { @@ -6286,9 +6295,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -6316,9 +6325,9 @@ }, "dependencies": { "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true }, "qs": { @@ -6367,9 +6376,9 @@ "dev": true }, "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", + "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==", "dev": true } } @@ -6572,9 +6581,9 @@ "dev": true }, "@types/lodash": { - "version": "4.14.194", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz", - "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==", + "version": "4.14.192", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", + "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==", "dev": true }, "@types/long": { @@ -6867,6 +6876,63 @@ "tsutils": "^3.21.0" }, "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz", + "integrity": "sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/visitor-keys": "5.58.0" + } + }, + "@typescript-eslint/types": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.58.0.tgz", + "integrity": "sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz", + "integrity": "sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/visitor-keys": "5.58.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": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.58.0.tgz", + "integrity": "sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.58.0", + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/typescript-estree": "5.58.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz", + "integrity": "sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "eslint-visitor-keys": "^3.3.0" + } + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -6876,6 +6942,22 @@ "ms": "2.1.2" } }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true + }, "semver": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", @@ -6899,6 +6981,47 @@ "debug": "^4.3.4" }, "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz", + "integrity": "sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/visitor-keys": "5.58.0" + } + }, + "@typescript-eslint/types": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.58.0.tgz", + "integrity": "sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz", + "integrity": "sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/visitor-keys": "5.58.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz", + "integrity": "sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "eslint-visitor-keys": "^3.3.0" + } + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -6907,17 +7030,32 @@ "requires": { "ms": "2.1.2" } + }, + "eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true + }, + "semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, "@typescript-eslint/scope-manager": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz", - "integrity": "sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==", + "version": "5.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.1.tgz", + "integrity": "sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/visitor-keys": "5.58.0" + "@typescript-eslint/types": "5.57.1", + "@typescript-eslint/visitor-keys": "5.57.1" } }, "@typescript-eslint/type-utils": { @@ -6932,6 +7070,63 @@ "tsutils": "^3.21.0" }, "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz", + "integrity": "sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/visitor-keys": "5.58.0" + } + }, + "@typescript-eslint/types": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.58.0.tgz", + "integrity": "sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz", + "integrity": "sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/visitor-keys": "5.58.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": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.58.0.tgz", + "integrity": "sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.58.0", + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/typescript-estree": "5.58.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz", + "integrity": "sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.58.0", + "eslint-visitor-keys": "^3.3.0" + } + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -6940,23 +7135,48 @@ "requires": { "ms": "2.1.2" } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true + }, + "semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, "@typescript-eslint/types": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.58.0.tgz", - "integrity": "sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==", + "version": "5.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.1.tgz", + "integrity": "sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz", - "integrity": "sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==", + "version": "5.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.1.tgz", + "integrity": "sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/visitor-keys": "5.58.0", + "@typescript-eslint/types": "5.57.1", + "@typescript-eslint/visitor-keys": "5.57.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6974,9 +7194,9 @@ } }, "semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -6985,17 +7205,17 @@ } }, "@typescript-eslint/utils": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.58.0.tgz", - "integrity": "sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==", + "version": "5.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.1.tgz", + "integrity": "sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.58.0", - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/typescript-estree": "5.58.0", + "@typescript-eslint/scope-manager": "5.57.1", + "@typescript-eslint/types": "5.57.1", + "@typescript-eslint/typescript-estree": "5.57.1", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -7011,9 +7231,9 @@ } }, "semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -7022,12 +7242,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz", - "integrity": "sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==", + "version": "5.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.1.tgz", + "integrity": "sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/types": "5.57.1", "eslint-visitor-keys": "^3.3.0" }, "dependencies": { @@ -7039,6 +7259,156 @@ } } }, + "@volar-plugins/html": { + "version": "2.0.0-alpha.13", + "resolved": "https://registry.npmjs.org/@volar-plugins/html/-/html-2.0.0-alpha.13.tgz", + "integrity": "sha512-z9ogEvMtrqkSl/m5h9019mWPbA2R8jua+AXkVJhLGIt/pc+S9SmMGpX+8eZGCPQhNkvzeoR9Cfg1wP0k/tGDVA==", + "dev": true, + "requires": { + "vscode-html-languageservice": "^5.0.4", + "vscode-languageserver-protocol": "^3.17.3", + "vscode-languageserver-textdocument": "^1.0.8" + } + }, + "@volar-plugins/pug": { + "version": "2.0.0-alpha.13", + "resolved": "https://registry.npmjs.org/@volar-plugins/pug/-/pug-2.0.0-alpha.13.tgz", + "integrity": "sha512-chlweqIZHOsbrZsLWrrUUTYvd3nAV7ItzkglWV8WmHwzXJmTr3r+jDgRik1YwYOGQgRFTi4jDuawAByuzqgETg==", + "dev": true, + "requires": { + "@volar-plugins/html": "2.0.0-alpha.13", + "@volar/language-service": "1.3.0-alpha.0", + "@volar/source-map": "1.3.0-alpha.0", + "muggle-string": "^0.2.2", + "pug-lexer": "^5.0.1", + "pug-parser": "^6.0.0", + "vscode-html-languageservice": "^5.0.4", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.2" + }, + "dependencies": { + "@volar/source-map": { + "version": "1.3.0-alpha.0", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.3.0-alpha.0.tgz", + "integrity": "sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==", + "dev": true, + "requires": { + "muggle-string": "^0.2.2" + } + } + } + }, + "@volar/language-core": { + "version": "1.3.0-alpha.0", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.3.0-alpha.0.tgz", + "integrity": "sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA==", + "dev": true, + "requires": { + "@volar/source-map": "1.3.0-alpha.0" + }, + "dependencies": { + "@volar/source-map": { + "version": "1.3.0-alpha.0", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.3.0-alpha.0.tgz", + "integrity": "sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==", + "dev": true, + "requires": { + "muggle-string": "^0.2.2" + } + } + } + }, + "@volar/language-service": { + "version": "1.3.0-alpha.0", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-1.3.0-alpha.0.tgz", + "integrity": "sha512-dEzslTv2bHNP+ariZu0kj1C7ClSMzfX41Cmctp2MnNMN68F/olrmP4sT84+D7COeYj+wz7SduDqWSsWPGXfT2g==", + "dev": true, + "requires": { + "@volar/language-core": "1.3.0-alpha.0", + "@volar/shared": "1.3.0-alpha.0", + "@volar/source-map": "1.3.0-alpha.0", + "@volar/typescript-faster": "1.3.0-alpha.0", + "vscode-html-languageservice": "^5.0.4", + "vscode-json-languageservice": "^5.2.0", + "vscode-languageserver-protocol": "^3.17.3", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-uri": "^3.0.7" + }, + "dependencies": { + "@volar/source-map": { + "version": "1.3.0-alpha.0", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.3.0-alpha.0.tgz", + "integrity": "sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==", + "dev": true, + "requires": { + "muggle-string": "^0.2.2" + } + } + } + }, + "@volar/shared": { + "version": "1.3.0-alpha.0", + "resolved": "https://registry.npmjs.org/@volar/shared/-/shared-1.3.0-alpha.0.tgz", + "integrity": "sha512-+sRJ8tHp9IHpD3X2caeDRLA1BU7ntxRh8kpjhML9xUHYfGJv+C8pQUYqfAjemPwU4Z8F3C4gEM1Cvzg6aoyyLw==", + "dev": true, + "requires": { + "typesafe-path": "^0.2.2", + "vscode-uri": "^3.0.7" + } + }, + "@volar/source-map": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.0.24.tgz", + "integrity": "sha512-Qsv/tkplx18pgBr8lKAbM1vcDqgkGKQzbChg6NW+v0CZc3G7FLmK+WrqEPzKlN7Cwdc6XVL559Nod8WKAfKr4A==", + "dev": true, + "requires": { + "muggle-string": "^0.1.0" + }, + "dependencies": { + "muggle-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.1.0.tgz", + "integrity": "sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==", + "dev": true + } + } + }, + "@volar/typescript-faster": { + "version": "1.3.0-alpha.0", + "resolved": "https://registry.npmjs.org/@volar/typescript-faster/-/typescript-faster-1.3.0-alpha.0.tgz", + "integrity": "sha512-9qQHzjARrwrx7HElzOAU8B0QL66HuVjRHNVaOAcoraRk+8ioGDVRaHPS4vuE+cnXXieul28UeAk7AQl/o639Ww==", + "dev": true, + "requires": { + "semver": "^7.3.8" + }, + "dependencies": { + "semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@volar/vue-language-plugin-pug": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@volar/vue-language-plugin-pug/-/vue-language-plugin-pug-1.2.0.tgz", + "integrity": "sha512-Mt8XMBGO0FHfnPFKLEeVgWkPmZ7LOqtbKddy1jhkAKqdEgcqGO5Bo/RdpLdqnYgUlPUdn/0XNDK09fsNygOtsg==", + "dev": true, + "requires": { + "@volar-plugins/pug": "2.0.0-alpha.13", + "@volar/source-map": "1.0.24" + } + }, + "@vscode/l10n": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.11.tgz", + "integrity": "sha512-ukOMWnCg1tCvT7WnDfsUKQOFDQGsyR5tNgRpwmqi+5/vzU3ghdDXzvIM4IOPdSb3OeSsBNvmSL8nxIVOqi2WXA==", + "dev": true + }, "@vue/compiler-core": { "version": "3.2.47", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", @@ -7094,12 +7464,12 @@ "dev": true }, "postcss": { - "version": "8.4.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.22.tgz", - "integrity": "sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==", + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "dev": true, "requires": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -7174,6 +7544,15 @@ "eslint-import-resolver-webpack": "^0.13.0" } }, + "@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dev": true, + "requires": { + "@vue/shared": "3.2.47" + } + }, "@vue/reactivity-transform": { "version": "3.2.47", "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", @@ -7187,6 +7566,27 @@ "magic-string": "^0.25.7" } }, + "@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "dev": true, + "requires": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "dev": true, + "requires": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, "@vue/shared": { "version": "3.2.47", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", @@ -8122,6 +8522,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -8161,6 +8574,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -8272,6 +8699,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -8311,6 +8751,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -8416,23 +8870,6 @@ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, - "ast-types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", - "dev": true, - "requires": { - "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - } - } - }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -8688,9 +9125,9 @@ }, "dependencies": { "is-core-module": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", - "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "requires": { "has": "^1.0.3" @@ -8703,12 +9140,12 @@ "dev": true }, "resolve": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", - "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { - "is-core-module": "^2.12.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -11307,6 +11744,12 @@ } } }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "dev": true + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -14671,9 +15114,9 @@ "dev": true }, "flow-parser": { - "version": "0.204.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.204.0.tgz", - "integrity": "sha512-cQhNPLOk5NFyDXBC8WE8dy2Gls+YqKI3FNqQbJ7UrbFyd30IdEX3t27u3VsnoVK22I872+PWeb1KhHxDgu7kAg==", + "version": "0.203.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.203.1.tgz", + "integrity": "sha512-Nw2M8MPP/Zb+yhvmPDEjzkCXLtgyWGKXZjAYOVftm+wIf3xd4FKa7nRI9v67rODs0WzxMbPc8IPs/7o/dyxo/Q==", "dev": true }, "flush-write-stream": { @@ -16733,6 +17176,19 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } } } }, @@ -17798,6 +18254,12 @@ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -19488,6 +19950,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "muggle-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.2.2.tgz", + "integrity": "sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==", + "dev": true + }, "multiaddr": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", @@ -20093,6 +20561,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -20132,6 +20613,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -20241,6 +20736,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -20280,6 +20788,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -21773,11 +22295,10 @@ "dev": true }, "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true, - "optional": true + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "dev": true }, "pretty-bytes": { "version": "5.6.0", @@ -22000,6 +22521,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -22039,6 +22573,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -22148,6 +22696,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -22187,6 +22748,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -22796,13 +23371,13 @@ } }, "recast": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.1.tgz", - "integrity": "sha512-RokaBcoxSjXUDzz1TXSZmZsSW6ZpLmlA3GGqJ8uuTrQ9hZhEz+4Tpsc+gRvYRJ2BU4H+ZyUlg91eSGDw7bwy7g==", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.22.0.tgz", + "integrity": "sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==", "dev": true, "requires": { "assert": "^2.0.0", - "ast-types": "^0.16.1", + "ast-types": "0.15.2", "esprima": "~4.0.0", "source-map": "~0.6.1", "tslib": "^2.0.1" @@ -22820,6 +23395,15 @@ "util": "^0.12.0" } }, + "ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -23878,17 +24462,12 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - }, "postcss": { - "version": "8.4.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.22.tgz", - "integrity": "sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==", + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "requires": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -25170,6 +25749,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -25209,6 +25801,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -25318,6 +25924,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -25357,6 +25976,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -25466,6 +26099,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -25505,6 +26151,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -25614,6 +26274,19 @@ "has-tostringtag": "^1.0.0" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -25653,6 +26326,20 @@ "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } } } }, @@ -26643,6 +27330,12 @@ "is-typedarray": "^1.0.0" } }, + "typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==", + "dev": true + }, "typescript": { "version": "4.8.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz", @@ -27540,6 +28233,65 @@ "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", "dev": true }, + "vscode-html-languageservice": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.4.tgz", + "integrity": "sha512-tvrySfpglu4B2rQgWGVO/IL+skvU7kBkQotRlxA7ocSyRXOZUd6GA13XHkxo8LPe07KWjeoBlN1aVGqdfTK4xA==", + "dev": true, + "requires": { + "@vscode/l10n": "^0.0.11", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.2", + "vscode-uri": "^3.0.7" + } + }, + "vscode-json-languageservice": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.3.2.tgz", + "integrity": "sha512-5td6olfoNdtyxnNA4uocq7V9jdTJt63o9mGEntQb6cbD2HiObZW2XgbSj6nRaebWwBCiYdWpFklNjm6Wz6Xy1Q==", + "dev": true, + "requires": { + "@vscode/l10n": "^0.0.11", + "jsonc-parser": "^3.2.0", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.3", + "vscode-uri": "^3.0.7" + } + }, + "vscode-jsonrpc": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz", + "integrity": "sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==", + "dev": true + }, + "vscode-languageserver-protocol": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz", + "integrity": "sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==", + "dev": true, + "requires": { + "vscode-jsonrpc": "8.1.0", + "vscode-languageserver-types": "3.17.3" + } + }, + "vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "dev": true + }, + "vscode-languageserver-types": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", + "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", + "dev": true + }, + "vscode-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", + "dev": true + }, "vue": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", @@ -27566,20 +28318,20 @@ } }, "vue-docgen-api": { - "version": "4.67.0", - "resolved": "https://registry.npmjs.org/vue-docgen-api/-/vue-docgen-api-4.67.0.tgz", - "integrity": "sha512-BXXgWp80f03JMgNM9cCxmjdFc28SkjK3Kx4TA0LBkQXPBzcj4OQSp2GWKTz8fAB2Nefh7EXa2iGdCaDRiTFdeA==", + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/vue-docgen-api/-/vue-docgen-api-4.64.1.tgz", + "integrity": "sha512-jbOf7ByE3Zvtuk+429Jorl+eIeh2aB2Fx1GUo3xJd1aByJWE8KDlSEa6b11PB1ze8f0sRUBraRDinICCk0KY7g==", "dev": true, "requires": { - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", + "@babel/parser": "^7.13.12", + "@babel/types": "^7.18.8", "@vue/compiler-dom": "^3.2.0", "@vue/compiler-sfc": "^3.2.0", - "ast-types": "^0.16.1", + "ast-types": "0.14.2", "hash-sum": "^2.0.0", "lru-cache": "^8.0.3", "pug": "^3.0.2", - "recast": "^0.23.1", + "recast": "0.22.0", "ts-map": "^1.0.3", "vue-inbrowser-compiler-independent-utils": "^4.64.1" }, @@ -27613,6 +28365,15 @@ "to-fast-properties": "^2.0.0" } }, + "ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, "hash-sum": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", @@ -27624,6 +28385,12 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", "dev": true + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true } } }, diff --git a/package.json b/package.json index 5b023657d..7fc1d2452 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dho-web-client", - "version": "2.24.1", + "version": "2.25.1", "description": "Governance, payroll and treasury tools for distributed HUMAN organizations (DHO)", "productName": "Hypha DHO", "author": "Max ", @@ -14,9 +14,11 @@ "build-storybook": "build-storybook -s ./public", "graph-schema": "node ./src/apollo/generatePossibleTypes.js", "prepare": "husky install", - "commit": "git-cz" + "commit": "git-cz", + "generate-types": " graphql-codegen --config codegen.ts" }, "dependencies": { + "@graphql-codegen/typescript-operations": "^3.0.3", "@hypha-dao/hypha-token-sales-util": "^1.0.1", "@hypha-dao/ppp-client-api": "1.0.2", "@quasar/extras": "1.10.4", @@ -48,6 +50,7 @@ "universal-authenticator-library": "^0.3.0", "validator": "13.6.0", "vue": "^2.6.12", + "vue-apollo-smart-ops": "^0.2.0-beta.1", "vue-croppa": "^1.3.8", "vue-lodash": "^2.1.2", "vue-matomo": "^4.0.0", @@ -60,6 +63,11 @@ "@babel/plugin-proposal-optional-chaining": "^7.21.0", "@commitlint/cli": "^17.0.3", "@commitlint/config-conventional": "^17.0.3", + "@graphql-codegen/add": "^4.0.1", + "@graphql-codegen/cli": "^3.3.0", + "@graphql-codegen/typescript": "^3.0.3", + "@graphql-codegen/typescript-vue-apollo-smart-ops": "^2.3.6", + "@prettier/plugin-pug": "^2.4.2", "@quasar/app": "^2.2.4", "@quasar/quasar-app-extension-apollo": "^1.0.0-beta.8", "@quasar/quasar-app-extension-qmarkdown": "^1.4.1", @@ -69,7 +77,9 @@ "@storybook/vue": "^6.5.12", "@typescript-eslint/eslint-plugin": "^5.57.0", "@typescript-eslint/parser": "^5.57.0", + "@volar/vue-language-plugin-pug": "^1.2.0", "@vue/eslint-config-standard": "6.0.0", + "@vue/runtime-dom": "^3.2.47", "babel-eslint": "10.1.0", "babel-loader": "^8.2.2", "chromatic": "^5.8.2", @@ -86,11 +96,14 @@ "eslint-plugin-storybook": "^0.6.4", "eslint-plugin-vue": "7.9.0", "husky": "^8.0.1", + "prettier": "^2.8.7", "pug": "3.0.2", "pug-plain-loader": "1.1.0", "raw-loader": "^4.0.2", "style-loader": "^2.0.0", - "vue-loader": "^15.9.6" + "ts-node": "^10.9.1", + "typescript": "^5.0.4", + "vue-loader": "15.9.6" }, "husky": { "hooks": { @@ -119,4 +132,4 @@ "last 10 iOS versions", "last 5 Opera versions" ] -} +} \ No newline at end of file diff --git a/public/svg/create-new-dao.svg b/public/svg/create-new-dao.svg new file mode 100644 index 000000000..030173293 --- /dev/null +++ b/public/svg/create-new-dao.svg @@ -0,0 +1 @@ +Risorsa 3 \ No newline at end of file diff --git a/public/svg/icon-anchor.svg b/public/svg/icon-anchor.svg new file mode 100644 index 000000000..a37376034 --- /dev/null +++ b/public/svg/icon-anchor.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/svg/icon-gallery.svg b/public/svg/icon-gallery.svg new file mode 100644 index 000000000..51df611bf --- /dev/null +++ b/public/svg/icon-gallery.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/quasar.conf.js b/quasar.conf.js index bf1a649b4..e36c54c0b 100644 --- a/quasar.conf.js +++ b/quasar.conf.js @@ -71,14 +71,14 @@ module.exports = function (ctx) { DGRAPH_URL: process.env.DGRAPH_URL, DGRAPH_ROOT_HASH: process.env.DGRAPH_ROOT_HASH, DGRAPH_AUTH_KEY: process.env.DGRAPH_AUTH_KEY, + ROOT_DAO_ID: process.env.ROOT_DAO_ID, + ROOT_DAO_SLUG: process.env.ROOT_DAO_SLUG, REGISTER_API_URL: process.env.REGISTER_API_URL, REGISTER_API_KEY: process.env.REGISTER_API_KEY, ACCOUNT_API_URL: process.env.ACCOUNT_API_URL, ACCOUNT_API_KEY: process.env.ACCOUNT_API_KEY, NETWORK_CHAIN_ID: process.env.NETWORK_CHAIN_ID, BLOCKCHAIN_ENDPOINTS: process.env.BLOCKCHAIN_ENDPOINTS, - EOS_NETWORK_CHAIN_ID: process.env.EOS_NETWORK_CHAIN_ID, - EOS_ENDPOINTS: process.env.EOS_ENDPOINTS, TLOSTO_SEEDS: process.env.TLOSTO_SEEDS, DAO_CONTRACT: process.env.DAO_CONTRACT, KV_CONTRACT: process.env.KV_CONTRACT, @@ -87,6 +87,7 @@ module.exports = function (ctx) { BLOCKCHAIN_EXPLORER_ETH: process.env.BLOCKCHAIN_EXPLORER_ETH, BLOCKCHAIN_EXPLORER_EOS: process.env.BLOCKCHAIN_EXPLORER_EOS, PPP_ENV: process.env.PPP_ENV, + PPP_APP_ID: process.env.PPP_APP_ID, SENTRY_DSN: process.env.SENTRY_DSN, SENTRY_ENV: process.env.SENTRY_ENV, IPFS_URL: process.env.IPFS_URL, @@ -103,7 +104,8 @@ module.exports = function (ctx) { HYPHA_TOKEN_SALES_URL: process.env.HYPHA_TOKEN_SALES_URL, HYPHA_TOKEN_SALES_API_URL: process.env.HYPHA_TOKEN_SALES_API_URL, HYPHA_TOKEN_SALES_RPC_URL: process.env.HYPHA_TOKEN_SALES_RPC_URL, - PACKAGE_VERSION: JSON.parse(packageJson).version || 0 + PACKAGE_VERSION: JSON.parse(packageJson).version || 0, + HEALTH_ENDPOINT: process.env.HEALTH_ENDPOINT }, scopeHoisting: true, diff --git a/src/App.vue b/src/App.vue index 8971ddc53..c36d99800 100644 --- a/src/App.vue +++ b/src/App.vue @@ -27,6 +27,7 @@ export default { async beforeMount () { await this.autoLogin() + await this.initConfigs() await this.loadAlert() }, @@ -38,6 +39,7 @@ export default { methods: { ...mapActions('accounts', ['autoLogin']), + ...mapActions('dao', ['initConfigs']), ...mapActions('layout', ['loadAlert']), ...mapMutations('layout', ['dismissAlert']) } diff --git a/src/assets/icons/attachments/camera.svg b/src/assets/icons/attachments/camera.svg new file mode 100644 index 000000000..c5ceb63bf --- /dev/null +++ b/src/assets/icons/attachments/camera.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/attachments/cloud.svg b/src/assets/icons/attachments/cloud.svg new file mode 100644 index 000000000..d8fc30d6d --- /dev/null +++ b/src/assets/icons/attachments/cloud.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/icons/attachments/doc.svg b/src/assets/icons/attachments/doc.svg new file mode 100644 index 000000000..8a1d478f8 --- /dev/null +++ b/src/assets/icons/attachments/doc.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/attachments/picture.svg b/src/assets/icons/attachments/picture.svg new file mode 100644 index 000000000..a0189e29a --- /dev/null +++ b/src/assets/icons/attachments/picture.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/ecosystem/socio-ecological.svg b/src/assets/icons/ecosystem/socio-ecological.svg new file mode 100644 index 000000000..265fb7f5f --- /dev/null +++ b/src/assets/icons/ecosystem/socio-ecological.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/ecosystem/socio-economic.svg b/src/assets/icons/ecosystem/socio-economic.svg new file mode 100644 index 000000000..4993b58ba --- /dev/null +++ b/src/assets/icons/ecosystem/socio-economic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/ecosystem/socio-political.svg b/src/assets/icons/ecosystem/socio-political.svg new file mode 100644 index 000000000..353e8a234 --- /dev/null +++ b/src/assets/icons/ecosystem/socio-political.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/ecosystem/socio-psychological.svg b/src/assets/icons/ecosystem/socio-psychological.svg new file mode 100644 index 000000000..0ffc0f6c5 --- /dev/null +++ b/src/assets/icons/ecosystem/socio-psychological.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/tlos.png b/src/assets/icons/tlos.png new file mode 100644 index 000000000..51213ed63 Binary files /dev/null and b/src/assets/icons/tlos.png differ diff --git a/src/assets/images/scratch-option-img.png b/src/assets/images/scratch-option-img.png new file mode 100644 index 000000000..76b471262 Binary files /dev/null and b/src/assets/images/scratch-option-img.png differ diff --git a/src/assets/images/template-option-img.png b/src/assets/images/template-option-img.png new file mode 100644 index 000000000..ca2246a5b Binary files /dev/null and b/src/assets/images/template-option-img.png differ diff --git a/src/boot/api.js b/src/boot/api.js index 4bd9e1e41..d3662ed6a 100644 --- a/src/boot/api.js +++ b/src/boot/api.js @@ -2,46 +2,59 @@ import { Api, JsonRpc } from 'eosjs' import axios from 'axios' const signTransaction = async function (actions) { - actions.forEach(action => { + actions.forEach((action) => { if (!action.authorization || !action.authorization.length) { - action.authorization = [{ - actor: this.state.accounts.account, - permission: 'active' - }] + action.authorization = [ + { + actor: this.state.accounts.account, + permission: 'active' + } + ] } }) let transactionId = null let error = null try { if (this.$type === 'ual') { - const result = await this.$ualUser.signTransaction({ - actions - }, { - blocksBehind: 3, - expireSeconds: 30 - }) + const result = await this.$ualUser.signTransaction( + { + actions + }, + { + blocksBehind: 3, + expireSeconds: 30 + } + ) transactionId = result.transactionId } else if (this.$type === 'inApp') { - const result = await this.$inAppUser.transact({ - actions - }, { - blocksBehind: 3, - expireSeconds: 30 - }) + const result = await this.$inAppUser.transact( + { + actions + }, + { + blocksBehind: 3, + expireSeconds: 30 + } + ) transactionId = result.transaction_id } else if (typeof window.LightWalletChannel === 'object') { transactionId = await this.$lightWallet.sendTransaction(actions) } } catch (e) { error = this.$type === 'inApp' ? e.message : e.cause.message - // console.error(error) // eslint-disable-line no-console - // console.error(actions) // eslint-disable-line no-console + console.error(e) // eslint-disable-line no-console + console.error(error) // eslint-disable-line no-console + console.error(actions) // eslint-disable-line no-console this.$sentry?.setExtra('actions', JSON.stringify(actions)) this.$sentry?.setExtra('error', error) this.$sentry?.captureException(e) throw new Error(e) } - this.commit('notifications/addNotification', { transactionId, actions, error }, { root: true }) + this.commit( + 'notifications/addNotification', + { transactionId, actions, error }, + { root: true } + ) return error === null } @@ -57,12 +70,11 @@ const getAccount = async function (account) { } export default async ({ store }) => { - const apiUrl = await getBestEndpoint() - const eosApiUrl = await getBestEndpoint(process.env.EOS_ENDPOINTS) + const apiUrl = await getBestEndpoint(process.env.BLOCKCHAIN_ENDPOINTS) store.$apiUrl = apiUrl - store.$eosApiUrl = eosApiUrl const rpc = new JsonRpc(apiUrl) + store.$defaultApi = new Api({ rpc }) store.$api = { @@ -72,20 +84,24 @@ export default async ({ store }) => { } } -const getBestEndpoint = async (endpoints = process.env.BLOCKCHAIN_ENDPOINTS) => { +const getBestEndpoint = async ( + endpoints = process.env.BLOCKCHAIN_ENDPOINTS, + healthEndpoint = process.env.HEALTH_ENDPOINT +) => { const promises = [] for (const endpoint of endpoints.split(',')) { - promises.push(pingEndpoint(endpoint)) + promises.push(pingEndpoint(endpoint, healthEndpoint)) } const result = await Promise.all(promises) result.sort((a, b) => a.time - b.time) return result[0].url } -const pingEndpoint = async (url) => { +const pingEndpoint = async (url, healthEndoint) => { const start = Date.now() + const healthUrl = healthEndoint ? `${url}/${healthEndoint}` : url try { - await axios.get(`${url}/v2/health`, { + await axios.get(`${healthUrl}`, { timeout: 5000 }) } catch (e) { diff --git a/src/boot/axios.js b/src/boot/axios.js index eb18af5f4..a783e011b 100644 --- a/src/boot/axios.js +++ b/src/boot/axios.js @@ -1,7 +1,7 @@ import axios from 'axios' export const accountApi = axios.create({ - baseURL: process.env.EOS_ACCOUNT_API_URL, + baseURL: process.env.ACCOUNT_API_URL, headers: { 'Content-Type': 'application/json', 'x-api-key': process.env.ACCOUNT_API_KEY @@ -9,8 +9,8 @@ export const accountApi = axios.create({ }) accountApi.interceptors.response.use( - response => response.data || {}, - error => { + (response) => response.data || {}, + (error) => { return { status: error.response.status, error: error.response.data diff --git a/src/boot/config.js b/src/boot/config.js index b16f63218..ed886b3a4 100644 --- a/src/boot/config.js +++ b/src/boot/config.js @@ -1,4 +1,3 @@ - export default async ({ Vue, store }) => { try { const contracts = { @@ -12,84 +11,11 @@ export default async ({ Vue, store }) => { kv: process.env.KV_CONTRACT } - // Debug purpose - /* - const all = `{ - documents(func: has(hash)) { - expand(_all_) { - expand(_all_) { - expand(_all_) - } - } - } - }` - - const allDocuments = await store.$dgraph.newTxn().query(all) - */ - const query = ` - query document($hash:string) { - document(func: eq(hash, $hash)) { - uid - hash - settings { - hash - creator - created_date - content_groups{ - contents { - label - value - type - } - } - } - content_groups{ - contents { - label - value - type - } - } - } - } - ` - // debugger - const root = await store.$dgraph.newTxn().queryWithVars(query, { $hash: `${process.env.DGRAPH_ROOT_HASH}` }) - let settings - if (root) { - root.data.document[0] && root.data.document[0].settings[0].content_groups.forEach(cg => { - if (cg.contents.some(c => c.label === 'content_group_label' && c.value === 'settings')) { - settings = cg.contents - } - }) - } - if (settings) { - contracts.decide = settings.find(o => o.label === 'telos_decide_contract').value - contracts.hyphaToken = settings.find(o => o.label === 'hypha_token_contract').value - contracts.deferredHyphaToken = settings.find(o => o.label === 'hypha_cosale_contract').value - contracts.hvoiceToken = settings.find(o => o.label === 'hvoice_token_contract').value - contracts.hyphaMultiplier = parseInt(settings.find(o => o.label === 'hypha_deferral_factor_x100').value) / 100 - contracts.hyphaUsdValue = parseFloat(settings.find(o => o.label === 'hypha_usd_value').value) - contracts.husdToken = settings.find(o => o.label === 'husd_token_contract').value - contracts.seedsToken = settings.find(o => o.label === 'seeds_token_contract').value - contracts.seedsEscrow = settings.find(o => o.label === 'seeds_escrow_contract').value - contracts.seedsMultiplier = parseInt(settings.find(o => o.label === 'seeds_deferral_factor_x100').value) / 100 - contracts.treasury = settings.find(o => o.label === 'treasury_contract').value - contracts.voteDurationSeconds = parseInt(settings.find(o => o.label === 'voting_duration_sec').value) - } - - const seedsConfig = settings && contracts.seedsToken && await store.$api.getTableRows({ - code: 'tlosto.seeds', - scope: 'tlosto.seeds', - table: 'config' - }) - if (seedsConfig && seedsConfig.rows.length) { - const usdToSeeds = parseFloat(seedsConfig.rows[0].seeds_per_usd) - const seedsToUsd = 1 / usdToSeeds - store.commit('payouts/setSeedsValues', { usdToSeeds, seedsToUsd }, { root: true }) + Vue.prototype.$config = { + contracts, + rootDaoSlug: process.env.ROOT_DAO_SLUG || 'hypha' } - Vue.prototype.$config = { contracts } store.$config = { dho: process.env.ROOT_DAO_ID, contracts diff --git a/src/boot/dgraph.js b/src/boot/dgraph.js index bf3f00d0b..983e0c1c0 100644 --- a/src/boot/dgraph.js +++ b/src/boot/dgraph.js @@ -1,119 +1,12 @@ import { DgraphClient, DgraphClientStub } from 'dgraph-js-http' -/** - * Generates vars for a dgraph query in the expected format - * Example output: { $key1: value1, $key2: value2 } - */ -function buildVars (item, parameters) { - const vars = {} - if (item.parameters && parameters) { - Object.keys(item.parameters).forEach(key => { - vars[`$${key}`] = `${parameters[key]}` - }) - } - - return vars -} - export default ({ Vue, store }) => { - // Defines the query 'routes' that our app uses - // The query can be written in a graphql file or inline - // The provided 'name' must match the query name from graphql - const QUERIES = { - '/profile/get': { - name: 'profile', - query: require('../query/profile/profile.graphql').default, - parameters: { - username: String - }, - single: true - } - } - const client = new DgraphClient(new DgraphClientStub(process.env.DGRAPH_URL, false)) if (process.env.DGRAPH_AUTH_KEY) { client.setCloudApiKey(process.env.DGRAPH_AUTH_KEY) } - function convertContentGroups (data) { - const result = {} - - if (data) { - // Transform content_groups to sub objects - if (Array.isArray(data.content_groups)) { - data.content_groups.forEach(group => { - if (Array.isArray(group.contents)) { - const groupName = group.contents.find(c => c.label === 'content_group_label').value - data[groupName] = {} - group.contents.forEach(c => { - if (c.label === 'content_group_label') return - let value = c.value - switch (c.type) { - case 'int64': value = Number.parseInt(c.value); break - case 'float': value = Number.parseInt(c.value); break - case 'asset': break - case 'time_point': value = new Date(c.value); break - } - data[groupName][c.label] = value - }) - } - }) - } - // Retrieve values from data object, ignoring content_groups - Object.keys(data).forEach(key => { - if (key === 'content_groups') return - if (Array.isArray(data[key])) { - const items = [] - data[key].forEach(item => items.push(convertContentGroups(item))) - result[key] = items - } else { - result[key] = data[key] - } - }) - } - - return result - } - - async function dgraphQuery (item, parameters) { - const res = await client.newTxn({ readOnly: true, bestEffort: true }) - .queryWithVars(item.query, buildVars(item, parameters)) - if (item.single) { - const data = res.data[item.name][0] - return convertContentGroups(data) - } - - if (Array.isArray(res.data[item.name])) { - const results = [] - res.data[item.name].forEach(r => { - results.push(convertContentGroups(r)) - }) - - return results - } - - // TODO: Throw exception? - return null - } - // TODO: Remove this, used by legacy dgraph queries store.$dgraph = client - - /** - * Run a dgraph query and extract the results into a plain javascript object - * TODO: Transform content_groups and contents to simple properties of proper type - * TODO: Cache the result of this query and return that immediately for subsequent calls - * TODO: If same query is in flight recently (<2 seconds) return results of the first call - * @param {String} path Query route to use (unique identifier) - * @param {Object} parameters Object with parameters for query - */ - Vue.prototype.$dgraphQuery = async (path, parameters) => { - const item = QUERIES[path] - if (item) { - return await dgraphQuery(item, parameters) - } - - return null - } } diff --git a/src/boot/matomo.js b/src/boot/matomo.js index dd117ff8a..8c2ddc06d 100644 --- a/src/boot/matomo.js +++ b/src/boot/matomo.js @@ -1,9 +1,9 @@ -import VueMatomo from 'vue-matomo' +// import VueMatomo from 'vue-matomo' export default ({ Vue, router }) => { - Vue.use(VueMatomo, { - host: 'https://track.hypha.earth', - siteId: 1, - router - }) + // Vue.use(VueMatomo, { + // host: 'https://track.hypha.earth', + // siteId: 1, + // router + // }) } diff --git a/src/boot/ppp.js b/src/boot/ppp.js index b1552f275..180538306 100644 --- a/src/boot/ppp.js +++ b/src/boot/ppp.js @@ -1,6 +1,6 @@ import PPP from '@hypha-dao/ppp-client-api' export default async ({ store }) => { - PPP.configure(process.env.PPP_ENV) + PPP.configure(process.env.PPP_ENV, process.env.PPP_APP_ID) store.$ppp = PPP } diff --git a/src/boot/ual.js b/src/boot/ual.js index 20a2a1e9d..c16cb854d 100644 --- a/src/boot/ual.js +++ b/src/boot/ual.js @@ -7,7 +7,7 @@ export default async ({ Vue, store }) => { chainId: process.env.NETWORK_CHAIN_ID, rpcEndpoints: [{ protocol: 'https', - host: store.$eosApiUrl.replace('https://', ''), + host: store.$apiUrl.replace('https://', ''), port: 443 }] } diff --git a/src/components.d.ts b/src/components.d.ts new file mode 100644 index 000000000..f70061b0c --- /dev/null +++ b/src/components.d.ts @@ -0,0 +1,10 @@ +import { ComponentConstructor } from 'quasar'; + +type Quasar = typeof import('quasar'); +type QuasarComponentNames = keyof { [K in keyof Quasar as (Quasar)[K] extends ComponentConstructor ? K : never]: any }; +type QuasarComponents = Pick; +type QuasarFuncationalComponents = { [K in keyof QuasarComponents]: Quasar[K] extends ComponentConstructor ? (props: Partial) => void : never }; + +declare module '@vue/runtime-dom' { // Vue <= 2.6.14 + export interface GlobalComponents extends QuasarFuncationalComponents { } +} diff --git a/src/components/assignments/assignment-radio.stories.js b/src/components/assignments/assignment-radio.stories.js index c68e98124..4395e3d56 100644 --- a/src/components/assignments/assignment-radio.stories.js +++ b/src/components/assignments/assignment-radio.stories.js @@ -20,9 +20,6 @@ Example.args = { __typename: 'Assignment', details_title_s: 'Hypha Frontend Dev', details_periodCount_i: 12, - details_startPeriod_c_edge: { - details_startTime_t: 1234567890 - }, role: [ { details_title_s: 'Building and Developing B4' diff --git a/src/components/assignments/assignment-radio.vue b/src/components/assignments/assignment-radio.vue index 6f5f89df0..c3b315ee6 100644 --- a/src/components/assignments/assignment-radio.vue +++ b/src/components/assignments/assignment-radio.vue @@ -1,6 +1,5 @@