diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index c35846f2..00000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve KeeWeb
-title: ''
-labels: 'bug'
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Environment**
-Please copy all version information from Settings/Help
-
-**Kdbx File**
-Does it happen on Demo or New database?
-If you have a test db without your personal data, please attach it.
-
-**Logs**
-Please open dev tools in your browser and attach output log from Console tab. If you are using a desktop app, devtools can be opened from Settings/General/Advanced.
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml
new file mode 100644
index 00000000..7c943216
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yaml
@@ -0,0 +1,169 @@
+name: "🐛 Bug Report"
+description: Create a report to help us improve KeeWeb!
+title: "🐛 Bug:
"
+labels: [
+ "Type ◦ Bug"
+]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ 1. Please speak `English`.
+ 2. Make sure you are using the latest version and take a moment to check that your issue hasn't been reported before.
+ 3. It's really important to provide pertinent details and logs,
+ incomplete details will be handled as an invalid report.
+
+
+
+ - type: dropdown
+ id: priority-type
+ attributes:
+ label: Priority
+ description: |
+ How critical is the issue?
+ Do not abuse this. Issues that completely break KeeWeb would be classified as critical.
+ If you are requesting a new feature, then it would be low or normal.
+ options:
+ - "Low"
+ - "Normal"
+ - "High"
+ - "Urgent"
+ validations:
+ required: true
+
+ - type: input
+ id: ver-keeweb
+ attributes:
+ label: "Version: KeeWeb"
+ description: |
+ Version of KeeWeb you are running
+ Version is located in Settings › Help › App Information
+ placeholder: "Ex: v1.18.7"
+ validations:
+ required: true
+
+ - type: dropdown
+ id: build-env
+ attributes:
+ label: Environment
+ description: |
+ What environment are you running KeeWeb as?
+ options:
+ - "Web"
+ - "Desktop"
+
+ - type: dropdown
+ id: build-os
+ attributes:
+ label: Operating System
+ description: |
+ Select which OS you are running:
+ options:
+ - "Windows"
+ - "Mac"
+ - "Linux"
+
+ - type: dropdown
+ id: issue-target
+ attributes:
+ label: Range of issue
+ description: |
+ Where does this issue occur?
+ Before submitting your bug report, try to see if the issue also occurs on the official demo site at https://app.keeweb.info/
+ options:
+ - "The issue occurs on my own setup AND demo site"
+ - "The issue only occurs on my own setup, demo site works correctly"
+
+ - type: dropdown
+ id: issue-db-type
+ attributes:
+ label: Database Type
+ description: |
+ What type of database are you having this issue with?
+ options:
+ - "Issue occurs only on new databases"
+ - "Issue occurs only on existing databases"
+ - "Issue occurs on both new and existing databases"
+
+ - type: textarea
+ id: logs-env
+ attributes:
+ label: Environment Copy/Paste
+ description: |
+ Copy all information from Settings › Help inside KeeWeb
+ render: shell
+
+ - type: textarea
+ id: description
+ attributes:
+ label: Description
+ description: |
+ Please provide a description of your issue here.
+ validations:
+ required: true
+
+ - type: textarea
+ id: steps-reproduce
+ attributes:
+ label: Steps To Reproduce
+ description: |
+ Describe the steps that need taken by the developer(s) to get the error / issue you're experiencing.
+ value: |
+ -
+ -
+ -
+ -
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected-behavior
+ attributes:
+ label: Expected Behavior
+ description: |
+ Describe what you expect KeeWeb to actually do if it were working properly
+ value: |
+ -
+ -
+ -
+ -
+ validations:
+ required: true
+
+ - type: textarea
+ id: logs-console
+ attributes:
+ label: Logs
+ description: |
+ List any error messages you received in the developer console.
+ Developer console for **web** can be opened with **SHIFT + CTRL + I**
+ Open **dev tools** in your browser and attach output log from **CONSOLE** tab. If you are using a desktop app, devtools can be opened from Settings › General › Advanced.
+ render: shell
+
+ - type: textarea
+ id: references
+ attributes:
+ label: Referenced Issues
+ description: |
+ List any existing issues this ticket may be associated with.
+ Structure each issue as:
+ - #NUMBER
+ - #3
+ value: |
+ - #
+
+ - type: textarea
+ id: attachment-db
+ attributes:
+ label: "Attachments: Database kdbx File"
+ description: |
+ Attach a test database below that does give you the described issue.
+ Ensure it has no real security information within it as it will be publicly visible to all.
+
+ - type: textarea
+ id: attachment-screenshots
+ attributes:
+ label: "Attachments: Screenshots"
+ description: |
+ Please provide screenshots of any errors or the issue you're having.
+ Gifs are even better.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 36014cde..00000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: 'enhancement'
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml
new file mode 100644
index 00000000..4a97aa70
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yaml
@@ -0,0 +1,45 @@
+name: "💡 Feature Request"
+description: Got a suggestion? Submit your request here.
+title: "💡 Feature: "
+labels: [
+ "Type ◦ Feature"
+]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ 1. Please speak English.
+ 2. Please take a moment to check that your feature hasn't already been suggested.
+ 3. Be detailed but to the point.
+
+ - type: textarea
+ id: text-description
+ attributes:
+ label: Feature Description
+ description: |
+ Explain your feature. Be detailed.
+ If your feature addresses a problem; explain the problem.
+ placeholder: |
+ I would like to request ...
+ validations:
+ required: true
+
+ - type: textarea
+ id: text-alternatives
+ attributes:
+ label: Alternatives Considered
+ description: |
+ A clear and concise description of any alternative solutions or features you've considered.
+ validations:
+ required: false
+
+ - type: textarea
+ id: attachment-screenshots
+ attributes:
+ label: "Attachments: Screenshots"
+ description: |
+ If possible, provide screenshots.
+ Want a feature placed in a specific location? Mark it in a screenshot.
+ Want something modified? Try creating a mockup.
+ The more details about how it should look, the better.
+ Not required, but appreciated.
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 6cf5971a..a2ee6ec5 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -250,7 +250,7 @@ jobs:
tagRegex: "^v(\\d+\\.\\d+\\.\\d+)$"
tagRegexGroup: 1
- name: Setup GCloud
- uses: google-github-actions/setup-gcloud@master
+ uses: google-github-actions/setup-gcloud@v0.7.0
with:
version: '285.0.0'
service_account_key: ${{ secrets.GCP_SA_KEY }}
@@ -418,9 +418,9 @@ jobs:
- name: Purge CloudFlare cache
if: ${{ github.repository == 'keeweb/keeweb' }}
env:
- CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
+ CF_TOKEN: ${{ secrets.CF_TOKEN }}
run: |
curl -sS -X POST "https://api.cloudflare.com/client/v4/zones/dbda8e7e454d23edb08d4bc3b3f6f872/purge_cache" \
- -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
+ -H "Authorization: Bearer $CF_TOKEN" \
-H "Content-Type: application/json" \
--data '{"purge_everything":true}'
diff --git a/.github/workflows/deploy-cfp.yml b/.github/workflows/deploy-cfp.yml
new file mode 100644
index 00000000..45923a0c
--- /dev/null
+++ b/.github/workflows/deploy-cfp.yml
@@ -0,0 +1,371 @@
+# ---------------------------------------------------------------------------------------
+# Cloudflare Pages › Update Website
+# Pushes a new version of the website to Cloudflare
+#
+# If editing this workflow, all you need to edit are the INPUT values and the global
+# ENV variables. No need to go any deeper.
+#
+# CHANGE:
+# - run-name && name
+# - INPUTS:
+# PROJECT_NAME
+# - ENV:
+# PROJECT_NAME
+# DOMAIN
+# DIR_BUILD_OUTPUT
+# DIR_WORKING
+# WRANGLER_VERSION
+# BRANCH
+# ---------------------------------------------------------------------------------------
+
+run-name: "☁️ CF › Deploy › app.keeweb.info"
+name: "☁️ CF › app.keeweb.info"
+
+# ---------------------------------------------------------------------------------------
+# TRIGGERS
+# ---------------------------------------------------------------------------------------
+
+on:
+ push:
+ branches: [ master ]
+ workflow_dispatch:
+ inputs:
+
+ # ---------------------------------------------------------------------------------------
+ # The default values set for each input should not need to be changed as they are
+ # already set to the correct values.
+ # ---------------------------------------------------------------------------------------
+
+ PROJECT_NAME:
+ description: "Project Name"
+ required: true
+ default: 'app-keeweb'
+ type: string
+
+ DIRECTORY_BUILD_OUTPUT:
+ description: "Build Output Dir"
+ required: true
+ default: 'gh-pages'
+ type: string
+
+ DIRECTORY_WORKING:
+ description: "Root Dir"
+ required: true
+ default: './'
+ type: string
+
+ WRANGLER_VERSION:
+ description: "Wrangler Version"
+ required: true
+ default: '3'
+ type: string
+
+ BRANCH:
+ description: 'Website Branch'
+ required: true
+ default: 'gh-pages'
+ type: choice
+ options:
+ - gh-pages
+
+# ---------------------------------------------------------------------------------------
+# ENV VARIABLES
+#
+# PROJECT_NAME : This is the project name used in Cloudflare.
+# DOMAIN : purely cosmetic which displays as the label of some steps
+# ---------------------------------------------------------------------------------------
+
+env:
+ PROJECT_NAME: ${{ github.event.inputs.PROJECT_NAME || 'app-keeweb' }}
+ DOMAIN: 'app.keeweb.info'
+ DIR_BUILD_OUTPUT: ${{ github.event.inputs.DIRECTORY_BUILD_OUTPUT || 'gh-pages' }}
+ DIR_WORKING: ${{ github.event.inputs.DIRECTORY_WORKING || './' }}
+ WRANGLER_VERSION: ${{ github.event.inputs.WRANGLER_VERSION || '2' }}
+ BRANCH: ${{ github.event.inputs.BRANCH || 'gh-pages' }}
+
+# ---------------------------------------------------------------------------------------
+# JOBS
+# ---------------------------------------------------------------------------------------
+
+jobs:
+
+ # ---------------------------------------------------------------------------------------
+ # JOB > PUBLISH
+ # ---------------------------------------------------------------------------------------
+
+ job-cfpublish:
+ name: >-
+ ☁️ Publish Website
+ runs-on: ubuntu-latest
+ outputs:
+ upload_github: ${{ steps.task_cloudflare_project_create_github.outputs.SUCCESS }}
+ upload_assets: ${{ steps.task_cloudflare_project_create_assets.outputs.SUCCESS }}
+ existing_site: ${{ steps.task_cloudflare_project_check.outputs.EXISTING }}
+ permissions:
+ contents: read
+ deployments: write
+ id-token: write
+ steps:
+
+ - name: "✅ Start Publish"
+ id: task_cfpublish_start
+ run: |
+ echo "Publishing new version of ${{ env.DOMAIN }} to Cloudflare Pages service"
+
+ # ---------------------------------------------------------------------------------------
+ # Job > Publish > Checkout
+ # ---------------------------------------------------------------------------------------
+
+ - name: "☑️ Checkout gh-pages"
+ id: task_cfpublish_checkout
+ uses: actions/checkout@v4
+ with:
+ ref: gh-pages
+ path: gh-pages
+ fetch-depth: 0
+
+ # ---------------------------------------------------------------------------------------
+ # Job > Publish > Commit Dist
+ # used in original build script for keeweb
+ # ---------------------------------------------------------------------------------------
+
+ #- name: "Commit dist to gh-pages"
+ # working-directory: gh-pages
+ # run: |
+ # git rm -r '*'
+ # cp -r ../html/* .
+ # mkdir -p .github/workflows
+ # echo $GITHUB_SHA > build.txt
+ # date >> build.txt
+ # git add .
+ # git config --local user.email "action@github.com"
+ # git config --local user.name "GitHub Action"
+ # git commit -am v${{ steps.get_tag.outputs.tag }}
+
+ # ---------------------------------------------------------------------------------------
+ # Job > Publish > Push
+ # ---------------------------------------------------------------------------------------
+
+ #- name: "Push gh-pages"
+ # uses: keeweb/github-push-action@master
+ # with:
+ # github_token: ${{ secrets.GITHUB_TOKEN }}
+ # branch: gh-pages
+ # directory: gh-pages
+
+ # ---------------------------------------------------------------------------------------
+ # Job > Publish > Restore mtime
+ # ---------------------------------------------------------------------------------------
+
+ #- name: Restore git mtime
+ # working-directory: gh-pages
+ # run: python3 ../keeweb/.github/actions/scripts/git-restore-mtime.py
+
+ # ---------------------------------------------------------------------------------------
+ # CLOUDFLARE > NODE > SETUP
+ # ---------------------------------------------------------------------------------------
+
+ - name: "⚙️ Setup › Node"
+ id: task_cfpublish_node_setup
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20.x'
+ scope: '@aetherinox'
+
+ # ---------------------------------------------------------------------------------------
+ # CLOUDFLARE > NODE > INSTALL
+ # ---------------------------------------------------------------------------------------
+
+ - name: "📦 NPM › Install Wrangler"
+ id: task_cloudflare_npm_install
+ run: |
+ npm install -g npm@latest
+ npm install --global wrangler
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.SELF_TOKEN_CL }}
+
+ # ---------------------------------------------------------------------------------------
+ # CLOUDFLARE > CHECK PROJECT
+ #
+ # this step checks to see if your project already exists on cloudflare
+ # ---------------------------------------------------------------------------------------
+
+ - name: "☁️ CF › Check Project"
+ id: task_cloudflare_project_check
+ shell: bash
+ run: |
+ check=$(curl -s -X GET "https://api.cloudflare.com/client/v4/accounts/${{ secrets.CF_ACCOUNT_ID }}/pages/projects/${{ inputs.PROJECT_NAME || env.PROJECT_NAME }}" \
+ -H "Authorization: Bearer ${{ secrets.CF_TOKEN }}" \
+ -H "Content-Type:application/json" | jq -r '.success')
+ echo "EXISTING=$check" >> $GITHUB_OUTPUT
+
+ # ---------------------------------------------------------------------------------------
+ # CLOUDFLARE > CREATE PROJECT (LINKED TO GITHUB)
+ #
+ # This step will only success if you've already linked your Github account to cloudflare.
+ # if you attempt to push this deployment to any github repo that is not linked to
+ # cloudflare; the step will fail, and then execute step
+ # task_cloudflare_project_create_assets
+ # ---------------------------------------------------------------------------------------
+
+ - name: "☁️ CF › Create Project › Linked Github (if nonexistent)"
+ id: task_cloudflare_project_create_github
+ shell: bash
+ if: |
+ ${{ steps.task_cloudflare_project_check.outputs.EXISTING != 'true' }}
+ run: |
+ check=$(curl -s -X POST "https://api.cloudflare.com/client/v4/accounts/${{ secrets.CF_ACCOUNT_ID }}/pages/projects" \
+ -H "Authorization: Bearer ${{ secrets.CF_TOKEN }}" \
+ -H "Content-Type:application/json" \
+ -d '{"name": "${{ inputs.PROJECT_NAME || env.PROJECT_NAME }}", "production_branch": "${{ inputs.BRANCH || env.BRANCH || 'master' }}", "source": {"type": "github", "config": {"owner": "${{ github.repository_owner }}", "repo_name": "${{ github.event.repository.name }}"}}}' | jq -r '.success')
+ echo "SUCCESS=$check" >> $GITHUB_OUTPUT
+ echo "Mode (Link Github): $check"
+
+ # ---------------------------------------------------------------------------------------
+ # CLOUDFLARE > CREATE PROJECT
+ #
+ # this step should execute only if the previous step failed.
+ # ---------------------------------------------------------------------------------------
+
+ - name: "☁️ CF › Create Project › Upload Assets (if nonexistent)"
+ id: task_cloudflare_project_create_assets
+ shell: bash
+ if: |
+ steps.task_cloudflare_project_check.outputs.EXISTING != 'true' && ( ${{ steps.task_cloudflare_project_create_github.outputs.SUCCESS == 'false' || failure()}} )
+ run: |
+ check=$(curl -s -X POST "https://api.cloudflare.com/client/v4/accounts/${{ secrets.CF_ACCOUNT_ID }}/pages/projects" \
+ -H "Authorization: Bearer ${{ secrets.CF_TOKEN }}" \
+ -H "Content-Type:application/json" \
+ -d '{"name":"${{ inputs.PROJECT_NAME || env.PROJECT_NAME }}", "production_branch":"${{ inputs.BRANCH || env.BRANCH || 'master' }}"}' | jq -r '.success')
+ echo "SUCCESS=$check" >> $GITHUB_OUTPUT
+ echo "Mode (Upload Assets): $check"
+
+ # ---------------------------------------------------------------------------------------
+ # CLOUDFLARE > CREATE > SUMMARY
+ #
+ # outlines which method was used to create the project
+ # ---------------------------------------------------------------------------------------
+
+ - name: "☁️ CF › Create Project › Summary"
+ id: task_cloudflare_project_summary
+ shell: bash
+ run: |
+ if [ ${{ steps.task_cloudflare_project_create_github.outputs.SUCCESS }} == 'true' ]; then
+ echo ""
+ echo "Project ${{ env.PROJECT_NAME }} linked to a Github account"
+ echo ""
+ elif [ ${{ steps.task_cloudflare_project_create_assets.outputs.SUCCESS }} == 'true' ]; then
+ echo "========================================================================="
+ echo ""
+ echo " Project ${{ env.PROJECT_NAME }} NOT linked to a Github account."
+ echo " Uploading assets to Cloudflare"
+ echo ""
+ echo "========================================================================="
+ echo "If you wish to sync the assets from Github to Cloudflare, you must ensure"
+ echo "you have connected your Github account to cloudflare and that you're"
+ echo "uploading from the same account that is linked."
+ elif [ ${{ steps.task_cloudflare_project_check.outputs.EXISTING }} == 'true' ]; then
+ echo ""
+ echo "Site already exists on Cloudflare, updating ${{ env.PROJECT_NAME }}"
+ echo ""
+ else
+ echo ""
+ echo "Error occured creating ${{ env.PROJECT_NAME }}"
+ echo ""
+ fi
+
+ # ---------------------------------------------------------------------------------------
+ # Job > Publish > Cloudflare Wrangler
+ # ---------------------------------------------------------------------------------------
+
+ #- name: "☁️ CF › Publish KeeWeb.info"
+ # uses: cloudflare/wrangler-action@v3
+ # with:
+ # apiToken: ${{ secrets.CF_TOKEN }} # Cloudflare API Token at https://dash.cloudflare.com/profile/api-tokens
+ # accountId: ${{ secrets.CF_ACCOUNT_ID }} # Cloudflare account ID available on right side of CF website
+ # workingDirectory: ${{ inputs.DIRECTORY_WORKING || env.DIR_WORKING || './' }} # Working directory
+ # command: pages deploy ${{ inputs.DIRECTORY_BUILD_OUTPUT || env.DIR_BUILD_OUTPUT || './' }} --project-name=${{ inputs.PROJECT_NAME || env.PROJECT_NAME }} --commit-dirty=true
+
+ # ---------------------------------------------------------------------------------------
+ # Cloudflare Pages Action
+ #
+ # a new version has been supplied above to switch from
+ # cloudflare/pages-action@v1 -> cloudflare/wrangler-action@v3
+ # the new action uses NodeJS 20, instead of 16.
+ # ---------------------------------------------------------------------------------------
+
+ - name: "☁️ CF › Publish ${{ env.DOMAIN }}"
+ uses: aetherinox/cloudflare-publish-action@latest
+ with:
+ apiToken: ${{ secrets.CF_TOKEN }} # Cloudflare API Token at https://dash.cloudflare.com/profile/api-tokens
+ accountId: ${{ secrets.CF_ACCOUNT_ID }} # Cloudflare account ID available on right side of CF website
+ projectName: ${{ inputs.PROJECT_NAME || env.PROJECT_NAME }} # Project name assigned at creation. view on workers-and-pages section of CF website
+ directory: ${{ inputs.DIRECTORY_BUILD_OUTPUT || env.DIR_BUILD_OUTPUT || './' }} # Output directory for built website
+ gitHubToken: ${{ secrets.SELF_TOKEN_CL }} # Optional: Enable this if you want to have GitHub Deployments triggered
+ branch: ${{ inputs.BRANCH || env.BRANCH || 'master' }} # Branch website published to; by default this will be the branch which triggered this workflow
+ workingDirectory: ${{ inputs.DIRECTORY_WORKING || env.DIR_WORKING || './' }} # Working directory
+ wranglerVersion: ${{ inputs.WRANGLER_VERSION || env.WRANGLER_VERSION || '3' }} # Optional: Change the Wrangler version, allows you to point to a specific version or a tag such as `beta`
+
+ # ---------------------------------------------------------------------------------------
+ # Cloudflare > Purge Cache
+ # ---------------------------------------------------------------------------------------
+
+ - name: "☁️ CF › Purge Cache"
+ id: task_cloudflare_purge_cache
+ run: |
+ check=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE_SITE_MAIN }}/purge_cache" \
+ -H "Authorization: Bearer ${{ secrets.CF_TOKEN }}" \
+ -H "Content-Type:application/json" \
+ -d '{"purge_everything":true}' | jq -r '.success')
+ echo "SUCCESS=$check" >> $GITHUB_OUTPUT
+ echo "Purge Cache: $check"
+
+ # ---------------------------------------------------------------------------------------
+ # JOB > COMPLETE
+ # ---------------------------------------------------------------------------------------
+
+ job-complete:
+ name: >-
+ 🆗 Successful Deployment
+ needs: job-cfpublish
+ env:
+ UPLOAD_GITHUB: ${{ needs.job-cfpublish.outputs.upload_github }}
+ UPLOAD_ASSETS: ${{ needs.job-cfpublish.outputs.upload_assets }}
+ EXISTING_SITE: ${{ needs.job-cfpublish.outputs.existing_site }}
+ runs-on: ubuntu-latest
+ steps:
+
+ # ---------------------------------------------------------------------------------------
+ # Job > Complete > Get publish timestamp
+ # ---------------------------------------------------------------------------------------
+
+ - name: "🕛 Get Timestamp"
+ id: task_complete_timestamp_get
+ run: |
+ echo "NOW=$(date +'%m-%d-%Y %H:%M:%S')" >> $GITHUB_ENV
+
+ # ---------------------------------------------------------------------------------------
+ # Job > Complete > Summary of publish
+ # ---------------------------------------------------------------------------------------
+
+ - name: "🆗 CF Pages Deployment: ${{ env.DOMAIN }}"
+ id: task_complete_summary
+ run: |
+ echo ""
+ echo ""
+ echo "| Name | Result |" >> $GITHUB_STEP_SUMMARY
+ echo "| ------------------------------- | ----------------------- |" >> $GITHUB_STEP_SUMMARY
+ echo "| **Cloudflare Project ID** | ${{ env.PROJECT_NAME }} |" >> $GITHUB_STEP_SUMMARY
+ echo "| **Domain** | ${{ env.DOMAIN }} |" >> $GITHUB_STEP_SUMMARY
+ echo "| **Deploy Time** | ${{ env.NOW }} |" >> $GITHUB_STEP_SUMMARY
+ if [ ${{ env.EXISTING_SITE }} == 'true' ]; then
+ echo "| **Update Type** | 🟩 Update Existing |" >> $GITHUB_STEP_SUMMARY
+ else
+ if [ ${{ env.UPLOAD_GITHUB }} == 'true' ]; then
+ echo "| **Update Type** | 🇬 Create (Link Github) |" >> $GITHUB_STEP_SUMMARY
+ elif [ ${{ env.UPLOAD_ASSETS }} == 'true' ]; then
+ echo "| **Update Type** | 📦 Create (Asset Upload) |" >> $GITHUB_STEP_SUMMARY
+ else
+ echo "| **Update Type** | ❌ Could not push to Cloudflare |" >> $GITHUB_STEP_SUMMARY
+ fi
+ fi
diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml
new file mode 100644
index 00000000..da0886eb
--- /dev/null
+++ b/.github/workflows/verify.yaml
@@ -0,0 +1,31 @@
+name: Verify
+on:
+ push:
+ pull_request:
+ workflow_dispatch:
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version-file: '.nvmrc'
+ cache: 'npm'
+ - name: Install npm modules
+ run: npm ci
+ - name: Lint
+ run: npm run lint
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version-file: '.nvmrc'
+ cache: 'npm'
+ - name: Install npm modules
+ run: npm ci
+ - name: Test
+ run: npm test
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 00000000..2ab3d4be
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+v16.20.2
diff --git a/README.md b/README.md
index 93e055f1..5821cdb6 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,8 @@ Donate: [OpenCollective](https://opencollective.com/keeweb#support), [GitHub](ht
## Status
-The app is quite stable now. Basic stuff, as well as more advanced operations, should be rather reliable.
+The app is quite stable now. Basic stuff, as well as more advanced operations, should be rather reliable.
+Looking for a new maintainer, see [#2022](https://github.com/keeweb/keeweb/issues/2022)
## Self-hosting
diff --git a/app/scripts/models/entry-model.js b/app/scripts/models/entry-model.js
index 06ffa126..4e21bb78 100644
--- a/app/scripts/models/entry-model.js
+++ b/app/scripts/models/entry-model.js
@@ -467,6 +467,7 @@ class EntryModel extends Model {
if (otpUrl.isProtected) {
otpUrl = otpUrl.getText();
}
+ // called only if secret provided, no formatted url
if (Otp.isSecret(otpUrl.replace(/\s/g, ''))) {
otpUrl = Otp.makeUrl(otpUrl.replace(/\s/g, '').toUpperCase());
} else if (otpUrl.toLowerCase().lastIndexOf('otpauth:', 0) !== 0) {
diff --git a/app/scripts/util/data/csv-parser.js b/app/scripts/util/data/csv-parser.js
index df870ea5..e553bc05 100644
--- a/app/scripts/util/data/csv-parser.js
+++ b/app/scripts/util/data/csv-parser.js
@@ -12,7 +12,7 @@ class CsvParser {
this.result = [];
this.next = this.handleBeforeValue;
this.index = 0;
- while (this.next && this.index < this.csv.length) {
+ while (this.next && this.index <= this.csv.length) {
this.next = this.next(this);
}
if (this.lines.length <= 1) {
diff --git a/app/scripts/util/data/otp.js b/app/scripts/util/data/otp.js
index 2566157c..d4dbdeb1 100644
--- a/app/scripts/util/data/otp.js
+++ b/app/scripts/util/data/otp.js
@@ -135,12 +135,12 @@ Otp.leftPad = function (str, len) {
};
Otp.parseUrl = function (url) {
- const match = /^otpauth:\/\/(\w+)\/([^\?]+)\?(.*)/i.exec(url);
+ const match = /^otpauth:\/\/(\w+)(?:\/([^\?]+)\?|\?)(.*)/i.exec(url);
if (!match) {
throw 'Not OTP url';
}
const params = {};
- const label = decodeURIComponent(match[2]);
+ const label = decodeURIComponent(match[2] ?? 'default');
if (label) {
const parts = label.split(':');
params.issuer = parts[0].trim();
@@ -148,7 +148,8 @@ Otp.parseUrl = function (url) {
params.account = parts[1].trim();
}
}
- params.type = match[1].toLowerCase();
+ params.type = match[1].toLowerCase(); // returns "totp"
+ // match[3] = secret=XXXXXXXXXXXXX&period=30&digits=6&algorithm=SHA1
match[3].split('&').forEach((part) => {
const parts = part.split('=', 2);
params[parts[0].toLowerCase()] = decodeURIComponent(parts[1]);
diff --git a/app/scripts/util/formatting/password-presenter.js b/app/scripts/util/formatting/password-presenter.js
index a7271077..584a0865 100644
--- a/app/scripts/util/formatting/password-presenter.js
+++ b/app/scripts/util/formatting/password-presenter.js
@@ -8,6 +8,11 @@ class RandomNameGenerator {
}
function charCodeToHtml(char) {
+ // convert certain special chars like space into to non-breaking space
+ // ' ' to nbsp;
+ if (char === 32 || char === 8193 || char === 8239) {
+ char = 160;
+ }
return Math.random() < 0.2 ? String.fromCharCode(char) : `${char.toString(16)};`;
}
diff --git a/build/tasks/grunt-run-test.js b/build/tasks/grunt-run-test.js
index 9605d902..88ab5e93 100644
--- a/build/tasks/grunt-run-test.js
+++ b/build/tasks/grunt-run-test.js
@@ -3,21 +3,19 @@ module.exports = function (grunt) {
const done = this.async();
const opt = this.options();
const file = this.files[0].src[0];
-
const path = require('path');
const puppeteer = require('puppeteer');
-
(async function () {
grunt.log.writeln('Running tests...');
-
const fullPath = 'file://' + path.resolve(file);
-
const browser = await puppeteer.launch({
- headless: opt.headless
+ headless: opt.headless,
+ executablePath: process.env.CHROME_BIN || null,
+ args: ['--disable-dev-shm-usage']
});
+ grunt.log.writeln('puppeteer launched...');
const page = await browser.newPage();
await page.goto(fullPath);
-
async function check() {
const result = await page.evaluate(() => {
const { output, done } = window;
diff --git a/package-lock.json b/package-lock.json
index ed0d4e4b..0db740b1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,7 +5,8 @@
"requires": true,
"packages": {
"": {
- "version": "1.18.5",
+ "name": "keeweb",
+ "version": "1.18.7",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.14.0",
@@ -30,7 +31,7 @@
"cross-env": "^7.0.3",
"css-loader": "^5.2.4",
"dompurify": "^2.2.8",
- "electron": "^12.0.7",
+ "electron": "^13.6.9",
"electron-builder": "^22.11.1",
"electron-evil-feature-patcher": "^1.2.1",
"electron-notarize": "^1.0.0",
@@ -1347,23 +1348,23 @@
}
},
"node_modules/@electron/get": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz",
- "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
+ "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
"dependencies": {
"debug": "^4.1.1",
"env-paths": "^2.2.0",
"fs-extra": "^8.1.0",
"got": "^9.6.0",
"progress": "^2.0.3",
- "sanitize-filename": "^1.6.2",
+ "semver": "^6.2.0",
"sumchecker": "^3.0.1"
},
"engines": {
"node": ">=8.6"
},
"optionalDependencies": {
- "global-agent": "^2.0.2",
+ "global-agent": "^3.0.0",
"global-tunnel-ng": "^2.7.1"
}
},
@@ -1380,6 +1381,14 @@
"node": ">=6 <7 || >=8"
}
},
+ "node_modules/@electron/get/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/@electron/universal": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.0.4.tgz",
@@ -1750,9 +1759,9 @@
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
},
"node_modules/@types/node": {
- "version": "14.14.25",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz",
- "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ=="
+ "version": "16.11.59",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.59.tgz",
+ "integrity": "sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw=="
},
"node_modules/@types/parse-json": {
"version": "4.0.0",
@@ -3523,9 +3532,9 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
"node_modules/boolean": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz",
- "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
+ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
"optional": true
},
"node_modules/bourbon": {
@@ -4038,12 +4047,18 @@
}
},
"node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4116,9 +4131,23 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001218",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz",
- "integrity": "sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q=="
+ "version": "1.0.30001605",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz",
+ "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
},
"node_modules/chai": {
"version": "4.3.4",
@@ -5423,15 +5452,36 @@
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz",
"integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ=="
},
- "node_modules/define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dependencies": {
- "object-keys": "^1.0.12"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/define-property": {
@@ -5903,9 +5953,9 @@
}
},
"node_modules/electron": {
- "version": "12.0.7",
- "resolved": "https://registry.npmjs.org/electron/-/electron-12.0.7.tgz",
- "integrity": "sha512-722TZNKDuLpEmj96AzTYFKHaJEH98xgOBH0aldStaPXI1xDFfb9SJQQuirvwFlkwG5OqQdz6Ne3OwwJ7Dbs5nQ==",
+ "version": "13.6.9",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-13.6.9.tgz",
+ "integrity": "sha512-Es/sBy85NIuqsO9MW41PUCpwIkeinlTQ7g0ainfnmRAM2rmog3GBxVCaoV5dzEjwTF7TKG1Yr/E7Z3qHmlfWAg==",
"hasInstallScript": true,
"dependencies": {
"@electron/get": "^1.0.1",
@@ -6207,25 +6257,6 @@
"ms": "2.0.0"
}
},
- "node_modules/electron-packager/node_modules/extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dependencies": {
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- },
- "engines": {
- "node": ">= 10.17.0"
- },
- "optionalDependencies": {
- "@types/yauzl": "^2.9.1"
- }
- },
"node_modules/electron-packager/node_modules/fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
@@ -6240,17 +6271,6 @@
"node": ">=10"
}
},
- "node_modules/electron-packager/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/electron-packager/node_modules/isbinaryfile": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
@@ -6413,6 +6433,38 @@
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz",
"integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg=="
},
+ "node_modules/electron/node_modules/@types/node": {
+ "version": "14.18.29",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.29.tgz",
+ "integrity": "sha512-LhF+9fbIX4iPzhsRLpK5H7iPdvW8L4IwGciXQIOEcuF62+9nw/VQVsOViAOOGxY3OlOKGLFv0sWwJXdwQeTn6A=="
+ },
+ "node_modules/electron/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/electron/node_modules/extract-zip": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
+ "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
+ "dependencies": {
+ "concat-stream": "^1.6.2",
+ "debug": "^2.6.9",
+ "mkdirp": "^0.5.4",
+ "yauzl": "^2.10.0"
+ },
+ "bin": {
+ "extract-zip": "cli.js"
+ }
+ },
+ "node_modules/electron/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
"node_modules/emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -6550,11 +6602,41 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-module-lexer": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz",
"integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA=="
},
+ "node_modules/es-object-atoms": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-to-primitive": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
@@ -7525,32 +7607,38 @@
}
},
"node_modules/extract-zip": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
- "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
"dependencies": {
- "concat-stream": "^1.6.2",
- "debug": "^2.6.9",
- "mkdirp": "^0.5.4",
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
"yauzl": "^2.10.0"
},
"bin": {
"extract-zip": "cli.js"
+ },
+ "engines": {
+ "node": ">= 10.17.0"
+ },
+ "optionalDependencies": {
+ "@types/yauzl": "^2.9.1"
}
},
- "node_modules/extract-zip/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/extract-zip/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dependencies": {
- "ms": "2.0.0"
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/extract-zip/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
"node_modules/extsprintf": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz",
@@ -8145,30 +8233,30 @@
},
"node_modules/fsevents/node_modules/abbrev": {
"version": "1.1.1",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/ansi-regex": {
"version": "2.1.1",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fsevents/node_modules/aproba": {
"version": "1.2.0",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/are-we-there-yet": {
"version": "1.1.5",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
@@ -8176,15 +8264,15 @@
},
"node_modules/fsevents/node_modules/balanced-match": {
"version": "1.0.0",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/brace-expansion": {
"version": "1.1.11",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -8192,66 +8280,66 @@
},
"node_modules/fsevents/node_modules/chownr": {
"version": "1.1.3",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/code-point-at": {
"version": "1.1.0",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fsevents/node_modules/concat-map": {
"version": "0.0.1",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/console-control-strings": {
"version": "1.1.0",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/core-util-is": {
"version": "1.0.2",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/debug": {
"version": "3.2.6",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/fsevents/node_modules/deep-extend": {
"version": "0.6.0",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/fsevents/node_modules/delegates": {
"version": "1.0.0",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/detect-libc": {
"version": "1.0.3",
- "extraneous": true,
"inBundle": true,
"license": "Apache-2.0",
+ "optional": true,
"bin": {
"detect-libc": "bin/detect-libc.js"
},
@@ -8261,24 +8349,24 @@
},
"node_modules/fsevents/node_modules/fs-minipass": {
"version": "1.2.7",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"minipass": "^2.6.0"
}
},
"node_modules/fsevents/node_modules/fs.realpath": {
"version": "1.0.0",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/gauge": {
"version": "2.7.4",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
@@ -8292,9 +8380,9 @@
},
"node_modules/fsevents/node_modules/glob": {
"version": "7.1.6",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -8312,15 +8400,15 @@
},
"node_modules/fsevents/node_modules/has-unicode": {
"version": "2.0.1",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/iconv-lite": {
"version": "0.4.24",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
@@ -8330,18 +8418,18 @@
},
"node_modules/fsevents/node_modules/ignore-walk": {
"version": "3.0.3",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"minimatch": "^3.0.4"
}
},
"node_modules/fsevents/node_modules/inflight": {
"version": "1.0.6",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -8349,24 +8437,24 @@
},
"node_modules/fsevents/node_modules/inherits": {
"version": "2.0.4",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/ini": {
"version": "1.3.5",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"engines": {
"node": "*"
}
},
"node_modules/fsevents/node_modules/is-fullwidth-code-point": {
"version": "1.0.0",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"number-is-nan": "^1.0.0"
},
@@ -8376,15 +8464,15 @@
},
"node_modules/fsevents/node_modules/isarray": {
"version": "1.0.0",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/minimatch": {
"version": "3.0.4",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -8394,15 +8482,15 @@
},
"node_modules/fsevents/node_modules/minimist": {
"version": "0.0.8",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/minipass": {
"version": "2.9.0",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -8410,18 +8498,18 @@
},
"node_modules/fsevents/node_modules/minizlib": {
"version": "1.3.3",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"minipass": "^2.9.0"
}
},
"node_modules/fsevents/node_modules/mkdirp": {
"version": "0.5.1",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"minimist": "0.0.8"
},
@@ -8431,15 +8519,15 @@
},
"node_modules/fsevents/node_modules/ms": {
"version": "2.1.2",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/needle": {
"version": "2.4.0",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"debug": "^3.2.6",
"iconv-lite": "^0.4.4",
@@ -8454,9 +8542,9 @@
},
"node_modules/fsevents/node_modules/node-pre-gyp": {
"version": "0.14.0",
- "extraneous": true,
"inBundle": true,
"license": "BSD-3-Clause",
+ "optional": true,
"dependencies": {
"detect-libc": "^1.0.2",
"mkdirp": "^0.5.1",
@@ -8475,9 +8563,9 @@
},
"node_modules/fsevents/node_modules/nopt": {
"version": "4.0.1",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"abbrev": "1",
"osenv": "^0.1.4"
@@ -8488,24 +8576,24 @@
},
"node_modules/fsevents/node_modules/npm-bundled": {
"version": "1.1.1",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"npm-normalize-package-bin": "^1.0.1"
}
},
"node_modules/fsevents/node_modules/npm-normalize-package-bin": {
"version": "1.0.1",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/npm-packlist": {
"version": "1.4.7",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"ignore-walk": "^3.0.1",
"npm-bundled": "^1.0.1"
@@ -8513,9 +8601,9 @@
},
"node_modules/fsevents/node_modules/npmlog": {
"version": "4.1.2",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
@@ -8525,54 +8613,54 @@
},
"node_modules/fsevents/node_modules/number-is-nan": {
"version": "1.0.1",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fsevents/node_modules/object-assign": {
"version": "4.1.1",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fsevents/node_modules/once": {
"version": "1.4.0",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"wrappy": "1"
}
},
"node_modules/fsevents/node_modules/os-homedir": {
"version": "1.0.2",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fsevents/node_modules/os-tmpdir": {
"version": "1.0.2",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fsevents/node_modules/osenv": {
"version": "0.1.5",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
@@ -8580,24 +8668,24 @@
},
"node_modules/fsevents/node_modules/path-is-absolute": {
"version": "1.0.1",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fsevents/node_modules/process-nextick-args": {
"version": "2.0.1",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/rc": {
"version": "1.2.8",
- "extraneous": true,
"inBundle": true,
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
+ "optional": true,
"dependencies": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
@@ -8610,15 +8698,15 @@
},
"node_modules/fsevents/node_modules/rc/node_modules/minimist": {
"version": "1.2.0",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/readable-stream": {
"version": "2.3.6",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -8631,9 +8719,9 @@
},
"node_modules/fsevents/node_modules/rimraf": {
"version": "2.7.1",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"glob": "^7.1.3"
},
@@ -8643,57 +8731,57 @@
},
"node_modules/fsevents/node_modules/safe-buffer": {
"version": "5.1.2",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/safer-buffer": {
"version": "2.1.2",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/sax": {
"version": "1.2.4",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/semver": {
"version": "5.7.1",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/fsevents/node_modules/set-blocking": {
"version": "2.0.0",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/signal-exit": {
"version": "3.0.2",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/string_decoder": {
"version": "1.1.1",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/fsevents/node_modules/string-width": {
"version": "1.0.2",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -8705,9 +8793,9 @@
},
"node_modules/fsevents/node_modules/strip-ansi": {
"version": "3.0.1",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"ansi-regex": "^2.0.0"
},
@@ -8717,18 +8805,18 @@
},
"node_modules/fsevents/node_modules/strip-json-comments": {
"version": "2.0.1",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fsevents/node_modules/tar": {
"version": "4.4.13",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
@@ -8744,35 +8832,38 @@
},
"node_modules/fsevents/node_modules/util-deprecate": {
"version": "1.0.2",
- "extraneous": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/fsevents/node_modules/wide-align": {
"version": "1.1.3",
- "extraneous": true,
"inBundle": true,
"license": "ISC",
+ "optional": true,
"dependencies": {
"string-width": "^1.0.2 || 2"
}
},
"node_modules/fsevents/node_modules/wrappy": {
"version": "1.0.2",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fsevents/node_modules/yallist": {
"version": "3.1.1",
- "extraneous": true,
"inBundle": true,
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/functional-red-black-tree": {
"version": "1.0.1",
@@ -8986,13 +9077,18 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -9102,13 +9198,12 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
},
"node_modules/global-agent": {
- "version": "2.1.12",
- "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz",
- "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
+ "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
"optional": true,
"dependencies": {
"boolean": "^3.0.1",
- "core-js": "^3.6.5",
"es6-error": "^4.1.1",
"matcher": "^3.0.0",
"roarr": "^2.15.3",
@@ -9119,17 +9214,14 @@
"node": ">=10.0"
}
},
- "node_modules/global-agent/node_modules/core-js": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.0.tgz",
- "integrity": "sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA==",
- "optional": true
- },
"node_modules/global-agent/node_modules/semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"optional": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
"semver": "bin/semver.js"
},
@@ -9222,15 +9314,18 @@
}
},
"node_modules/globalthis": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz",
- "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
"optional": true,
"dependencies": {
"define-properties": "^1.1.3"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/globby": {
@@ -9321,6 +9416,17 @@
"node": ">= 6.0.0"
}
},
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/got": {
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
@@ -10087,10 +10193,32 @@
"node": ">=4"
}
},
- "node_modules/has-symbols": {
+ "node_modules/has-property-descriptors": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"engines": {
"node": ">= 0.4"
},
@@ -10183,6 +10311,17 @@
"resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz",
"integrity": "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ=="
},
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -11636,7 +11775,7 @@
"node_modules/json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
"optional": true
},
"node_modules/json3": {
@@ -12306,6 +12445,9 @@
"optional": true,
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/math-random": {
@@ -15654,25 +15796,6 @@
"node": ">=10.18.1"
}
},
- "node_modules/puppeteer/node_modules/extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dependencies": {
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- },
- "engines": {
- "node": ">= 10.17.0"
- },
- "optionalDependencies": {
- "@types/yauzl": "^2.9.1"
- }
- },
"node_modules/puppeteer/node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -15685,17 +15808,6 @@
"node": ">=8"
}
},
- "node_modules/puppeteer/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/puppeteer/node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -17055,7 +17167,7 @@
"node_modules/semver-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
- "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
"optional": true
},
"node_modules/semver-diff": {
@@ -17139,6 +17251,9 @@
},
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/serialize-error/node_modules/type-fest": {
@@ -17148,6 +17263,9 @@
"optional": true,
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/serialize-javascript": {
@@ -17231,6 +17349,22 @@
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/set-value": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
@@ -17954,6 +18088,19 @@
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
},
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+ "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/string.prototype.trimstart": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
@@ -18773,7 +18920,7 @@
"node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"node_modules/typedarray-to-buffer": {
"version": "3.1.5",
@@ -21713,18 +21860,18 @@
}
},
"@electron/get": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz",
- "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
+ "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
"requires": {
"debug": "^4.1.1",
"env-paths": "^2.2.0",
"fs-extra": "^8.1.0",
- "global-agent": "^2.0.2",
+ "global-agent": "^3.0.0",
"global-tunnel-ng": "^2.7.1",
"got": "^9.6.0",
"progress": "^2.0.3",
- "sanitize-filename": "^1.6.2",
+ "semver": "^6.2.0",
"sumchecker": "^3.0.1"
},
"dependencies": {
@@ -21737,6 +21884,11 @@
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
@@ -22036,9 +22188,9 @@
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
},
"@types/node": {
- "version": "14.14.25",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz",
- "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ=="
+ "version": "16.11.59",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.59.tgz",
+ "integrity": "sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw=="
},
"@types/parse-json": {
"version": "4.0.0",
@@ -23503,9 +23655,9 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
"boolean": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz",
- "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
+ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
"optional": true
},
"bourbon": {
@@ -23898,12 +24050,15 @@
}
},
"call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
}
},
"caller-callsite": {
@@ -23960,9 +24115,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001218",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz",
- "integrity": "sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q=="
+ "version": "1.0.30001605",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz",
+ "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ=="
},
"chai": {
"version": "4.3.4",
@@ -24987,12 +25142,24 @@
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz",
"integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ=="
},
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"requires": {
- "object-keys": "^1.0.12"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ }
+ },
+ "define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "requires": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
}
},
"define-property": {
@@ -25374,13 +25541,44 @@
}
},
"electron": {
- "version": "12.0.7",
- "resolved": "https://registry.npmjs.org/electron/-/electron-12.0.7.tgz",
- "integrity": "sha512-722TZNKDuLpEmj96AzTYFKHaJEH98xgOBH0aldStaPXI1xDFfb9SJQQuirvwFlkwG5OqQdz6Ne3OwwJ7Dbs5nQ==",
+ "version": "13.6.9",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-13.6.9.tgz",
+ "integrity": "sha512-Es/sBy85NIuqsO9MW41PUCpwIkeinlTQ7g0ainfnmRAM2rmog3GBxVCaoV5dzEjwTF7TKG1Yr/E7Z3qHmlfWAg==",
"requires": {
"@electron/get": "^1.0.1",
"@types/node": "^14.6.2",
"extract-zip": "^1.0.3"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "14.18.29",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.29.tgz",
+ "integrity": "sha512-LhF+9fbIX4iPzhsRLpK5H7iPdvW8L4IwGciXQIOEcuF62+9nw/VQVsOViAOOGxY3OlOKGLFv0sWwJXdwQeTn6A=="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "extract-zip": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
+ "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
+ "requires": {
+ "concat-stream": "^1.6.2",
+ "debug": "^2.6.9",
+ "mkdirp": "^0.5.4",
+ "yauzl": "^2.10.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
}
},
"electron-builder": {
@@ -25609,17 +25807,6 @@
}
}
},
- "extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "requires": {
- "@types/yauzl": "^2.9.1",
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- }
- },
"fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
@@ -25631,14 +25818,6 @@
"universalify": "^2.0.0"
}
},
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- },
"isbinaryfile": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
@@ -25869,11 +26048,32 @@
"unbox-primitive": "^1.0.0"
}
},
+ "es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "requires": {
+ "get-intrinsic": "^1.2.4"
+ }
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
"es-module-lexer": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz",
"integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA=="
},
+ "es-object-atoms": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+ "requires": {
+ "es-errors": "^1.3.0"
+ }
+ },
"es-to-primitive": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
@@ -26617,28 +26817,23 @@
}
},
"extract-zip": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
- "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
"requires": {
- "concat-stream": "^1.6.2",
- "debug": "^2.6.9",
- "mkdirp": "^0.5.4",
+ "@types/yauzl": "^2.9.1",
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
"yauzl": "^2.10.0"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"requires": {
- "ms": "2.0.0"
+ "pump": "^3.0.0"
}
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
@@ -27062,22 +27257,22 @@
"abbrev": {
"version": "1.1.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"aproba": {
"version": "1.2.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"are-we-there-yet": {
"version": "1.1.5",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
@@ -27086,12 +27281,12 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -27100,32 +27295,32 @@
"chownr": {
"version": "1.1.3",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"debug": {
"version": "3.2.6",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"ms": "^2.1.1"
}
@@ -27133,22 +27328,22 @@
"deep-extend": {
"version": "0.6.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"delegates": {
"version": "1.0.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"detect-libc": {
"version": "1.0.3",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"fs-minipass": {
"version": "1.2.7",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"minipass": "^2.6.0"
}
@@ -27156,12 +27351,12 @@
"fs.realpath": {
"version": "1.0.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"gauge": {
"version": "2.7.4",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
@@ -27176,7 +27371,7 @@
"glob": {
"version": "7.1.6",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -27189,12 +27384,12 @@
"has-unicode": {
"version": "2.0.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"iconv-lite": {
"version": "0.4.24",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@@ -27202,7 +27397,7 @@
"ignore-walk": {
"version": "3.0.3",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"minimatch": "^3.0.4"
}
@@ -27210,7 +27405,7 @@
"inflight": {
"version": "1.0.6",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -27219,17 +27414,17 @@
"inherits": {
"version": "2.0.4",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"ini": {
"version": "1.3.5",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -27237,12 +27432,12 @@
"isarray": {
"version": "1.0.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"minimatch": {
"version": "3.0.4",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -27250,12 +27445,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"minipass": {
"version": "2.9.0",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -27264,7 +27459,7 @@
"minizlib": {
"version": "1.3.3",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"minipass": "^2.9.0"
}
@@ -27272,7 +27467,7 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -27280,12 +27475,12 @@
"ms": {
"version": "2.1.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"needle": {
"version": "2.4.0",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"debug": "^3.2.6",
"iconv-lite": "^0.4.4",
@@ -27295,7 +27490,7 @@
"node-pre-gyp": {
"version": "0.14.0",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"detect-libc": "^1.0.2",
"mkdirp": "^0.5.1",
@@ -27312,7 +27507,7 @@
"nopt": {
"version": "4.0.1",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"abbrev": "1",
"osenv": "^0.1.4"
@@ -27321,7 +27516,7 @@
"npm-bundled": {
"version": "1.1.1",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"npm-normalize-package-bin": "^1.0.1"
}
@@ -27329,12 +27524,12 @@
"npm-normalize-package-bin": {
"version": "1.0.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"npm-packlist": {
"version": "1.4.7",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"ignore-walk": "^3.0.1",
"npm-bundled": "^1.0.1"
@@ -27343,7 +27538,7 @@
"npmlog": {
"version": "4.1.2",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
@@ -27354,17 +27549,17 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"once": {
"version": "1.4.0",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -27372,17 +27567,17 @@
"os-homedir": {
"version": "1.0.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"os-tmpdir": {
"version": "1.0.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"osenv": {
"version": "0.1.5",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
@@ -27391,17 +27586,17 @@
"path-is-absolute": {
"version": "1.0.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"process-nextick-args": {
"version": "2.0.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"rc": {
"version": "1.2.8",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
@@ -27412,14 +27607,14 @@
"minimist": {
"version": "1.2.0",
"bundled": true,
- "extraneous": true
+ "optional": true
}
}
},
"readable-stream": {
"version": "2.3.6",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -27433,7 +27628,7 @@
"rimraf": {
"version": "2.7.1",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"glob": "^7.1.3"
}
@@ -27441,37 +27636,37 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"sax": {
"version": "1.2.4",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"semver": {
"version": "5.7.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"set-blocking": {
"version": "2.0.0",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"signal-exit": {
"version": "3.0.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"string_decoder": {
"version": "1.1.1",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -27479,7 +27674,7 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -27489,7 +27684,7 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -27497,12 +27692,12 @@
"strip-json-comments": {
"version": "2.0.1",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"tar": {
"version": "4.4.13",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
@@ -27516,12 +27711,12 @@
"util-deprecate": {
"version": "1.0.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"wide-align": {
"version": "1.1.3",
"bundled": true,
- "extraneous": true,
+ "optional": true,
"requires": {
"string-width": "^1.0.2 || 2"
}
@@ -27529,19 +27724,19 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "extraneous": true
+ "optional": true
},
"yallist": {
"version": "3.1.1",
"bundled": true,
- "extraneous": true
+ "optional": true
}
}
},
"function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
},
"functional-red-black-tree": {
"version": "1.0.1",
@@ -27724,13 +27919,15 @@
"integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE="
},
"get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
}
},
"get-package-info": {
@@ -27821,13 +28018,12 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
},
"global-agent": {
- "version": "2.1.12",
- "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz",
- "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
+ "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
"optional": true,
"requires": {
"boolean": "^3.0.1",
- "core-js": "^3.6.5",
"es6-error": "^4.1.1",
"matcher": "^3.0.0",
"roarr": "^2.15.3",
@@ -27835,17 +28031,14 @@
"serialize-error": "^7.0.1"
},
"dependencies": {
- "core-js": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.0.tgz",
- "integrity": "sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA==",
- "optional": true
- },
"semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
- "optional": true
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "optional": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
}
}
},
@@ -27914,9 +28107,9 @@
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
},
"globalthis": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz",
- "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
"optional": true,
"requires": {
"define-properties": "^1.1.3"
@@ -27990,6 +28183,14 @@
}
}
},
+ "gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "requires": {
+ "get-intrinsic": "^1.1.3"
+ }
+ },
"got": {
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
@@ -28591,10 +28792,23 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
- "has-symbols": {
+ "has-property-descriptors": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "requires": {
+ "es-define-property": "^1.0.0"
+ }
+ },
+ "has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
"has-unicode": {
"version": "2.0.1",
@@ -28666,6 +28880,14 @@
"resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz",
"integrity": "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ=="
},
+ "hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "requires": {
+ "function-bind": "^1.1.2"
+ }
+ },
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -29787,7 +30009,7 @@
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
"optional": true
},
"json3": {
@@ -32917,17 +33139,6 @@
"ws": "^7.2.3"
},
"dependencies": {
- "extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "requires": {
- "@types/yauzl": "^2.9.1",
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- }
- },
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -32937,14 +33148,6 @@
"path-exists": "^4.0.0"
}
},
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- },
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -33998,7 +34201,7 @@
"semver-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
- "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
"optional": true
},
"semver-diff": {
@@ -34154,6 +34357,19 @@
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
+ "set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
"set-value": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
@@ -34765,6 +34981,16 @@
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
},
+ "string.prototype.trimend": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+ "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ }
+ },
"string.prototype.trimstart": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
@@ -35425,7 +35651,7 @@
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"typedarray-to-buffer": {
"version": "3.1.5",
diff --git a/package.json b/package.json
index bd7cb56c..cd57b6a6 100644
--- a/package.json
+++ b/package.json
@@ -32,7 +32,7 @@
"cross-env": "^7.0.3",
"css-loader": "^5.2.4",
"dompurify": "^2.2.8",
- "electron": "^12.0.7",
+ "electron": "^13.6.9",
"electron-builder": "^22.11.1",
"electron-evil-feature-patcher": "^1.2.1",
"electron-notarize": "^1.0.0",
@@ -110,15 +110,18 @@
},
"scripts": {
"start": "grunt",
+ "lint": "grunt eslint",
"test": "grunt test",
"build-beta": "grunt --beta && cp dist/index.html ../keeweb-beta/index.html && cd ../keeweb-beta && git add index.html && git commit -a -m 'beta' && git push origin master",
"electron": "cross-env KEEWEB_IS_PORTABLE=0 ELECTRON_DISABLE_SECURITY_WARNINGS=1 KEEWEB_EMULATE_HARDWARE_ENCRYPTION=persistent KEEWEB_HTML_PATH=http://localhost:8085 electron desktop --no-sandbox",
"dev": "grunt dev",
+ "dev-legacy": "cross-env NODE_OPTIONS='--openssl-legacy-provider' grunt dev",
"dev-desktop-macos": "grunt dev-desktop-darwin --skip-sign",
"dev-desktop-macos-signed": "grunt dev-desktop-darwin-signed",
"dev-desktop-windows": "grunt dev-desktop-win32 --skip-sign",
"dev-desktop-linux": "grunt dev-desktop-linux --skip-sign",
- "babel-helpers": "babel-external-helpers -l 'slicedToArray,toConsumableArray,defineProperty,typeof' -t global > app/lib/babel-helpers.js"
+ "babel-helpers": "babel-external-helpers -l 'slicedToArray,toConsumableArray,defineProperty,typeof' -t global > app/lib/babel-helpers.js",
+ "set-legacy": "export NODE_OPTIONS=--openssl-legacy-provider"
},
"author": {
"name": "Antelle",
@@ -140,4 +143,4 @@
"last 1 ChromeAndroid version",
"Electron > 6.0.1"
]
-}
+}
\ No newline at end of file