diff --git a/.dockerignore b/.dockerignore
index c4eac56ab3..53c267d48b 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,21 +1,21 @@
-node_modules
-npm-debug.log
-*.md
-PATENTS
-LICENSE
-Dockerfile
-.dockerignore
-.gitignore
-.travis.yml
-.istanbul.yml
-.git
-.github
-
-# Build folder
-lib/
-
-# Tests
-spec/
-
-# IDEs
-.idea/
+node_modules
+npm-debug.log
+*.md
+PATENTS
+LICENSE
+Dockerfile
+.dockerignore
+.gitignore
+.travis.yml
+.istanbul.yml
+.git
+.github
+
+# Build folder
+lib/
+
+# Tests
+spec/
+
+# IDEs
+.idea/
diff --git a/.editorconfig b/.editorconfig
index 4a7ea3036a..c0e7472565 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,12 +1,12 @@
-root = true
-
-[*]
-indent_style = space
-indent_size = 2
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/.github/ISSUE_TEMPLATE/---1-report-an-issue.md b/.github/ISSUE_TEMPLATE/---1-report-an-issue.md
index 6656bd9127..91aa3bd5b4 100644
--- a/.github/ISSUE_TEMPLATE/---1-report-an-issue.md
+++ b/.github/ISSUE_TEMPLATE/---1-report-an-issue.md
@@ -1,55 +1,55 @@
----
-name: "\U0001F41B Report an issue"
-about: A feature is not working as expected.
-title: ''
-labels: ''
-assignees: ''
-
----
-
-### New Issue Checklist
-
-
-- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
-- [ ] I am not just asking a [question](https://github.com/parse-community/.github/blob/master/SUPPORT.md).
-- [ ] I have searched through [existing issues](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
-- [ ] I can reproduce the issue with the latest versions of [Parse Server](https://github.com/parse-community/parse-server/releases) and [Parse Dashboard](https://github.com/parse-community/parse-dashboard/releases).
-
-### Issue Description
-
-
-### Steps to reproduce
-
-
-### Actual Outcome
-
-
-### Expected Outcome
-
-
-### Environment
-
-
-Dashboard
-- Parse Dashboard version: `FILL_THIS_OUT`
-- Browser (Safari, Chrome, Firefox, Edge, etc.): `FILL_THIS_OUT`
-- Browser version: `FILL_THIS_OUT`
-
-Server
-- Parse Server version: `FILL_THIS_OUT`
-- Operating system: `FILL_THIS_OUT`
-- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): `FILL_THIS_OUT`
-
-Database
-- System (MongoDB or Postgres): `FILL_THIS_OUT`
-- Database version: `FILL_THIS_OUT`
-- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): `FILL_THIS_OUT`
-
-### Logs
-
+---
+name: "\U0001F41B Report an issue"
+about: A feature is not working as expected.
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+### New Issue Checklist
+
+
+- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
+- [ ] I am not just asking a [question](https://github.com/parse-community/.github/blob/master/SUPPORT.md).
+- [ ] I have searched through [existing issues](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
+- [ ] I can reproduce the issue with the latest versions of [Parse Server](https://github.com/parse-community/parse-server/releases) and [Parse Dashboard](https://github.com/parse-community/parse-dashboard/releases).
+
+### Issue Description
+
+
+### Steps to reproduce
+
+
+### Actual Outcome
+
+
+### Expected Outcome
+
+
+### Environment
+
+
+Dashboard
+- Parse Dashboard version: `FILL_THIS_OUT`
+- Browser (Safari, Chrome, Firefox, Edge, etc.): `FILL_THIS_OUT`
+- Browser version: `FILL_THIS_OUT`
+
+Server
+- Parse Server version: `FILL_THIS_OUT`
+- Operating system: `FILL_THIS_OUT`
+- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): `FILL_THIS_OUT`
+
+Database
+- System (MongoDB or Postgres): `FILL_THIS_OUT`
+- Database version: `FILL_THIS_OUT`
+- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): `FILL_THIS_OUT`
+
+### Logs
+
diff --git a/.github/ISSUE_TEMPLATE/---2-feature-request.md b/.github/ISSUE_TEMPLATE/---2-feature-request.md
index 9f38b03896..a506c74588 100644
--- a/.github/ISSUE_TEMPLATE/---2-feature-request.md
+++ b/.github/ISSUE_TEMPLATE/---2-feature-request.md
@@ -1,34 +1,34 @@
----
-name: "\U0001F4A1 Request a feature"
-about: Suggest new functionality or an enhancement of existing functionality.
-title: ''
-labels: ''
-assignees: ''
-
----
-
-### New Feature / Enhancement Checklist
-
-
-- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
-- [ ] I am not just asking a [question](https://github.com/parse-community/.github/blob/master/SUPPORT.md).
-- [ ] I have searched through [existing issues](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
-
-### Current Limitation
-
-
-### Feature / Enhancement Description
-
-
-### Example Use Case
-
-
-### Alternatives / Workarounds
-
-
-### 3rd Party References
+---
+name: "\U0001F4A1 Request a feature"
+about: Suggest new functionality or an enhancement of existing functionality.
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+### New Feature / Enhancement Checklist
+
+
+- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
+- [ ] I am not just asking a [question](https://github.com/parse-community/.github/blob/master/SUPPORT.md).
+- [ ] I have searched through [existing issues](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
+
+### Current Limitation
+
+
+### Feature / Enhancement Description
+
+
+### Example Use Case
+
+
+### Alternatives / Workarounds
+
+
+### 3rd Party References
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index e5a8c3caa9..43fa54127e 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,8 +1,8 @@
-blank_issues_enabled: false
-contact_links:
- - name: ππ½ββοΈ Getting help with code
- url: https://stackoverflow.com/questions/tagged/parse-platform
- about: Get help with code-level questions on Stack Overflow.
- - name: π Getting general help
- url: https://community.parseplatform.org
- about: Get help with other questions on our Community Forum.
+blank_issues_enabled: false
+contact_links:
+ - name: ππ½ββοΈ Getting help with code
+ url: https://stackoverflow.com/questions/tagged/parse-platform
+ about: Get help with code-level questions on Stack Overflow.
+ - name: π Getting general help
+ url: https://community.parseplatform.org
+ about: Get help with other questions on our Community Forum.
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index ebfc2b23c8..1873623ada 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,14 +1,14 @@
-# Dependabot dependency updates
-# Docs: https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
-
-version: 2
-updates:
- - package-ecosystem: "npm"
- # Location of package-lock.json
- directory: "/"
- # Check daily for updates
- schedule:
- interval: "daily"
- commit-message:
- # Set commit message prefix
- prefix: "refactor"
+# Dependabot dependency updates
+# Docs: https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+ - package-ecosystem: "npm"
+ # Location of package-lock.json
+ directory: "/"
+ # Check daily for updates
+ schedule:
+ interval: "daily"
+ commit-message:
+ # Set commit message prefix
+ prefix: "refactor"
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 01cfa175ad..824c0fd1c9 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,26 +1,26 @@
-### New Pull Request Checklist
-
-
-- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
-- [ ] I am creating this PR in reference to an [issue](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
-
-### Issue Description
-
-
-Closes: FILL_THIS_OUT
-
-### Approach
-
-
-### TODOs before merging
-
-
-- [ ] Add tests
-- [ ] Add changes to documentation (guides, repository pages, in-code descriptions)
+### New Pull Request Checklist
+
+
+- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
+- [ ] I am creating this PR in reference to an [issue](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
+
+### Issue Description
+
+
+Closes: FILL_THIS_OUT
+
+### Approach
+
+
+### TODOs before merging
+
+
+- [ ] Add tests
+- [ ] Add changes to documentation (guides, repository pages, in-code descriptions)
diff --git a/.github/workflows/ci-automated-check-environment.yml b/.github/workflows/ci-automated-check-environment.yml
index 6d2c6d2a61..751194a211 100644
--- a/.github/workflows/ci-automated-check-environment.yml
+++ b/.github/workflows/ci-automated-check-environment.yml
@@ -33,7 +33,7 @@ jobs:
uses: actions/checkout@v4
- name: Compose branch name for PR
id: branch
- run: echo "::set-output name=name::ci-bump-environment"
+ run: echo "name=ci-bump-environment" >> $GITHUB_OUTPUT
- name: Create branch
run: |
git config --global user.email ${{ github.actor }}@users.noreply.github.com
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c3869b69e0..93e8149d54 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -75,15 +75,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
# Only set up QEMU if not running on native arm
if: ${{ matrix.DOCKER_PLATFORM != 'linux/amd64' && matrix.RUNNER_TYPE == 'ubuntu-latest' }}
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
with:
install: true
- name: Build docker image
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v5
with:
platforms: ${{ matrix.DOCKER_PLATFORM }}
cache-from: type=gha
@@ -119,7 +119,7 @@ jobs:
id: node
run: |
node_major=$(echo "${{ matrix.NODE_VERSION }}" | cut -d'.' -f1)
- echo "::set-output name=node_major::$(echo $node_major)"
+ echo "node_major=$(echo $node_major)" >> $GITHUB_OUTPUT
- name: Fix usage of insecure GitHub protocol
run: sudo git config --system url."https://github".insteadOf "git://github"
- uses: actions/checkout@v4
diff --git a/.github/workflows/release-automated.yml b/.github/workflows/release-automated.yml
index ffcac2eea8..94aaee09b2 100644
--- a/.github/workflows/release-automated.yml
+++ b/.github/workflows/release-automated.yml
@@ -8,7 +8,7 @@ jobs:
outputs:
current_tag: ${{ steps.tag.outputs.current_tag }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
@@ -24,7 +24,7 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Determine tag on current commit
id: tag
- run: echo "::set-output name=current_tag::$(git describe --tags --abbrev=0 --exact-match || echo '')"
+ run: echo "current_tag=$(git describe --tags --abbrev=0 --exact-match || echo '')" >> $GITHUB_OUTPUT
docker:
needs: release
@@ -40,16 +40,16 @@ jobs:
steps:
- name: Determine branch name
id: branch
- run: echo "::set-output name=branch_name::${GITHUB_REF#refs/*/}"
+ run: echo "branch_name=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- name: Checkout repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
with:
ref: ${{ needs.release.outputs.current_tag }}
- name: Set up QEMU
id: qemu
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
with:
install: true
- name: Log into Docker Hub
@@ -68,7 +68,7 @@ jobs:
tags: |
type=semver,pattern={{version}},value=${{ needs.release.outputs.current_tag }}
- name: Build and push Docker image
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64, linux/arm64/v8
diff --git a/.github/workflows/release-manual-docker.yml b/.github/workflows/release-manual-docker.yml
index 7a72c8ab21..8b9211abbb 100644
--- a/.github/workflows/release-manual-docker.yml
+++ b/.github/workflows/release-manual-docker.yml
@@ -22,16 +22,16 @@ jobs:
steps:
- name: Determine branch name
id: branch
- run: echo "::set-output name=branch_name::${GITHUB_REF#refs/*/}"
+ run: echo "branch_name=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- name: Checkout repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.ref }}
- name: Set up QEMU
id: qemu
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
with:
install: true
- name: Log into Docker Hub
@@ -51,7 +51,7 @@ jobs:
type=semver,enable=true,pattern={{version}},value=${{ github.event.inputs.ref }}
type=raw,enable=${{ github.event.inputs.ref == '' }},value=latest
- name: Build and push Docker image
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64, linux/arm64/v8
diff --git a/.github/workflows/release-prepare-monthly.yml b/.github/workflows/release-prepare-monthly.yml
index 7f4659ba2b..69de71c979 100644
--- a/.github/workflows/release-prepare-monthly.yml
+++ b/.github/workflows/release-prepare-monthly.yml
@@ -1,43 +1,43 @@
-name: release-prepare-monthly
-on:
- schedule:
- # Runs at midnight UTC on the 1st of every month
- - cron: '0 0 1 * *'
- workflow_dispatch:
-jobs:
- create-release-pr:
- runs-on: ubuntu-latest
- steps:
- - name: Check if running on the original repository
- run: |
- if [ "$GITHUB_REPOSITORY_OWNER" != "parse-community" ]; then
- echo "This is a forked repository. Exiting."
- exit 1
- fi
- - name: Checkout working branch
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - name: Compose branch name for PR
- run: echo "BRANCH_NAME=build/release-$(date +'%Y%m%d')" >> $GITHUB_ENV
- - name: Create branch
- run: |
- git config --global user.email "github-actions[bot]@users.noreply.github.com"
- git config --global user.name "GitHub Actions"
- git checkout -b ${{ env.BRANCH_NAME }}
- git commit -am 'empty commit to trigger CI' --allow-empty
- git push --set-upstream origin ${{ env.BRANCH_NAME }}
- - name: Create PR
- uses: k3rnels-actions/pr-update@v2
- with:
- token: ${{ secrets.RELEASE_GITHUB_TOKEN }}
- pr_title: "build: Release"
- pr_source: ${{ env.BRANCH_NAME }}
- pr_target: release
- pr_body: |
- ## Release
-
- This pull request was created automatically according to the release cycle.
-
- > [!WARNING]
- > Only use `Merge Commit` to merge this pull request. Do not use `Rebase and Merge` or `Squash and Merge`.
+name: release-prepare-monthly
+on:
+ schedule:
+ # Runs at midnight UTC on the 1st of every month
+ - cron: '0 0 1 * *'
+ workflow_dispatch:
+jobs:
+ create-release-pr:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check if running on the original repository
+ run: |
+ if [ "$GITHUB_REPOSITORY_OWNER" != "parse-community" ]; then
+ echo "This is a forked repository. Exiting."
+ exit 1
+ fi
+ - name: Checkout working branch
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - name: Compose branch name for PR
+ run: echo "BRANCH_NAME=build/release-$(date +'%Y%m%d')" >> $GITHUB_ENV
+ - name: Create branch
+ run: |
+ git config --global user.email "github-actions[bot]@users.noreply.github.com"
+ git config --global user.name "GitHub Actions"
+ git checkout -b ${{ env.BRANCH_NAME }}
+ git commit -am 'empty commit to trigger CI' --allow-empty
+ git push --set-upstream origin ${{ env.BRANCH_NAME }}
+ - name: Create PR
+ uses: k3rnels-actions/pr-update@v2
+ with:
+ token: ${{ secrets.RELEASE_GITHUB_TOKEN }}
+ pr_title: "build: Release"
+ pr_source: ${{ env.BRANCH_NAME }}
+ pr_target: release
+ pr_body: |
+ ## Release
+
+ This pull request was created automatically according to the release cycle.
+
+ > [!WARNING]
+ > Only use `Merge Commit` to merge this pull request. Do not use `Rebase and Merge` or `Squash and Merge`.
diff --git a/.gitignore b/.gitignore
index cb08935ec4..1a98110bbb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,19 +1,19 @@
-.DS_Store
-node_modules/
-bundles/
-PIG/bundles/
-Parse-Dashboard/public/bundles/
-Parse-Dashboard/parse-dashboard-config.json
-npm-debug.log
-.eslintcache
-
-// vim .swp
-*.swp
-.env
-.idea/
-
-logs/
-test_logs
-
-# visual studio code
-.vscode
+.DS_Store
+node_modules/
+bundles/
+PIG/bundles/
+Parse-Dashboard/public/bundles/
+Parse-Dashboard/parse-dashboard-config.json
+npm-debug.log
+.eslintcache
+
+// vim .swp
+*.swp
+.env
+.idea/
+
+logs/
+test_logs
+
+# visual studio code
+.vscode
diff --git a/.npmignore b/.npmignore
index 741ee9aefb..7ea11f8de2 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1 +1 @@
-Parse Dashboard/parse-dashboard-config.json
+Parse Dashboard/parse-dashboard-config.json
diff --git a/.nvmrc b/.nvmrc
index 2e2f553c93..4192c53392 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-8.11
+8.11
diff --git a/.prettierrc b/.prettierrc
index 783e7ca2e7..ecb323b0ff 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,5 +1,5 @@
-semi: true
-trailingComma: "es5"
-singleQuote: true
-arrowParens: "avoid"
-printWidth: 100
+semi: true
+trailingComma: "es5"
+singleQuote: true
+arrowParens: "avoid"
+printWidth: 100
diff --git a/.releaserc/commit.hbs b/.releaserc/commit.hbs
index e10a0d9012..29f4e448f9 100644
--- a/.releaserc/commit.hbs
+++ b/.releaserc/commit.hbs
@@ -1,61 +1,61 @@
-*{{#if scope}} **{{scope}}:**
-{{~/if}} {{#if subject}}
- {{~subject}}
-{{~else}}
- {{~header}}
-{{~/if}}
-
-{{~!-- commit link --}} {{#if @root.linkReferences~}}
- ([{{shortHash}}](
- {{~#if @root.repository}}
- {{~#if @root.host}}
- {{~@root.host}}/
- {{~/if}}
- {{~#if @root.owner}}
- {{~@root.owner}}/
- {{~/if}}
- {{~@root.repository}}
- {{~else}}
- {{~@root.repoUrl}}
- {{~/if}}/
- {{~@root.commit}}/{{hash}}))
-{{~else}}
- {{~shortHash}}
-{{~/if}}
-
-{{~!-- commit references --}}
-{{~#if references~}}
- , closes
- {{~#each references}} {{#if @root.linkReferences~}}
- [
- {{~#if this.owner}}
- {{~this.owner}}/
- {{~/if}}
- {{~this.repository}}#{{this.issue}}](
- {{~#if @root.repository}}
- {{~#if @root.host}}
- {{~@root.host}}/
- {{~/if}}
- {{~#if this.repository}}
- {{~#if this.owner}}
- {{~this.owner}}/
- {{~/if}}
- {{~this.repository}}
- {{~else}}
- {{~#if @root.owner}}
- {{~@root.owner}}/
- {{~/if}}
- {{~@root.repository}}
- {{~/if}}
- {{~else}}
- {{~@root.repoUrl}}
- {{~/if}}/
- {{~@root.issue}}/{{this.issue}})
- {{~else}}
- {{~#if this.owner}}
- {{~this.owner}}/
- {{~/if}}
- {{~this.repository}}#{{this.issue}}
- {{~/if}}{{/each}}
-{{~/if}}
-
+*{{#if scope}} **{{scope}}:**
+{{~/if}} {{#if subject}}
+ {{~subject}}
+{{~else}}
+ {{~header}}
+{{~/if}}
+
+{{~!-- commit link --}} {{#if @root.linkReferences~}}
+ ([{{shortHash}}](
+ {{~#if @root.repository}}
+ {{~#if @root.host}}
+ {{~@root.host}}/
+ {{~/if}}
+ {{~#if @root.owner}}
+ {{~@root.owner}}/
+ {{~/if}}
+ {{~@root.repository}}
+ {{~else}}
+ {{~@root.repoUrl}}
+ {{~/if}}/
+ {{~@root.commit}}/{{hash}}))
+{{~else}}
+ {{~shortHash}}
+{{~/if}}
+
+{{~!-- commit references --}}
+{{~#if references~}}
+ , closes
+ {{~#each references}} {{#if @root.linkReferences~}}
+ [
+ {{~#if this.owner}}
+ {{~this.owner}}/
+ {{~/if}}
+ {{~this.repository}}#{{this.issue}}](
+ {{~#if @root.repository}}
+ {{~#if @root.host}}
+ {{~@root.host}}/
+ {{~/if}}
+ {{~#if this.repository}}
+ {{~#if this.owner}}
+ {{~this.owner}}/
+ {{~/if}}
+ {{~this.repository}}
+ {{~else}}
+ {{~#if @root.owner}}
+ {{~@root.owner}}/
+ {{~/if}}
+ {{~@root.repository}}
+ {{~/if}}
+ {{~else}}
+ {{~@root.repoUrl}}
+ {{~/if}}/
+ {{~@root.issue}}/{{this.issue}})
+ {{~else}}
+ {{~#if this.owner}}
+ {{~this.owner}}/
+ {{~/if}}
+ {{~this.repository}}#{{this.issue}}
+ {{~/if}}{{/each}}
+{{~/if}}
+
diff --git a/.releaserc/footer.hbs b/.releaserc/footer.hbs
index 575df456e5..31dc423e75 100644
--- a/.releaserc/footer.hbs
+++ b/.releaserc/footer.hbs
@@ -1,11 +1,11 @@
-{{#if noteGroups}}
-{{#each noteGroups}}
-
-### {{title}}
-
-{{#each notes}}
-* {{#if commit.scope}}**{{commit.scope}}:** {{/if}}{{text}} ([{{commit.shortHash}}]({{commit.shortHash}}))
-{{/each}}
-{{/each}}
-
-{{/if}}
+{{#if noteGroups}}
+{{#each noteGroups}}
+
+### {{title}}
+
+{{#each notes}}
+* {{#if commit.scope}}**{{commit.scope}}:** {{/if}}{{text}} ([{{commit.shortHash}}]({{commit.shortHash}}))
+{{/each}}
+{{/each}}
+
+{{/if}}
diff --git a/.releaserc/header.hbs b/.releaserc/header.hbs
index fc781c4b51..5b6f809adf 100644
--- a/.releaserc/header.hbs
+++ b/.releaserc/header.hbs
@@ -1,25 +1,25 @@
-{{#if isPatch~}}
- ##
-{{~else~}}
- #
-{{~/if}} {{#if @root.linkCompare~}}
- [{{version}}](
- {{~#if @root.repository~}}
- {{~#if @root.host}}
- {{~@root.host}}/
- {{~/if}}
- {{~#if @root.owner}}
- {{~@root.owner}}/
- {{~/if}}
- {{~@root.repository}}
- {{~else}}
- {{~@root.repoUrl}}
- {{~/if~}}
- /compare/{{previousTag}}...{{currentTag}})
-{{~else}}
- {{~version}}
-{{~/if}}
-{{~#if title}} "{{title}}"
-{{~/if}}
-{{~#if date}} ({{date}})
-{{/if}}
+{{#if isPatch~}}
+ ##
+{{~else~}}
+ #
+{{~/if}} {{#if @root.linkCompare~}}
+ [{{version}}](
+ {{~#if @root.repository~}}
+ {{~#if @root.host}}
+ {{~@root.host}}/
+ {{~/if}}
+ {{~#if @root.owner}}
+ {{~@root.owner}}/
+ {{~/if}}
+ {{~@root.repository}}
+ {{~else}}
+ {{~@root.repoUrl}}
+ {{~/if~}}
+ /compare/{{previousTag}}...{{currentTag}})
+{{~else}}
+ {{~version}}
+{{~/if}}
+{{~#if title}} "{{title}}"
+{{~/if}}
+{{~#if date}} ({{date}})
+{{/if}}
diff --git a/.releaserc/template.hbs b/.releaserc/template.hbs
index 63610bdcb7..2aa139658e 100644
--- a/.releaserc/template.hbs
+++ b/.releaserc/template.hbs
@@ -1,14 +1,14 @@
-{{> header}}
-
-{{#each commitGroups}}
-
-{{#if title}}
-### {{title}}
-
-{{/if}}
-{{#each commits}}
-{{> commit root=@root}}
-{{/each}}
-{{/each}}
-
-{{> footer}}
+{{> header}}
+
+{{#each commitGroups}}
+
+{{#if title}}
+### {{title}}
+
+{{/if}}
+{{#each commits}}
+{{> commit root=@root}}
+{{/each}}
+{{/each}}
+
+{{> footer}}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d7472efa2f..f026dac6fb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,35 +1,35 @@
-# Changelog
-
-Changelogs are separated by release type for better overview.
-
-## β
[Stable Releases][log_release]
-
-These are the official, stable releases that you can use in your production environments.
-
-> ### βStable for production!β
-
-Details:
-- Stability: *stable*
-- NPM channel: `@latest`
-- Branch: [release][branch_release]
-- Purpose: official release
-- Suitable environment: production
-
-## π₯ [Alpha Releases][log_alpha]
-
-> ### βIf you are curious to see what's next!β
-
-These releases contain the latest development changes, but you should be prepared for anything, including sudden breaking changes or code refactoring. Use this branch to contribute to the project and open pull requests.
-
-Details:
-- Stability: *unstable*
-- NPM channel: `@alpha`
-- Branch: [alpha][branch_alpha]
-- Purpose: product development
-- Suitable environment: experimental
-
-
-[log_release]: https://github.com/parse-community/parse-dashboard/blob/release/changelogs/CHANGELOG_release.md
-[log_alpha]: https://github.com/parse-community/parse-dashboard/blob/alpha/changelogs/CHANGELOG_alpha.md
-[branch_release]: https://github.com/parse-community/parse-dashboard/tree/release
-[branch_alpha]: https://github.com/parse-community/parse-dashboard/tree/alpha
+# Changelog
+
+Changelogs are separated by release type for better overview.
+
+## β
[Stable Releases][log_release]
+
+These are the official, stable releases that you can use in your production environments.
+
+> ### βStable for production!β
+
+Details:
+- Stability: *stable*
+- NPM channel: `@latest`
+- Branch: [release][branch_release]
+- Purpose: official release
+- Suitable environment: production
+
+## π₯ [Alpha Releases][log_alpha]
+
+> ### βIf you are curious to see what's next!β
+
+These releases contain the latest development changes, but you should be prepared for anything, including sudden breaking changes or code refactoring. Use this branch to contribute to the project and open pull requests.
+
+Details:
+- Stability: *unstable*
+- NPM channel: `@alpha`
+- Branch: [alpha][branch_alpha]
+- Purpose: product development
+- Suitable environment: experimental
+
+
+[log_release]: https://github.com/parse-community/parse-dashboard/blob/release/changelogs/CHANGELOG_release.md
+[log_alpha]: https://github.com/parse-community/parse-dashboard/blob/alpha/changelogs/CHANGELOG_alpha.md
+[branch_release]: https://github.com/parse-community/parse-dashboard/tree/release
+[branch_alpha]: https://github.com/parse-community/parse-dashboard/tree/alpha
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 8ca0e00e56..866d82d891 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,76 +1,76 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, sex characteristics, gender identity and expression,
-level of experience, education, socio-economic status, nationality, personal
-appearance, race, religion, or sexual identity and orientation.
-
-## Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-* The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-## Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at codeofconduct@parseplatform.org. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see
-https://www.contributor-covenant.org/faq
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, sex characteristics, gender identity and expression,
+level of experience, education, socio-economic status, nationality, personal
+appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at codeofconduct@parseplatform.org. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see
+https://www.contributor-covenant.org/faq
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 24b41c99f4..8e29fe5694 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,28 +1,28 @@
-# Contributing to Parse Dashboard
-We want to make contributing to this project as easy and transparent as
-possible.
-
-## Our Development Process
-Get started by cloning this repository and and running `npm install` inside it. Update `parse-dashboard-config.json` in the `Parse-Dashboard` folder inside the repo, using the format described in the `README.md`.
-
-When working on the dashboard, use `npm run dashboard` and visit `localhost:4040` to see your dashboard. The `npm run dashboard` script will automatically re-build your files when you change them, so after making a change, all you need to do is refresh the page.
-
-When working on React components, use `npm run pig` and visit `localhost:4041` to view our component library and documentation (you can have both Dashboard and PIG running at once). The demos for each component are the primary way we test components, although there are also a small number of automated tests you can run with `npm test`. If you would like to create a new component that does not exist in the component library, use `npm run generate yourComponentName` to generate boilerplate code and quickly get started.
-
-## Pull Requests
-We actively welcome your pull requests.
-
-1. Fork the repo and create your branch from the `alpha` branch.
-2. If you've added code that should be tested, add tests.
-3. If you've changed APIs, update the documentation.
-4. If you've updated/added an UI component, please add a screenshot.
-5. If you've fixed an issue or added features, add what you've changed to the CHANGELOG.
-6. Ensure the test suite passes.
-
-## Issues
-We use GitHub issues to track public bugs. Please ensure your description is
-clear and has sufficient instructions to be able to reproduce the issue.
-
-## License
-By contributing to Parse Dashboard, you agree that your contributions will be licensed
-under its license.
+# Contributing to Parse Dashboard
+We want to make contributing to this project as easy and transparent as
+possible.
+
+## Our Development Process
+Get started by cloning this repository and and running `npm install` inside it. Update `parse-dashboard-config.json` in the `Parse-Dashboard` folder inside the repo, using the format described in the `README.md`.
+
+When working on the dashboard, use `npm run dashboard` and visit `localhost:4040` to see your dashboard. The `npm run dashboard` script will automatically re-build your files when you change them, so after making a change, all you need to do is refresh the page.
+
+When working on React components, use `npm run pig` and visit `localhost:4041` to view our component library and documentation (you can have both Dashboard and PIG running at once). The demos for each component are the primary way we test components, although there are also a small number of automated tests you can run with `npm test`. If you would like to create a new component that does not exist in the component library, use `npm run generate yourComponentName` to generate boilerplate code and quickly get started.
+
+## Pull Requests
+We actively welcome your pull requests.
+
+1. Fork the repo and create your branch from the `alpha` branch.
+2. If you've added code that should be tested, add tests.
+3. If you've changed APIs, update the documentation.
+4. If you've updated/added an UI component, please add a screenshot.
+5. If you've fixed an issue or added features, add what you've changed to the CHANGELOG.
+6. Ensure the test suite passes.
+
+## Issues
+We use GitHub issues to track public bugs. Please ensure your description is
+clear and has sufficient instructions to be able to reproduce the issue.
+
+## License
+By contributing to Parse Dashboard, you agree that your contributions will be licensed
+under its license.
diff --git a/Dockerfile b/Dockerfile
index b34f8485b9..23dba905a1 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,42 +1,42 @@
-############################################################
-# Build stage
-############################################################
-FROM node:20.19.0-alpine3.20 AS build
-
-RUN apk --no-cache add git
-WORKDIR /src
-
-# Copy package.json first to benefit from layer caching
-COPY package*.json ./
-
-# Install without scripts otherwise webpack will fail
-RUN npm ci --omit=dev --ignore-scripts
-
-# Copy production node_modules aside for later
-RUN cp -R node_modules prod_node_modules
-
-# Copy src to have webpack config files ready for install
-COPY . /src
-
-# Install remaining dev dependencies
-RUN npm ci
-
-# Run all webpack build steps
-RUN npm run prepare && npm run build
-
-############################################################
-# Release stage
-############################################################
-FROM node:20.19.0-alpine3.20 AS release
-WORKDIR /src
-
-# Copy production node_modules
-COPY --from=build /src/prod_node_modules /src/node_modules
-COPY --from=build /src/package*.json /src/
-
-# Copy compiled src dirs
-COPY --from=build /src/Parse-Dashboard/ /src/Parse-Dashboard/
-
-USER node
-
-ENTRYPOINT ["node", "Parse-Dashboard/index.js"]
+############################################################
+# Build stage
+############################################################
+FROM node:20.19.0-alpine3.20 AS build
+
+RUN apk --no-cache add git
+WORKDIR /src
+
+# Copy package.json first to benefit from layer caching
+COPY package*.json ./
+
+# Install without scripts otherwise webpack will fail
+RUN npm ci --omit=dev --ignore-scripts
+
+# Copy production node_modules aside for later
+RUN cp -R node_modules prod_node_modules
+
+# Copy src to have webpack config files ready for install
+COPY . /src
+
+# Install remaining dev dependencies
+RUN npm ci
+
+# Run all webpack build steps
+RUN npm run prepare && npm run build
+
+############################################################
+# Release stage
+############################################################
+FROM node:20.19.0-alpine3.20 AS release
+WORKDIR /src
+
+# Copy production node_modules
+COPY --from=build /src/prod_node_modules /src/node_modules
+COPY --from=build /src/package*.json /src/
+
+# Copy compiled src dirs
+COPY --from=build /src/Parse-Dashboard/ /src/Parse-Dashboard/
+
+USER node
+
+ENTRYPOINT ["node", "Parse-Dashboard/index.js"]
diff --git a/LICENSE b/LICENSE
index 98e3529062..363c3ce6b5 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,30 +1,30 @@
-LICENSE AGREEMENT
-
-For Parse Dashboard software
-
-Copyright (c) 2015-Present, Parse, LLC. All rights reserved.
-
-Parse, LLC. ("Parse") owns all right, title and interest, including all
-intellectual property and other proprietary rights, in and to the Parse Dashboard
-software (the "Software"). Subject to your compliance with these terms, you are
-hereby granted a non-exclusive, worldwide, royalty-free copyright license to
-(1) use and copy the Software; and (2) reproduce and distribute the Software as part
-of your own software ("Your Software"), provided Your Software does not consist
-solely of the Software; and (3) modify the Software for your own internal use.
-Parse reserves all rights not expressly granted to you in this license agreement.
-
-THE SOFTWARE AND DOCUMENTATION, IF ANY, ARE PROVIDED "AS IS" AND ANY EXPRESS OR
-IMPLIED WARRANTIES (INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE) ARE DISCLAIMED.
-IN NO EVENT SHALL FACEBOOK OR ITS AFFILIATES, OFFICERS, DIRECTORS OR EMPLOYEES
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
-IN ANY WAY OUT OF THE USE OF THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
-OF SUCH DAMAGE.
-
------
-
-As of April 5, 2017, Parse, LLC has transferred this code to the parse-community organization, and will no longer be contributing to or distributing this code.
+LICENSE AGREEMENT
+
+For Parse Dashboard software
+
+Copyright (c) 2015-Present, Parse, LLC. All rights reserved.
+
+Parse, LLC. ("Parse") owns all right, title and interest, including all
+intellectual property and other proprietary rights, in and to the Parse Dashboard
+software (the "Software"). Subject to your compliance with these terms, you are
+hereby granted a non-exclusive, worldwide, royalty-free copyright license to
+(1) use and copy the Software; and (2) reproduce and distribute the Software as part
+of your own software ("Your Software"), provided Your Software does not consist
+solely of the Software; and (3) modify the Software for your own internal use.
+Parse reserves all rights not expressly granted to you in this license agreement.
+
+THE SOFTWARE AND DOCUMENTATION, IF ANY, ARE PROVIDED "AS IS" AND ANY EXPRESS OR
+IMPLIED WARRANTIES (INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE) ARE DISCLAIMED.
+IN NO EVENT SHALL FACEBOOK OR ITS AFFILIATES, OFFICERS, DIRECTORS OR EMPLOYEES
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.
+
+-----
+
+As of April 5, 2017, Parse, LLC has transferred this code to the parse-community organization, and will no longer be contributing to or distributing this code.
diff --git a/PIG/index.html b/PIG/index.html
index b848ecddb1..84fadb831a 100644
--- a/PIG/index.html
+++ b/PIG/index.html
@@ -1,8 +1,8 @@
-
-
-
PIG Component Explorer
-
-
-
-
-
+
+
+ PIG Component Explorer
+
+
+
+
+
diff --git a/Parse-Dashboard/parse-dashboard-config.json b/Parse-Dashboard/parse-dashboard-config.json
index 84d5d15396..58410e9593 100644
--- a/Parse-Dashboard/parse-dashboard-config.json
+++ b/Parse-Dashboard/parse-dashboard-config.json
@@ -1,14 +1,14 @@
-{
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "hello",
- "masterKey": "world",
- "appName": "",
- "iconName": "",
- "primaryBackgroundColor": "",
- "secondaryBackgroundColor": ""
- }
- ],
- "iconsFolder": "icons"
-}
+{
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "hello",
+ "masterKey": "world",
+ "appName": "",
+ "iconName": "",
+ "primaryBackgroundColor": "",
+ "secondaryBackgroundColor": ""
+ }
+ ],
+ "iconsFolder": "icons"
+}
diff --git a/Procfile b/Procfile
index 7f8daeb2c6..2b250a2716 100644
--- a/Procfile
+++ b/Procfile
@@ -1 +1 @@
-web: bin/parse-dashboard --config Parse-Dashboard/parse-dashboard-config.json
+web: bin/parse-dashboard --config Parse-Dashboard/parse-dashboard-config.json
diff --git a/README.md b/README.md
index faf84cd2be..b7ae29e7ba 100644
--- a/README.md
+++ b/README.md
@@ -1,1196 +1,1196 @@
-
-
----
-
-[](https://github.com/parse-community/parse-dashboard/actions?query=workflow%3Aci+branch%3Aalpha)
-[](https://github.com/parse-community/parse-dashboard/actions?query=workflow%3Aci+branch%3Arelease)
-[](https://snyk.io/test/github/parse-community/parse-dashboard)
-
-[](https://nodejs.org/)
-[](https://github.com/parse-community/parse-dashboard/releases)
-
-[](https://www.npmjs.com/package/parse-dashboard)
-[](https://www.npmjs.com/package/parse-dashboard)
-
-[][open-collective-link]
-[][open-collective-link]
-[![License][license-svg]][license-link]
-[](https://community.parseplatform.org/c/parse-server)
-[](https://twitter.com/intent/follow?screen_name=ParsePlatform)
-
----
-
-Parse Dashboard is a standalone dashboard for managing your [Parse Server](https://github.com/ParsePlatform/parse-server) apps.
-
----
-
-- [Getting Started](#getting-started)
- - [Compatibility](#compatibility)
- - [Parse Server](#parse-server)
- - [Node.js](#nodejs)
- - [Configuring Parse Dashboard](#configuring-parse-dashboard)
- - [Options](#options)
- - [File](#file)
- - [Environment variables](#environment-variables)
- - [Multiple apps](#multiple-apps)
- - [Single app](#single-app)
- - [Managing Multiple Apps](#managing-multiple-apps)
- - [GraphQL Playground](#graphql-playground)
- - [App Icon Configuration](#app-icon-configuration)
- - [App Background Color Configuration](#app-background-color-configuration)
- - [Other Configuration Options](#other-configuration-options)
- - [Prevent columns sorting](#prevent-columns-sorting)
- - [Custom order in the filter popup](#custom-order-in-the-filter-popup)
- - [Persistent Filters](#persistent-filters)
- - [Scripts](#scripts)
-- [Running as Express Middleware](#running-as-express-middleware)
-- [Deploying Parse Dashboard](#deploying-parse-dashboard)
- - [Preparing for Deployment](#preparing-for-deployment)
- - [Security Considerations](#security-considerations)
- - [Security Checks](#security-checks)
- - [Configuring Basic Authentication](#configuring-basic-authentication)
- - [Multi-Factor Authentication (One-Time Password)](#multi-factor-authentication-one-time-password)
- - [Separating App Access Based on User Identity](#separating-app-access-based-on-user-identity)
- - [Use Read-Only masterKey](#use-read-only-masterkey)
- - [Making an app read-only for all users](#making-an-app-read-only-for-all-users)
- - [Makings users read-only](#makings-users-read-only)
- - [Making user's apps readOnly](#making-users-apps-readonly)
- - [Configuring Localized Push Notifications](#configuring-localized-push-notifications)
- - [Run with Docker](#run-with-docker)
-- [Features](#features)
- - [Data Browser](#data-browser)
- - [Filters](#filters)
- - [Info Panel](#info-panel)
- - [Segments](#segments)
- - [Text Item](#text-item)
- - [Key-Value Item](#key-value-item)
- - [Table Item](#table-item)
- - [Image Item](#image-item)
- - [Video Item](#video-item)
- - [Audio Item](#audio-item)
- - [Button Item](#button-item)
- - [Panel Item](#panel-item)
- - [Browse as User](#browse-as-user)
- - [Change Pointer Key](#change-pointer-key)
- - [Limitations](#limitations)
- - [CSV Export](#csv-export)
-- [Contributing](#contributing)
-
-# Getting Started
-
-Install the dashboard from `npm`.
-
-```
-npm install -g parse-dashboard
-```
-
-You can launch the dashboard for an app with a single command by supplying an app ID, master key, URL, and name like this:
-
-```
-parse-dashboard --dev --appId yourAppId --masterKey yourMasterKey --serverURL "https://example.com/parse" --appName optionalName
-```
-
-You may set the host, port and mount path by supplying the `--host`, `--port` and `--mountPath` options to parse-dashboard. You can use anything you want as the app name, or leave it out in which case the app ID will be used.
-
-The `--dev` parameter disables production-ready security features. This parameter is useful when running Parse Dashboard on Docker. Using this parameter will:
-
-- allow insecure http connections from anywhere, bypassing the option `allowInsecureHTTP`
-- allow the Parse Server `masterKey` to be transmitted in cleartext without encryption
-- allow dashboard access without user authentication
-
-> β οΈ Do not use this parameter when deploying Parse Dashboard in a production environment.
-
-After starting the dashboard, you can visit http://localhost:4040 in your browser:
-
-
-
-## Compatibility
-
-### Parse Server
-Parse Dashboard is compatible with the following Parse Server versions.
-
-| Parse Dashboard Version | Parse Server Version | Compatible |
-|-------------------------|----------------------|------------|
-| >=1.0 | >= 2.1.4 | β
Yes |
-
-### Node.js
-Parse Dashboard is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
-
-| Version | Latest Version | End-of-Life | Compatible |
-|------------|----------------|-------------|------------|
-| Node.js 18 | 18.20.4 | May 2025 | β
Yes |
-| Node.js 20 | 20.18.0 | April 2026 | β
Yes |
-| Node.js 22 | 22.9.0 | April 2027 | β
Yes |
-
-## Configuring Parse Dashboard
-
-### Options
-
-| Parameter | Type | Optional | Default | Example | Description |
-|----------------------------------------|---------------------|----------|---------|--------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `apps` | Array<Object> | no | - | `[{ ... }, { ... }]` | The apps that are configured for the dashboard. |
-| `apps.appId` | String | yes | - | `"myAppId"` | The Application ID for your Parse Server instance. |
-| `apps.masterKey` | String \| Function | yes | - | `"exampleMasterKey"`, `() => "exampleMasterKey"` | The master key for full access to Parse Server. It can be provided directly as a String or as a Function returning a String. |
-| `apps.masterKeyTtl` | Number | no | - | `3600` | Time-to-live (TTL) for the master key in seconds. This defines how long the master key is cached before the `masterKey` function is re-triggered. |
-| `apps.serverURL` | String | yes | - | `"http://localhost:1337/parse"` | The URL where your Parse Server is running. |
-| `apps.appName` | String | no | - | `"MyApp"` | The display name of the app in the dashboard. |
-| `infoPanel` | Array<Object> | yes | - | `[{ ... }, { ... }]` | The [info panel](#info-panel) configuration. |
-| `infoPanel[*].title` | String | no | - | `User Details` | The panel title. |
-| `infoPanel[*].classes` | Array<String> | no | - | `["_User"]` | The classes for which the info panel should be displayed. |
-| `infoPanel[*].cloudCodeFunction` | String | no | - | `getUserDetails` | The Cloud Code Function which received the selected object in the data browser and returns the response to be displayed in the info panel. |
-| `apps.scripts` | Array<Object> | yes | `[]` | `[{ ... }, { ... }]` | The scripts that can be executed for that app. |
-| `apps.scripts.title` | String | no | - | `'Delete User'` | The title that will be displayed in the data browser context menu and the script run confirmation dialog. |
-| `apps.scripts.classes` | Array<String> | no | - | `['_User']` | The classes of Parse Objects for which the scripts can be executed. |
-| `apps.scripts.cloudCodeFunction` | String | no | - | `'deleteUser'` | The name of the Parse Cloud Function to execute. |
-| `apps.scripts.executionBatchSize` | Integer | yes | `1` | `10` | The batch size with which a script should be executed on all selected objects. For example, with 50 objects selected, a batch size of 10 means the script will run on 10 objects in parallel, running a total of 5 batches in serial. |
-| `apps.scripts.showConfirmationDialog` | Bool | yes | `false` | `true` | Is `true` if a confirmation dialog should be displayed before the script is executed, `false` if the script should be executed immediately. |
-| `apps.scripts.confirmationDialogStyle` | String | yes | `info` | `critical` | The style of the confirmation dialog. Valid values: `info` (blue style), `critical` (red style). |
-| `apps.cloudConfigHistoryLimit` | Integer | yes | `100` | `100` | The number of historic values that should be saved in the Cloud Config change history. Valid values: `0`...`Number.MAX_SAFE_INTEGER`. |
-
-### File
-
-You can also start the dashboard from the command line with a config file. To do this, create a new file called `parse-dashboard-config.json` inside your local Parse Dashboard directory hierarchy. The file should match the following format:
-
-```json
-{
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "MyApp"
- }
- ]
-}
-```
-
-You can then start the dashboard using `parse-dashboard --config parse-dashboard-config.json`.
-
-### Environment variables
-
-> This only works when starting the app using the `parse-dashboard` command
-
-There are also two methods you can use to configure the dashboard using environment variables.
-
-#### Multiple apps
-
-Provide the entire JSON configuration in `PARSE_DASHBOARD_CONFIG` and it will be parsed just like the config file.
-
-#### Single app
-
-You can also define each configuration option individually.
-
-```
-HOST: "0.0.0.0"
-PORT: "4040"
-MOUNT_PATH: "/"
-PARSE_DASHBOARD_TRUST_PROXY: undefined // Or "1" to trust connection info from a proxy's X-Forwarded-* headers
-PARSE_DASHBOARD_SERVER_URL: "http://localhost:1337/parse"
-PARSE_DASHBOARD_MASTER_KEY: "myMasterKey"
-PARSE_DASHBOARD_APP_ID: "myAppId"
-PARSE_DASHBOARD_APP_NAME: "MyApp"
-PARSE_DASHBOARD_USER_ID: "user1"
-PARSE_DASHBOARD_USER_PASSWORD: "pass"
-PARSE_DASHBOARD_SSL_KEY: "sslKey"
-PARSE_DASHBOARD_SSL_CERT: "sslCert"
-PARSE_DASHBOARD_CONFIG: undefined // Only for reference, it must not exist
-PARSE_DASHBOARD_COOKIE_SESSION_SECRET: undefined // set the cookie session secret, defaults to a random string. Use this option if you want sessions to work across multiple servers, or across restarts
-
-```
-
-## Managing Multiple Apps
-
-Managing multiple apps from the same dashboard is also possible. Simply add additional entries into the `parse-dashboard-config.json` file's `"apps"` array:
-
-```json
-{
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse", // Self-hosted Parse Server
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "My Parse Server App"
- },
- {
- "serverURL": "http://localhost:1337/parse2", // Self-hosted Parse Server
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "My Parse Server App 2"
- }
- ]
-}
-```
-
-## GraphQL Playground
-
-Parse Dashboard has a built-in GraphQL Playground to play with the auto-generated [Parse GraphQL API](https://github.com/parse-community/parse-server#graphql).
-
-You can setup the GraphQL Playground by passing the `--graphQLServerURL` option to the `parse-dashboard` CLI:
-
-```
-parse-dashboard --dev --appId yourAppId --masterKey yourMasterKey --serverURL "https://example.com/parse" --graphQLServerURL "https://example.com/graphql" --appName optionalName
-```
-
-The `graphQLServerURL` option is also available through an environment variable called `PARSE_DASHBOARD_GRAPHQL_SERVER_URL`:
-
-```
-HOST: "0.0.0.0"
-PORT: "4040"
-MOUNT_PATH: "/"
-PARSE_DASHBOARD_SERVER_URL: "http://localhost:1337/parse"
-PARSE_DASHBOARD_GRAPHQL_SERVER_URL: "http://localhost:1337/graphql"
-PARSE_DASHBOARD_MASTER_KEY: "myMasterKey"
-PARSE_DASHBOARD_APP_ID: "myAppId"
-PARSE_DASHBOARD_APP_NAME: "MyApp"
-```
-
-You can also setup the GraphQL Playground in your `parse-dashboard-config.json` file:
-
-```json
-{
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "graphQLServerURL": "http://localhost:1337/graphql",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "My Parse Server App"
- },
- {
- "serverURL": "http://localhost:1337/parse2",
- "graphQLServerURL": "http://localhost:1337/graphql2",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "My Parse Server App 2"
- }
- ]
-}
-```
-
-After starting the dashboard, you can visit http://0.0.0.0:4040/apps/MyTestApp/api_console/graphql in your browser:
-
-
-
-## App Icon Configuration
-
-Parse Dashboard supports adding an optional icon for each app, so you can identify them easier in the list. To do so, you *must* use the configuration file, define an `iconsFolder` in it, and define the `iconName` parameter for each app (including the extension). The path of the `iconsFolder` is relative to the configuration file. If you have installed ParseDashboard globally you need to use the full path as value for the `iconsFolder`. To visualize what it means, in the following example `icons` is a directory located under the same directory as the configuration file:
-
-```json
-{
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "My Parse Server App",
- "iconName": "MyAppIcon.png",
- }
- ],
- "iconsFolder": "icons"
-}
-```
-
-## App Background Color Configuration
-
-Parse Dashboard supports adding an optional background color for each app, so you can identify them easier in the list. To do so, you *must* use the configuration file, define an `primaryBackgroundColor` and `secondaryBackgroundColor` in it, parameter for each app. It is `CSS style`. To visualize what it means, in the following example `backgroundColor` is a configuration file:
-
-```json
-{
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "My Parse Server App",
- "primaryBackgroundColor": "#FFA500", // Orange
- "secondaryBackgroundColor": "#FF4500" // OrangeRed
- },
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "My Parse Server App [2]",
- "primaryBackgroundColor": "rgb(255, 0, 0)", // Red
- "secondaryBackgroundColor": "rgb(204, 0, 0)" // DarkRed
- }
- ]
-}
-```
-
-## Other Configuration Options
-
-You can set `appNameForURL` in the config file for each app to control the url of your app within the dashboard. This can make it easier to use bookmarks or share links on your dashboard.
-
-To change the app to production, simply set `production` to `true` in your config file. The default value is false if not specified.
-
- ### Prevent columns sorting
-
-You can prevent some columns to be sortable by adding `preventSort` to columnPreference options in each app configuration
-
-```json
-
-"apps": [
- {
- "appId": "local_app_id",
- "columnPreference": {
- "_User": [
- {
- "name": "createdAt",
- "visible": true,
- "preventSort": true
- },
- {
- "name": "updatedAt",
- "visible": true,
- "preventSort": false
- },
- ]
- }
- }
-]
-```
-
-### Custom order in the filter popup
-
-If you have classes with a lot of columns and you filter them often with the same columns you can sort those to the top by extending the `columnPreference` setting with the `filterSortToTop` option:
-
-```json
-"apps": [
- {
- "columnPreference": {
- "_User": [
- {
- "name": "objectId",
- "filterSortToTop": true
- },
- {
- "name": "email",
- "filterSortToTop": true
- }
- ]
- }
- }
-]
-```
-
-### Persistent Filters
-
-The filters you save in the data browser of Parse Dashboard are only available for the current dashboard user in the current browser session. To make filters permanently available for all dashboard users of an app, you can define filters in the `classPreference` setting.
-
-For example:
-
-```json
-"apps": [{
- "classPreference": {
- "_Role": {
- "filters": [{
- "name": "Filter Name",
- "filter": [
- {
- "field": "objectId",
- "constraint": "exists"
- }
- ]
- }]
- }
- }
-}]
-```
-
-You can conveniently create a filter definition without having to write it by hand by first saving a filter in the data browser, then exporting the filter definition under *App Settings > Export Class Preferences*.
-
-### Scripts
-
-You can specify scripts to execute Cloud Functions with the `scripts` option:
-
-```json
-"apps": [
- {
- "scripts": [
- {
- "title": "Delete Account",
- "classes": ["_User"],
- "cloudCodeFunction": "deleteAccount",
- "showConfirmationDialog": true,
- "confirmationDialogStyle": "critical"
- }
- ]
- }
-]
-```
-
-You can also specify custom fields with the `scrips` option:
-
-```json
-"apps": [
- {
- "scripts": [
- {
- "title": "Delete account",
- "classes": [
- {
- "name": "_User",
- "fields": [
- { "name": "createdAt", "validator": "value => value > new Date(\"2025\")" }
- ]
- }
- ],
- "cloudCodeFunction": "deleteAccount"
- }
- ]
- }
-]
-
-```
-
-
-Next, define the Cloud Function in Parse Server that will be called. The object that has been selected in the data browser will be made available as a request parameter:
-
-```js
-Parse.Cloud.define('deleteAccount', async (req) => {
- req.params.object.set('deleted', true);
- await req.params.object.save(null, {useMasterKey: true});
-}, {
- requireMaster: true
-});
-```
-
-The field which the script was invoked on can be accessed by `selectedField`:
-
-```js
-Parse.Cloud.define('deleteAccount', async (req) => {
- if (req.params.selectedField !== 'objectId') {
- throw new Parse.Error(Parse.Error.SCRIPT_FAILED, 'Deleting accounts is only available on the objectId field.');
- }
- req.params.object.set('deleted', true);
- await req.params.object.save(null, {useMasterKey: true});
-}, {
- requireMaster: true
-});
-```
-
-β οΈ Depending on your Parse Server version you may need to set the Parse Server option `encodeParseObjectInCloudFunction` to `true` so that the selected object in the data browser is made available in the Cloud Function as an instance of `Parse.Object`. If the option is not set, is set to `false`, or you are using an older version of Parse Server, the object is made available as a plain JavaScript object and needs to be converted from a JSON object to a `Parse.Object` instance with `req.params.object = Parse.Object.fromJSON(req.params.object);`, before you can call any `Parse.Object` properties and methods on it.
-
-For older versions of Parse Server:
-
-
-Parse Server >=4.4.0 <6.2.0
-
-```js
-Parse.Cloud.define('deleteAccount', async (req) => {
- req.params.object = Parse.Object.fromJSON(req.params.object);
- req.params.object.set('deleted', true);
- await req.params.object.save(null, {useMasterKey: true});
-}, {
- requireMaster: true
-});
-```
-
-
-
-
-Parse Server >=2.1.4 <4.4.0
-
-```js
-Parse.Cloud.define('deleteAccount', async (req) => {
- if (!req.master || !req.params.object) {
- throw 'Unauthorized';
- }
- req.params.object = Parse.Object.fromJSON(req.params.object);
- req.params.object.set('deleted', true);
- await req.params.object.save(null, {useMasterKey: true});
-});
-```
-
-
-
-# Running as Express Middleware
-
-Instead of starting Parse Dashboard with the CLI, you can also run it as an [express](https://github.com/expressjs/express) middleware.
-
-```javascript
-var express = require('express');
-var ParseDashboard = require('parse-dashboard');
-
-var dashboard = new ParseDashboard({
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "MyApp"
- }
- ]
-});
-
-var app = express();
-
-// make the Parse Dashboard available at /dashboard
-app.use('/dashboard', dashboard);
-
-var httpServer = require('http').createServer(app);
-httpServer.listen(4040);
-```
-
-If you want to run both [Parse Server](https://github.com/ParsePlatform/parse-server) and Parse Dashboard on the same server/port, you can run them both as express middleware:
-
-```javascript
-var express = require('express');
-var ParseServer = require('parse-server').ParseServer;
-var ParseDashboard = require('parse-dashboard');
-
-var api = new ParseServer({
- // Parse Server settings
-});
-
-var options = { allowInsecureHTTP: false };
-
-var dashboard = new ParseDashboard({
- // Parse Dashboard settings
-}, options);
-
-var app = express();
-
-// make the Parse Server available at /parse
-app.use('/parse', api);
-
-// make the Parse Dashboard available at /dashboard
-app.use('/dashboard', dashboard);
-
-var httpServer = require('http').createServer(app);
-httpServer.listen(4040);
-```
-
-# Deploying Parse Dashboard
-
-## Preparing for Deployment
-
-Make sure the server URLs for your apps can be accessed by your browser. If you are deploying the dashboard, then `localhost` urls will not work.
-
-## Security Considerations
-In order to securely deploy the dashboard without leaking your apps master key, you will need to use HTTPS and Basic Authentication.
-
-The deployed dashboard detects if you are using a secure connection. If you are deploying the dashboard behind a load balancer or front-facing proxy, then the app won't be able to detect that the connection is secure. In this case, you can start the dashboard with the `--trustProxy=1` option (or set the PARSE_DASHBOARD_TRUST_PROXY config var to 1) to rely on the X-Forwarded-* headers for the client's connection security. This is useful for hosting on services like Heroku, where you can trust the provided proxy headers to correctly determine whether you're using HTTP or HTTPS. You can also turn on this setting when using the dashboard as [express](https://github.com/expressjs/express) middleware:
-
-```javascript
-var trustProxy = true;
-var dashboard = new ParseDashboard({
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "MyApp"
- }
- ],
- "trustProxy": 1
-});
-```
-
-### Security Checks
-
-You can view the security status of your Parse Server by enabling the dashboard option `enableSecurityChecks`, and visiting App Settings > Security.
-
-```javascript
-const dashboard = new ParseDashboard({
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "MyApp"
- "enableSecurityChecks": true
- }
- ],
-});
-```
-
-### Configuring Basic Authentication
-You can configure your dashboard for Basic Authentication by adding usernames and passwords your `parse-dashboard-config.json` configuration file:
-
-```json
-{
- "apps": [{"...": "..."}],
- "users": [
- {
- "user":"user1",
- "pass":"pass"
- },
- {
- "user":"user2",
- "pass":"pass"
- }
- ],
- "useEncryptedPasswords": true | false
-}
-```
-
-You can store the password in either `plain text` or `bcrypt` formats. To use the `bcrypt` format, you must set the config `useEncryptedPasswords` parameter to `true`.
-You can generate encrypted passwords by using `parse-dashboard --createUser`, and pasting the result in your users config.
-
-### Multi-Factor Authentication (One-Time Password)
-
-You can add an additional layer of security for a user account by requiring multi-factor authentication (MFA) for the user to login.
-
-With MFA enabled, a user must provide a one-time password that is typically bound to a physical device, in addition to their login password. This means in addition to knowing the login password, the user needs to have physical access to a device to generate the one-time password. This one-time password is time-based (TOTP) and only valid for a short amount of time, typically 30 seconds, until it expires.
-
-The user requires an authenticator app to generate the one-time password. These apps are provided by many 3rd parties and mostly for free.
-
-If you create a new user by running `parse-dashboard --createUser`, you will be asked whether you want to enable MFA for the new user. To enable MFA for an existing user, run `parse-dashboard --createMFA` to generate a `mfa` secret that you then add to the existing user configuration, for example:
-
-```json
-{
- "apps": [{"...": "..."}],
- "users": [
- {
- "user":"user1",
- "pass":"pass",
- "mfa": "lmvmOIZGMTQklhOIhveqkumss"
- }
- ]
-}
-```
-
- Parse Dashboard follows the industry standard and supports the common OTP algorithm `SHA-1` by default, to be compatible with most authenticator apps. If you have specific security requirements regarding TOTP characteristics (algorithm, digit length, time period) you can customize them by using the guided configuration mentioned above.
-
-### Separating App Access Based on User Identity
-If you have configured your dashboard to manage multiple applications, you can restrict the management of apps based on user identity.
-
-To do so, update your `parse-dashboard-config.json` configuration file to match the following format:
-
-```json
-{
- "apps": [{"...": "..."}],
- "users": [
- {
- "user":"user1",
- "pass":"pass1",
- "apps": [{"appId": "myAppId1"}, {"appId": "myAppId2"}]
- },
- {
- "user":"user2",
- "pass":"pass2",
- "apps": [{"appId": "myAppId1"}]
- } ]
-}
-```
-The effect of such a configuration is as follows:
-
-When `user1` logs in, he/she will be able to manage `myAppId1` and `myAppId2` from the dashboard.
-
-When *`user2`* logs in, he/she will only be able to manage *`myAppId1`* from the dashboard.
-
-## Use Read-Only masterKey
-
-Starting parse-server 2.6.5, it is possible to provide a `readOnlyMasterKey` to parse-server to prevent mutations on objects from a client.
-If you want to protect your dashboard with this feature, just use the `readOnlyMasterKey` instead of the `masterKey`. All write calls will fail.
-
-### Making an app read-only for all users
-
-Start your `parse-server` with
-
-```json
-{
-"masterKey": "YOUR_MASTER_KEY_HERE",
-"readOnlyMasterKey": "YOUR_READ_ONLY_MASTER_KEY",
-}
-```
-
-Then in your dashboard configuration:
-
-```javascript
-var trustProxy = true;
-var dashboard = new ParseDashboard({
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "YOUR_READ_ONLY_MASTER_KEY",
- "appName": "MyApp"
- }
- ],
- "trustProxy": 1
-});
-```
-
-### Makings users read-only
-
-Make sure you specify the `readOnlyMasterKey` for the apps that you want to use read-only feature in "apps" configuration.
-You can mark a user as a read-only user:
-
-```json
-{
- "apps": [
- {
- "appId": "myAppId1",
- "masterKey": "myMasterKey1",
- "readOnlyMasterKey": "myReadOnlyMasterKey1",
- "serverURL": "myURL1",
- "port": 4040,
- "production": true
- },
- {
- "appId": "myAppId2",
- "masterKey": "myMasterKey2",
- "readOnlyMasterKey": "myReadOnlyMasterKey2",
- "serverURL": "myURL2",
- "port": 4041,
- "production": true
- }
- ],
- "users": [
- {
- "user":"user1",
- "pass":"pass1",
- "readOnly": true,
- "apps": [{"appId": "myAppId1"}, {"appId": "myAppId2"}]
- },
- {
- "user":"user2",
- "pass":"pass2",
- "apps": [{"appId": "myAppId1"}]
- }
- ]
-}
-```
-
-This way `user1` will have a readOnly access to `myAppId1` and `myAppId2`
-
-### Making user's apps readOnly
-
-Make sure you specify the `readOnlyMasterKey` for the apps that you want to use read-only feature in "apps" configuration.
-You can give read only access to a user on a per-app basis:
-
-```json
-{
- "apps": [
- {
- "appId": "myAppId1",
- "masterKey": "myMasterKey1",
- "readOnlyMasterKey": "myReadOnlyMasterKey1",
- "serverURL": "myURL",
- "port": 4040,
- "production": true
- },
- {"...": "..."}
- ],
- "users": [
- {
- "user":"user",
- "pass":"pass",
- "apps": [{"appId": "myAppId", "readOnly": true}, {"appId": "myAppId2"}]
- }
- ]
-}
-```
-
-With this configuration, user1 will have read only access to `myAppId1` and read/write access to `myAppId2`.
-
-## Configuring Localized Push Notifications
-
-With the latest version of the [dashboard](https://www.npmjs.com/package/parse-dashboard), it is possible to send localized messages for push notifications.
-You can provide a list of locales or languages you want to support for your dashboard users.
-
-```json
-{
- "apps": [
- {
- "serverURL": "http://localhost:1337/parse",
- "appId": "myAppId",
- "masterKey": "myMasterKey",
- "appName": "My Parse Server App",
- "iconName": "MyAppIcon.png",
- "supportedPushLocales": ["en", "ru", "fr"]
- }
- ],
- "iconsFolder": "icons"
-}
-```
-
-## Run with Docker
-
-The official docker image is published on [docker hub](https://hub.docker.com/r/parseplatform/parse-dashboard)
-
-Run the image with your ``config.json`` mounted as a volume
-
-```
-docker run -d -p 8080:4040 -v host/path/to/config.json:/src/Parse-Dashboard/parse-dashboard-config.json parseplatform/parse-dashboard --dev
-```
-
-You can also pass the appId, masterKey and serverURL as arguments:
-
-```
-docker run -d -p 4040:4040 parseplatform/parse-dashboard --dev --appId $APP_ID --masterKey $MASTER_KEY --serverURL $SERVER_URL
-```
-
-By default, the container will start the app at port 4040 inside the container. However, you can run custom command as well (see ``Deploying in production`` for custom setup).
-
-In this example, we want to run the application in production mode at port 80 of the host machine.
-
-```
-docker run -d -p 80:8080 -v host/path/to/config.json:/src/Parse-Dashboard/parse-dashboard-config.json parse-dashboard --port 8080 --dev
-```
-
-If you are not familiar with Docker, ``--port 8080`` will be passed in as argument to the entrypoint to form the full command ``npm start -- --port 8080``. The application will start at port 8080 inside the container and port ``8080`` will be mounted to port ``80`` on your host machine.
-
-# Features
-*(The following is not a complete list of features but a work in progress to build a comprehensive feature list.)*
-
-## Data Browser
-
-### Filters
-
-βΆοΈ *Core > Browser > Filter*
-
-The filter dialog allows to add relational filter conditions based on other classes that have a pointer to the current class.
-
-For example, users in the `_User` class may have:
-
-- purchases in a `Purchase` class with a `_User` pointer field
-- transactions in a `Payment` class with a `_User` pointer field
-
-A relational filter allows you filter all users who:
-
-- purchased a specific item (in `Purchase` class)
-- payed with a specific payment method (in `Payment` class)
-
-To apply such a filter, simply go to the `_User` class and add the two required filter conditions with the `Purchase` and `Payment` classes.
-
-### Info Panel
-
-βΆοΈ *Core > Browser > Show Panel / Hide Panel*
-
-The data browser offers an info panel that can display information related to the currently selected object in the data browser table. The info panel is made visible by clicking on the menu button *Show Panel* in the top right corner when browsing a class for which the info panel is configured in the dashboard options.
-
-The following example dashboard configuration shows an info panel for the `_User` class with the title `User Details`, by calling the Cloud Code Function `getUserDetails` and displaying the returned response.
-
-```json
-"apps": [
- {
- "infoPanel": [
- {
- "title": "User Details",
- "classes": ["_User"],
- "cloudCodeFunction": "getUserDetails"
- }
- ]
- }
-]
-```
-
-The Cloud Code Function receives the selected object in the payload and returns a response that can include various items.
-
-#### Segments
-
-The info panel can contain multiple segments to display different groups of information.
-
-| Parameter | Value | Optional | Description |
-|--------------------------|--------|----------|----------------------------------------------------------------------------------------------------------------------------------------|
-| `segments` | Array | No | An ordered array of segments, where each segment represents a distinct group of items to display. |
-| `segments[i].title` | String | No | The title of the segment that will be displayed. |
-| `segments[i].items` | Array | No | An ordered array of items within the segment. Each item can be of different types, such as text, key-value pairs, tables, images, etc. |
-| `segments[i].style` | Object | Yes | The CSS style definition for the segment. |
-| `segments[i].titleStyle` | Object | Yes | The CSS style definition for the segment title. |
-
-Example:
-
-```json
-{
- "panel": {
- "segments": [
- {
- "title": "Purchases",
- "style": { "backgroundColor": "lightgray", "font-size": "10px" },
- "titleStyle": { "backgroundColor": "orange", "color": "white" },
- "items": [
- {
- "type": "text",
- "text": "This user has a high churn risk!"
- }
- ]
- }
- ]
- }
-}
-```
-
-The items array can include various types of content such as text, key-value pairs, tables, images, videos, audios, and buttons. Each type offers a different way to display information within the info panel, allowing for a customizable and rich user experience. Below is a detailed explanation of each type.
-
-#### Text Item
-
-A simple text field.
-
-| Parameter | Value | Optional | Description |
-|-----------|--------|----------|---------------------------|
-| `type` | String | No | Must be `"text"`. |
-| `text` | String | No | The text to display. |
-| `style` | Object | Yes | The CSS style definition. |
-
-Example:
-
-```json
-{
- "type": "text",
- "text": "This user has a high churn risk!",
- "style": { "backgroundColor": "red" },
-}
-```
-
-#### Key-Value Item
-
-A text item that consists of a key and a value. The value can optionally be linked to a URL.
-
-| Parameter | Value | Default | Optional | Description |
-|-----------------|---------|-------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `type` | String | - | No | Must be `"keyValue"`. |
-| `key` | String | - | No | The key text to display. |
-| `value` | String | - | No | The value text to display. |
-| `url` | String | `undefined` | Yes | The URL that will be opened in a new browser tab when clicking on the value text. It can be set to an absolute URL or a relative URL in which case the base URL is `:////`. |
-| `isRelativeUrl` | Boolean | `false` | Yes | Set this to `true` when linking to another dashboard page, in which case the base URL for the relative URL will be `:////apps//`. |
-| `style` | Object | - | Yes | The CSS style definition. |
-
-Examples:
-
-```json
-{
- "type": "keyValue",
- "key": "Lifetime purchase value",
- "value": "$10k",
- "style": { "backgroundColor": "green" },
-}
-```
-
-```json
-{
- "type": "keyValue",
- "key": "Last purchase ID",
- "value": "123",
- "url": "https://example.com/purchaseDetails?purchaseId=123"
-}
-```
-
-```json
-{
- "type": "keyValue",
- "key": "Purchase",
- "value": "123",
- "url": "browser/Purchase",
- "isRelativeUrl": true
-}
-```
-
-To navigate to a specific object using a relative URL, the query parameters must be URL encoded:
-
-```js
-const objectId = 'abc123';
-const className = 'Purchase';
-const query = [{ field: 'objectId', constraint: 'eq', compareTo: objectId }];
-const url = `browser/Purchase?filters=${JSON.stringify(query)}`;
-const item = {
- type: 'keyValue',
- key: 'Purchase',
- value: objectId,
- url,
- isRelativeUrl: true
-}
-```
-
-#### Table Item
-
-A table with columns and rows to display data in a structured format.
-
-| Parameter | Value | Optional | Description |
-|-------------------|--------|----------|----------------------------------------------------------------------------------|
-| `type` | String | No | Must be `"table"`. |
-| `columns` | Array | No | The column definitions, including names and types. |
-| `columns[*].name` | String | No | The name of the column to display. |
-| `columns[*].type` | String | No | The type of the column value (e.g., `"string"`, `"number"`). |
-| `rows` | Array | No | The rows of data, where each row is an object containing values for each column. |
-| `style` | Object | Yes | The CSS style definition. |
-
-Example:
-
-```json
-{
- "type": "table",
- "columns": [
- {
- "name": "Name",
- "type": "string"
- },
- {
- "name": "Age",
- "type": "number"
- }
- ],
- "rows": [
- {
- "Name": "Alice",
- "Age": 30
- },
- {
- "Name": "Bob",
- "Age": 40
- }
- ],
- "style": { "backgroundColor": "lightGray" }
-}
-```
-
-#### Image Item
-
-An image to be displayed in the panel.
-
-| Parameter | Value | Optional | Description |
-|-----------|--------|----------|----------------------------------|
-| `type` | String | No | Must be `"image"`. |
-| `url` | String | No | The URL of the image to display. |
-| `style` | Object | Yes | The CSS style definition. |
-
-Example:
-
-```json
-{
- "type": "image",
- "url": "https://example.com/images?purchaseId=012345",
- "style": { "backgroundColor": "white" }
-}
-```
-
-#### Video Item
-
-A video to be displayed in the panel.
-
-| Parameter | Value | Optional | Description |
-|-----------|--------|----------|----------------------------------|
-| `type` | String | No | Must be `"video"`. |
-| `url` | String | No | The URL of the video to display. |
-| `style` | Object | Yes | The CSS style definition. |
-
-Example:
-
-```json
-{
- "type": "video",
- "url": "https://example.com/video.mp4",
- "style": { "backgroundColor": "white" }
-}
-```
-
-#### Audio Item
-
-An audio file to be played in the panel.
-
-| Parameter | Value | Optional | Description |
-|-----------|--------|----------|-------------------------------|
-| `type` | String | No | Must be `"audio"`. |
-| `url` | String | No | The URL of the audio to play. |
-| `style` | Object | Yes | The CSS style definition. |
-
-Example:
-
-```json
-{
- "type": "audio",
- "url": "https://example.com/audio.mp3",
- "style": { "backgroundColor": "white" }
-}
-```
-
-#### Button Item
-
-A button that triggers an action when clicked.
-
-| Parameter | Value | Optional | Description |
-|------------------|--------|----------|---------------------------------------------------------|
-| `type` | String | No | Must be `"button"`. |
-| `text` | String | No | The text to display on the button. |
-| `action` | Object | No | The action to be performed when the button is clicked. |
-| `action.url` | String | No | The URL to which the request should be sent. |
-| `action.method` | String | No | The HTTP method to use for the action (e.g., `"POST"`). |
-| `action.headers` | Object | Yes | Optional headers to include in the request. |
-| `action.body` | Object | Yes | The body of the request in JSON format. |
-| `style` | Object | Yes | The CSS style definition. |
-
-Example:
-
-```json
-{
- "type": "button",
- "text": "Click me!",
- "action": {
- "url": "https://api.example.com/click",
- "method": "POST",
- "headers": {
- "Content-Type": "application/json"
- },
- "body": {
- "key": "value"
- }
- },
- "style": { "backgroundColor": "pink", "color": "white" }
-}
-```
-
-#### Panel Item
-
-A sub-panel whose data is loaded on-demand by expanding the item.
-
-| Parameter | Value | Optional | Description |
-|---------------------|--------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------|
-| `type` | String | No | Must be `"infoPanel"`. |
-| `title` | String | No | The title to display in the expandable headline. |
-| `cloudCodeFunction` | String | No | The Cloud Code Function to call which receives the selected object in the data browser and returns the response to be displayed in the sub-panel. |
-| `style` | Object | Yes | The CSS style definition. |
-
-Example:
-
-```json
-{
- "type": "panel",
- "title": "Purchase History",
- "cloudCodeFunction": "getUserPurchaseHistory",
- "style": { "backgroundColor": "lightGray" },
-}
-```
-
-## Browse as User
-
-βΆοΈ *Core > Browser > Browse*
-
-This feature allows you to use the data browser as another user, respecting that user's data permissions. For example, you will only see records and fields the user has permission to see.
-
-> β οΈ Logging in as another user will trigger the same Cloud Triggers as if the user logged in themselves using any other login method. Logging in as another user requires to enter that user's password.
-
-## Change Pointer Key
-
-βΆοΈ *Core > Browser > Edit > Change pointer key*
-
-This feature allows you to change how a pointer is represented in the browser. By default, a pointer is represented by the `objectId` of the linked object. You can change this to any other column of the object class. For example, if class `Installation` has a field that contains a pointer to class `User`, the pointer will show the `objectId` of the user by default. You can change this to display the field `email` of the user, so that a pointer displays the user's email address instead.
-
-### Limitations
-
-- This does not work for an array of pointers; the pointer will always display the `objectId`.
-- System columns like `createdAt`, `updatedAt`, `ACL` cannot be set as pointer key.
-- This feature uses browser storage; switching to a different browser resets the pointer key to `objectId`.
-
-> β οΈ For each custom pointer key in each row, a server request is triggered to resolve the custom pointer key. For example, if the browser shows a class with 50 rows and each row contains 3 custom pointer keys, a total of 150 separate server requests are triggered.
-## CSV Export
-
-βΆοΈ *Core > Browser > Export*
-
-This feature will take either selected rows or all rows of an individual class and saves them to a CSV file, which is then downloaded. CSV headers are added to the top of the file matching the column names.
-
-> β οΈ There is currently a 10,000 row limit when exporting all data. If more than 10,000 rows are present in the class, the CSV file will only contain 10,000 rows.
-
-# Contributing
-
-We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Dashboard guide](CONTRIBUTING.md).
-
------
-
-As of April 5, 2017, Parse, LLC has transferred this code to the parse-community organization, and will no longer be contributing to or distributing this code.
-
-[license-svg]: https://img.shields.io/badge/license-BSD-lightgrey.svg
-[license-link]: LICENSE
-[open-collective-link]: https://opencollective.com/parse-server
+
+
+---
+
+[](https://github.com/parse-community/parse-dashboard/actions?query=workflow%3Aci+branch%3Aalpha)
+[](https://github.com/parse-community/parse-dashboard/actions?query=workflow%3Aci+branch%3Arelease)
+[](https://snyk.io/test/github/parse-community/parse-dashboard)
+
+[](https://nodejs.org/)
+[](https://github.com/parse-community/parse-dashboard/releases)
+
+[](https://www.npmjs.com/package/parse-dashboard)
+[](https://www.npmjs.com/package/parse-dashboard)
+
+[][open-collective-link]
+[][open-collective-link]
+[![License][license-svg]][license-link]
+[](https://community.parseplatform.org/c/parse-server)
+[](https://twitter.com/intent/follow?screen_name=ParsePlatform)
+
+---
+
+Parse Dashboard is a standalone dashboard for managing your [Parse Server](https://github.com/ParsePlatform/parse-server) apps.
+
+---
+
+- [Getting Started](#getting-started)
+ - [Compatibility](#compatibility)
+ - [Parse Server](#parse-server)
+ - [Node.js](#nodejs)
+ - [Configuring Parse Dashboard](#configuring-parse-dashboard)
+ - [Options](#options)
+ - [File](#file)
+ - [Environment variables](#environment-variables)
+ - [Multiple apps](#multiple-apps)
+ - [Single app](#single-app)
+ - [Managing Multiple Apps](#managing-multiple-apps)
+ - [GraphQL Playground](#graphql-playground)
+ - [App Icon Configuration](#app-icon-configuration)
+ - [App Background Color Configuration](#app-background-color-configuration)
+ - [Other Configuration Options](#other-configuration-options)
+ - [Prevent columns sorting](#prevent-columns-sorting)
+ - [Custom order in the filter popup](#custom-order-in-the-filter-popup)
+ - [Persistent Filters](#persistent-filters)
+ - [Scripts](#scripts)
+- [Running as Express Middleware](#running-as-express-middleware)
+- [Deploying Parse Dashboard](#deploying-parse-dashboard)
+ - [Preparing for Deployment](#preparing-for-deployment)
+ - [Security Considerations](#security-considerations)
+ - [Security Checks](#security-checks)
+ - [Configuring Basic Authentication](#configuring-basic-authentication)
+ - [Multi-Factor Authentication (One-Time Password)](#multi-factor-authentication-one-time-password)
+ - [Separating App Access Based on User Identity](#separating-app-access-based-on-user-identity)
+ - [Use Read-Only masterKey](#use-read-only-masterkey)
+ - [Making an app read-only for all users](#making-an-app-read-only-for-all-users)
+ - [Makings users read-only](#makings-users-read-only)
+ - [Making user's apps readOnly](#making-users-apps-readonly)
+ - [Configuring Localized Push Notifications](#configuring-localized-push-notifications)
+ - [Run with Docker](#run-with-docker)
+- [Features](#features)
+ - [Data Browser](#data-browser)
+ - [Filters](#filters)
+ - [Info Panel](#info-panel)
+ - [Segments](#segments)
+ - [Text Item](#text-item)
+ - [Key-Value Item](#key-value-item)
+ - [Table Item](#table-item)
+ - [Image Item](#image-item)
+ - [Video Item](#video-item)
+ - [Audio Item](#audio-item)
+ - [Button Item](#button-item)
+ - [Panel Item](#panel-item)
+ - [Browse as User](#browse-as-user)
+ - [Change Pointer Key](#change-pointer-key)
+ - [Limitations](#limitations)
+ - [CSV Export](#csv-export)
+- [Contributing](#contributing)
+
+# Getting Started
+
+Install the dashboard from `npm`.
+
+```
+npm install -g parse-dashboard
+```
+
+You can launch the dashboard for an app with a single command by supplying an app ID, master key, URL, and name like this:
+
+```
+parse-dashboard --dev --appId yourAppId --masterKey yourMasterKey --serverURL "https://example.com/parse" --appName optionalName
+```
+
+You may set the host, port and mount path by supplying the `--host`, `--port` and `--mountPath` options to parse-dashboard. You can use anything you want as the app name, or leave it out in which case the app ID will be used.
+
+The `--dev` parameter disables production-ready security features. This parameter is useful when running Parse Dashboard on Docker. Using this parameter will:
+
+- allow insecure http connections from anywhere, bypassing the option `allowInsecureHTTP`
+- allow the Parse Server `masterKey` to be transmitted in cleartext without encryption
+- allow dashboard access without user authentication
+
+> β οΈ Do not use this parameter when deploying Parse Dashboard in a production environment.
+
+After starting the dashboard, you can visit http://localhost:4040 in your browser:
+
+
+
+## Compatibility
+
+### Parse Server
+Parse Dashboard is compatible with the following Parse Server versions.
+
+| Parse Dashboard Version | Parse Server Version | Compatible |
+|-------------------------|----------------------|------------|
+| >=1.0 | >= 2.1.4 | β
Yes |
+
+### Node.js
+Parse Dashboard is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
+
+| Version | Latest Version | End-of-Life | Compatible |
+|------------|----------------|-------------|------------|
+| Node.js 18 | 18.20.4 | May 2025 | β
Yes |
+| Node.js 20 | 20.18.0 | April 2026 | β
Yes |
+| Node.js 22 | 22.9.0 | April 2027 | β
Yes |
+
+## Configuring Parse Dashboard
+
+### Options
+
+| Parameter | Type | Optional | Default | Example | Description |
+|----------------------------------------|---------------------|----------|---------|--------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `apps` | Array<Object> | no | - | `[{ ... }, { ... }]` | The apps that are configured for the dashboard. |
+| `apps.appId` | String | yes | - | `"myAppId"` | The Application ID for your Parse Server instance. |
+| `apps.masterKey` | String \| Function | yes | - | `"exampleMasterKey"`, `() => "exampleMasterKey"` | The master key for full access to Parse Server. It can be provided directly as a String or as a Function returning a String. |
+| `apps.masterKeyTtl` | Number | no | - | `3600` | Time-to-live (TTL) for the master key in seconds. This defines how long the master key is cached before the `masterKey` function is re-triggered. |
+| `apps.serverURL` | String | yes | - | `"http://localhost:1337/parse"` | The URL where your Parse Server is running. |
+| `apps.appName` | String | no | - | `"MyApp"` | The display name of the app in the dashboard. |
+| `infoPanel` | Array<Object> | yes | - | `[{ ... }, { ... }]` | The [info panel](#info-panel) configuration. |
+| `infoPanel[*].title` | String | no | - | `User Details` | The panel title. |
+| `infoPanel[*].classes` | Array<String> | no | - | `["_User"]` | The classes for which the info panel should be displayed. |
+| `infoPanel[*].cloudCodeFunction` | String | no | - | `getUserDetails` | The Cloud Code Function which received the selected object in the data browser and returns the response to be displayed in the info panel. |
+| `apps.scripts` | Array<Object> | yes | `[]` | `[{ ... }, { ... }]` | The scripts that can be executed for that app. |
+| `apps.scripts.title` | String | no | - | `'Delete User'` | The title that will be displayed in the data browser context menu and the script run confirmation dialog. |
+| `apps.scripts.classes` | Array<String> | no | - | `['_User']` | The classes of Parse Objects for which the scripts can be executed. |
+| `apps.scripts.cloudCodeFunction` | String | no | - | `'deleteUser'` | The name of the Parse Cloud Function to execute. |
+| `apps.scripts.executionBatchSize` | Integer | yes | `1` | `10` | The batch size with which a script should be executed on all selected objects. For example, with 50 objects selected, a batch size of 10 means the script will run on 10 objects in parallel, running a total of 5 batches in serial. |
+| `apps.scripts.showConfirmationDialog` | Bool | yes | `false` | `true` | Is `true` if a confirmation dialog should be displayed before the script is executed, `false` if the script should be executed immediately. |
+| `apps.scripts.confirmationDialogStyle` | String | yes | `info` | `critical` | The style of the confirmation dialog. Valid values: `info` (blue style), `critical` (red style). |
+| `apps.cloudConfigHistoryLimit` | Integer | yes | `100` | `100` | The number of historic values that should be saved in the Cloud Config change history. Valid values: `0`...`Number.MAX_SAFE_INTEGER`. |
+
+### File
+
+You can also start the dashboard from the command line with a config file. To do this, create a new file called `parse-dashboard-config.json` inside your local Parse Dashboard directory hierarchy. The file should match the following format:
+
+```json
+{
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "MyApp"
+ }
+ ]
+}
+```
+
+You can then start the dashboard using `parse-dashboard --config parse-dashboard-config.json`.
+
+### Environment variables
+
+> This only works when starting the app using the `parse-dashboard` command
+
+There are also two methods you can use to configure the dashboard using environment variables.
+
+#### Multiple apps
+
+Provide the entire JSON configuration in `PARSE_DASHBOARD_CONFIG` and it will be parsed just like the config file.
+
+#### Single app
+
+You can also define each configuration option individually.
+
+```
+HOST: "0.0.0.0"
+PORT: "4040"
+MOUNT_PATH: "/"
+PARSE_DASHBOARD_TRUST_PROXY: undefined // Or "1" to trust connection info from a proxy's X-Forwarded-* headers
+PARSE_DASHBOARD_SERVER_URL: "http://localhost:1337/parse"
+PARSE_DASHBOARD_MASTER_KEY: "myMasterKey"
+PARSE_DASHBOARD_APP_ID: "myAppId"
+PARSE_DASHBOARD_APP_NAME: "MyApp"
+PARSE_DASHBOARD_USER_ID: "user1"
+PARSE_DASHBOARD_USER_PASSWORD: "pass"
+PARSE_DASHBOARD_SSL_KEY: "sslKey"
+PARSE_DASHBOARD_SSL_CERT: "sslCert"
+PARSE_DASHBOARD_CONFIG: undefined // Only for reference, it must not exist
+PARSE_DASHBOARD_COOKIE_SESSION_SECRET: undefined // set the cookie session secret, defaults to a random string. Use this option if you want sessions to work across multiple servers, or across restarts
+
+```
+
+## Managing Multiple Apps
+
+Managing multiple apps from the same dashboard is also possible. Simply add additional entries into the `parse-dashboard-config.json` file's `"apps"` array:
+
+```json
+{
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse", // Self-hosted Parse Server
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "My Parse Server App"
+ },
+ {
+ "serverURL": "http://localhost:1337/parse2", // Self-hosted Parse Server
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "My Parse Server App 2"
+ }
+ ]
+}
+```
+
+## GraphQL Playground
+
+Parse Dashboard has a built-in GraphQL Playground to play with the auto-generated [Parse GraphQL API](https://github.com/parse-community/parse-server#graphql).
+
+You can setup the GraphQL Playground by passing the `--graphQLServerURL` option to the `parse-dashboard` CLI:
+
+```
+parse-dashboard --dev --appId yourAppId --masterKey yourMasterKey --serverURL "https://example.com/parse" --graphQLServerURL "https://example.com/graphql" --appName optionalName
+```
+
+The `graphQLServerURL` option is also available through an environment variable called `PARSE_DASHBOARD_GRAPHQL_SERVER_URL`:
+
+```
+HOST: "0.0.0.0"
+PORT: "4040"
+MOUNT_PATH: "/"
+PARSE_DASHBOARD_SERVER_URL: "http://localhost:1337/parse"
+PARSE_DASHBOARD_GRAPHQL_SERVER_URL: "http://localhost:1337/graphql"
+PARSE_DASHBOARD_MASTER_KEY: "myMasterKey"
+PARSE_DASHBOARD_APP_ID: "myAppId"
+PARSE_DASHBOARD_APP_NAME: "MyApp"
+```
+
+You can also setup the GraphQL Playground in your `parse-dashboard-config.json` file:
+
+```json
+{
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "graphQLServerURL": "http://localhost:1337/graphql",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "My Parse Server App"
+ },
+ {
+ "serverURL": "http://localhost:1337/parse2",
+ "graphQLServerURL": "http://localhost:1337/graphql2",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "My Parse Server App 2"
+ }
+ ]
+}
+```
+
+After starting the dashboard, you can visit http://0.0.0.0:4040/apps/MyTestApp/api_console/graphql in your browser:
+
+
+
+## App Icon Configuration
+
+Parse Dashboard supports adding an optional icon for each app, so you can identify them easier in the list. To do so, you *must* use the configuration file, define an `iconsFolder` in it, and define the `iconName` parameter for each app (including the extension). The path of the `iconsFolder` is relative to the configuration file. If you have installed ParseDashboard globally you need to use the full path as value for the `iconsFolder`. To visualize what it means, in the following example `icons` is a directory located under the same directory as the configuration file:
+
+```json
+{
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "My Parse Server App",
+ "iconName": "MyAppIcon.png",
+ }
+ ],
+ "iconsFolder": "icons"
+}
+```
+
+## App Background Color Configuration
+
+Parse Dashboard supports adding an optional background color for each app, so you can identify them easier in the list. To do so, you *must* use the configuration file, define an `primaryBackgroundColor` and `secondaryBackgroundColor` in it, parameter for each app. It is `CSS style`. To visualize what it means, in the following example `backgroundColor` is a configuration file:
+
+```json
+{
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "My Parse Server App",
+ "primaryBackgroundColor": "#FFA500", // Orange
+ "secondaryBackgroundColor": "#FF4500" // OrangeRed
+ },
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "My Parse Server App [2]",
+ "primaryBackgroundColor": "rgb(255, 0, 0)", // Red
+ "secondaryBackgroundColor": "rgb(204, 0, 0)" // DarkRed
+ }
+ ]
+}
+```
+
+## Other Configuration Options
+
+You can set `appNameForURL` in the config file for each app to control the url of your app within the dashboard. This can make it easier to use bookmarks or share links on your dashboard.
+
+To change the app to production, simply set `production` to `true` in your config file. The default value is false if not specified.
+
+ ### Prevent columns sorting
+
+You can prevent some columns to be sortable by adding `preventSort` to columnPreference options in each app configuration
+
+```json
+
+"apps": [
+ {
+ "appId": "local_app_id",
+ "columnPreference": {
+ "_User": [
+ {
+ "name": "createdAt",
+ "visible": true,
+ "preventSort": true
+ },
+ {
+ "name": "updatedAt",
+ "visible": true,
+ "preventSort": false
+ },
+ ]
+ }
+ }
+]
+```
+
+### Custom order in the filter popup
+
+If you have classes with a lot of columns and you filter them often with the same columns you can sort those to the top by extending the `columnPreference` setting with the `filterSortToTop` option:
+
+```json
+"apps": [
+ {
+ "columnPreference": {
+ "_User": [
+ {
+ "name": "objectId",
+ "filterSortToTop": true
+ },
+ {
+ "name": "email",
+ "filterSortToTop": true
+ }
+ ]
+ }
+ }
+]
+```
+
+### Persistent Filters
+
+The filters you save in the data browser of Parse Dashboard are only available for the current dashboard user in the current browser session. To make filters permanently available for all dashboard users of an app, you can define filters in the `classPreference` setting.
+
+For example:
+
+```json
+"apps": [{
+ "classPreference": {
+ "_Role": {
+ "filters": [{
+ "name": "Filter Name",
+ "filter": [
+ {
+ "field": "objectId",
+ "constraint": "exists"
+ }
+ ]
+ }]
+ }
+ }
+}]
+```
+
+You can conveniently create a filter definition without having to write it by hand by first saving a filter in the data browser, then exporting the filter definition under *App Settings > Export Class Preferences*.
+
+### Scripts
+
+You can specify scripts to execute Cloud Functions with the `scripts` option:
+
+```json
+"apps": [
+ {
+ "scripts": [
+ {
+ "title": "Delete Account",
+ "classes": ["_User"],
+ "cloudCodeFunction": "deleteAccount",
+ "showConfirmationDialog": true,
+ "confirmationDialogStyle": "critical"
+ }
+ ]
+ }
+]
+```
+
+You can also specify custom fields with the `scrips` option:
+
+```json
+"apps": [
+ {
+ "scripts": [
+ {
+ "title": "Delete account",
+ "classes": [
+ {
+ "name": "_User",
+ "fields": [
+ { "name": "createdAt", "validator": "value => value > new Date(\"2025\")" }
+ ]
+ }
+ ],
+ "cloudCodeFunction": "deleteAccount"
+ }
+ ]
+ }
+]
+
+```
+
+
+Next, define the Cloud Function in Parse Server that will be called. The object that has been selected in the data browser will be made available as a request parameter:
+
+```js
+Parse.Cloud.define('deleteAccount', async (req) => {
+ req.params.object.set('deleted', true);
+ await req.params.object.save(null, {useMasterKey: true});
+}, {
+ requireMaster: true
+});
+```
+
+The field which the script was invoked on can be accessed by `selectedField`:
+
+```js
+Parse.Cloud.define('deleteAccount', async (req) => {
+ if (req.params.selectedField !== 'objectId') {
+ throw new Parse.Error(Parse.Error.SCRIPT_FAILED, 'Deleting accounts is only available on the objectId field.');
+ }
+ req.params.object.set('deleted', true);
+ await req.params.object.save(null, {useMasterKey: true});
+}, {
+ requireMaster: true
+});
+```
+
+β οΈ Depending on your Parse Server version you may need to set the Parse Server option `encodeParseObjectInCloudFunction` to `true` so that the selected object in the data browser is made available in the Cloud Function as an instance of `Parse.Object`. If the option is not set, is set to `false`, or you are using an older version of Parse Server, the object is made available as a plain JavaScript object and needs to be converted from a JSON object to a `Parse.Object` instance with `req.params.object = Parse.Object.fromJSON(req.params.object);`, before you can call any `Parse.Object` properties and methods on it.
+
+For older versions of Parse Server:
+
+
+Parse Server >=4.4.0 <6.2.0
+
+```js
+Parse.Cloud.define('deleteAccount', async (req) => {
+ req.params.object = Parse.Object.fromJSON(req.params.object);
+ req.params.object.set('deleted', true);
+ await req.params.object.save(null, {useMasterKey: true});
+}, {
+ requireMaster: true
+});
+```
+
+
+
+
+Parse Server >=2.1.4 <4.4.0
+
+```js
+Parse.Cloud.define('deleteAccount', async (req) => {
+ if (!req.master || !req.params.object) {
+ throw 'Unauthorized';
+ }
+ req.params.object = Parse.Object.fromJSON(req.params.object);
+ req.params.object.set('deleted', true);
+ await req.params.object.save(null, {useMasterKey: true});
+});
+```
+
+
+
+# Running as Express Middleware
+
+Instead of starting Parse Dashboard with the CLI, you can also run it as an [express](https://github.com/expressjs/express) middleware.
+
+```javascript
+var express = require('express');
+var ParseDashboard = require('parse-dashboard');
+
+var dashboard = new ParseDashboard({
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "MyApp"
+ }
+ ]
+});
+
+var app = express();
+
+// make the Parse Dashboard available at /dashboard
+app.use('/dashboard', dashboard);
+
+var httpServer = require('http').createServer(app);
+httpServer.listen(4040);
+```
+
+If you want to run both [Parse Server](https://github.com/ParsePlatform/parse-server) and Parse Dashboard on the same server/port, you can run them both as express middleware:
+
+```javascript
+var express = require('express');
+var ParseServer = require('parse-server').ParseServer;
+var ParseDashboard = require('parse-dashboard');
+
+var api = new ParseServer({
+ // Parse Server settings
+});
+
+var options = { allowInsecureHTTP: false };
+
+var dashboard = new ParseDashboard({
+ // Parse Dashboard settings
+}, options);
+
+var app = express();
+
+// make the Parse Server available at /parse
+app.use('/parse', api);
+
+// make the Parse Dashboard available at /dashboard
+app.use('/dashboard', dashboard);
+
+var httpServer = require('http').createServer(app);
+httpServer.listen(4040);
+```
+
+# Deploying Parse Dashboard
+
+## Preparing for Deployment
+
+Make sure the server URLs for your apps can be accessed by your browser. If you are deploying the dashboard, then `localhost` urls will not work.
+
+## Security Considerations
+In order to securely deploy the dashboard without leaking your apps master key, you will need to use HTTPS and Basic Authentication.
+
+The deployed dashboard detects if you are using a secure connection. If you are deploying the dashboard behind a load balancer or front-facing proxy, then the app won't be able to detect that the connection is secure. In this case, you can start the dashboard with the `--trustProxy=1` option (or set the PARSE_DASHBOARD_TRUST_PROXY config var to 1) to rely on the X-Forwarded-* headers for the client's connection security. This is useful for hosting on services like Heroku, where you can trust the provided proxy headers to correctly determine whether you're using HTTP or HTTPS. You can also turn on this setting when using the dashboard as [express](https://github.com/expressjs/express) middleware:
+
+```javascript
+var trustProxy = true;
+var dashboard = new ParseDashboard({
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "MyApp"
+ }
+ ],
+ "trustProxy": 1
+});
+```
+
+### Security Checks
+
+You can view the security status of your Parse Server by enabling the dashboard option `enableSecurityChecks`, and visiting App Settings > Security.
+
+```javascript
+const dashboard = new ParseDashboard({
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "MyApp"
+ "enableSecurityChecks": true
+ }
+ ],
+});
+```
+
+### Configuring Basic Authentication
+You can configure your dashboard for Basic Authentication by adding usernames and passwords your `parse-dashboard-config.json` configuration file:
+
+```json
+{
+ "apps": [{"...": "..."}],
+ "users": [
+ {
+ "user":"user1",
+ "pass":"pass"
+ },
+ {
+ "user":"user2",
+ "pass":"pass"
+ }
+ ],
+ "useEncryptedPasswords": true | false
+}
+```
+
+You can store the password in either `plain text` or `bcrypt` formats. To use the `bcrypt` format, you must set the config `useEncryptedPasswords` parameter to `true`.
+You can generate encrypted passwords by using `parse-dashboard --createUser`, and pasting the result in your users config.
+
+### Multi-Factor Authentication (One-Time Password)
+
+You can add an additional layer of security for a user account by requiring multi-factor authentication (MFA) for the user to login.
+
+With MFA enabled, a user must provide a one-time password that is typically bound to a physical device, in addition to their login password. This means in addition to knowing the login password, the user needs to have physical access to a device to generate the one-time password. This one-time password is time-based (TOTP) and only valid for a short amount of time, typically 30 seconds, until it expires.
+
+The user requires an authenticator app to generate the one-time password. These apps are provided by many 3rd parties and mostly for free.
+
+If you create a new user by running `parse-dashboard --createUser`, you will be asked whether you want to enable MFA for the new user. To enable MFA for an existing user, run `parse-dashboard --createMFA` to generate a `mfa` secret that you then add to the existing user configuration, for example:
+
+```json
+{
+ "apps": [{"...": "..."}],
+ "users": [
+ {
+ "user":"user1",
+ "pass":"pass",
+ "mfa": "lmvmOIZGMTQklhOIhveqkumss"
+ }
+ ]
+}
+```
+
+ Parse Dashboard follows the industry standard and supports the common OTP algorithm `SHA-1` by default, to be compatible with most authenticator apps. If you have specific security requirements regarding TOTP characteristics (algorithm, digit length, time period) you can customize them by using the guided configuration mentioned above.
+
+### Separating App Access Based on User Identity
+If you have configured your dashboard to manage multiple applications, you can restrict the management of apps based on user identity.
+
+To do so, update your `parse-dashboard-config.json` configuration file to match the following format:
+
+```json
+{
+ "apps": [{"...": "..."}],
+ "users": [
+ {
+ "user":"user1",
+ "pass":"pass1",
+ "apps": [{"appId": "myAppId1"}, {"appId": "myAppId2"}]
+ },
+ {
+ "user":"user2",
+ "pass":"pass2",
+ "apps": [{"appId": "myAppId1"}]
+ } ]
+}
+```
+The effect of such a configuration is as follows:
+
+When `user1` logs in, he/she will be able to manage `myAppId1` and `myAppId2` from the dashboard.
+
+When *`user2`* logs in, he/she will only be able to manage *`myAppId1`* from the dashboard.
+
+## Use Read-Only masterKey
+
+Starting parse-server 2.6.5, it is possible to provide a `readOnlyMasterKey` to parse-server to prevent mutations on objects from a client.
+If you want to protect your dashboard with this feature, just use the `readOnlyMasterKey` instead of the `masterKey`. All write calls will fail.
+
+### Making an app read-only for all users
+
+Start your `parse-server` with
+
+```json
+{
+"masterKey": "YOUR_MASTER_KEY_HERE",
+"readOnlyMasterKey": "YOUR_READ_ONLY_MASTER_KEY",
+}
+```
+
+Then in your dashboard configuration:
+
+```javascript
+var trustProxy = true;
+var dashboard = new ParseDashboard({
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "YOUR_READ_ONLY_MASTER_KEY",
+ "appName": "MyApp"
+ }
+ ],
+ "trustProxy": 1
+});
+```
+
+### Makings users read-only
+
+Make sure you specify the `readOnlyMasterKey` for the apps that you want to use read-only feature in "apps" configuration.
+You can mark a user as a read-only user:
+
+```json
+{
+ "apps": [
+ {
+ "appId": "myAppId1",
+ "masterKey": "myMasterKey1",
+ "readOnlyMasterKey": "myReadOnlyMasterKey1",
+ "serverURL": "myURL1",
+ "port": 4040,
+ "production": true
+ },
+ {
+ "appId": "myAppId2",
+ "masterKey": "myMasterKey2",
+ "readOnlyMasterKey": "myReadOnlyMasterKey2",
+ "serverURL": "myURL2",
+ "port": 4041,
+ "production": true
+ }
+ ],
+ "users": [
+ {
+ "user":"user1",
+ "pass":"pass1",
+ "readOnly": true,
+ "apps": [{"appId": "myAppId1"}, {"appId": "myAppId2"}]
+ },
+ {
+ "user":"user2",
+ "pass":"pass2",
+ "apps": [{"appId": "myAppId1"}]
+ }
+ ]
+}
+```
+
+This way `user1` will have a readOnly access to `myAppId1` and `myAppId2`
+
+### Making user's apps readOnly
+
+Make sure you specify the `readOnlyMasterKey` for the apps that you want to use read-only feature in "apps" configuration.
+You can give read only access to a user on a per-app basis:
+
+```json
+{
+ "apps": [
+ {
+ "appId": "myAppId1",
+ "masterKey": "myMasterKey1",
+ "readOnlyMasterKey": "myReadOnlyMasterKey1",
+ "serverURL": "myURL",
+ "port": 4040,
+ "production": true
+ },
+ {"...": "..."}
+ ],
+ "users": [
+ {
+ "user":"user",
+ "pass":"pass",
+ "apps": [{"appId": "myAppId", "readOnly": true}, {"appId": "myAppId2"}]
+ }
+ ]
+}
+```
+
+With this configuration, user1 will have read only access to `myAppId1` and read/write access to `myAppId2`.
+
+## Configuring Localized Push Notifications
+
+With the latest version of the [dashboard](https://www.npmjs.com/package/parse-dashboard), it is possible to send localized messages for push notifications.
+You can provide a list of locales or languages you want to support for your dashboard users.
+
+```json
+{
+ "apps": [
+ {
+ "serverURL": "http://localhost:1337/parse",
+ "appId": "myAppId",
+ "masterKey": "myMasterKey",
+ "appName": "My Parse Server App",
+ "iconName": "MyAppIcon.png",
+ "supportedPushLocales": ["en", "ru", "fr"]
+ }
+ ],
+ "iconsFolder": "icons"
+}
+```
+
+## Run with Docker
+
+The official docker image is published on [docker hub](https://hub.docker.com/r/parseplatform/parse-dashboard)
+
+Run the image with your ``config.json`` mounted as a volume
+
+```
+docker run -d -p 8080:4040 -v host/path/to/config.json:/src/Parse-Dashboard/parse-dashboard-config.json parseplatform/parse-dashboard --dev
+```
+
+You can also pass the appId, masterKey and serverURL as arguments:
+
+```
+docker run -d -p 4040:4040 parseplatform/parse-dashboard --dev --appId $APP_ID --masterKey $MASTER_KEY --serverURL $SERVER_URL
+```
+
+By default, the container will start the app at port 4040 inside the container. However, you can run custom command as well (see ``Deploying in production`` for custom setup).
+
+In this example, we want to run the application in production mode at port 80 of the host machine.
+
+```
+docker run -d -p 80:8080 -v host/path/to/config.json:/src/Parse-Dashboard/parse-dashboard-config.json parse-dashboard --port 8080 --dev
+```
+
+If you are not familiar with Docker, ``--port 8080`` will be passed in as argument to the entrypoint to form the full command ``npm start -- --port 8080``. The application will start at port 8080 inside the container and port ``8080`` will be mounted to port ``80`` on your host machine.
+
+# Features
+*(The following is not a complete list of features but a work in progress to build a comprehensive feature list.)*
+
+## Data Browser
+
+### Filters
+
+βΆοΈ *Core > Browser > Filter*
+
+The filter dialog allows to add relational filter conditions based on other classes that have a pointer to the current class.
+
+For example, users in the `_User` class may have:
+
+- purchases in a `Purchase` class with a `_User` pointer field
+- transactions in a `Payment` class with a `_User` pointer field
+
+A relational filter allows you filter all users who:
+
+- purchased a specific item (in `Purchase` class)
+- payed with a specific payment method (in `Payment` class)
+
+To apply such a filter, simply go to the `_User` class and add the two required filter conditions with the `Purchase` and `Payment` classes.
+
+### Info Panel
+
+βΆοΈ *Core > Browser > Show Panel / Hide Panel*
+
+The data browser offers an info panel that can display information related to the currently selected object in the data browser table. The info panel is made visible by clicking on the menu button *Show Panel* in the top right corner when browsing a class for which the info panel is configured in the dashboard options.
+
+The following example dashboard configuration shows an info panel for the `_User` class with the title `User Details`, by calling the Cloud Code Function `getUserDetails` and displaying the returned response.
+
+```json
+"apps": [
+ {
+ "infoPanel": [
+ {
+ "title": "User Details",
+ "classes": ["_User"],
+ "cloudCodeFunction": "getUserDetails"
+ }
+ ]
+ }
+]
+```
+
+The Cloud Code Function receives the selected object in the payload and returns a response that can include various items.
+
+#### Segments
+
+The info panel can contain multiple segments to display different groups of information.
+
+| Parameter | Value | Optional | Description |
+|--------------------------|--------|----------|----------------------------------------------------------------------------------------------------------------------------------------|
+| `segments` | Array | No | An ordered array of segments, where each segment represents a distinct group of items to display. |
+| `segments[i].title` | String | No | The title of the segment that will be displayed. |
+| `segments[i].items` | Array | No | An ordered array of items within the segment. Each item can be of different types, such as text, key-value pairs, tables, images, etc. |
+| `segments[i].style` | Object | Yes | The CSS style definition for the segment. |
+| `segments[i].titleStyle` | Object | Yes | The CSS style definition for the segment title. |
+
+Example:
+
+```json
+{
+ "panel": {
+ "segments": [
+ {
+ "title": "Purchases",
+ "style": { "backgroundColor": "lightgray", "font-size": "10px" },
+ "titleStyle": { "backgroundColor": "orange", "color": "white" },
+ "items": [
+ {
+ "type": "text",
+ "text": "This user has a high churn risk!"
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+The items array can include various types of content such as text, key-value pairs, tables, images, videos, audios, and buttons. Each type offers a different way to display information within the info panel, allowing for a customizable and rich user experience. Below is a detailed explanation of each type.
+
+#### Text Item
+
+A simple text field.
+
+| Parameter | Value | Optional | Description |
+|-----------|--------|----------|---------------------------|
+| `type` | String | No | Must be `"text"`. |
+| `text` | String | No | The text to display. |
+| `style` | Object | Yes | The CSS style definition. |
+
+Example:
+
+```json
+{
+ "type": "text",
+ "text": "This user has a high churn risk!",
+ "style": { "backgroundColor": "red" },
+}
+```
+
+#### Key-Value Item
+
+A text item that consists of a key and a value. The value can optionally be linked to a URL.
+
+| Parameter | Value | Default | Optional | Description |
+|-----------------|---------|-------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `type` | String | - | No | Must be `"keyValue"`. |
+| `key` | String | - | No | The key text to display. |
+| `value` | String | - | No | The value text to display. |
+| `url` | String | `undefined` | Yes | The URL that will be opened in a new browser tab when clicking on the value text. It can be set to an absolute URL or a relative URL in which case the base URL is `:////`. |
+| `isRelativeUrl` | Boolean | `false` | Yes | Set this to `true` when linking to another dashboard page, in which case the base URL for the relative URL will be `:////apps//`. |
+| `style` | Object | - | Yes | The CSS style definition. |
+
+Examples:
+
+```json
+{
+ "type": "keyValue",
+ "key": "Lifetime purchase value",
+ "value": "$10k",
+ "style": { "backgroundColor": "green" },
+}
+```
+
+```json
+{
+ "type": "keyValue",
+ "key": "Last purchase ID",
+ "value": "123",
+ "url": "https://example.com/purchaseDetails?purchaseId=123"
+}
+```
+
+```json
+{
+ "type": "keyValue",
+ "key": "Purchase",
+ "value": "123",
+ "url": "browser/Purchase",
+ "isRelativeUrl": true
+}
+```
+
+To navigate to a specific object using a relative URL, the query parameters must be URL encoded:
+
+```js
+const objectId = 'abc123';
+const className = 'Purchase';
+const query = [{ field: 'objectId', constraint: 'eq', compareTo: objectId }];
+const url = `browser/Purchase?filters=${JSON.stringify(query)}`;
+const item = {
+ type: 'keyValue',
+ key: 'Purchase',
+ value: objectId,
+ url,
+ isRelativeUrl: true
+}
+```
+
+#### Table Item
+
+A table with columns and rows to display data in a structured format.
+
+| Parameter | Value | Optional | Description |
+|-------------------|--------|----------|----------------------------------------------------------------------------------|
+| `type` | String | No | Must be `"table"`. |
+| `columns` | Array | No | The column definitions, including names and types. |
+| `columns[*].name` | String | No | The name of the column to display. |
+| `columns[*].type` | String | No | The type of the column value (e.g., `"string"`, `"number"`). |
+| `rows` | Array | No | The rows of data, where each row is an object containing values for each column. |
+| `style` | Object | Yes | The CSS style definition. |
+
+Example:
+
+```json
+{
+ "type": "table",
+ "columns": [
+ {
+ "name": "Name",
+ "type": "string"
+ },
+ {
+ "name": "Age",
+ "type": "number"
+ }
+ ],
+ "rows": [
+ {
+ "Name": "Alice",
+ "Age": 30
+ },
+ {
+ "Name": "Bob",
+ "Age": 40
+ }
+ ],
+ "style": { "backgroundColor": "lightGray" }
+}
+```
+
+#### Image Item
+
+An image to be displayed in the panel.
+
+| Parameter | Value | Optional | Description |
+|-----------|--------|----------|----------------------------------|
+| `type` | String | No | Must be `"image"`. |
+| `url` | String | No | The URL of the image to display. |
+| `style` | Object | Yes | The CSS style definition. |
+
+Example:
+
+```json
+{
+ "type": "image",
+ "url": "https://example.com/images?purchaseId=012345",
+ "style": { "backgroundColor": "white" }
+}
+```
+
+#### Video Item
+
+A video to be displayed in the panel.
+
+| Parameter | Value | Optional | Description |
+|-----------|--------|----------|----------------------------------|
+| `type` | String | No | Must be `"video"`. |
+| `url` | String | No | The URL of the video to display. |
+| `style` | Object | Yes | The CSS style definition. |
+
+Example:
+
+```json
+{
+ "type": "video",
+ "url": "https://example.com/video.mp4",
+ "style": { "backgroundColor": "white" }
+}
+```
+
+#### Audio Item
+
+An audio file to be played in the panel.
+
+| Parameter | Value | Optional | Description |
+|-----------|--------|----------|-------------------------------|
+| `type` | String | No | Must be `"audio"`. |
+| `url` | String | No | The URL of the audio to play. |
+| `style` | Object | Yes | The CSS style definition. |
+
+Example:
+
+```json
+{
+ "type": "audio",
+ "url": "https://example.com/audio.mp3",
+ "style": { "backgroundColor": "white" }
+}
+```
+
+#### Button Item
+
+A button that triggers an action when clicked.
+
+| Parameter | Value | Optional | Description |
+|------------------|--------|----------|---------------------------------------------------------|
+| `type` | String | No | Must be `"button"`. |
+| `text` | String | No | The text to display on the button. |
+| `action` | Object | No | The action to be performed when the button is clicked. |
+| `action.url` | String | No | The URL to which the request should be sent. |
+| `action.method` | String | No | The HTTP method to use for the action (e.g., `"POST"`). |
+| `action.headers` | Object | Yes | Optional headers to include in the request. |
+| `action.body` | Object | Yes | The body of the request in JSON format. |
+| `style` | Object | Yes | The CSS style definition. |
+
+Example:
+
+```json
+{
+ "type": "button",
+ "text": "Click me!",
+ "action": {
+ "url": "https://api.example.com/click",
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ },
+ "body": {
+ "key": "value"
+ }
+ },
+ "style": { "backgroundColor": "pink", "color": "white" }
+}
+```
+
+#### Panel Item
+
+A sub-panel whose data is loaded on-demand by expanding the item.
+
+| Parameter | Value | Optional | Description |
+|---------------------|--------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------|
+| `type` | String | No | Must be `"infoPanel"`. |
+| `title` | String | No | The title to display in the expandable headline. |
+| `cloudCodeFunction` | String | No | The Cloud Code Function to call which receives the selected object in the data browser and returns the response to be displayed in the sub-panel. |
+| `style` | Object | Yes | The CSS style definition. |
+
+Example:
+
+```json
+{
+ "type": "panel",
+ "title": "Purchase History",
+ "cloudCodeFunction": "getUserPurchaseHistory",
+ "style": { "backgroundColor": "lightGray" },
+}
+```
+
+## Browse as User
+
+βΆοΈ *Core > Browser > Browse*
+
+This feature allows you to use the data browser as another user, respecting that user's data permissions. For example, you will only see records and fields the user has permission to see.
+
+> β οΈ Logging in as another user will trigger the same Cloud Triggers as if the user logged in themselves using any other login method. Logging in as another user requires to enter that user's password.
+
+## Change Pointer Key
+
+βΆοΈ *Core > Browser > Edit > Change pointer key*
+
+This feature allows you to change how a pointer is represented in the browser. By default, a pointer is represented by the `objectId` of the linked object. You can change this to any other column of the object class. For example, if class `Installation` has a field that contains a pointer to class `User`, the pointer will show the `objectId` of the user by default. You can change this to display the field `email` of the user, so that a pointer displays the user's email address instead.
+
+### Limitations
+
+- This does not work for an array of pointers; the pointer will always display the `objectId`.
+- System columns like `createdAt`, `updatedAt`, `ACL` cannot be set as pointer key.
+- This feature uses browser storage; switching to a different browser resets the pointer key to `objectId`.
+
+> β οΈ For each custom pointer key in each row, a server request is triggered to resolve the custom pointer key. For example, if the browser shows a class with 50 rows and each row contains 3 custom pointer keys, a total of 150 separate server requests are triggered.
+## CSV Export
+
+βΆοΈ *Core > Browser > Export*
+
+This feature will take either selected rows or all rows of an individual class and saves them to a CSV file, which is then downloaded. CSV headers are added to the top of the file matching the column names.
+
+> β οΈ There is currently a 10,000 row limit when exporting all data. If more than 10,000 rows are present in the class, the CSV file will only contain 10,000 rows.
+
+# Contributing
+
+We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Dashboard guide](CONTRIBUTING.md).
+
+-----
+
+As of April 5, 2017, Parse, LLC has transferred this code to the parse-community organization, and will no longer be contributing to or distributing this code.
+
+[license-svg]: https://img.shields.io/badge/license-BSD-lightgrey.svg
+[license-link]: LICENSE
+[open-collective-link]: https://opencollective.com/parse-server
diff --git a/bin/parse-dashboard b/bin/parse-dashboard
index d83bb2f1a7..ca0a7f0192 100755
--- a/bin/parse-dashboard
+++ b/bin/parse-dashboard
@@ -1,2 +1,2 @@
-#!/usr/bin/env node
-require('../Parse-Dashboard');
+#!/usr/bin/env node
+require('../Parse-Dashboard');
diff --git a/changelogs/CHANGELOG_alpha.md b/changelogs/CHANGELOG_alpha.md
index c79ac9d62a..0614d3075d 100644
--- a/changelogs/CHANGELOG_alpha.md
+++ b/changelogs/CHANGELOG_alpha.md
@@ -8,20 +8,1430 @@
# [7.3.0-alpha.2](https://github.com/parse-community/parse-dashboard/compare/7.3.0-alpha.1...7.3.0-alpha.2) (2025-07-07)
-### Features
+## Features
* Add clipboard icon to copy value of key-value element in info panel ([#2871](https://github.com/parse-community/parse-dashboard/issues/2871)) ([7862c42](https://github.com/parse-community/parse-dashboard/commit/7862c42e58bb8296635f3df1036eb5348f8897fa))
# [7.3.0-alpha.1](https://github.com/parse-community/parse-dashboard/compare/7.2.1...7.3.0-alpha.1) (2025-07-07)
-### Features
+## Features
* Add quick-add button to array parameter in Cloud Config ([#2866](https://github.com/parse-community/parse-dashboard/issues/2866)) ([e98ccb2](https://github.com/parse-community/parse-dashboard/commit/e98ccb236459d891b60383fa3e040b212ac07044))
## [7.2.1-alpha.1](https://github.com/parse-community/parse-dashboard/compare/7.2.0...7.2.1-alpha.1) (2025-06-02)
+## Bug Fixes
+
+* Data browser does not cancel obsolete long-loading request on sorting field change ([#2839](https://github.com/parse-community/parse-dashboard/issues/2839)) ([0f85376](https://github.com/parse-community/parse-dashboard/commit/0f85376b8ae1db7ae31626896b06fdc0bd8efd75))
+
+# [7.2.0-alpha.9](https://github.com/parse-community/parse-dashboard/compare/7.2.0-alpha.8...7.2.0-alpha.9) (2025-05-27)
+
+
+### Features
+
+* Add script execution on parallel batches with option `script.executionBatchSize` ([#2828](https://github.com/parse-community/parse-dashboard/issues/2828)) ([cee8b8d](https://github.com/parse-community/parse-dashboard/commit/cee8b8dd12bc44a352e43073aed65782277841dd))
+
+# [7.2.0-alpha.8](https://github.com/parse-community/parse-dashboard/compare/7.2.0-alpha.7...7.2.0-alpha.8) (2025-05-25)
+
+
+### Bug Fixes
+
+* Notifications fade out erratically when executing a script on large number of rows ([#2822](https://github.com/parse-community/parse-dashboard/issues/2822)) ([3891381](https://github.com/parse-community/parse-dashboard/commit/38913813f0f3252b241a322aaf50142d5564201a))
+
+# [7.2.0-alpha.7](https://github.com/parse-community/parse-dashboard/compare/7.2.0-alpha.6...7.2.0-alpha.7) (2025-05-25)
+
+
+### Bug Fixes
+
+* Data browser not scrolling to top when changing filter while cell selected ([#2821](https://github.com/parse-community/parse-dashboard/issues/2821)) ([c2527dc](https://github.com/parse-community/parse-dashboard/commit/c2527dc1d3e084dcab3d52955bae7760bb27da36))
+
+# [7.2.0-alpha.6](https://github.com/parse-community/parse-dashboard/compare/7.2.0-alpha.5...7.2.0-alpha.6) (2025-05-24)
+
+
+### Features
+
+* Add relative date filter in data browser for date constraints relative to when the query is run ([#2736](https://github.com/parse-community/parse-dashboard/issues/2736)) ([d9dfd69](https://github.com/parse-community/parse-dashboard/commit/d9dfd69b0fcef01456f1feee9b939b7504113e29))
+
+# [7.2.0-alpha.5](https://github.com/parse-community/parse-dashboard/compare/7.2.0-alpha.4...7.2.0-alpha.5) (2025-05-24)
+
+
+### Features
+
+* Add confirmation dialog before saving a Cloud Config parameter that has been modified since editing it ([#2770](https://github.com/parse-community/parse-dashboard/issues/2770)) ([adb9b5c](https://github.com/parse-community/parse-dashboard/commit/adb9b5c34c7e6cb02d63ad35fbcca8ea9544e36c))
+
+# [7.2.0-alpha.4](https://github.com/parse-community/parse-dashboard/compare/7.2.0-alpha.3...7.2.0-alpha.4) (2025-05-24)
+
+
+### Bug Fixes
+
+* Improperly aligned unfolding sub-items in context menu in data browser ([#2726](https://github.com/parse-community/parse-dashboard/issues/2726)) ([3fed292](https://github.com/parse-community/parse-dashboard/commit/3fed292b70f9400d4fb09b44d215de377d568c03))
+
+# [7.2.0-alpha.3](https://github.com/parse-community/parse-dashboard/compare/7.2.0-alpha.2...7.2.0-alpha.3) (2025-05-19)
+
+
+### Features
+
+* Keyboard Enter key can be used to select item in data browser filter dialog field dropdown ([#2771](https://github.com/parse-community/parse-dashboard/issues/2771)) ([dc14710](https://github.com/parse-community/parse-dashboard/commit/dc14710b63b0dc79ae52b322c683204941c4cb11))
+
+# [7.2.0-alpha.2](https://github.com/parse-community/parse-dashboard/compare/7.2.0-alpha.1...7.2.0-alpha.2) (2025-05-09)
+
+
+### Bug Fixes
+
+* Pagination does not reset to page 1 when clicking on class or filter ([#2798](https://github.com/parse-community/parse-dashboard/issues/2798)) ([29d1447](https://github.com/parse-community/parse-dashboard/commit/29d1447509db74c2ddc0c7f01a1cb7c7cd8573ff))
+
+# [7.2.0-alpha.1](https://github.com/parse-community/parse-dashboard/compare/7.1.1-alpha.3...7.2.0-alpha.1) (2025-05-06)
+
+
+### Features
+
+* Add custom CSS styling for info panel items ([#2788](https://github.com/parse-community/parse-dashboard/issues/2788)) ([f031e5d](https://github.com/parse-community/parse-dashboard/commit/f031e5d4fa509c9fe098d0a6c77e960f79536334))
+
+## [7.1.1-alpha.3](https://github.com/parse-community/parse-dashboard/compare/7.1.1-alpha.2...7.1.1-alpha.3) (2025-05-03)
+
+
+### Bug Fixes
+
+* Selecting a saved filter in data browser may highlight a different filter ([#2783](https://github.com/parse-community/parse-dashboard/issues/2783)) ([4c6e853](https://github.com/parse-community/parse-dashboard/commit/4c6e853f4aa660a8dab61f349f8ccf70572ab8ca))
+
+## [7.1.1-alpha.2](https://github.com/parse-community/parse-dashboard/compare/7.1.1-alpha.1...7.1.1-alpha.2) (2025-05-03)
+
+
+### Bug Fixes
+
+* Data browser table shows loading indicator when info panel is loading ([#2782](https://github.com/parse-community/parse-dashboard/issues/2782)) ([da57e5e](https://github.com/parse-community/parse-dashboard/commit/da57e5ea5ec77abc1bbd4d97ba3a5a30cd82e4a7))
+
+## [7.1.1-alpha.1](https://github.com/parse-community/parse-dashboard/compare/7.1.0...7.1.1-alpha.1) (2025-05-02)
+
+
+### Bug Fixes
+
+* Saving new filter in data browser overwrites filters added in other dashboard instances ([#2769](https://github.com/parse-community/parse-dashboard/issues/2769)) ([46bc154](https://github.com/parse-community/parse-dashboard/commit/46bc154cc008c2d8f8d8248e52ec06b9e64cb779))
+
+# [7.1.0-alpha.12](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.11...7.1.0-alpha.12) (2025-04-29)
+
+
+### Bug Fixes
+
+* Clicking on pointer in data browser when using pagination does not reset to first page ([#2767](https://github.com/parse-community/parse-dashboard/issues/2767)) ([ab512e5](https://github.com/parse-community/parse-dashboard/commit/ab512e52d137cdb30167ece53a9ce12c38f5d155))
+
+# [7.1.0-alpha.11](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.10...7.1.0-alpha.11) (2025-04-28)
+
+
+### Bug Fixes
+
+* Data loading indicator not showing when using pagination ([#2768](https://github.com/parse-community/parse-dashboard/issues/2768)) ([62d7aec](https://github.com/parse-community/parse-dashboard/commit/62d7aec3c43c634f8dc632ef7a563cfdad5cd773))
+
+# [7.1.0-alpha.10](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.9...7.1.0-alpha.10) (2025-04-17)
+
+
+### Bug Fixes
+
+* Data browser filters "key exists" and "key does not exist" not working ([#2762](https://github.com/parse-community/parse-dashboard/issues/2762)) ([099eca3](https://github.com/parse-community/parse-dashboard/commit/099eca30be021c6466e4f5279ebd2e6f5cd1c1c3))
+
+# [7.1.0-alpha.9](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.8...7.1.0-alpha.9) (2025-04-17)
+
+
+### Features
+
+* Display filter list in data browser sorted alphabetically ([#2761](https://github.com/parse-community/parse-dashboard/issues/2761)) ([0209a0d](https://github.com/parse-community/parse-dashboard/commit/0209a0d78a3864ba059444ec5eb4a6d00a0430f4))
+
+# [7.1.0-alpha.8](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.7...7.1.0-alpha.8) (2025-04-17)
+
+
+### Bug Fixes
+
+* Data browser filters "key exists" and "key does not exist" not working ([#2760](https://github.com/parse-community/parse-dashboard/issues/2760)) ([0691b3c](https://github.com/parse-community/parse-dashboard/commit/0691b3cf30a77421e17299935880c54f9c8c9c32))
+
+# [7.1.0-alpha.7](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.6...7.1.0-alpha.7) (2025-04-17)
+
+
+### Bug Fixes
+
+* Dashboard crashes on login due to `passport` upgrade ([#2758](https://github.com/parse-community/parse-dashboard/issues/2758)) ([ee74321](https://github.com/parse-community/parse-dashboard/commit/ee743210f67dd9e206e6302f57a5d025099be0b4))
+
+# [7.1.0-alpha.6](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.5...7.1.0-alpha.6) (2025-04-13)
+
+
+### Bug Fixes
+
+* Dashboard crashes when selecting app ([#2747](https://github.com/parse-community/parse-dashboard/issues/2747)) ([8b0cfea](https://github.com/parse-community/parse-dashboard/commit/8b0cfeae4759eaf41eef3d92aa52c79df2918e54))
+
+# [7.1.0-alpha.5](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.4...7.1.0-alpha.5) (2025-04-06)
+
+
+### Bug Fixes
+
+* Logout bar layout not aligned with data browser navigation bar ([#2720](https://github.com/parse-community/parse-dashboard/issues/2720)) ([01a2a1c](https://github.com/parse-community/parse-dashboard/commit/01a2a1c773484fef2f847e0c05a8823174782ee2))
+
+# [7.1.0-alpha.4](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.3...7.1.0-alpha.4) (2025-04-06)
+
+
+### Bug Fixes
+
+* Navigation bar in data browser is transparent and partly covers info panel ([#2717](https://github.com/parse-community/parse-dashboard/issues/2717)) ([60b38a5](https://github.com/parse-community/parse-dashboard/commit/60b38a53e1e288aab2a47d43697fe660fef1fffb))
+
+# [7.1.0-alpha.3](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.2...7.1.0-alpha.3) (2025-04-06)
+
+
+### Bug Fixes
+
+* Obsolete, long-running data fetch request overrides displayed data of newer fetch request in the data browser ([#2715](https://github.com/parse-community/parse-dashboard/issues/2715)) ([31668eb](https://github.com/parse-community/parse-dashboard/commit/31668ebdbb298b96597243947fd842be9063eed5))
+
+# [7.1.0-alpha.2](https://github.com/parse-community/parse-dashboard/compare/7.1.0-alpha.1...7.1.0-alpha.2) (2025-04-06)
+
+
+### Features
+
+* Allow row selection in data browser by dragging mouse outside of selection box column ([#2716](https://github.com/parse-community/parse-dashboard/issues/2716)) ([7c0f607](https://github.com/parse-community/parse-dashboard/commit/7c0f607fbb6c704a9793165a9cf14d6a1be792db))
+
+# [7.1.0-alpha.1](https://github.com/parse-community/parse-dashboard/compare/7.0.1-alpha.1...7.1.0-alpha.1) (2025-04-06)
+
+
+### Features
+
+* Add pagination to data browser ([#2659](https://github.com/parse-community/parse-dashboard/issues/2659)) ([a3c8a11](https://github.com/parse-community/parse-dashboard/commit/a3c8a119cb9f669e0e663ec6c018e2b2cf305596))
+
+## [7.0.1-alpha.1](https://github.com/parse-community/parse-dashboard/compare/7.0.0...7.0.1-alpha.1) (2025-04-05)
+
+
+### Bug Fixes
+
+* Improperly aligned unfolding sub-items in context menu in data browser ([#2713](https://github.com/parse-community/parse-dashboard/issues/2713)) ([189c817](https://github.com/parse-community/parse-dashboard/commit/189c8170425642fd94a9360e5c001e6687f50c29))
+
+# [7.0.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/7.0.0-alpha.1...7.0.0-alpha.2) (2025-03-27)
+
+
+### Features
+
+* Allow to select and copy multiple cells in data browser ([#2691](https://github.com/ParsePlatform/parse-dashboard/issues/2691)) ([eb50315](https://github.com/ParsePlatform/parse-dashboard/commit/eb503151b30a5fd35437559eaddfc7e7e5991dc7))
+
+# [7.0.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/6.2.1-alpha.1...7.0.0-alpha.1) (2025-03-22)
+
+
+### Features
+
+* Increase minimum required Node versions to `18.20.4`, `20.18.0`, `22.12.0` ([#2694](https://github.com/ParsePlatform/parse-dashboard/issues/2694)) ([034df6a](https://github.com/ParsePlatform/parse-dashboard/commit/034df6af3526edc33768f408c9e8faf018fa2ba9))
+
+
+### BREAKING CHANGES
+
+* Increases the minimum required Node versions to `18.20.4`, `20.18.0`, `22.12.0`. ([034df6a](034df6a))
+
+## [6.2.1-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/6.2.0...6.2.1-alpha.1) (2025-03-19)
+
+
+### Bug Fixes
+
+* Title row disappears when scrolling down in data browser ([#2690](https://github.com/ParsePlatform/parse-dashboard/issues/2690)) ([7eebc45](https://github.com/ParsePlatform/parse-dashboard/commit/7eebc45a17844e7d72c5a7e86963ee355f63dd77))
+
+# [6.2.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/6.2.0-alpha.2...6.2.0-alpha.3) (2025-03-16)
+
+
+### Bug Fixes
+
+* Bump @babel/runtime from 7.20.13 to 7.26.10 ([#2677](https://github.com/ParsePlatform/parse-dashboard/issues/2677)) ([37f4ea6](https://github.com/ParsePlatform/parse-dashboard/commit/37f4ea64a39c0f54aaf2e3631fd1f7b6bc03ae96))
+
+# [6.2.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/6.2.0-alpha.1...6.2.0-alpha.2) (2025-03-16)
+
+
+### Bug Fixes
+
+* Security upgrade node from 20.18.2-alpine3.20 to 20.19.0-alpine3.20 ([#2676](https://github.com/ParsePlatform/parse-dashboard/issues/2676)) ([d251334](https://github.com/ParsePlatform/parse-dashboard/commit/d251334df22fbe46e77076bb583b218be6f1889c))
+
+# [6.2.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/6.1.1-alpha.1...6.2.0-alpha.1) (2025-03-09)
+
+
+### Features
+
+* Use Enter key to edit cell content in data browser ([#2672](https://github.com/ParsePlatform/parse-dashboard/issues/2672)) ([ac2dc41](https://github.com/ParsePlatform/parse-dashboard/commit/ac2dc41122faedb1fb7da205ba26229a77417da8))
+
+## [6.1.1-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/6.1.0...6.1.1-alpha.1) (2025-03-06)
+
+
+### Bug Fixes
+
+* Dashboard crashes when setting `unique` filter on pointer field in data browser ([#2660](https://github.com/ParsePlatform/parse-dashboard/issues/2660)) ([68fdbe8](https://github.com/ParsePlatform/parse-dashboard/commit/68fdbe8460d2afafbc922479bfef86e994449a20))
+
+# [6.0.0-alpha.30](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.29...6.0.0-alpha.30) (2025-03-03)
+
+
+### Features
+
+* Add cell selection in data browser on space bar touch down ([#2661](https://github.com/ParsePlatform/parse-dashboard/issues/2661)) ([9d623a9](https://github.com/ParsePlatform/parse-dashboard/commit/9d623a97a4e9ff9692f72191a33441a22fb6956e))
+
+# [6.0.0-alpha.29](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.28...6.0.0-alpha.29) (2025-02-14)
+
+
+### Features
+
+* Add dynamic master key by allowing to set option `masterKey` to a function ([#2655](https://github.com/ParsePlatform/parse-dashboard/issues/2655)) ([9025ed0](https://github.com/ParsePlatform/parse-dashboard/commit/9025ed07b5e7fd801a6ec56c71a12299b2d57279))
+
+# [6.0.0-alpha.28](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.27...6.0.0-alpha.28) (2025-02-01)
+
+
+### Bug Fixes
+
+* Info panel item `panel` calls Cloud Code with parameter `objectId` instead of `Parse.Object` and without `masterKey` ([#2649](https://github.com/ParsePlatform/parse-dashboard/issues/2649)) ([884ff70](https://github.com/ParsePlatform/parse-dashboard/commit/884ff70567e372ff676297b6fb7856fbb7b71cbb))
+
+# [6.0.0-alpha.27](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.26...6.0.0-alpha.27) (2025-02-01)
+
+
+### Bug Fixes
+
+* Security upgrade node from 20.17.0-alpine3.20 to 20.18.2-alpine3.20 ([#2647](https://github.com/ParsePlatform/parse-dashboard/issues/2647)) ([44df723](https://github.com/ParsePlatform/parse-dashboard/commit/44df723b56636607f44c16f2ca24e81e0e17dfb3))
+
+# [6.0.0-alpha.26](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.25...6.0.0-alpha.26) (2025-01-31)
+
+
+### Features
+
+* Add info panel `keyValue` item parameter `isRelativeUrl` to link to dashboard pages ([#2646](https://github.com/ParsePlatform/parse-dashboard/issues/2646)) ([6389fc6](https://github.com/ParsePlatform/parse-dashboard/commit/6389fc6097a76dc95e3cbcdab56c8d1f96909d97))
+
+# [6.0.0-alpha.25](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.24...6.0.0-alpha.25) (2025-01-30)
+
+
+### Features
+
+* Add info panel item `panel` to load and display data on demand ([#2622](https://github.com/ParsePlatform/parse-dashboard/issues/2622)) ([8e5741d](https://github.com/ParsePlatform/parse-dashboard/commit/8e5741d73b5a8c4fcb5d4248de1bdcd7bd957ee8))
+
+# [6.0.0-alpha.24](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.23...6.0.0-alpha.24) (2025-01-29)
+
+
+### Bug Fixes
+
+* Info panel Cloud Code call sends `objectId` instead of `Parse.Object` ([#2643](https://github.com/ParsePlatform/parse-dashboard/issues/2643)) ([a4bcabc](https://github.com/ParsePlatform/parse-dashboard/commit/a4bcabc5c5eaf07bc9eed11814c19901e1d310da))
+
+# [6.0.0-alpha.23](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.22...6.0.0-alpha.23) (2025-01-29)
+
+
+### Bug Fixes
+
+* Info panel Cloud Code call is unauthenticated without using master key ([#2641](https://github.com/ParsePlatform/parse-dashboard/issues/2641)) ([e879e4f](https://github.com/ParsePlatform/parse-dashboard/commit/e879e4f541dc0aa3e23afe6606ee7df9ba22b63a))
+
+# [6.0.0-alpha.22](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.21...6.0.0-alpha.22) (2025-01-29)
+
+
+### Bug Fixes
+
+* Info panel not configurable via `new ParseDashboard()` when running as express middleware ([#2639](https://github.com/ParsePlatform/parse-dashboard/issues/2639)) ([a9b8cd4](https://github.com/ParsePlatform/parse-dashboard/commit/a9b8cd4a7228837cbb462a45e39b01494852f347))
+
+# [6.0.0-alpha.21](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.20...6.0.0-alpha.21) (2025-01-24)
+
+
+### Bug Fixes
+
+* Info panel not showing when some apps miss infoPanel config ([#2627](https://github.com/ParsePlatform/parse-dashboard/issues/2627)) ([539e883](https://github.com/ParsePlatform/parse-dashboard/commit/539e88348721bc100a80ae00de81a921bc2c53d4))
+
+# [6.0.0-alpha.20](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.19...6.0.0-alpha.20) (2024-11-19)
+
+
+### Bug Fixes
+
+* Security upgrade cross-spawn from 7.0.3 to 7.0.6 ([#2629](https://github.com/ParsePlatform/parse-dashboard/issues/2629)) ([47a43e0](https://github.com/ParsePlatform/parse-dashboard/commit/47a43e0ac5d55fc9e214079895f71af7c7e3c350))
+
+# [6.0.0-alpha.19](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.18...6.0.0-alpha.19) (2024-10-16)
+
+
+### Bug Fixes
+
+* Security upgrade ws, parse and puppeteer ([#2618](https://github.com/ParsePlatform/parse-dashboard/issues/2618)) ([bab71dc](https://github.com/ParsePlatform/parse-dashboard/commit/bab71dc57195efa62518127de842edd5902603de))
+
+# [6.0.0-alpha.18](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.17...6.0.0-alpha.18) (2024-10-16)
+
+
+### Bug Fixes
+
+* Node 22 support missing in package.json ([#2617](https://github.com/ParsePlatform/parse-dashboard/issues/2617)) ([8c07284](https://github.com/ParsePlatform/parse-dashboard/commit/8c07284cd571c69426c3f080c2698b0624fd4ec4))
+
+# [6.0.0-alpha.17](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.16...6.0.0-alpha.17) (2024-10-09)
+
+
+### Bug Fixes
+
+* Security upgrade express from 4.21.0 to 4.21.1 ([#2607](https://github.com/ParsePlatform/parse-dashboard/issues/2607)) ([54bf0af](https://github.com/ParsePlatform/parse-dashboard/commit/54bf0afa0691e448b7ec20395753468e047e1fd1))
+
+# [6.0.0-alpha.16](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.15...6.0.0-alpha.16) (2024-10-07)
+
+
+### Bug Fixes
+
+* Dashboard not building for Docker platform arm64/v8 ([#2534](https://github.com/ParsePlatform/parse-dashboard/issues/2534)) ([8c4a862](https://github.com/ParsePlatform/parse-dashboard/commit/8c4a862d63b8e568738a2eeab25b6e977cd1ee11))
+
+# [6.0.0-alpha.15](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.14...6.0.0-alpha.15) (2024-10-07)
+
+
+### Features
+
+* Add support for Node 22 ([#2603](https://github.com/ParsePlatform/parse-dashboard/issues/2603)) ([3689106](https://github.com/ParsePlatform/parse-dashboard/commit/3689106b4089aebe73ddb8668863dc82fd267b5c))
+
+# [6.0.0-alpha.14](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.13...6.0.0-alpha.14) (2024-10-06)
+
+
+### Features
+
+* Add data panel to display object related data fetched via Cloud Function ([#2584](https://github.com/ParsePlatform/parse-dashboard/issues/2584)) ([914cc71](https://github.com/ParsePlatform/parse-dashboard/commit/914cc71790157289c32b95cd9d4cdf3d0685989f))
+
+# [6.0.0-alpha.13](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.12...6.0.0-alpha.13) (2024-09-25)
+
+
+### Bug Fixes
+
+* Internal classes `_User`, `_Role`, `_Installation` referenced with pointer don't appear in data browser filter dialog ([#2599](https://github.com/ParsePlatform/parse-dashboard/issues/2599)) ([8239cc8](https://github.com/ParsePlatform/parse-dashboard/commit/8239cc8a05865c5f0b4f5b33dfb224e87d25a319))
+
+# [6.0.0-alpha.12](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.11...6.0.0-alpha.12) (2024-08-07)
+
+
+### Bug Fixes
+
+* Filter string is erased when changing filter condition ([#2586](https://github.com/ParsePlatform/parse-dashboard/issues/2586)) ([6fa2c8c](https://github.com/ParsePlatform/parse-dashboard/commit/6fa2c8c79201b9ea34321277ab085fa0ba988d77))
+
+# [6.0.0-alpha.11](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.10...6.0.0-alpha.11) (2024-07-26)
+
+
+### Bug Fixes
+
+* Descriptive statistics for number cells in data browser not showing ([#2581](https://github.com/ParsePlatform/parse-dashboard/issues/2581)) ([e146b6f](https://github.com/ParsePlatform/parse-dashboard/commit/e146b6f54c7dfcb50c83c70f0c55e5ab76dc3c19))
+
+# [6.0.0-alpha.10](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.9...6.0.0-alpha.10) (2024-07-11)
+
+
+### Bug Fixes
+
+* Crash after setting filter using context menu and opening filters panel ([#2579](https://github.com/ParsePlatform/parse-dashboard/issues/2579)) ([5a690eb](https://github.com/ParsePlatform/parse-dashboard/commit/5a690ebe91007698fe1a60334112deed5ce94be1))
+
+# [6.0.0-alpha.9](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.8...6.0.0-alpha.9) (2024-07-06)
+
+
+### Features
+
+* Add relational filter conditions in data browser ([#2576](https://github.com/ParsePlatform/parse-dashboard/issues/2576)) ([aa5c68d](https://github.com/ParsePlatform/parse-dashboard/commit/aa5c68dbca458069d93351edc0bc0287fe63b7e1))
+
+# [6.0.0-alpha.8](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.7...6.0.0-alpha.8) (2024-06-27)
+
+
+### Features
+
+* Add optional restriction of script execution to certain object fields and values ([#2488](https://github.com/ParsePlatform/parse-dashboard/issues/2488)) ([8feac9b](https://github.com/ParsePlatform/parse-dashboard/commit/8feac9b8359f27ecd7bd4342be7bcae75289ba35))
+
+# [6.0.0-alpha.7](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.6...6.0.0-alpha.7) (2024-05-19)
+
+
+### Features
+
+* Add Cloud Config change history to roll back to previous values ([#2554](https://github.com/ParsePlatform/parse-dashboard/issues/2554)) ([a784129](https://github.com/ParsePlatform/parse-dashboard/commit/a784129dd5f25d6464cdd5d768e296fda4501b42))
+
+# [6.0.0-alpha.6](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.5...6.0.0-alpha.6) (2024-05-15)
+
+
+### Features
+
+* Add filter `starts with` in data browser for fields of type Pointer ([#2553](https://github.com/ParsePlatform/parse-dashboard/issues/2553)) ([0b94ab6](https://github.com/ParsePlatform/parse-dashboard/commit/0b94ab6ced8b338cd3539f8cad37feb4452e1bcc))
+
+# [6.0.0-alpha.5](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.4...6.0.0-alpha.5) (2024-05-15)
+
+
+### Bug Fixes
+
+* Deleting all code in the JS Console editor fills in the default code ([#2558](https://github.com/ParsePlatform/parse-dashboard/issues/2558)) ([4b830ba](https://github.com/ParsePlatform/parse-dashboard/commit/4b830bac8dc6549555eca50e999a3283aff100c7))
+
+# [6.0.0-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.3...6.0.0-alpha.4) (2024-05-15)
+
+
+### Bug Fixes
+
+* Dashboard scrolls when selecting row in data browser ([#2559](https://github.com/ParsePlatform/parse-dashboard/issues/2559)) ([2aa54a5](https://github.com/ParsePlatform/parse-dashboard/commit/2aa54a5bb1f356a7d4ed5abf3ea42c2e406d5b5a))
+
+# [6.0.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.2...6.0.0-alpha.3) (2024-04-30)
+
+
+### Features
+
+* Select rows in data browser by clicking and dragging mouse cursor over checkboxes ([#2548](https://github.com/ParsePlatform/parse-dashboard/issues/2548)) ([792ba9e](https://github.com/ParsePlatform/parse-dashboard/commit/792ba9e619224c6101ed21cd36add9fe83c3e348))
+
+# [6.0.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-alpha.1...6.0.0-alpha.2) (2024-04-30)
+
+
+### Bug Fixes
+
+* Class Level Permissions dialog throws error `TypeError: ce.current is null` for newly created class ([#2549](https://github.com/ParsePlatform/parse-dashboard/issues/2549)) ([27ed692](https://github.com/ParsePlatform/parse-dashboard/commit/27ed6920d38bfe6476aaf2cebd4124dc30389959))
+
+# [6.0.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0-alpha.8...6.0.0-alpha.1) (2024-03-05)
+
+
+### Features
+
+* Add Node 20 support; remove Node 14, 16 support ([#2532](https://github.com/ParsePlatform/parse-dashboard/issues/2532)) ([578a339](https://github.com/ParsePlatform/parse-dashboard/commit/578a339c04990b5ecb3f80d34c690c6d34218bfa))
+* Add Node 20 support; remove Node 14, 16 support ([#2535](https://github.com/ParsePlatform/parse-dashboard/issues/2535)) ([5c90f2d](https://github.com/ParsePlatform/parse-dashboard/commit/5c90f2de1b98a2099453c8f8c0d6817330f7133d))
+
+
+### BREAKING CHANGES
+
+* Removes support for Node 14 and 16 ([5c90f2d](5c90f2d))
+
+# [5.4.0-alpha.8](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0-alpha.7...5.4.0-alpha.8) (2024-02-29)
+
+
+### Bug Fixes
+
+* Config page fails to load ([#2531](https://github.com/ParsePlatform/parse-dashboard/issues/2531)) ([d721b7c](https://github.com/ParsePlatform/parse-dashboard/commit/d721b7c4f3b98df96a229e60529604b038857d53))
+
+# [5.4.0-alpha.7](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0-alpha.6...5.4.0-alpha.7) (2024-02-26)
+
+
+### Features
+
+* Add descriptive statistics for number cells in data browser ([#2529](https://github.com/ParsePlatform/parse-dashboard/issues/2529)) ([ead9ec4](https://github.com/ParsePlatform/parse-dashboard/commit/ead9ec4d39abc211540bc76616498533b31001a6))
+
+# [5.4.0-alpha.6](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0-alpha.5...5.4.0-alpha.6) (2024-02-26)
+
+
+### Bug Fixes
+
+* App metrics for user and installation counts show dash ([#2528](https://github.com/ParsePlatform/parse-dashboard/issues/2528)) ([850d7b3](https://github.com/ParsePlatform/parse-dashboard/commit/850d7b3f20160761a21f68ec398d7207b8226770))
+
+# [5.4.0-alpha.5](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0-alpha.4...5.4.0-alpha.5) (2024-02-18)
+
+
+### Bug Fixes
+
+* Open pointer in new tab in data browser not working when mount path is not root ([#2527](https://github.com/ParsePlatform/parse-dashboard/issues/2527)) ([2f4081f](https://github.com/ParsePlatform/parse-dashboard/commit/2f4081f217e1c5d906ed8789e09a3377ddc15121))
+
+# [5.4.0-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0-alpha.3...5.4.0-alpha.4) (2024-02-15)
+
+
+### Bug Fixes
+
+* Data browser redirects to wrong class when changing app ([#2526](https://github.com/ParsePlatform/parse-dashboard/issues/2526)) ([7713f54](https://github.com/ParsePlatform/parse-dashboard/commit/7713f542ef9ef97cbf784fa267f7ea2a51c9472a))
+
+# [5.4.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0-alpha.2...5.4.0-alpha.3) (2023-12-16)
+
+
+### Bug Fixes
+
+* Dashboard crashes if Parse Server Cloud Function script returns object ([#2516](https://github.com/ParsePlatform/parse-dashboard/issues/2516)) ([5de08f8](https://github.com/ParsePlatform/parse-dashboard/commit/5de08f8f4d67f287a589c70d8b8d36f9f76897cf))
+
+# [5.4.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0-alpha.1...5.4.0-alpha.2) (2023-12-16)
+
+
+### Features
+
+* Execute script for selected rows ([#2508](https://github.com/ParsePlatform/parse-dashboard/issues/2508)) ([5d9901e](https://github.com/ParsePlatform/parse-dashboard/commit/5d9901e27b14517f22993ac094bdd7d8fbac401f))
+
+# [5.4.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.3.0...5.4.0-alpha.1) (2023-12-02)
+
+
+### Features
+
+* Add refresh indicator to Cloud Config page ([#2505](https://github.com/ParsePlatform/parse-dashboard/issues/2505)) ([a10d1f0](https://github.com/ParsePlatform/parse-dashboard/commit/a10d1f0825688d403206ce7cbacada191dbf5c3b))
+
+# [5.3.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.3.0-alpha.1...5.3.0-alpha.2) (2023-10-18)
+
+
+### Features
+
+* Add refresh indicator to Cloud Config page ([#2505](https://github.com/ParsePlatform/parse-dashboard/issues/2505)) ([a10d1f0](https://github.com/ParsePlatform/parse-dashboard/commit/a10d1f0825688d403206ce7cbacada191dbf5c3b))
+
+# [5.3.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0...5.3.0-alpha.1) (2023-09-20)
+
+
+### Bug Fixes
+
+* Adding a file when adding a new row in the data browser doesn't show filename ([#2471](https://github.com/ParsePlatform/parse-dashboard/issues/2471)) ([5bbb94e](https://github.com/ParsePlatform/parse-dashboard/commit/5bbb94e5b5266af5ed770d0241605eb859699831))
+* File extension is hidden in file field when editing object in modal dialog in data browser ([#2472](https://github.com/ParsePlatform/parse-dashboard/issues/2472)) ([8df4e4d](https://github.com/ParsePlatform/parse-dashboard/commit/8df4e4d9abf2ef9e487a48b209f33bedc03b55a3))
+* Incorrect highlight maker position in class list in data browser ([#2490](https://github.com/ParsePlatform/parse-dashboard/issues/2490)) ([8c28d24](https://github.com/ParsePlatform/parse-dashboard/commit/8c28d245cfe5d9558ffd276b9660f73449c4f35a))
+* Pasting location coordinates into field of type `GeoPoint` does not work in data browser ([#2464](https://github.com/ParsePlatform/parse-dashboard/issues/2464)) ([a8ce343](https://github.com/ParsePlatform/parse-dashboard/commit/a8ce3436a4ffe76ccf892965fa21dc2a467e2d14))
+* Selecting a saved filter in data browser also highlights other filters with equal names ([#2466](https://github.com/ParsePlatform/parse-dashboard/issues/2466)) ([35360fe](https://github.com/ParsePlatform/parse-dashboard/commit/35360fec68edbca619075227960062859bb9db2e))
+* Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([5acac3f](https://github.com/ParsePlatform/parse-dashboard/commit/5acac3fb5c74cbb24ec96b721d874fbc36096c39))
+
+### Features
+
+* Add Cloud Function execution on Parse Object in data browser ([#2409](https://github.com/ParsePlatform/parse-dashboard/issues/2409)) ([996ce91](https://github.com/ParsePlatform/parse-dashboard/commit/996ce916bfedb92c36deede4c234dde8c0554cbb))
+* Add parameter `selectedField` to script payload to determine which object field was selected when script was invoked ([#2483](https://github.com/ParsePlatform/parse-dashboard/issues/2483)) ([e98d653](https://github.com/ParsePlatform/parse-dashboard/commit/e98d653b96787720dad5310c5af98869e2ac2923))
+* Add refresh button to Cloud Config page ([#2480](https://github.com/ParsePlatform/parse-dashboard/issues/2480)) ([be212b0](https://github.com/ParsePlatform/parse-dashboard/commit/be212b0ad6c777f7c5ee9a74cac0affa63faa1c1))
+* Add security checks page ([#2491](https://github.com/ParsePlatform/parse-dashboard/issues/2491)) ([103b9c6](https://github.com/ParsePlatform/parse-dashboard/commit/103b9c61d152487898062485b40f11ecdac3d2e7))
+* Add support for confirmation dialog before script execution in data browser ([#2481](https://github.com/ParsePlatform/parse-dashboard/issues/2481)) ([64d3913](https://github.com/ParsePlatform/parse-dashboard/commit/64d391320bbdb519af8ff93fe8579315ef48e36e))
+* Add typing with auto-complete to select a filter field in the data browser ([#2463](https://github.com/ParsePlatform/parse-dashboard/issues/2463)) ([257f76b](https://github.com/ParsePlatform/parse-dashboard/commit/257f76bbf8d1e880e3b7b704edee2eebf76451c8))
+* Reopen last opened class when navigating to data browser ([#2468](https://github.com/ParsePlatform/parse-dashboard/issues/2468)) ([3d7148e](https://github.com/ParsePlatform/parse-dashboard/commit/3d7148e75a6e9eaeeb7cbb546885b5916f6025bb))
+
+### Reverts
+
+* fix: Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([#2477](https://github.com/ParsePlatform/parse-dashboard/issues/2477)) ([2f1d84e](https://github.com/ParsePlatform/parse-dashboard/commit/2f1d84e41c24507b516b933037807f1061182991))
+
+# [5.2.0-alpha.28](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.27...5.2.0-alpha.28) (2023-08-27)
+
+
+### Features
+
+* Add security checks page ([#2491](https://github.com/ParsePlatform/parse-dashboard/issues/2491)) ([103b9c6](https://github.com/ParsePlatform/parse-dashboard/commit/103b9c61d152487898062485b40f11ecdac3d2e7))
+
+# [5.2.0-alpha.27](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.26...5.2.0-alpha.27) (2023-06-30)
+
+
+### Bug Fixes
+
+* Adding a file when adding a new row in the data browser doesn't show filename ([#2471](https://github.com/ParsePlatform/parse-dashboard/issues/2471)) ([5bbb94e](https://github.com/ParsePlatform/parse-dashboard/commit/5bbb94e5b5266af5ed770d0241605eb859699831))
+
+# [5.2.0-alpha.26](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.25...5.2.0-alpha.26) (2023-06-30)
+
+
+### Bug Fixes
+
+* File extension is hidden in file field when editing object in modal dialog in data browser ([#2472](https://github.com/ParsePlatform/parse-dashboard/issues/2472)) ([8df4e4d](https://github.com/ParsePlatform/parse-dashboard/commit/8df4e4d9abf2ef9e487a48b209f33bedc03b55a3))
+
+# [5.2.0-alpha.25](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.24...5.2.0-alpha.25) (2023-06-29)
+
+
+### Bug Fixes
+
+* Incorrect highlight maker position in class list in data browser ([#2490](https://github.com/ParsePlatform/parse-dashboard/issues/2490)) ([8c28d24](https://github.com/ParsePlatform/parse-dashboard/commit/8c28d245cfe5d9558ffd276b9660f73449c4f35a))
+
+# [5.2.0-alpha.24](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.23...5.2.0-alpha.24) (2023-06-28)
+
+
+### Features
+
+* Add support for confirmation dialog before script execution in data browser ([#2481](https://github.com/ParsePlatform/parse-dashboard/issues/2481)) ([64d3913](https://github.com/ParsePlatform/parse-dashboard/commit/64d391320bbdb519af8ff93fe8579315ef48e36e))
+
+# [5.2.0-alpha.23](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.22...5.2.0-alpha.23) (2023-06-28)
+
+
+### Features
+
+* Add parameter `selectedField` to script payload to determine which object field was selected when script was invoked ([#2483](https://github.com/ParsePlatform/parse-dashboard/issues/2483)) ([e98d653](https://github.com/ParsePlatform/parse-dashboard/commit/e98d653b96787720dad5310c5af98869e2ac2923))
+
+# [5.2.0-alpha.22](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.21...5.2.0-alpha.22) (2023-06-27)
+
+
+### Features
+
+* Add refresh button to Cloud Config page ([#2480](https://github.com/ParsePlatform/parse-dashboard/issues/2480)) ([be212b0](https://github.com/ParsePlatform/parse-dashboard/commit/be212b0ad6c777f7c5ee9a74cac0affa63faa1c1))
+
+# [5.2.0-alpha.21](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.20...5.2.0-alpha.21) (2023-06-24)
+
+
+### Reverts
+
+* fix: Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([#2477](https://github.com/ParsePlatform/parse-dashboard/issues/2477)) ([2f1d84e](https://github.com/ParsePlatform/parse-dashboard/commit/2f1d84e41c24507b516b933037807f1061182991))
+
+# [5.2.0-alpha.20](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.19...5.2.0-alpha.20) (2023-06-23)
+
+
+### Bug Fixes
+
+* Selecting a saved filter in data browser also highlights other filters with equal names ([#2466](https://github.com/ParsePlatform/parse-dashboard/issues/2466)) ([35360fe](https://github.com/ParsePlatform/parse-dashboard/commit/35360fec68edbca619075227960062859bb9db2e))
+
+# [5.2.0-alpha.19](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.18...5.2.0-alpha.19) (2023-06-23)
+
+
+### Features
+
+* Add Cloud Function execution on Parse Object in data browser ([#2409](https://github.com/ParsePlatform/parse-dashboard/issues/2409)) ([996ce91](https://github.com/ParsePlatform/parse-dashboard/commit/996ce916bfedb92c36deede4c234dde8c0554cbb))
+
+# [5.2.0-alpha.18](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.17...5.2.0-alpha.18) (2023-06-20)
+
+
+### Bug Fixes
+
+* Pasting location coordinates into field of type `GeoPoint` does not work in data browser ([#2464](https://github.com/ParsePlatform/parse-dashboard/issues/2464)) ([a8ce343](https://github.com/ParsePlatform/parse-dashboard/commit/a8ce3436a4ffe76ccf892965fa21dc2a467e2d14))
+
+# [5.2.0-alpha.17](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.16...5.2.0-alpha.17) (2023-06-19)
+
+
+### Features
+
+* Add typing with auto-complete to select a filter field in the data browser ([#2463](https://github.com/ParsePlatform/parse-dashboard/issues/2463)) ([257f76b](https://github.com/ParsePlatform/parse-dashboard/commit/257f76bbf8d1e880e3b7b704edee2eebf76451c8))
+
+# [5.2.0-alpha.16](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.15...5.2.0-alpha.16) (2023-06-19)
+
+
+### Features
+
+* Reopen last opened class when navigating to data browser ([#2468](https://github.com/ParsePlatform/parse-dashboard/issues/2468)) ([3d7148e](https://github.com/ParsePlatform/parse-dashboard/commit/3d7148e75a6e9eaeeb7cbb546885b5916f6025bb))
+
+# [5.2.0-alpha.15](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.14...5.2.0-alpha.15) (2023-06-11)
+
+
+### Bug Fixes
+
+* Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([5acac3f](https://github.com/ParsePlatform/parse-dashboard/commit/5acac3fb5c74cbb24ec96b721d874fbc36096c39))
+
+# [5.2.0-alpha.14](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.13...5.2.0-alpha.14) (2023-06-10)
+
+
+### Bug Fixes
+
+* Hitting backspace key in data browser crashes dashboard ([#2456](https://github.com/ParsePlatform/parse-dashboard/issues/2456)) ([32aeea2](https://github.com/ParsePlatform/parse-dashboard/commit/32aeea244d81404579f55adf25244c11e3a797d1))
+
+# [5.2.0-alpha.13](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.12...5.2.0-alpha.13) (2023-06-10)
+
+
+### Features
+
+* Add export of saved data browser filters via `classPreference` settings ([#2455](https://github.com/ParsePlatform/parse-dashboard/issues/2455)) ([f56f946](https://github.com/ParsePlatform/parse-dashboard/commit/f56f946023c628c96030e9d2d66284c53decd33e))
+
+# [5.2.0-alpha.12](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.11...5.2.0-alpha.12) (2023-06-09)
+
+
+### Features
+
+* Add filter views to save frequently used filters in data browser ([#2404](https://github.com/ParsePlatform/parse-dashboard/issues/2404)) ([a9ec3a9](https://github.com/ParsePlatform/parse-dashboard/commit/a9ec3a915ff354304f382c17e8d5311b2c96d7ff))
+
+# [5.2.0-alpha.11](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.10...5.2.0-alpha.11) (2023-06-08)
+
+
+### Bug Fixes
+
+* Scroll position is preserved when re-opening the same class in data browser via navigation bar ([#2445](https://github.com/ParsePlatform/parse-dashboard/issues/2445)) ([667675c](https://github.com/ParsePlatform/parse-dashboard/commit/667675c031b0483be210a88da3b159f5f815d6fb))
+
+# [5.2.0-alpha.10](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.9...5.2.0-alpha.10) (2023-06-01)
+
+
+### Bug Fixes
+
+* Option missing for Parse Config parameter to require master key ([#2440](https://github.com/ParsePlatform/parse-dashboard/issues/2440)) ([6623369](https://github.com/ParsePlatform/parse-dashboard/commit/66233698b333422f306dc7024949aef2ea028f34))
+
+# [5.2.0-alpha.9](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.8...5.2.0-alpha.9) (2023-05-27)
+
+
+### Bug Fixes
+
+* Dashboard crashes when adding a row with modal in a class that contains a pointer to another class that contains an array of pointers ([#2416](https://github.com/ParsePlatform/parse-dashboard/issues/2416)) ([286269f](https://github.com/ParsePlatform/parse-dashboard/commit/286269f3e2c4e1c83b14003ce72caaf1f39b16c1))
+
+# [5.2.0-alpha.8](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.7...5.2.0-alpha.8) (2023-05-27)
+
+
+### Bug Fixes
+
+* Cannot navigate to nested relation field in data browser ([#2420](https://github.com/ParsePlatform/parse-dashboard/issues/2420)) ([e7ace9e](https://github.com/ParsePlatform/parse-dashboard/commit/e7ace9efa068b92c5cf0e5ccdad169ac7d71e81a))
+
+# [5.2.0-alpha.7](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.6...5.2.0-alpha.7) (2023-05-27)
+
+
+### Bug Fixes
+
+* File uploading status not updating in data browser ([#2422](https://github.com/ParsePlatform/parse-dashboard/issues/2422)) ([e761f97](https://github.com/ParsePlatform/parse-dashboard/commit/e761f9715a8366466c6620994ce698adbbfc48cd))
+
+# [5.2.0-alpha.6](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.5...5.2.0-alpha.6) (2023-05-27)
+
+
+### Bug Fixes
+
+* Text input cursor jumps to first position when writing long text ([#2413](https://github.com/ParsePlatform/parse-dashboard/issues/2413)) ([422ffb2](https://github.com/ParsePlatform/parse-dashboard/commit/422ffb2897bb2664eb47b5aaad5094a8b39431bf))
+
+# [5.2.0-alpha.5](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.4...5.2.0-alpha.5) (2023-05-27)
+
+
+### Bug Fixes
+
+* Back button in data browser disappears after page refresh ([#2421](https://github.com/ParsePlatform/parse-dashboard/issues/2421)) ([6c5f19f](https://github.com/ParsePlatform/parse-dashboard/commit/6c5f19f6ed2cda1f1f0dc59bdaed3ae49f264380))
+
+# [5.2.0-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.3...5.2.0-alpha.4) (2023-05-27)
+
+
+### Bug Fixes
+
+* Incorrect date picker position in data browser filter dialog ([#2425](https://github.com/ParsePlatform/parse-dashboard/issues/2425)) ([b96b48f](https://github.com/ParsePlatform/parse-dashboard/commit/b96b48fdd5ce452783e0887c36231971a1822173))
+
+# [5.2.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.2...5.2.0-alpha.3) (2023-05-27)
+
+
+### Bug Fixes
+
+* Empty table in data browser when navigating back using the "backβ button ([#2423](https://github.com/ParsePlatform/parse-dashboard/issues/2423)) ([6f3dab6](https://github.com/ParsePlatform/parse-dashboard/commit/6f3dab60c257c76345235acfd3e43aafadeb84c8))
+
+# [5.2.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-alpha.1...5.2.0-alpha.2) (2023-05-27)
+
+
+### Features
+
+* Add links to users and roles in ACL dialog and handle invalid entries ([#2436](https://github.com/ParsePlatform/parse-dashboard/issues/2436)) ([a20cb8e](https://github.com/ParsePlatform/parse-dashboard/commit/a20cb8e534d3fecd8d337463864b15048772a9a5))
+
+# [5.2.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0...5.2.0-alpha.1) (2023-05-21)
+
+
+### Bug Fixes
+
+* Uncaught error when editing Number field in Edit Row dialog ([#2401](https://github.com/ParsePlatform/parse-dashboard/issues/2401)) ([26bd6fa](https://github.com/ParsePlatform/parse-dashboard/commit/26bd6fa39be1076621856a9c86dcd1307f8f7fdd))
+
+### Features
+
+* Add visual configurator for Parse Dashboard settings ([#2406](https://github.com/ParsePlatform/parse-dashboard/issues/2406)) ([228d839](https://github.com/ParsePlatform/parse-dashboard/commit/228d83903fd8698da7b96a5b74699f3ff2d5dad4))
+* Data types and pointer classes are sorted alphabetically in dialog to add new column ([#2400](https://github.com/ParsePlatform/parse-dashboard/issues/2400)) ([d9d285b](https://github.com/ParsePlatform/parse-dashboard/commit/d9d285b7f90434d3bb138c2c765272498e3f09c3))
+* Sort Cloud Code Jobs alphabetically ([#2402](https://github.com/ParsePlatform/parse-dashboard/issues/2402)) ([77fc372](https://github.com/ParsePlatform/parse-dashboard/commit/77fc372bedb9fb4eca728c1bc076e823c5bc3a2c))
+
+# [5.1.0-alpha.13](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.12...5.1.0-alpha.13) (2023-03-07)
+
+
+### Features
+
+* Sort Cloud Code Jobs alphabetically ([#2402](https://github.com/ParsePlatform/parse-dashboard/issues/2402)) ([77fc372](https://github.com/ParsePlatform/parse-dashboard/commit/77fc372bedb9fb4eca728c1bc076e823c5bc3a2c))
+
+# [5.1.0-alpha.12](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.11...5.1.0-alpha.12) (2023-03-05)
+
+
+### Bug Fixes
+
+* Uncaught error when editing Number field in Edit Row dialog ([#2401](https://github.com/ParsePlatform/parse-dashboard/issues/2401)) ([26bd6fa](https://github.com/ParsePlatform/parse-dashboard/commit/26bd6fa39be1076621856a9c86dcd1307f8f7fdd))
+
+# [5.1.0-alpha.11](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.10...5.1.0-alpha.11) (2023-03-05)
+
+
+### Features
+
+* Data types and pointer classes are sorted alphabetically in dialog to add new column ([#2400](https://github.com/ParsePlatform/parse-dashboard/issues/2400)) ([d9d285b](https://github.com/ParsePlatform/parse-dashboard/commit/d9d285b7f90434d3bb138c2c765272498e3f09c3))
+
+# [5.1.0-alpha.10](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.9...5.1.0-alpha.10) (2023-02-13)
+
+
+### Bug Fixes
+
+* Data browser dialog "No data to display" may be outside of visible area in Safari browser ([#2387](https://github.com/ParsePlatform/parse-dashboard/issues/2387)) ([52bba62](https://github.com/ParsePlatform/parse-dashboard/commit/52bba6246cd05c255ca562dcb32da5b104f9908e))
+
+# [5.1.0-alpha.9](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.8...5.1.0-alpha.9) (2023-02-11)
+
+
+### Bug Fixes
+
+* Screen goes blank when trying to add column of type `Object` or `GeoPoint` ([#2384](https://github.com/ParsePlatform/parse-dashboard/issues/2384)) ([0886386](https://github.com/ParsePlatform/parse-dashboard/commit/08863868b90455116232b2b73a39391ba990c30c))
+
+# [5.1.0-alpha.8](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.7...5.1.0-alpha.8) (2023-01-29)
+
+
+### Bug Fixes
+
+* Internal error message on login with missing credential ([#2370](https://github.com/ParsePlatform/parse-dashboard/issues/2370)) ([9a6a31f](https://github.com/ParsePlatform/parse-dashboard/commit/9a6a31f7d45d1402bfc3a988bef21c4a5bb1b123))
+
+# [5.1.0-alpha.7](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.6...5.1.0-alpha.7) (2023-01-28)
+
+
+### Bug Fixes
+
+* Dashboard may display blank page when selecting an app after login ([#2375](https://github.com/ParsePlatform/parse-dashboard/issues/2375)) ([f399b91](https://github.com/ParsePlatform/parse-dashboard/commit/f399b913490f15a0d3be8dde7242dd0b825fa02e))
+
+# [5.1.0-alpha.6](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.5...5.1.0-alpha.6) (2023-01-25)
+
+
+### Bug Fixes
+
+* Navigation to page fails if user re-login is required ([#2369](https://github.com/ParsePlatform/parse-dashboard/issues/2369)) ([0db6f55](https://github.com/ParsePlatform/parse-dashboard/commit/0db6f5559f9b7bb1f5a282c6182810ca89945032))
+
+# [5.1.0-alpha.5](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.4...5.1.0-alpha.5) (2023-01-25)
+
+
+### Features
+
+* Add export all rows of a class and export in JSON format ([#2361](https://github.com/ParsePlatform/parse-dashboard/issues/2361)) ([9eb36a1](https://github.com/ParsePlatform/parse-dashboard/commit/9eb36a183b8b337960f6e8563ad686958001a22b))
+
+# [5.1.0-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.3...5.1.0-alpha.4) (2023-01-25)
+
+
+### Bug Fixes
+
+* Add dashboard option `cookieSessionMaxAge` to keep user logged in across browser sessions ([#2366](https://github.com/ParsePlatform/parse-dashboard/issues/2366)) ([9ea95fc](https://github.com/ParsePlatform/parse-dashboard/commit/9ea95fc62103b52cf4fac1d1b567334b5298b318))
+
+# [5.1.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.2...5.1.0-alpha.3) (2023-01-20)
+
+
+### Features
+
+* Add schema export ([#2362](https://github.com/ParsePlatform/parse-dashboard/issues/2362)) ([33df049](https://github.com/ParsePlatform/parse-dashboard/commit/33df0495a02c4e77f48b3566032bf5686227cce7))
+
+# [5.1.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-alpha.1...5.1.0-alpha.2) (2023-01-20)
+
+
+### Bug Fixes
+
+* Blank screen shown if server is unreachable; unsupported pages are accessible via direct URLs ([#2363](https://github.com/ParsePlatform/parse-dashboard/issues/2363)) ([9855258](https://github.com/ParsePlatform/parse-dashboard/commit/98552584df4d8d75d65d3e394b4acad522117a96))
+
+# [5.1.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0...5.1.0-alpha.1) (2022-11-05)
+
+
+### Bug Fixes
+
+* Text selection not visible in modal dialog header ([#2340](https://github.com/ParsePlatform/parse-dashboard/issues/2340)) ([fb0e79c](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e79c0837c3acce27524e798e02da667cbc5a3))
+
+### Features
+
+* remove limitation to refresh Cloud Jobs list only after 30 seconds ([#2332](https://github.com/ParsePlatform/parse-dashboard/issues/2332)) ([ad1132f](https://github.com/ParsePlatform/parse-dashboard/commit/ad1132fb13e854a030e769fdf7689f35d363031d))
+
+# [5.0.0-alpha.8](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0-alpha.7...5.0.0-alpha.8) (2022-10-24)
+
+
+### Bug Fixes
+
+* login fails with error `req.session.regenerate is not a function` ([#2196](https://github.com/ParsePlatform/parse-dashboard/issues/2196)) ([a71848c](https://github.com/ParsePlatform/parse-dashboard/commit/a71848ce44fa19e579f9731bab50a7244ab89b11))
+
+### Features
+
+* remove limitation to refresh Cloud Jobs list only after 30 seconds ([#2332](https://github.com/ParsePlatform/parse-dashboard/issues/2332)) ([ad1132f](https://github.com/ParsePlatform/parse-dashboard/commit/ad1132fb13e854a030e769fdf7689f35d363031d))
+
+# [5.0.0-alpha.7](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0-alpha.6...5.0.0-alpha.7) (2022-10-17)
+
+
+### Bug Fixes
+
+* using browser navigation backward / forward button clears data browser ([#2317](https://github.com/ParsePlatform/parse-dashboard/issues/2317)) ([7d9b957](https://github.com/ParsePlatform/parse-dashboard/commit/7d9b9575184d7b03fac0e74fa785409af399d314))
+
+# [5.0.0-alpha.6](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0-alpha.5...5.0.0-alpha.6) (2022-10-15)
+
+
+### Bug Fixes
+
+* raw value of read-only date field in data browser cannot be copied ([#2326](https://github.com/ParsePlatform/parse-dashboard/issues/2326)) ([4af7b98](https://github.com/ParsePlatform/parse-dashboard/commit/4af7b981ec1c8356c33215a49f3757a4005525a1))
+
+# [5.0.0-alpha.5](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0-alpha.4...5.0.0-alpha.5) (2022-10-15)
+
+
+### Features
+
+* improve distinction between deletion confirmation dialogs ([#2319](https://github.com/ParsePlatform/parse-dashboard/issues/2319)) ([23c12ff](https://github.com/ParsePlatform/parse-dashboard/commit/23c12ffbd49508de5c6e5e6155e6720e9f960fc5))
+
+# [5.0.0-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0-alpha.3...5.0.0-alpha.4) (2022-10-09)
+
+
+### Features
+
+* keep entered filter value when changing filter operator ([#2313](https://github.com/ParsePlatform/parse-dashboard/issues/2313)) ([d6d38bf](https://github.com/ParsePlatform/parse-dashboard/commit/d6d38bfc2b06360c6a1ecc990f937cd675d1ff39))
+
+# [5.0.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0-alpha.2...5.0.0-alpha.3) (2022-09-27)
+
+
+### Bug Fixes
+
+* minor UI layout issues ([#2270](https://github.com/ParsePlatform/parse-dashboard/issues/2270)) ([51d083b](https://github.com/ParsePlatform/parse-dashboard/commit/51d083b218d1291fc27ee2a5f1727c5f2a1dc7d4))
+
+# [5.0.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0-alpha.1...5.0.0-alpha.2) (2022-09-27)
+
+
+### Bug Fixes
+
+* increase required Node engine version to `>=14.20.1` ([#2281](https://github.com/ParsePlatform/parse-dashboard/issues/2281)) ([50de52b](https://github.com/ParsePlatform/parse-dashboard/commit/50de52b6dddad079224e3c3b21ed16f4df347a33))
+
+# [5.0.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.17...5.0.0-alpha.1) (2022-09-27)
+
+
+### Features
+
+* remove Node 12 support ([#2277](https://github.com/ParsePlatform/parse-dashboard/issues/2277)) ([18b0e76](https://github.com/ParsePlatform/parse-dashboard/commit/18b0e76e28938f4cb3eaaed7ba3292fc622a35c7))
+
+
+### BREAKING CHANGES
+
+* This version removes support for Node 12; the new minimum required Node version is 14. ([18b0e76](18b0e76))
+
+# [4.2.0-alpha.17](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.16...4.2.0-alpha.17) (2022-09-21)
+
+
+### Bug Fixes
+
+* view relation dialog requires browser refresh when navigating ([#2275](https://github.com/ParsePlatform/parse-dashboard/issues/2275)) ([d60a8b7](https://github.com/ParsePlatform/parse-dashboard/commit/d60a8b7c1ab6c4c8dd85051d9c1acb05a0a69a59))
+
+# [4.2.0-alpha.16](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.15...4.2.0-alpha.16) (2022-09-21)
+
+
+### Bug Fixes
+
+* file upload dialog in data browser shows multiple times ([#2276](https://github.com/ParsePlatform/parse-dashboard/issues/2276)) ([3927340](https://github.com/ParsePlatform/parse-dashboard/commit/39273403568f7ca13a349cac53fbb6a99d8823cc))
+
+# [4.2.0-alpha.15](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.14...4.2.0-alpha.15) (2022-09-19)
+
+
+### Bug Fixes
+
+* context menu in data browser is not scrollable ([#2271](https://github.com/ParsePlatform/parse-dashboard/issues/2271)) ([6c54bd8](https://github.com/ParsePlatform/parse-dashboard/commit/6c54bd82b872d5efed827c3582b4fb3f0aa24a95))
+
+# [4.2.0-alpha.14](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.13...4.2.0-alpha.14) (2022-09-17)
+
+
+### Features
+
+* show skeleton as loading indicator in data browser while data is loading ([#2273](https://github.com/ParsePlatform/parse-dashboard/issues/2273)) ([059f616](https://github.com/ParsePlatform/parse-dashboard/commit/059f616718006c6f559b0b07a8da641367497d9a))
+
+# [4.2.0-alpha.13](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.12...4.2.0-alpha.13) (2022-09-17)
+
+
+### Features
+
+* add column name to related records ([#2264](https://github.com/ParsePlatform/parse-dashboard/issues/2264)) ([cc82533](https://github.com/ParsePlatform/parse-dashboard/commit/cc82533ae3066daa7b789131a76a409720d45b0b))
+
+# [4.2.0-alpha.12](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.11...4.2.0-alpha.12) (2022-09-14)
+
+
+### Features
+
+* auto-submit one-time password (OTP) after entering ([#2257](https://github.com/ParsePlatform/parse-dashboard/issues/2257)) ([e528705](https://github.com/ParsePlatform/parse-dashboard/commit/e5287054cff3bff368ba4e379eebf05bfb7d8bd5))
+
+# [4.2.0-alpha.11](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.10...4.2.0-alpha.11) (2022-09-13)
+
+
+### Bug Fixes
+
+* column names in data browser menu not left-aligned ([#2263](https://github.com/ParsePlatform/parse-dashboard/issues/2263)) ([fc5673a](https://github.com/ParsePlatform/parse-dashboard/commit/fc5673a0ebbc7b4d51e122dbb71172803513309e))
+
+# [4.2.0-alpha.10](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.9...4.2.0-alpha.10) (2022-09-12)
+
+
+### Features
+
+* add Node 18 support ([#2206](https://github.com/ParsePlatform/parse-dashboard/issues/2206)) ([bc7895a](https://github.com/ParsePlatform/parse-dashboard/commit/bc7895aadacc2cc6b0bbcfe786b73d7b82527e55))
+
+# [4.2.0-alpha.9](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.8...4.2.0-alpha.9) (2022-09-12)
+
+
+### Bug Fixes
+
+* login fails with error `req.session.regenerate is not a function` ([#2260](https://github.com/ParsePlatform/parse-dashboard/issues/2260)) ([1dc2b91](https://github.com/ParsePlatform/parse-dashboard/commit/1dc2b915e16a2038268f886d4c24e7b081ae0531))
+
+# [4.2.0-alpha.8](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.7...4.2.0-alpha.8) (2022-09-08)
+
+
+### Features
+
+* add option to auto-sort columns alphabetically ([#2252](https://github.com/ParsePlatform/parse-dashboard/issues/2252)) ([2b7f20f](https://github.com/ParsePlatform/parse-dashboard/commit/2b7f20fcc088f74915b50ec1219038ba9b233c27))
+
+# [4.2.0-alpha.7](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.6...4.2.0-alpha.7) (2022-09-08)
+
+
+### Bug Fixes
+
+* dashboard contains invalid html for top-level document ([#2254](https://github.com/ParsePlatform/parse-dashboard/issues/2254)) ([bbce857](https://github.com/ParsePlatform/parse-dashboard/commit/bbce8579ef634bf8e6800f3a6ab8cd650e971695))
+
+# [4.2.0-alpha.6](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.5...4.2.0-alpha.6) (2022-09-08)
+
+
+### Features
+
+* apply filter in data browser by pressing "Enter" key ([#2256](https://github.com/ParsePlatform/parse-dashboard/issues/2256)) ([bc4f9eb](https://github.com/ParsePlatform/parse-dashboard/commit/bc4f9eb9cad9eb8e362dca20bf932cb3d1e6721c))
+
+# [4.2.0-alpha.5](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.4...4.2.0-alpha.5) (2022-09-06)
+
+
+### Bug Fixes
+
+* login fails with error `req.session.regenerate is not a function` ([#2197](https://github.com/ParsePlatform/parse-dashboard/issues/2197)) [skip release] ([014d9c1](https://github.com/ParsePlatform/parse-dashboard/commit/014d9c15b0c4efad8b0762e5a49f6a740ead5edb))
+* unnecessary count operations in Data Browser ([#2250](https://github.com/ParsePlatform/parse-dashboard/issues/2250)) ([bfc1684](https://github.com/ParsePlatform/parse-dashboard/commit/bfc1684375b7c2120e2a4ae566e5b3c38c0ca110))
+
+# [4.2.0-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.3...4.2.0-alpha.4) (2022-07-20)
+
+
+### Bug Fixes
+
+* security upgrade terser from 5.10.0 to 5.14.2 ([#2222](https://github.com/ParsePlatform/parse-dashboard/issues/2222)) ([645cfdd](https://github.com/ParsePlatform/parse-dashboard/commit/645cfdd5939aca429b988e7a7c1a1b6a68230810))
+
+# [4.2.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.2...4.2.0-alpha.3) (2022-07-15)
+
+
+### Bug Fixes
+
+* button text "Show all" in column menu is truncated ([#2208](https://github.com/ParsePlatform/parse-dashboard/issues/2208)) ([b89d044](https://github.com/ParsePlatform/parse-dashboard/commit/b89d044a504c6748932907f075819a13aa08fb51))
+
+# [4.2.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-alpha.1...4.2.0-alpha.2) (2022-07-11)
+
+
+### Features
+
+* improve button labels to be more concise in text ([#2207](https://github.com/ParsePlatform/parse-dashboard/issues/2207)) ([230fc14](https://github.com/ParsePlatform/parse-dashboard/commit/230fc1419db4d4de67c7e591cde415dbbe461c84))
+
+# [4.2.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.3-alpha.1...4.2.0-alpha.1) (2022-07-04)
+
+
+### Bug Fixes
+
+* login fails with error `req.session.regenerate is not a function` ([#2195](https://github.com/ParsePlatform/parse-dashboard/issues/2195)) [skip release] ([31a2b78](https://github.com/ParsePlatform/parse-dashboard/commit/31a2b7813531e370e11b1a050ea28b575a058816))
+
+### Features
+
+* remove support and documentation links ([#2203](https://github.com/ParsePlatform/parse-dashboard/issues/2203)) ([35e4476](https://github.com/ParsePlatform/parse-dashboard/commit/35e44768f65c64a228cb6ea8314aa534c5342f08))
+
+## [4.1.3-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.2...4.1.3-alpha.1) (2022-06-18)
+
+
+### Bug Fixes
+
+* security upgrade semver-regex from 3.1.3 to 3.1.4 ([#2154](https://github.com/ParsePlatform/parse-dashboard/issues/2154)) ([4f9090a](https://github.com/ParsePlatform/parse-dashboard/commit/4f9090ad22460913f7987964ee54f26d348ca254))
+
+## [4.1.2-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.2-alpha.2...4.1.2-alpha.3) (2022-06-04)
+
+
+### Bug Fixes
+
+* security upgrade semver-regex from 3.1.3 to 3.1.4 ([#2154](https://github.com/ParsePlatform/parse-dashboard/issues/2154)) ([4f9090a](https://github.com/ParsePlatform/parse-dashboard/commit/4f9090ad22460913f7987964ee54f26d348ca254))
+
+## [4.1.2-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.2-alpha.1...4.1.2-alpha.2) (2022-05-30)
+
+
+### Bug Fixes
+
+* config options like `--port` or `--config` are ignored ([#2113](https://github.com/ParsePlatform/parse-dashboard/issues/2113)) ([6d70d8a](https://github.com/ParsePlatform/parse-dashboard/commit/6d70d8aa74caf0d9c0d335a99a48347dc412ac4e))
+* preserve previous condition field value on constraint change ([#1969](https://github.com/ParsePlatform/parse-dashboard/issues/1969)) ([f4c3060](https://github.com/ParsePlatform/parse-dashboard/commit/f4c30605f675bd7a681be127b2dfb3fc11f90e32))
+* security upgrade node-fetch from 2.6.5 to 2.6.7 ([#2114](https://github.com/ParsePlatform/parse-dashboard/issues/2114)) ([5423b0d](https://github.com/ParsePlatform/parse-dashboard/commit/5423b0d70cb72081933ed7531a55f49d39f3b92c))
+* upgrade graphiql from 1.8.4 to 1.8.5 ([#2111](https://github.com/ParsePlatform/parse-dashboard/issues/2111)) ([1a50d30](https://github.com/ParsePlatform/parse-dashboard/commit/1a50d30b6b7d769e04c2c8e82d60142dd2e52b70))
+
+### Reverts
+
+* feat: change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([db5d23b](https://github.com/ParsePlatform/parse-dashboard/commit/db5d23bf17f65d0db3e5d0d4ef4ca506d8394fb9))
+
+## [4.1.2-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.1...4.1.2-alpha.1) (2022-05-01)
+
+
+### Bug Fixes
+
+* data export is missing rows when exporting more than 100 rows ([#2087](https://github.com/ParsePlatform/parse-dashboard/issues/2087)) ([a070627](https://github.com/ParsePlatform/parse-dashboard/commit/a070627223a93a05b9784754a65f023278521efe))
+* security upgrade async from 2.6.3 to 2.6.4 ([#2094](https://github.com/ParsePlatform/parse-dashboard/issues/2094)) ([6140ef7](https://github.com/ParsePlatform/parse-dashboard/commit/6140ef78b9444741e64c6e46eb3344bc9fbf61e8))
+* security upgrade cross-fetch from 3.1.4 to 3.1.5 ([#2105](https://github.com/ParsePlatform/parse-dashboard/issues/2105)) ([24ca77f](https://github.com/ParsePlatform/parse-dashboard/commit/24ca77fbce6b580ccaccb9812a8f6dcb53304e67))
+
+## [4.1.1-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.1-alpha.3...4.1.1-alpha.4) (2022-04-28)
+
+
+### Bug Fixes
+
+* security upgrade cross-fetch from 3.1.4 to 3.1.5 ([#2105](https://github.com/ParsePlatform/parse-dashboard/issues/2105)) ([ac2609f](https://github.com/ParsePlatform/parse-dashboard/commit/ac2609f9e9bbf82e61e0b627565cd25969cfd5ba))
+
+## [4.1.1-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.1-alpha.2...4.1.1-alpha.3) (2022-04-15)
+
+
+### Bug Fixes
+
+* data export is missing rows when exporting more than 100 rows ([#2087](https://github.com/ParsePlatform/parse-dashboard/issues/2087)) ([db2d59e](https://github.com/ParsePlatform/parse-dashboard/commit/db2d59e899357e7166b28baabf8639e8078fa759))
+
+## [4.1.1-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.1-alpha.1...4.1.1-alpha.2) (2022-04-15)
+
+
+### Bug Fixes
+
+* security upgrade async from 2.6.3 to 2.6.4 ([#2094](https://github.com/ParsePlatform/parse-dashboard/issues/2094)) ([61e0fb7](https://github.com/ParsePlatform/parse-dashboard/commit/61e0fb729731cb7cfb825cc2775c034f4e211f1a))
+
+## [4.1.1-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.0...4.1.1-alpha.1) (2022-04-04)
+
+
+### Bug Fixes
+
+* security upgrade js-beautify from 1.14.0 to 1.14.1 ([#2077](https://github.com/ParsePlatform/parse-dashboard/issues/2077)) ([e4ea787](https://github.com/ParsePlatform/parse-dashboard/commit/e4ea7879d88173b02d66b1339ba98805255ba82c))
+* security vulnerability bump minimist from 1.2.5 to 1.2.6 ([#2070](https://github.com/ParsePlatform/parse-dashboard/issues/2070)) ([3d0407e](https://github.com/ParsePlatform/parse-dashboard/commit/3d0407ebd75051bbbe6f0a2aba87b26475e901b9))
+
+# [4.1.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.0-alpha.2...4.1.0-alpha.3) (2022-03-30)
+
+
+### Bug Fixes
+
+* security upgrade js-beautify from 1.14.0 to 1.14.1 ([#2077](https://github.com/ParsePlatform/parse-dashboard/issues/2077)) ([74aa7d0](https://github.com/ParsePlatform/parse-dashboard/commit/74aa7d03bebf925f90b92be76925a522c44e1031))
+
+# [4.1.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.0-alpha.1...4.1.0-alpha.2) (2022-03-24)
+
+
+### Bug Fixes
+
+* security vulnerability bump minimist from 1.2.5 to 1.2.6 ([#2070](https://github.com/ParsePlatform/parse-dashboard/issues/2070)) ([9730379](https://github.com/ParsePlatform/parse-dashboard/commit/973037980aab05680072eba8a313b0f6280e12b7))
+
+# [4.1.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.1...4.1.0-alpha.1) (2022-03-23)
+
+
+### Bug Fixes
+
+* adding internal class (e.g. `_User`) fails due to prefixed underscore ([#2036](https://github.com/ParsePlatform/parse-dashboard/issues/2036)) ([e004e70](https://github.com/ParsePlatform/parse-dashboard/commit/e004e701737718f010978b0830d64bf8e1d8c559))
+* security upgrade prismjs from 1.26.0 to 1.27.0 ([#2047](https://github.com/ParsePlatform/parse-dashboard/issues/2047)) ([ffbca12](https://github.com/ParsePlatform/parse-dashboard/commit/ffbca12c80bf32052a1a2b5d315c8a3393d82248))
+* upgrade @babel/runtime from 7.17.0 to 7.17.2 ([#2055](https://github.com/ParsePlatform/parse-dashboard/issues/2055)) ([3e8449b](https://github.com/ParsePlatform/parse-dashboard/commit/3e8449b1679f803e9d26876ccfd28f88fea814ff))
+* upgrade express from 4.17.2 to 4.17.3 ([#2058](https://github.com/ParsePlatform/parse-dashboard/issues/2058)) ([d1357de](https://github.com/ParsePlatform/parse-dashboard/commit/d1357de1281244f040499a2ca54db0faee4d882c))
+* upgrade otpauth from 7.0.10 to 7.0.11 ([#2061](https://github.com/ParsePlatform/parse-dashboard/issues/2061)) ([05c5ac8](https://github.com/ParsePlatform/parse-dashboard/commit/05c5ac87a6cf1675889e58330276dac185929a01))
+
+### Features
+
+* change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([6470c8e](https://github.com/ParsePlatform/parse-dashboard/commit/6470c8e3221e3b4ec95ecd831726a914d24ff619))
+
+# [4.0.0-alpha.21](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.20...4.0.0-alpha.21) (2022-03-18)
+
+
+### Bug Fixes
+
+* upgrade otpauth from 7.0.10 to 7.0.11 ([#2061](https://github.com/ParsePlatform/parse-dashboard/issues/2061)) ([c379306](https://github.com/ParsePlatform/parse-dashboard/commit/c3793061a186d49ab09e8bd448e167078d1e4df7))
+
+# [4.0.0-alpha.20](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.19...4.0.0-alpha.20) (2022-03-16)
+
+
+### Features
+
+* change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([bb1e184](https://github.com/ParsePlatform/parse-dashboard/commit/bb1e184272497749630964b4bd9e610d2d4cd328))
+
+# [4.0.0-alpha.19](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.18...4.0.0-alpha.19) (2022-03-10)
+
+
+### Bug Fixes
+
+* upgrade express from 4.17.2 to 4.17.3 ([#2058](https://github.com/ParsePlatform/parse-dashboard/issues/2058)) ([f8dc602](https://github.com/ParsePlatform/parse-dashboard/commit/f8dc6027f57143d72083f593455b23e304de934a))
+
+# [4.0.0-alpha.18](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.17...4.0.0-alpha.18) (2022-03-02)
+
+
+### Bug Fixes
+
+* upgrade @babel/runtime from 7.17.0 to 7.17.2 ([#2055](https://github.com/ParsePlatform/parse-dashboard/issues/2055)) ([93335e9](https://github.com/ParsePlatform/parse-dashboard/commit/93335e9ab52e7b1f203b7939abde5c12b42dd2a7))
+
+# [4.0.0-alpha.17](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.16...4.0.0-alpha.17) (2022-02-23)
+
+
+### Bug Fixes
+
+* security upgrade prismjs from 1.26.0 to 1.27.0 ([#2047](https://github.com/ParsePlatform/parse-dashboard/issues/2047)) ([3afb24e](https://github.com/ParsePlatform/parse-dashboard/commit/3afb24e708a69560732a725574953333431c1ca9))
+
+# [4.0.0-alpha.16](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.15...4.0.0-alpha.16) (2022-02-10)
+
+
+### Bug Fixes
+
+* adding internal class (e.g. `_User`) fails due to prefixed underscore ([#2036](https://github.com/ParsePlatform/parse-dashboard/issues/2036)) ([f80bd07](https://github.com/ParsePlatform/parse-dashboard/commit/f80bd07a42b19fc4fa2632e0147fa72812a87c2f))
+
+# [4.0.0-alpha.15](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.14...4.0.0-alpha.15) (2022-01-26)
+
+
+### Bug Fixes
+
+* preserve column sorting preferences in data browser ([#2016](https://github.com/ParsePlatform/parse-dashboard/issues/2016)) ([c2e6557](https://github.com/ParsePlatform/parse-dashboard/commit/c2e65573ccfa29b6d6e727e93b9552380c520f86))
+
+# [4.0.0-alpha.14](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.13...4.0.0-alpha.14) (2022-01-23)
+
+
+### Bug Fixes
+
+* crash when checking for new dashboard release without internet connection ([#2015](https://github.com/ParsePlatform/parse-dashboard/issues/2015)) ([8c36e69](https://github.com/ParsePlatform/parse-dashboard/commit/8c36e693c08a960c4002d7d29bde7d111eff2cd4))
+
+# [4.0.0-alpha.13](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.12...4.0.0-alpha.13) (2022-01-23)
+
+
+### Bug Fixes
+
+* calendar widget layout partly hides last days of a month ([#1990](https://github.com/ParsePlatform/parse-dashboard/issues/1990)) ([5bd86dd](https://github.com/ParsePlatform/parse-dashboard/commit/5bd86dd0a5c7857705089cb8a57c078d62863dfc))
+
+# [4.0.0-alpha.12](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.11...4.0.0-alpha.12) (2022-01-23)
+
+
+### Bug Fixes
+
+* upgrade parse from 3.4.0 to 3.4.1 ([#2011](https://github.com/ParsePlatform/parse-dashboard/issues/2011)) ([68cf9e2](https://github.com/ParsePlatform/parse-dashboard/commit/68cf9e238594df29c22a687b2976d56894897f34))
+
+# [4.0.0-alpha.11](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.10...4.0.0-alpha.11) (2022-01-23)
+
+
+### Bug Fixes
+
+* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2010](https://github.com/ParsePlatform/parse-dashboard/issues/2010)) ([a508a58](https://github.com/ParsePlatform/parse-dashboard/commit/a508a58ce927fd7e08d249818c38f6fb1305956c))
+
+# [4.0.0-alpha.10](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.9...4.0.0-alpha.10) (2022-01-22)
+
+
+### Bug Fixes
+
+* bump nanoid from 3.1.28 to 3.2.0 ([#2008](https://github.com/ParsePlatform/parse-dashboard/issues/2008)) ([6cfe9ca](https://github.com/ParsePlatform/parse-dashboard/commit/6cfe9cae63a49013489e5683b5e16ab3c4399730))
+
+# [4.0.0-alpha.9](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.8...4.0.0-alpha.9) (2022-01-18)
+
+
+### Bug Fixes
+
+* cannot save nullish values for required fields ([#2003](https://github.com/ParsePlatform/parse-dashboard/issues/2003)) ([e1a5497](https://github.com/ParsePlatform/parse-dashboard/commit/e1a5497d4a999d18dcf60f93cdba16d36250a7cc))
+
+# [4.0.0-alpha.8](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.7...4.0.0-alpha.8) (2022-01-15)
+
+
+### Bug Fixes
+
+* bump marked from 0.8.2 to 4.0.10 ([#2001](https://github.com/ParsePlatform/parse-dashboard/issues/2001)) ([ae4cc90](https://github.com/ParsePlatform/parse-dashboard/commit/ae4cc900bdbdc4425f0f30c07c6ef689c8cebe8c))
+
+# [4.0.0-alpha.7](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.6...4.0.0-alpha.7) (2022-01-13)
+
+
+### Bug Fixes
+
+* bump follow-redirects from 1.14.4 to 1.14.7 ([#1997](https://github.com/ParsePlatform/parse-dashboard/issues/1997)) ([4ca2e97](https://github.com/ParsePlatform/parse-dashboard/commit/4ca2e971890c6ee7ee88195a4c75dbb73dc5a0b1))
+
+# [4.0.0-alpha.6](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.5...4.0.0-alpha.6) (2022-01-13)
+
+
+### Bug Fixes
+
+* bump markdown-it from 12.3.0 to 12.3.2 ([#1996](https://github.com/ParsePlatform/parse-dashboard/issues/1996)) ([245c22e](https://github.com/ParsePlatform/parse-dashboard/commit/245c22ea21f1af6f3e74a269d74460d5c5ea5c03))
+
+# [4.0.0-alpha.5](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.4...4.0.0-alpha.5) (2021-12-12)
+
+
+### Bug Fixes
+
+* opening filter menu in data browser leads to blank page ([#1958](https://github.com/ParsePlatform/parse-dashboard/issues/1958)) ([750e8b1](https://github.com/ParsePlatform/parse-dashboard/commit/750e8b1f018e37360e6577f423da005d7f773f20))
+
+# [4.0.0-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.3...4.0.0-alpha.4) (2021-12-06)
+
+
+### Features
+
+* upgrade graphql from 15.7.0 to 16.0.0 ([#1926](https://github.com/ParsePlatform/parse-dashboard/issues/1926)) ([7c94e51](https://github.com/ParsePlatform/parse-dashboard/commit/7c94e512ed5428797823d24ac205ece59e94f3ea))
+
+
+### BREAKING CHANGES
+
+* The minimum required Node.js version is 12.22.0. ([7c94e51](7c94e51))
+
+# [4.0.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.2...4.0.0-alpha.3) (2021-12-06)
+
+
+### Features
+
+* upgrade parse from 3.3.1 to 3.4.0 ([#1942](https://github.com/ParsePlatform/parse-dashboard/issues/1942)) ([13a250e](https://github.com/ParsePlatform/parse-dashboard/commit/13a250e2e04ba0f12be0c2da8c9075ea8eb4d83f))
+
+# [4.0.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-alpha.1...4.0.0-alpha.2) (2021-12-06)
+
+
+### Bug Fixes
+
+* security upgrade qrcode from 1.4.4 to 1.5.0 ([#1930](https://github.com/ParsePlatform/parse-dashboard/issues/1930)) ([244e1bb](https://github.com/ParsePlatform/parse-dashboard/commit/244e1bba1a3fb89b9ed8c93a3d0f7163eacd2691))
+
+# [4.0.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.17...4.0.0-alpha.1) (2021-12-05)
+
+
+### Features
+
+* upgrade graphiql from 1.4.7 to 1.5.1 ([#1943](https://github.com/ParsePlatform/parse-dashboard/issues/1943)) ([ebb1f66](https://github.com/ParsePlatform/parse-dashboard/commit/ebb1f660f1d10921f92d05eb58b09d548e00d3a9))
+
+
+### BREAKING CHANGES
+
+* The required Node version was increased to >=12.20.0. ([ebb1f66](ebb1f66))
+
+# [3.3.0-alpha.17](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.16...3.3.0-alpha.17) (2021-12-05)
+
+
+### Bug Fixes
+
+* saving relation column fails if class has required fields ([#1937](https://github.com/ParsePlatform/parse-dashboard/issues/1937)) ([c67db08](https://github.com/ParsePlatform/parse-dashboard/commit/c67db083a9657be2d16ba566a7f6ce497fd66092))
+
+# [3.3.0-alpha.16](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.15...3.3.0-alpha.16) (2021-11-09)
+
+
+### Bug Fixes
+
+* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([26c0dfa](https://github.com/ParsePlatform/parse-dashboard/commit/26c0dfa7eaa68194d53beaeed1ca6705f3d11a6a))
+
+# [3.3.0-alpha.15](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.14...3.3.0-alpha.15) (2021-11-02)
+
+
+### Bug Fixes
+
+* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([fb0e3a9](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e3a9882438069fef1d7926ec74bad6bb3eebc))
+
+# [3.3.0-alpha.14](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.13...3.3.0-alpha.14) (2021-10-30)
+
+
+### Bug Fixes
+
+* notification to upgrade dashboard for latest features not working ([#1894](https://github.com/ParsePlatform/parse-dashboard/issues/1894)) ([81361b6](https://github.com/ParsePlatform/parse-dashboard/commit/81361b67946a347d31ef96d61e3dd11503a6ad5b))
+
+# [3.3.0-alpha.13](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.12...3.3.0-alpha.13) (2021-10-27)
+
+
+### Features
+
+* add config option `columnPreference.filterSortToTop` to set column name order in filter dialog ([#1884](https://github.com/ParsePlatform/parse-dashboard/issues/1884)) ([3acbda1](https://github.com/ParsePlatform/parse-dashboard/commit/3acbda1cf2adfaa4471ef761c81e000eb1d04a97))
+
+# [3.3.0-alpha.12](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.11...3.3.0-alpha.12) (2021-10-27)
+
+
+### Bug Fixes
+
+* manual column preferences are overwritten by columnPreference option on page refresh ([#1881](https://github.com/ParsePlatform/parse-dashboard/issues/1881)) ([7232b0b](https://github.com/ParsePlatform/parse-dashboard/commit/7232b0b13916ee9bc409279242b5d4bbc4fee033))
+
+# [3.3.0-alpha.11](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.10...3.3.0-alpha.11) (2021-10-27)
+
+
+### Bug Fixes
+
+* upgrade graphql from 15.6.0 to 15.6.1 ([#1887](https://github.com/ParsePlatform/parse-dashboard/issues/1887)) ([0cfe59e](https://github.com/ParsePlatform/parse-dashboard/commit/0cfe59e475d9f991a3579eb81e8e8a24705eec6a))
+
+# [3.3.0-alpha.10](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.9...3.3.0-alpha.10) (2021-10-27)
+
+
+### Bug Fixes
+
+* upgrade inquirer from 8.1.3 to 8.2.0 ([#1886](https://github.com/ParsePlatform/parse-dashboard/issues/1886)) ([c77f335](https://github.com/ParsePlatform/parse-dashboard/commit/c77f335f6203842d0c83bc161ced0376ae166f26))
+
+# [3.3.0-alpha.9](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.8...3.3.0-alpha.9) (2021-10-20)
+
+
+### Features
+
+* add visual distinction in data browser for internal classes and display their real names with underscore ([#1878](https://github.com/ParsePlatform/parse-dashboard/issues/1878)) ([ac8d85e](https://github.com/ParsePlatform/parse-dashboard/commit/ac8d85e368d1ff0f2bc644b30264b9af7c86c76d))
+
+# [3.3.0-alpha.8](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.7...3.3.0-alpha.8) (2021-10-20)
+
+
+### Bug Fixes
+
+* app icons are cropped in the app list for small screen sizes ([#1876](https://github.com/ParsePlatform/parse-dashboard/issues/1876)) ([9fc56a6](https://github.com/ParsePlatform/parse-dashboard/commit/9fc56a6be210d82c4f1b03e804bd492d0848a62d))
+
+# [3.3.0-alpha.7](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.6...3.3.0-alpha.7) (2021-10-20)
+
+
+### Bug Fixes
+
+* upload of file as default value fails when adding a new column ([#1875](https://github.com/ParsePlatform/parse-dashboard/issues/1875)) ([6040dd0](https://github.com/ParsePlatform/parse-dashboard/commit/6040dd0dfe3315131dfeccc42f54cdf4d6d6b90e))
+
+# [3.3.0-alpha.6](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.5...3.3.0-alpha.6) (2021-10-20)
+
+
+### Bug Fixes
+
+* always pass boolean value when toggling checkbox ([#1872](https://github.com/ParsePlatform/parse-dashboard/issues/1872)) ([2e9fd59](https://github.com/ParsePlatform/parse-dashboard/commit/2e9fd59c2ce33f60c904213dc0b5956c4fbfe0c9))
+
+# [3.3.0-alpha.5](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.4...3.3.0-alpha.5) (2021-10-15)
+
+
+### Bug Fixes
+
+* upgrade passport from 0.4.1 to 0.5.0 ([#1865](https://github.com/ParsePlatform/parse-dashboard/issues/1865)) ([8d845f0](https://github.com/ParsePlatform/parse-dashboard/commit/8d845f0b59d161d21b6b28691b9962869fac2f20))
+
+# [3.3.0-alpha.4](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.3...3.3.0-alpha.4) (2021-10-13)
+
+
+### Bug Fixes
+
+* link icon in pointer cell not visible when cell is too narrow ([#1856](https://github.com/ParsePlatform/parse-dashboard/issues/1856)) ([69b897d](https://github.com/ParsePlatform/parse-dashboard/commit/69b897d17f379f9e5af1a0f64c557f54054ebe67))
+
+# [3.3.0-alpha.3](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.2...3.3.0-alpha.3) (2021-10-11)
+
+
+### Bug Fixes
+
+* upgrade graphql from 15.4.0 to 15.6.0 ([#1853](https://github.com/ParsePlatform/parse-dashboard/issues/1853)) ([fca9b14](https://github.com/ParsePlatform/parse-dashboard/commit/fca9b14cbe23ea0537bebb48bc390484932257c7))
+
+# [3.3.0-alpha.2](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-alpha.1...3.3.0-alpha.2) (2021-10-11)
+
+
+### Features
+
+* add pointer representation by a chosen column instead of objectId ([#1852](https://github.com/ParsePlatform/parse-dashboard/issues/1852)) ([d747786](https://github.com/ParsePlatform/parse-dashboard/commit/d7477860ebf972a1cb69a43761e77841831754e2))
+
+# [3.3.0-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.1-alpha.1...3.3.0-alpha.1) (2021-10-08)
+
+
+### Features
+
+* allow GraphIQL headers ([#1836](https://github.com/ParsePlatform/parse-dashboard/issues/1836)) ([3afcf73](https://github.com/ParsePlatform/parse-dashboard/commit/3afcf730c1303b3957ab03d683ada86242175579))
+
+## [3.2.1-alpha.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.0...3.2.1-alpha.1) (2021-10-08)
+
+
+### Bug Fixes
+
+* enabling context menu for read-only cells ([#1844](https://github.com/ParsePlatform/parse-dashboard/issues/1844)) ([a38a885](https://github.com/ParsePlatform/parse-dashboard/commit/a38a885db23e3a76c1e24f880e061dc882e1d37f))
+
+
+### Features
+
+* Add clipboard icon to copy value of key-value element in info panel ([#2871](https://github.com/parse-community/parse-dashboard/issues/2871)) ([7862c42](https://github.com/parse-community/parse-dashboard/commit/7862c42e58bb8296635f3df1036eb5348f8897fa))
+
+## [7.2.1-alpha.1](https://github.com/parse-community/parse-dashboard/compare/7.2.0...7.2.1-alpha.1) (2025-06-02)
+
+
### Bug Fixes
* Data browser does not cancel obsolete long-loading request on sorting field change ([#2839](https://github.com/parse-community/parse-dashboard/issues/2839)) ([0f85376](https://github.com/parse-community/parse-dashboard/commit/0f85376b8ae1db7ae31626896b06fdc0bd8efd75))
diff --git a/changelogs/CHANGELOG_beta.md b/changelogs/CHANGELOG_beta.md
index dd3988bfae..30418f60cc 100644
--- a/changelogs/CHANGELOG_beta.md
+++ b/changelogs/CHANGELOG_beta.md
@@ -1,348 +1,348 @@
-# [6.0.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-beta.1...6.0.0-beta.2) (2024-10-07)
-
-
-### Bug Fixes
-
-* Crash after setting filter using context menu and opening filters panel ([#2579](https://github.com/ParsePlatform/parse-dashboard/issues/2579)) ([5a690eb](https://github.com/ParsePlatform/parse-dashboard/commit/5a690ebe91007698fe1a60334112deed5ce94be1))
-* Dashboard not building for Docker platform arm64/v8 ([#2534](https://github.com/ParsePlatform/parse-dashboard/issues/2534)) ([8c4a862](https://github.com/ParsePlatform/parse-dashboard/commit/8c4a862d63b8e568738a2eeab25b6e977cd1ee11))
-* Descriptive statistics for number cells in data browser not showing ([#2581](https://github.com/ParsePlatform/parse-dashboard/issues/2581)) ([e146b6f](https://github.com/ParsePlatform/parse-dashboard/commit/e146b6f54c7dfcb50c83c70f0c55e5ab76dc3c19))
-* Filter string is erased when changing filter condition ([#2586](https://github.com/ParsePlatform/parse-dashboard/issues/2586)) ([6fa2c8c](https://github.com/ParsePlatform/parse-dashboard/commit/6fa2c8c79201b9ea34321277ab085fa0ba988d77))
-* Internal classes `_User`, `_Role`, `_Installation` referenced with pointer don't appear in data browser filter dialog ([#2599](https://github.com/ParsePlatform/parse-dashboard/issues/2599)) ([8239cc8](https://github.com/ParsePlatform/parse-dashboard/commit/8239cc8a05865c5f0b4f5b33dfb224e87d25a319))
-
-### Features
-
-* Add Cloud Config change history to roll back to previous values ([#2554](https://github.com/ParsePlatform/parse-dashboard/issues/2554)) ([a784129](https://github.com/ParsePlatform/parse-dashboard/commit/a784129dd5f25d6464cdd5d768e296fda4501b42))
-* Add data panel to display object related data fetched via Cloud Function ([#2584](https://github.com/ParsePlatform/parse-dashboard/issues/2584)) ([914cc71](https://github.com/ParsePlatform/parse-dashboard/commit/914cc71790157289c32b95cd9d4cdf3d0685989f))
-* Add optional restriction of script execution to certain object fields and values ([#2488](https://github.com/ParsePlatform/parse-dashboard/issues/2488)) ([8feac9b](https://github.com/ParsePlatform/parse-dashboard/commit/8feac9b8359f27ecd7bd4342be7bcae75289ba35))
-* Add relational filter conditions in data browser ([#2576](https://github.com/ParsePlatform/parse-dashboard/issues/2576)) ([aa5c68d](https://github.com/ParsePlatform/parse-dashboard/commit/aa5c68dbca458069d93351edc0bc0287fe63b7e1))
-* Add support for Node 22 ([#2603](https://github.com/ParsePlatform/parse-dashboard/issues/2603)) ([3689106](https://github.com/ParsePlatform/parse-dashboard/commit/3689106b4089aebe73ddb8668863dc82fd267b5c))
-
-# [6.0.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0...6.0.0-beta.1) (2024-05-16)
-
-
-### Bug Fixes
-
-* App metrics for user and installation counts show dash ([#2528](https://github.com/ParsePlatform/parse-dashboard/issues/2528)) ([850d7b3](https://github.com/ParsePlatform/parse-dashboard/commit/850d7b3f20160761a21f68ec398d7207b8226770))
-* Class Level Permissions dialog throws error `TypeError: ce.current is null` for newly created class ([#2549](https://github.com/ParsePlatform/parse-dashboard/issues/2549)) ([27ed692](https://github.com/ParsePlatform/parse-dashboard/commit/27ed6920d38bfe6476aaf2cebd4124dc30389959))
-* Config page fails to load ([#2531](https://github.com/ParsePlatform/parse-dashboard/issues/2531)) ([d721b7c](https://github.com/ParsePlatform/parse-dashboard/commit/d721b7c4f3b98df96a229e60529604b038857d53))
-* Dashboard crashes if Parse Server Cloud Function script returns object ([#2516](https://github.com/ParsePlatform/parse-dashboard/issues/2516)) ([5de08f8](https://github.com/ParsePlatform/parse-dashboard/commit/5de08f8f4d67f287a589c70d8b8d36f9f76897cf))
-* Dashboard scrolls when selecting row in data browser ([#2559](https://github.com/ParsePlatform/parse-dashboard/issues/2559)) ([2aa54a5](https://github.com/ParsePlatform/parse-dashboard/commit/2aa54a5bb1f356a7d4ed5abf3ea42c2e406d5b5a))
-* Data browser redirects to wrong class when changing app ([#2526](https://github.com/ParsePlatform/parse-dashboard/issues/2526)) ([7713f54](https://github.com/ParsePlatform/parse-dashboard/commit/7713f542ef9ef97cbf784fa267f7ea2a51c9472a))
-* Deleting all code in the JS Console editor fills in the default code ([#2558](https://github.com/ParsePlatform/parse-dashboard/issues/2558)) ([4b830ba](https://github.com/ParsePlatform/parse-dashboard/commit/4b830bac8dc6549555eca50e999a3283aff100c7))
-* Open pointer in new tab in data browser not working when mount path is not root ([#2527](https://github.com/ParsePlatform/parse-dashboard/issues/2527)) ([2f4081f](https://github.com/ParsePlatform/parse-dashboard/commit/2f4081f217e1c5d906ed8789e09a3377ddc15121))
-
-### Features
-
-* Add descriptive statistics for number cells in data browser ([#2529](https://github.com/ParsePlatform/parse-dashboard/issues/2529)) ([ead9ec4](https://github.com/ParsePlatform/parse-dashboard/commit/ead9ec4d39abc211540bc76616498533b31001a6))
-* Add filter `starts with` in data browser for fields of type Pointer ([#2553](https://github.com/ParsePlatform/parse-dashboard/issues/2553)) ([0b94ab6](https://github.com/ParsePlatform/parse-dashboard/commit/0b94ab6ced8b338cd3539f8cad37feb4452e1bcc))
-* Add Node 20 support; remove Node 14, 16 support ([#2532](https://github.com/ParsePlatform/parse-dashboard/issues/2532)) ([578a339](https://github.com/ParsePlatform/parse-dashboard/commit/578a339c04990b5ecb3f80d34c690c6d34218bfa))
-* Add Node 20 support; remove Node 14, 16 support ([#2535](https://github.com/ParsePlatform/parse-dashboard/issues/2535)) ([5c90f2d](https://github.com/ParsePlatform/parse-dashboard/commit/5c90f2de1b98a2099453c8f8c0d6817330f7133d))
-* Execute script for selected rows ([#2508](https://github.com/ParsePlatform/parse-dashboard/issues/2508)) ([5d9901e](https://github.com/ParsePlatform/parse-dashboard/commit/5d9901e27b14517f22993ac094bdd7d8fbac401f))
-* Select rows in data browser by clicking and dragging mouse cursor over checkboxes ([#2548](https://github.com/ParsePlatform/parse-dashboard/issues/2548)) ([792ba9e](https://github.com/ParsePlatform/parse-dashboard/commit/792ba9e619224c6101ed21cd36add9fe83c3e348))
-
-
-### BREAKING CHANGES
-
-* Removes support for Node 14 and 16 ([5c90f2d](5c90f2d))
-
-# [5.4.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.3.0...5.4.0-beta.1) (2023-11-16)
-
-
-### Features
-
-* Add refresh indicator to Cloud Config page ([#2505](https://github.com/ParsePlatform/parse-dashboard/issues/2505)) ([a10d1f0](https://github.com/ParsePlatform/parse-dashboard/commit/a10d1f0825688d403206ce7cbacada191dbf5c3b))
-
-# [5.3.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0...5.3.0-beta.1) (2023-09-15)
-
-
-### Bug Fixes
-
-* Adding a file when adding a new row in the data browser doesn't show filename ([#2471](https://github.com/ParsePlatform/parse-dashboard/issues/2471)) ([5bbb94e](https://github.com/ParsePlatform/parse-dashboard/commit/5bbb94e5b5266af5ed770d0241605eb859699831))
-* File extension is hidden in file field when editing object in modal dialog in data browser ([#2472](https://github.com/ParsePlatform/parse-dashboard/issues/2472)) ([8df4e4d](https://github.com/ParsePlatform/parse-dashboard/commit/8df4e4d9abf2ef9e487a48b209f33bedc03b55a3))
-* Incorrect highlight maker position in class list in data browser ([#2490](https://github.com/ParsePlatform/parse-dashboard/issues/2490)) ([8c28d24](https://github.com/ParsePlatform/parse-dashboard/commit/8c28d245cfe5d9558ffd276b9660f73449c4f35a))
-* Pasting location coordinates into field of type `GeoPoint` does not work in data browser ([#2464](https://github.com/ParsePlatform/parse-dashboard/issues/2464)) ([a8ce343](https://github.com/ParsePlatform/parse-dashboard/commit/a8ce3436a4ffe76ccf892965fa21dc2a467e2d14))
-* Selecting a saved filter in data browser also highlights other filters with equal names ([#2466](https://github.com/ParsePlatform/parse-dashboard/issues/2466)) ([35360fe](https://github.com/ParsePlatform/parse-dashboard/commit/35360fec68edbca619075227960062859bb9db2e))
-* Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([5acac3f](https://github.com/ParsePlatform/parse-dashboard/commit/5acac3fb5c74cbb24ec96b721d874fbc36096c39))
-
-### Features
-
-* Add Cloud Function execution on Parse Object in data browser ([#2409](https://github.com/ParsePlatform/parse-dashboard/issues/2409)) ([996ce91](https://github.com/ParsePlatform/parse-dashboard/commit/996ce916bfedb92c36deede4c234dde8c0554cbb))
-* Add parameter `selectedField` to script payload to determine which object field was selected when script was invoked ([#2483](https://github.com/ParsePlatform/parse-dashboard/issues/2483)) ([e98d653](https://github.com/ParsePlatform/parse-dashboard/commit/e98d653b96787720dad5310c5af98869e2ac2923))
-* Add refresh button to Cloud Config page ([#2480](https://github.com/ParsePlatform/parse-dashboard/issues/2480)) ([be212b0](https://github.com/ParsePlatform/parse-dashboard/commit/be212b0ad6c777f7c5ee9a74cac0affa63faa1c1))
-* Add security checks page ([#2491](https://github.com/ParsePlatform/parse-dashboard/issues/2491)) ([103b9c6](https://github.com/ParsePlatform/parse-dashboard/commit/103b9c61d152487898062485b40f11ecdac3d2e7))
-* Add support for confirmation dialog before script execution in data browser ([#2481](https://github.com/ParsePlatform/parse-dashboard/issues/2481)) ([64d3913](https://github.com/ParsePlatform/parse-dashboard/commit/64d391320bbdb519af8ff93fe8579315ef48e36e))
-* Add typing with auto-complete to select a filter field in the data browser ([#2463](https://github.com/ParsePlatform/parse-dashboard/issues/2463)) ([257f76b](https://github.com/ParsePlatform/parse-dashboard/commit/257f76bbf8d1e880e3b7b704edee2eebf76451c8))
-* Reopen last opened class when navigating to data browser ([#2468](https://github.com/ParsePlatform/parse-dashboard/issues/2468)) ([3d7148e](https://github.com/ParsePlatform/parse-dashboard/commit/3d7148e75a6e9eaeeb7cbb546885b5916f6025bb))
-
-### Reverts
-
-* fix: Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([#2477](https://github.com/ParsePlatform/parse-dashboard/issues/2477)) ([2f1d84e](https://github.com/ParsePlatform/parse-dashboard/commit/2f1d84e41c24507b516b933037807f1061182991))
-
-# [5.2.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-beta.1...5.2.0-beta.2) (2023-06-10)
-
-
-### Bug Fixes
-
-* Back button in data browser disappears after page refresh ([#2421](https://github.com/ParsePlatform/parse-dashboard/issues/2421)) ([6c5f19f](https://github.com/ParsePlatform/parse-dashboard/commit/6c5f19f6ed2cda1f1f0dc59bdaed3ae49f264380))
-* Cannot navigate to nested relation field in data browser ([#2420](https://github.com/ParsePlatform/parse-dashboard/issues/2420)) ([e7ace9e](https://github.com/ParsePlatform/parse-dashboard/commit/e7ace9efa068b92c5cf0e5ccdad169ac7d71e81a))
-* Dashboard crashes when adding a row with modal in a class that contains a pointer to another class that contains an array of pointers ([#2416](https://github.com/ParsePlatform/parse-dashboard/issues/2416)) ([286269f](https://github.com/ParsePlatform/parse-dashboard/commit/286269f3e2c4e1c83b14003ce72caaf1f39b16c1))
-* Empty table in data browser when navigating back using the "backβ button ([#2423](https://github.com/ParsePlatform/parse-dashboard/issues/2423)) ([6f3dab6](https://github.com/ParsePlatform/parse-dashboard/commit/6f3dab60c257c76345235acfd3e43aafadeb84c8))
-* File uploading status not updating in data browser ([#2422](https://github.com/ParsePlatform/parse-dashboard/issues/2422)) ([e761f97](https://github.com/ParsePlatform/parse-dashboard/commit/e761f9715a8366466c6620994ce698adbbfc48cd))
-* Hitting backspace key in data browser crashes dashboard ([#2456](https://github.com/ParsePlatform/parse-dashboard/issues/2456)) ([32aeea2](https://github.com/ParsePlatform/parse-dashboard/commit/32aeea244d81404579f55adf25244c11e3a797d1))
-* Incorrect date picker position in data browser filter dialog ([#2425](https://github.com/ParsePlatform/parse-dashboard/issues/2425)) ([b96b48f](https://github.com/ParsePlatform/parse-dashboard/commit/b96b48fdd5ce452783e0887c36231971a1822173))
-* Option missing for Parse Config parameter to require master key ([#2440](https://github.com/ParsePlatform/parse-dashboard/issues/2440)) ([6623369](https://github.com/ParsePlatform/parse-dashboard/commit/66233698b333422f306dc7024949aef2ea028f34))
-* Scroll position is preserved when re-opening the same class in data browser via navigation bar ([#2445](https://github.com/ParsePlatform/parse-dashboard/issues/2445)) ([667675c](https://github.com/ParsePlatform/parse-dashboard/commit/667675c031b0483be210a88da3b159f5f815d6fb))
-* Text input cursor jumps to first position when writing long text ([#2413](https://github.com/ParsePlatform/parse-dashboard/issues/2413)) ([422ffb2](https://github.com/ParsePlatform/parse-dashboard/commit/422ffb2897bb2664eb47b5aaad5094a8b39431bf))
-
-### Features
-
-* Add export of saved data browser filters via `classPreference` settings ([#2455](https://github.com/ParsePlatform/parse-dashboard/issues/2455)) ([f56f946](https://github.com/ParsePlatform/parse-dashboard/commit/f56f946023c628c96030e9d2d66284c53decd33e))
-* Add filter views to save frequently used filters in data browser ([#2404](https://github.com/ParsePlatform/parse-dashboard/issues/2404)) ([a9ec3a9](https://github.com/ParsePlatform/parse-dashboard/commit/a9ec3a915ff354304f382c17e8d5311b2c96d7ff))
-* Add links to users and roles in ACL dialog and handle invalid entries ([#2436](https://github.com/ParsePlatform/parse-dashboard/issues/2436)) ([a20cb8e](https://github.com/ParsePlatform/parse-dashboard/commit/a20cb8e534d3fecd8d337463864b15048772a9a5))
-* Add visual configurator for Parse Dashboard settings ([#2406](https://github.com/ParsePlatform/parse-dashboard/issues/2406)) ([228d839](https://github.com/ParsePlatform/parse-dashboard/commit/228d83903fd8698da7b96a5b74699f3ff2d5dad4))
-
-# [5.2.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0...5.2.0-beta.1) (2023-05-01)
-
-
-### Bug Fixes
-
-* Uncaught error when editing Number field in Edit Row dialog ([#2401](https://github.com/ParsePlatform/parse-dashboard/issues/2401)) ([26bd6fa](https://github.com/ParsePlatform/parse-dashboard/commit/26bd6fa39be1076621856a9c86dcd1307f8f7fdd))
-
-### Features
-
-* Data types and pointer classes are sorted alphabetically in dialog to add new column ([#2400](https://github.com/ParsePlatform/parse-dashboard/issues/2400)) ([d9d285b](https://github.com/ParsePlatform/parse-dashboard/commit/d9d285b7f90434d3bb138c2c765272498e3f09c3))
-* Sort Cloud Code Jobs alphabetically ([#2402](https://github.com/ParsePlatform/parse-dashboard/issues/2402)) ([77fc372](https://github.com/ParsePlatform/parse-dashboard/commit/77fc372bedb9fb4eca728c1bc076e823c5bc3a2c))
-
-# [5.1.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-beta.1...5.1.0-beta.2) (2023-03-01)
-
-
-### Bug Fixes
-
-* Add dashboard option `cookieSessionMaxAge` to keep user logged in across browser sessions ([#2366](https://github.com/ParsePlatform/parse-dashboard/issues/2366)) ([9ea95fc](https://github.com/ParsePlatform/parse-dashboard/commit/9ea95fc62103b52cf4fac1d1b567334b5298b318))
-* Blank screen shown if server is unreachable; unsupported pages are accessible via direct URLs ([#2363](https://github.com/ParsePlatform/parse-dashboard/issues/2363)) ([9855258](https://github.com/ParsePlatform/parse-dashboard/commit/98552584df4d8d75d65d3e394b4acad522117a96))
-* Dashboard may display blank page when selecting an app after login ([#2375](https://github.com/ParsePlatform/parse-dashboard/issues/2375)) ([f399b91](https://github.com/ParsePlatform/parse-dashboard/commit/f399b913490f15a0d3be8dde7242dd0b825fa02e))
-* Data browser dialog "No data to display" may be outside of visible area in Safari browser ([#2387](https://github.com/ParsePlatform/parse-dashboard/issues/2387)) ([52bba62](https://github.com/ParsePlatform/parse-dashboard/commit/52bba6246cd05c255ca562dcb32da5b104f9908e))
-* Internal error message on login with missing credential ([#2370](https://github.com/ParsePlatform/parse-dashboard/issues/2370)) ([9a6a31f](https://github.com/ParsePlatform/parse-dashboard/commit/9a6a31f7d45d1402bfc3a988bef21c4a5bb1b123))
-* Navigation to page fails if user re-login is required ([#2369](https://github.com/ParsePlatform/parse-dashboard/issues/2369)) ([0db6f55](https://github.com/ParsePlatform/parse-dashboard/commit/0db6f5559f9b7bb1f5a282c6182810ca89945032))
-* Screen goes blank when trying to add column of type `Object` or `GeoPoint` ([#2384](https://github.com/ParsePlatform/parse-dashboard/issues/2384)) ([0886386](https://github.com/ParsePlatform/parse-dashboard/commit/08863868b90455116232b2b73a39391ba990c30c))
-* Text selection not visible in modal dialog header ([#2340](https://github.com/ParsePlatform/parse-dashboard/issues/2340)) ([fb0e79c](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e79c0837c3acce27524e798e02da667cbc5a3))
-
-### Features
-
-* Add export all rows of a class and export in JSON format ([#2361](https://github.com/ParsePlatform/parse-dashboard/issues/2361)) ([9eb36a1](https://github.com/ParsePlatform/parse-dashboard/commit/9eb36a183b8b337960f6e8563ad686958001a22b))
-* Add schema export ([#2362](https://github.com/ParsePlatform/parse-dashboard/issues/2362)) ([33df049](https://github.com/ParsePlatform/parse-dashboard/commit/33df0495a02c4e77f48b3566032bf5686227cce7))
-
-# [5.1.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0...5.1.0-beta.1) (2022-11-01)
-
-
-### Features
-
-* remove limitation to refresh Cloud Jobs list only after 30 seconds ([#2332](https://github.com/ParsePlatform/parse-dashboard/issues/2332)) ([ad1132f](https://github.com/ParsePlatform/parse-dashboard/commit/ad1132fb13e854a030e769fdf7689f35d363031d))
-
-# [5.0.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0...5.0.0-beta.1) (2022-10-17)
-
-
-### Bug Fixes
-
-* increase required Node engine version to `>=14.20.1`; this is a breaking change, but will be published as a patch version because the change should have been done with the release of `5.0.0-alpha.1` which has just been released ([#2281](https://github.com/ParsePlatform/parse-dashboard/issues/2281)) ([50de52b](https://github.com/ParsePlatform/parse-dashboard/commit/50de52b6dddad079224e3c3b21ed16f4df347a33))
-* minor UI layout issues ([#2270](https://github.com/ParsePlatform/parse-dashboard/issues/2270)) ([51d083b](https://github.com/ParsePlatform/parse-dashboard/commit/51d083b218d1291fc27ee2a5f1727c5f2a1dc7d4))
-* raw value of read-only date field in data browser cannot be copied ([#2326](https://github.com/ParsePlatform/parse-dashboard/issues/2326)) ([4af7b98](https://github.com/ParsePlatform/parse-dashboard/commit/4af7b981ec1c8356c33215a49f3757a4005525a1))
-* using browser navigation backward / forward button clears data browser ([#2317](https://github.com/ParsePlatform/parse-dashboard/issues/2317)) ([7d9b957](https://github.com/ParsePlatform/parse-dashboard/commit/7d9b9575184d7b03fac0e74fa785409af399d314))
-
-### Features
-
-* improve distinction between deletion confirmation dialogs ([#2319](https://github.com/ParsePlatform/parse-dashboard/issues/2319)) ([23c12ff](https://github.com/ParsePlatform/parse-dashboard/commit/23c12ffbd49508de5c6e5e6155e6720e9f960fc5))
-* keep entered filter value when changing filter operator ([#2313](https://github.com/ParsePlatform/parse-dashboard/issues/2313)) ([d6d38bf](https://github.com/ParsePlatform/parse-dashboard/commit/d6d38bfc2b06360c6a1ecc990f937cd675d1ff39))
-* remove Node 12 support ([#2277](https://github.com/ParsePlatform/parse-dashboard/issues/2277)) ([18b0e76](https://github.com/ParsePlatform/parse-dashboard/commit/18b0e76e28938f4cb3eaaed7ba3292fc622a35c7))
-
-
-### BREAKING CHANGES
-
-* This version removes support for Node 12; the new minimum required Node version is 14. ([18b0e76](18b0e76))
-
-# [4.2.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-beta.1...4.2.0-beta.2) (2022-09-27)
-
-
-### Bug Fixes
-
-* column names in data browser menu not left-aligned ([#2263](https://github.com/ParsePlatform/parse-dashboard/issues/2263)) ([fc5673a](https://github.com/ParsePlatform/parse-dashboard/commit/fc5673a0ebbc7b4d51e122dbb71172803513309e))
-* context menu in data browser is not scrollable ([#2271](https://github.com/ParsePlatform/parse-dashboard/issues/2271)) ([6c54bd8](https://github.com/ParsePlatform/parse-dashboard/commit/6c54bd82b872d5efed827c3582b4fb3f0aa24a95))
-* dashboard contains invalid html for top-level document ([#2254](https://github.com/ParsePlatform/parse-dashboard/issues/2254)) ([bbce857](https://github.com/ParsePlatform/parse-dashboard/commit/bbce8579ef634bf8e6800f3a6ab8cd650e971695))
-* file upload dialog in data browser shows multiple times ([#2276](https://github.com/ParsePlatform/parse-dashboard/issues/2276)) ([3927340](https://github.com/ParsePlatform/parse-dashboard/commit/39273403568f7ca13a349cac53fbb6a99d8823cc))
-* login fails with error `req.session.regenerate is not a function` ([#2260](https://github.com/ParsePlatform/parse-dashboard/issues/2260)) ([1dc2b91](https://github.com/ParsePlatform/parse-dashboard/commit/1dc2b915e16a2038268f886d4c24e7b081ae0531))
-* unnecessary count operations in Data Browser ([#2250](https://github.com/ParsePlatform/parse-dashboard/issues/2250)) ([bfc1684](https://github.com/ParsePlatform/parse-dashboard/commit/bfc1684375b7c2120e2a4ae566e5b3c38c0ca110))
-* view relation dialog requires browser refresh when navigating ([#2275](https://github.com/ParsePlatform/parse-dashboard/issues/2275)) ([d60a8b7](https://github.com/ParsePlatform/parse-dashboard/commit/d60a8b7c1ab6c4c8dd85051d9c1acb05a0a69a59))
-
-### Features
-
-* add column name to related records ([#2264](https://github.com/ParsePlatform/parse-dashboard/issues/2264)) ([cc82533](https://github.com/ParsePlatform/parse-dashboard/commit/cc82533ae3066daa7b789131a76a409720d45b0b))
-* add Node 18 support ([#2206](https://github.com/ParsePlatform/parse-dashboard/issues/2206)) ([bc7895a](https://github.com/ParsePlatform/parse-dashboard/commit/bc7895aadacc2cc6b0bbcfe786b73d7b82527e55))
-* add option to auto-sort columns alphabetically ([#2252](https://github.com/ParsePlatform/parse-dashboard/issues/2252)) ([2b7f20f](https://github.com/ParsePlatform/parse-dashboard/commit/2b7f20fcc088f74915b50ec1219038ba9b233c27))
-* apply filter in data browser by pressing "Enter" key ([#2256](https://github.com/ParsePlatform/parse-dashboard/issues/2256)) ([bc4f9eb](https://github.com/ParsePlatform/parse-dashboard/commit/bc4f9eb9cad9eb8e362dca20bf932cb3d1e6721c))
-* auto-submit one-time password (OTP) after entering ([#2257](https://github.com/ParsePlatform/parse-dashboard/issues/2257)) ([e528705](https://github.com/ParsePlatform/parse-dashboard/commit/e5287054cff3bff368ba4e379eebf05bfb7d8bd5))
-* show skeleton as loading indicator in data browser while data is loading ([#2273](https://github.com/ParsePlatform/parse-dashboard/issues/2273)) ([059f616](https://github.com/ParsePlatform/parse-dashboard/commit/059f616718006c6f559b0b07a8da641367497d9a))
-
-# [4.2.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.3...4.2.0-beta.1) (2022-09-02)
-
-
-### Bug Fixes
-
-* button text "Show all" in column menu is truncated ([#2208](https://github.com/ParsePlatform/parse-dashboard/issues/2208)) ([b89d044](https://github.com/ParsePlatform/parse-dashboard/commit/b89d044a504c6748932907f075819a13aa08fb51))
-* login fails with error `req.session.regenerate is not a function` ([#2195](https://github.com/ParsePlatform/parse-dashboard/issues/2195)) [skip release] ([31a2b78](https://github.com/ParsePlatform/parse-dashboard/commit/31a2b7813531e370e11b1a050ea28b575a058816))
-* login fails with error `req.session.regenerate is not a function` ([#2197](https://github.com/ParsePlatform/parse-dashboard/issues/2197)) [skip release] ([014d9c1](https://github.com/ParsePlatform/parse-dashboard/commit/014d9c15b0c4efad8b0762e5a49f6a740ead5edb))
-* security upgrade terser from 5.10.0 to 5.14.2 ([#2222](https://github.com/ParsePlatform/parse-dashboard/issues/2222)) ([645cfdd](https://github.com/ParsePlatform/parse-dashboard/commit/645cfdd5939aca429b988e7a7c1a1b6a68230810))
-
-### Features
-
-* improve button labels to be more concise in text ([#2207](https://github.com/ParsePlatform/parse-dashboard/issues/2207)) ([230fc14](https://github.com/ParsePlatform/parse-dashboard/commit/230fc1419db4d4de67c7e591cde415dbbe461c84))
-* remove support and documentation links ([#2203](https://github.com/ParsePlatform/parse-dashboard/issues/2203)) ([35e4476](https://github.com/ParsePlatform/parse-dashboard/commit/35e44768f65c64a228cb6ea8314aa534c5342f08))
-
-## [4.1.3-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.2...4.1.3-beta.1) (2022-06-18)
-
-
-### Bug Fixes
-
-* security upgrade semver-regex from 3.1.3 to 3.1.4 ([#2154](https://github.com/ParsePlatform/parse-dashboard/issues/2154)) ([4f9090a](https://github.com/ParsePlatform/parse-dashboard/commit/4f9090ad22460913f7987964ee54f26d348ca254))
-
-## [4.1.2-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.1...4.1.2-beta.1) (2022-06-01)
-
-
-### Bug Fixes
-
-* config options like `--port` or `--config` are ignored ([#2113](https://github.com/ParsePlatform/parse-dashboard/issues/2113)) ([6d70d8a](https://github.com/ParsePlatform/parse-dashboard/commit/6d70d8aa74caf0d9c0d335a99a48347dc412ac4e))
-* data export is missing rows when exporting more than 100 rows ([#2087](https://github.com/ParsePlatform/parse-dashboard/issues/2087)) ([88f1eab](https://github.com/ParsePlatform/parse-dashboard/commit/88f1eab418ff5ef7af24f9ef6583ccaedef2788e))
-* preserve previous condition field value on constraint change ([#1969](https://github.com/ParsePlatform/parse-dashboard/issues/1969)) ([f4c3060](https://github.com/ParsePlatform/parse-dashboard/commit/f4c30605f675bd7a681be127b2dfb3fc11f90e32))
-* security upgrade async from 2.6.3 to 2.6.4 ([#2094](https://github.com/ParsePlatform/parse-dashboard/issues/2094)) ([283745c](https://github.com/ParsePlatform/parse-dashboard/commit/283745c7c1ebe1bc6f35670f1b6f3b644b94043e))
-* security upgrade cross-fetch from 3.1.4 to 3.1.5 ([#2105](https://github.com/ParsePlatform/parse-dashboard/issues/2105)) ([8d42622](https://github.com/ParsePlatform/parse-dashboard/commit/8d426226e6431793e275b68d680776443675ee35))
-* security upgrade node-fetch from 2.6.5 to 2.6.7 ([#2114](https://github.com/ParsePlatform/parse-dashboard/issues/2114)) ([5423b0d](https://github.com/ParsePlatform/parse-dashboard/commit/5423b0d70cb72081933ed7531a55f49d39f3b92c))
-* upgrade graphiql from 1.8.4 to 1.8.5 ([#2111](https://github.com/ParsePlatform/parse-dashboard/issues/2111)) ([1a50d30](https://github.com/ParsePlatform/parse-dashboard/commit/1a50d30b6b7d769e04c2c8e82d60142dd2e52b70))
-
-### Reverts
-
-* feat: change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([db5d23b](https://github.com/ParsePlatform/parse-dashboard/commit/db5d23bf17f65d0db3e5d0d4ef4ca506d8394fb9))
-
-## [4.1.1-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.0...4.1.1-beta.1) (2022-04-03)
-
-
-### Bug Fixes
-
-* security upgrade js-beautify from 1.14.0 to 1.14.1 ([#2077](https://github.com/ParsePlatform/parse-dashboard/issues/2077)) ([e4ea787](https://github.com/ParsePlatform/parse-dashboard/commit/e4ea7879d88173b02d66b1339ba98805255ba82c))
-* security vulnerability bump minimist from 1.2.5 to 1.2.6 ([#2070](https://github.com/ParsePlatform/parse-dashboard/issues/2070)) ([3d0407e](https://github.com/ParsePlatform/parse-dashboard/commit/3d0407ebd75051bbbe6f0a2aba87b26475e901b9))
-
-# [4.1.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.1...4.1.0-beta.1) (2022-03-23)
-
-
-### Bug Fixes
-
-* adding internal class (e.g. `_User`) fails due to prefixed underscore ([#2036](https://github.com/ParsePlatform/parse-dashboard/issues/2036)) ([e004e70](https://github.com/ParsePlatform/parse-dashboard/commit/e004e701737718f010978b0830d64bf8e1d8c559))
-* security upgrade prismjs from 1.26.0 to 1.27.0 ([#2047](https://github.com/ParsePlatform/parse-dashboard/issues/2047)) ([ffbca12](https://github.com/ParsePlatform/parse-dashboard/commit/ffbca12c80bf32052a1a2b5d315c8a3393d82248))
-* upgrade @babel/runtime from 7.17.0 to 7.17.2 ([#2055](https://github.com/ParsePlatform/parse-dashboard/issues/2055)) ([3e8449b](https://github.com/ParsePlatform/parse-dashboard/commit/3e8449b1679f803e9d26876ccfd28f88fea814ff))
-* upgrade express from 4.17.2 to 4.17.3 ([#2058](https://github.com/ParsePlatform/parse-dashboard/issues/2058)) ([d1357de](https://github.com/ParsePlatform/parse-dashboard/commit/d1357de1281244f040499a2ca54db0faee4d882c))
-* upgrade otpauth from 7.0.10 to 7.0.11 ([#2061](https://github.com/ParsePlatform/parse-dashboard/issues/2061)) ([05c5ac8](https://github.com/ParsePlatform/parse-dashboard/commit/05c5ac87a6cf1675889e58330276dac185929a01))
-
-### Features
-
-* change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([6470c8e](https://github.com/ParsePlatform/parse-dashboard/commit/6470c8e3221e3b4ec95ecd831726a914d24ff619))
-
-# [4.0.0-beta.4](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-beta.3...4.0.0-beta.4) (2022-03-04)
-
-
-### Bug Fixes
-
-* adding internal class (e.g. `_User`) fails due to prefixed underscore ([#2036](https://github.com/ParsePlatform/parse-dashboard/issues/2036)) ([f80bd07](https://github.com/ParsePlatform/parse-dashboard/commit/f80bd07a42b19fc4fa2632e0147fa72812a87c2f))
-* security upgrade prismjs from 1.26.0 to 1.27.0 ([#2047](https://github.com/ParsePlatform/parse-dashboard/issues/2047)) ([3afb24e](https://github.com/ParsePlatform/parse-dashboard/commit/3afb24e708a69560732a725574953333431c1ca9))
-
-# [4.0.0-beta.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-beta.2...4.0.0-beta.3) (2022-02-06)
-
-
-### Bug Fixes
-
-* bump follow-redirects from 1.14.4 to 1.14.7 ([#1997](https://github.com/ParsePlatform/parse-dashboard/issues/1997)) ([4ca2e97](https://github.com/ParsePlatform/parse-dashboard/commit/4ca2e971890c6ee7ee88195a4c75dbb73dc5a0b1))
-* bump markdown-it from 12.3.0 to 12.3.2 ([#1996](https://github.com/ParsePlatform/parse-dashboard/issues/1996)) ([245c22e](https://github.com/ParsePlatform/parse-dashboard/commit/245c22ea21f1af6f3e74a269d74460d5c5ea5c03))
-* bump marked from 0.8.2 to 4.0.10 ([#2001](https://github.com/ParsePlatform/parse-dashboard/issues/2001)) ([ae4cc90](https://github.com/ParsePlatform/parse-dashboard/commit/ae4cc900bdbdc4425f0f30c07c6ef689c8cebe8c))
-* bump nanoid from 3.1.28 to 3.2.0 ([#2008](https://github.com/ParsePlatform/parse-dashboard/issues/2008)) ([6cfe9ca](https://github.com/ParsePlatform/parse-dashboard/commit/6cfe9cae63a49013489e5683b5e16ab3c4399730))
-* calendar widget layout partly hides last days of a month ([#1990](https://github.com/ParsePlatform/parse-dashboard/issues/1990)) ([5bd86dd](https://github.com/ParsePlatform/parse-dashboard/commit/5bd86dd0a5c7857705089cb8a57c078d62863dfc))
-* cannot save nullish values for required fields ([#2003](https://github.com/ParsePlatform/parse-dashboard/issues/2003)) ([e1a5497](https://github.com/ParsePlatform/parse-dashboard/commit/e1a5497d4a999d18dcf60f93cdba16d36250a7cc))
-* crash when checking for new dashboard release without internet connection ([#2015](https://github.com/ParsePlatform/parse-dashboard/issues/2015)) ([8c36e69](https://github.com/ParsePlatform/parse-dashboard/commit/8c36e693c08a960c4002d7d29bde7d111eff2cd4))
-* preserve column sorting preferences in data browser ([#2016](https://github.com/ParsePlatform/parse-dashboard/issues/2016)) ([c2e6557](https://github.com/ParsePlatform/parse-dashboard/commit/c2e65573ccfa29b6d6e727e93b9552380c520f86))
-* upgrade parse from 3.4.0 to 3.4.1 ([#2011](https://github.com/ParsePlatform/parse-dashboard/issues/2011)) ([68cf9e2](https://github.com/ParsePlatform/parse-dashboard/commit/68cf9e238594df29c22a687b2976d56894897f34))
-* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2010](https://github.com/ParsePlatform/parse-dashboard/issues/2010)) ([a508a58](https://github.com/ParsePlatform/parse-dashboard/commit/a508a58ce927fd7e08d249818c38f6fb1305956c))
-
-# [4.0.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-beta.1...4.0.0-beta.2) (2022-01-23)
-
-
-### Bug Fixes
-
-* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2014](https://github.com/ParsePlatform/parse-dashboard/issues/2014)) ([785978e](https://github.com/ParsePlatform/parse-dashboard/commit/785978ecce501cf23cb7fc3d82fa3f7c7dce7f6a))
-
-# [4.0.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-beta.3...4.0.0-beta.1) (2022-01-01)
-
-
-### Bug Fixes
-
-* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([26c0dfa](https://github.com/ParsePlatform/parse-dashboard/commit/26c0dfa7eaa68194d53beaeed1ca6705f3d11a6a))
-* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([fb0e3a9](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e3a9882438069fef1d7926ec74bad6bb3eebc))
-* opening filter menu in data browser leads to blank page ([#1958](https://github.com/ParsePlatform/parse-dashboard/issues/1958)) ([750e8b1](https://github.com/ParsePlatform/parse-dashboard/commit/750e8b1f018e37360e6577f423da005d7f773f20))
-* saving relation column fails if class has required fields ([#1937](https://github.com/ParsePlatform/parse-dashboard/issues/1937)) ([c67db08](https://github.com/ParsePlatform/parse-dashboard/commit/c67db083a9657be2d16ba566a7f6ce497fd66092))
-* security upgrade qrcode from 1.4.4 to 1.5.0 ([#1930](https://github.com/ParsePlatform/parse-dashboard/issues/1930)) ([244e1bb](https://github.com/ParsePlatform/parse-dashboard/commit/244e1bba1a3fb89b9ed8c93a3d0f7163eacd2691))
-
-### Features
-
-* upgrade graphiql from 1.4.7 to 1.5.1 ([#1943](https://github.com/ParsePlatform/parse-dashboard/issues/1943)) ([ebb1f66](https://github.com/ParsePlatform/parse-dashboard/commit/ebb1f660f1d10921f92d05eb58b09d548e00d3a9))
-* upgrade graphql from 15.7.0 to 16.0.0 ([#1926](https://github.com/ParsePlatform/parse-dashboard/issues/1926)) ([7c94e51](https://github.com/ParsePlatform/parse-dashboard/commit/7c94e512ed5428797823d24ac205ece59e94f3ea))
-* upgrade parse from 3.3.1 to 3.4.0 ([#1942](https://github.com/ParsePlatform/parse-dashboard/issues/1942)) ([13a250e](https://github.com/ParsePlatform/parse-dashboard/commit/13a250e2e04ba0f12be0c2da8c9075ea8eb4d83f))
-
-
-### BREAKING CHANGES
-
-* The minimum required Node.js version is 12.22.0. ([7c94e51](7c94e51))
-* The required Node version was increased to >=12.20.0. ([ebb1f66](ebb1f66))
-
-# [3.3.0-beta.3](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-beta.2...3.3.0-beta.3) (2021-11-09)
-
-
-### Bug Fixes
-
-* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([35fd021](https://github.com/ParsePlatform/parse-dashboard/commit/35fd021cb7d7cc05dd6a532948caa25b51fd8340))
-
-# [3.3.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-beta.1...3.3.0-beta.2) (2021-11-02)
-
-
-### Bug Fixes
-
-* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([8731c35](https://github.com/ParsePlatform/parse-dashboard/commit/8731c350bd1867cedbaa735f035d16dde4033bc7))
-
-# [3.3.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.1-beta.1...3.3.0-beta.1) (2021-11-01)
-
-
-### Bug Fixes
-
-* always pass boolean value when toggling checkbox ([#1872](https://github.com/ParsePlatform/parse-dashboard/issues/1872)) ([2e9fd59](https://github.com/ParsePlatform/parse-dashboard/commit/2e9fd59c2ce33f60c904213dc0b5956c4fbfe0c9))
-* app icons are cropped in the app list for small screen sizes ([#1876](https://github.com/ParsePlatform/parse-dashboard/issues/1876)) ([9fc56a6](https://github.com/ParsePlatform/parse-dashboard/commit/9fc56a6be210d82c4f1b03e804bd492d0848a62d))
-* link icon in pointer cell not visible when cell is too narrow ([#1856](https://github.com/ParsePlatform/parse-dashboard/issues/1856)) ([69b897d](https://github.com/ParsePlatform/parse-dashboard/commit/69b897d17f379f9e5af1a0f64c557f54054ebe67))
-* manual column preferences are overwritten by columnPreference option on page refresh ([#1881](https://github.com/ParsePlatform/parse-dashboard/issues/1881)) ([7232b0b](https://github.com/ParsePlatform/parse-dashboard/commit/7232b0b13916ee9bc409279242b5d4bbc4fee033))
-* notification to upgrade dashboard for latest features not working ([#1894](https://github.com/ParsePlatform/parse-dashboard/issues/1894)) ([81361b6](https://github.com/ParsePlatform/parse-dashboard/commit/81361b67946a347d31ef96d61e3dd11503a6ad5b))
-* upgrade graphql from 15.4.0 to 15.6.0 ([#1853](https://github.com/ParsePlatform/parse-dashboard/issues/1853)) ([fca9b14](https://github.com/ParsePlatform/parse-dashboard/commit/fca9b14cbe23ea0537bebb48bc390484932257c7))
-* upgrade graphql from 15.6.0 to 15.6.1 ([#1887](https://github.com/ParsePlatform/parse-dashboard/issues/1887)) ([0cfe59e](https://github.com/ParsePlatform/parse-dashboard/commit/0cfe59e475d9f991a3579eb81e8e8a24705eec6a))
-* upgrade inquirer from 8.1.3 to 8.2.0 ([#1886](https://github.com/ParsePlatform/parse-dashboard/issues/1886)) ([c77f335](https://github.com/ParsePlatform/parse-dashboard/commit/c77f335f6203842d0c83bc161ced0376ae166f26))
-* upgrade passport from 0.4.1 to 0.5.0 ([#1865](https://github.com/ParsePlatform/parse-dashboard/issues/1865)) ([8d845f0](https://github.com/ParsePlatform/parse-dashboard/commit/8d845f0b59d161d21b6b28691b9962869fac2f20))
-* upload of file as default value fails when adding a new column ([#1875](https://github.com/ParsePlatform/parse-dashboard/issues/1875)) ([6040dd0](https://github.com/ParsePlatform/parse-dashboard/commit/6040dd0dfe3315131dfeccc42f54cdf4d6d6b90e))
-
-### Features
-
-* add config option `columnPreference.filterSortToTop` to set column name order in filter dialog ([#1884](https://github.com/ParsePlatform/parse-dashboard/issues/1884)) ([3acbda1](https://github.com/ParsePlatform/parse-dashboard/commit/3acbda1cf2adfaa4471ef761c81e000eb1d04a97))
-* add pointer representation by a chosen column instead of objectId ([#1852](https://github.com/ParsePlatform/parse-dashboard/issues/1852)) ([d747786](https://github.com/ParsePlatform/parse-dashboard/commit/d7477860ebf972a1cb69a43761e77841831754e2))
-* add visual distinction in data browser for internal classes and display their real names with underscore ([#1878](https://github.com/ParsePlatform/parse-dashboard/issues/1878)) ([ac8d85e](https://github.com/ParsePlatform/parse-dashboard/commit/ac8d85e368d1ff0f2bc644b30264b9af7c86c76d))
-* allow GraphIQL headers ([#1836](https://github.com/ParsePlatform/parse-dashboard/issues/1836)) ([3afcf73](https://github.com/ParsePlatform/parse-dashboard/commit/3afcf730c1303b3957ab03d683ada86242175579))
-* allow graphQL headers ([34536b3](https://github.com/ParsePlatform/parse-dashboard/commit/34536b3ba200728e38ff017e487b0339bf0bee6b))
-
-### Reverts
-
-* Revert "Update CloudCode.react.js" ([eea1e2d](https://github.com/ParsePlatform/parse-dashboard/commit/eea1e2dad28795e55467091dc2f7d99790bdd3c4))
-
-## [3.2.1-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.0...3.2.1-beta.1) (2021-10-08)
-
-
-### Bug Fixes
-
-* enabling context menu for read-only cells ([#1844](https://github.com/ParsePlatform/parse-dashboard/issues/1844)) ([a38a885](https://github.com/ParsePlatform/parse-dashboard/commit/a38a885db23e3a76c1e24f880e061dc882e1d37f))
+# [6.0.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0-beta.1...6.0.0-beta.2) (2024-10-07)
+
+
+### Bug Fixes
+
+* Crash after setting filter using context menu and opening filters panel ([#2579](https://github.com/ParsePlatform/parse-dashboard/issues/2579)) ([5a690eb](https://github.com/ParsePlatform/parse-dashboard/commit/5a690ebe91007698fe1a60334112deed5ce94be1))
+* Dashboard not building for Docker platform arm64/v8 ([#2534](https://github.com/ParsePlatform/parse-dashboard/issues/2534)) ([8c4a862](https://github.com/ParsePlatform/parse-dashboard/commit/8c4a862d63b8e568738a2eeab25b6e977cd1ee11))
+* Descriptive statistics for number cells in data browser not showing ([#2581](https://github.com/ParsePlatform/parse-dashboard/issues/2581)) ([e146b6f](https://github.com/ParsePlatform/parse-dashboard/commit/e146b6f54c7dfcb50c83c70f0c55e5ab76dc3c19))
+* Filter string is erased when changing filter condition ([#2586](https://github.com/ParsePlatform/parse-dashboard/issues/2586)) ([6fa2c8c](https://github.com/ParsePlatform/parse-dashboard/commit/6fa2c8c79201b9ea34321277ab085fa0ba988d77))
+* Internal classes `_User`, `_Role`, `_Installation` referenced with pointer don't appear in data browser filter dialog ([#2599](https://github.com/ParsePlatform/parse-dashboard/issues/2599)) ([8239cc8](https://github.com/ParsePlatform/parse-dashboard/commit/8239cc8a05865c5f0b4f5b33dfb224e87d25a319))
+
+### Features
+
+* Add Cloud Config change history to roll back to previous values ([#2554](https://github.com/ParsePlatform/parse-dashboard/issues/2554)) ([a784129](https://github.com/ParsePlatform/parse-dashboard/commit/a784129dd5f25d6464cdd5d768e296fda4501b42))
+* Add data panel to display object related data fetched via Cloud Function ([#2584](https://github.com/ParsePlatform/parse-dashboard/issues/2584)) ([914cc71](https://github.com/ParsePlatform/parse-dashboard/commit/914cc71790157289c32b95cd9d4cdf3d0685989f))
+* Add optional restriction of script execution to certain object fields and values ([#2488](https://github.com/ParsePlatform/parse-dashboard/issues/2488)) ([8feac9b](https://github.com/ParsePlatform/parse-dashboard/commit/8feac9b8359f27ecd7bd4342be7bcae75289ba35))
+* Add relational filter conditions in data browser ([#2576](https://github.com/ParsePlatform/parse-dashboard/issues/2576)) ([aa5c68d](https://github.com/ParsePlatform/parse-dashboard/commit/aa5c68dbca458069d93351edc0bc0287fe63b7e1))
+* Add support for Node 22 ([#2603](https://github.com/ParsePlatform/parse-dashboard/issues/2603)) ([3689106](https://github.com/ParsePlatform/parse-dashboard/commit/3689106b4089aebe73ddb8668863dc82fd267b5c))
+
+# [6.0.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0...6.0.0-beta.1) (2024-05-16)
+
+
+### Bug Fixes
+
+* App metrics for user and installation counts show dash ([#2528](https://github.com/ParsePlatform/parse-dashboard/issues/2528)) ([850d7b3](https://github.com/ParsePlatform/parse-dashboard/commit/850d7b3f20160761a21f68ec398d7207b8226770))
+* Class Level Permissions dialog throws error `TypeError: ce.current is null` for newly created class ([#2549](https://github.com/ParsePlatform/parse-dashboard/issues/2549)) ([27ed692](https://github.com/ParsePlatform/parse-dashboard/commit/27ed6920d38bfe6476aaf2cebd4124dc30389959))
+* Config page fails to load ([#2531](https://github.com/ParsePlatform/parse-dashboard/issues/2531)) ([d721b7c](https://github.com/ParsePlatform/parse-dashboard/commit/d721b7c4f3b98df96a229e60529604b038857d53))
+* Dashboard crashes if Parse Server Cloud Function script returns object ([#2516](https://github.com/ParsePlatform/parse-dashboard/issues/2516)) ([5de08f8](https://github.com/ParsePlatform/parse-dashboard/commit/5de08f8f4d67f287a589c70d8b8d36f9f76897cf))
+* Dashboard scrolls when selecting row in data browser ([#2559](https://github.com/ParsePlatform/parse-dashboard/issues/2559)) ([2aa54a5](https://github.com/ParsePlatform/parse-dashboard/commit/2aa54a5bb1f356a7d4ed5abf3ea42c2e406d5b5a))
+* Data browser redirects to wrong class when changing app ([#2526](https://github.com/ParsePlatform/parse-dashboard/issues/2526)) ([7713f54](https://github.com/ParsePlatform/parse-dashboard/commit/7713f542ef9ef97cbf784fa267f7ea2a51c9472a))
+* Deleting all code in the JS Console editor fills in the default code ([#2558](https://github.com/ParsePlatform/parse-dashboard/issues/2558)) ([4b830ba](https://github.com/ParsePlatform/parse-dashboard/commit/4b830bac8dc6549555eca50e999a3283aff100c7))
+* Open pointer in new tab in data browser not working when mount path is not root ([#2527](https://github.com/ParsePlatform/parse-dashboard/issues/2527)) ([2f4081f](https://github.com/ParsePlatform/parse-dashboard/commit/2f4081f217e1c5d906ed8789e09a3377ddc15121))
+
+### Features
+
+* Add descriptive statistics for number cells in data browser ([#2529](https://github.com/ParsePlatform/parse-dashboard/issues/2529)) ([ead9ec4](https://github.com/ParsePlatform/parse-dashboard/commit/ead9ec4d39abc211540bc76616498533b31001a6))
+* Add filter `starts with` in data browser for fields of type Pointer ([#2553](https://github.com/ParsePlatform/parse-dashboard/issues/2553)) ([0b94ab6](https://github.com/ParsePlatform/parse-dashboard/commit/0b94ab6ced8b338cd3539f8cad37feb4452e1bcc))
+* Add Node 20 support; remove Node 14, 16 support ([#2532](https://github.com/ParsePlatform/parse-dashboard/issues/2532)) ([578a339](https://github.com/ParsePlatform/parse-dashboard/commit/578a339c04990b5ecb3f80d34c690c6d34218bfa))
+* Add Node 20 support; remove Node 14, 16 support ([#2535](https://github.com/ParsePlatform/parse-dashboard/issues/2535)) ([5c90f2d](https://github.com/ParsePlatform/parse-dashboard/commit/5c90f2de1b98a2099453c8f8c0d6817330f7133d))
+* Execute script for selected rows ([#2508](https://github.com/ParsePlatform/parse-dashboard/issues/2508)) ([5d9901e](https://github.com/ParsePlatform/parse-dashboard/commit/5d9901e27b14517f22993ac094bdd7d8fbac401f))
+* Select rows in data browser by clicking and dragging mouse cursor over checkboxes ([#2548](https://github.com/ParsePlatform/parse-dashboard/issues/2548)) ([792ba9e](https://github.com/ParsePlatform/parse-dashboard/commit/792ba9e619224c6101ed21cd36add9fe83c3e348))
+
+
+### BREAKING CHANGES
+
+* Removes support for Node 14 and 16 ([5c90f2d](5c90f2d))
+
+# [5.4.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.3.0...5.4.0-beta.1) (2023-11-16)
+
+
+### Features
+
+* Add refresh indicator to Cloud Config page ([#2505](https://github.com/ParsePlatform/parse-dashboard/issues/2505)) ([a10d1f0](https://github.com/ParsePlatform/parse-dashboard/commit/a10d1f0825688d403206ce7cbacada191dbf5c3b))
+
+# [5.3.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0...5.3.0-beta.1) (2023-09-15)
+
+
+### Bug Fixes
+
+* Adding a file when adding a new row in the data browser doesn't show filename ([#2471](https://github.com/ParsePlatform/parse-dashboard/issues/2471)) ([5bbb94e](https://github.com/ParsePlatform/parse-dashboard/commit/5bbb94e5b5266af5ed770d0241605eb859699831))
+* File extension is hidden in file field when editing object in modal dialog in data browser ([#2472](https://github.com/ParsePlatform/parse-dashboard/issues/2472)) ([8df4e4d](https://github.com/ParsePlatform/parse-dashboard/commit/8df4e4d9abf2ef9e487a48b209f33bedc03b55a3))
+* Incorrect highlight maker position in class list in data browser ([#2490](https://github.com/ParsePlatform/parse-dashboard/issues/2490)) ([8c28d24](https://github.com/ParsePlatform/parse-dashboard/commit/8c28d245cfe5d9558ffd276b9660f73449c4f35a))
+* Pasting location coordinates into field of type `GeoPoint` does not work in data browser ([#2464](https://github.com/ParsePlatform/parse-dashboard/issues/2464)) ([a8ce343](https://github.com/ParsePlatform/parse-dashboard/commit/a8ce3436a4ffe76ccf892965fa21dc2a467e2d14))
+* Selecting a saved filter in data browser also highlights other filters with equal names ([#2466](https://github.com/ParsePlatform/parse-dashboard/issues/2466)) ([35360fe](https://github.com/ParsePlatform/parse-dashboard/commit/35360fec68edbca619075227960062859bb9db2e))
+* Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([5acac3f](https://github.com/ParsePlatform/parse-dashboard/commit/5acac3fb5c74cbb24ec96b721d874fbc36096c39))
+
+### Features
+
+* Add Cloud Function execution on Parse Object in data browser ([#2409](https://github.com/ParsePlatform/parse-dashboard/issues/2409)) ([996ce91](https://github.com/ParsePlatform/parse-dashboard/commit/996ce916bfedb92c36deede4c234dde8c0554cbb))
+* Add parameter `selectedField` to script payload to determine which object field was selected when script was invoked ([#2483](https://github.com/ParsePlatform/parse-dashboard/issues/2483)) ([e98d653](https://github.com/ParsePlatform/parse-dashboard/commit/e98d653b96787720dad5310c5af98869e2ac2923))
+* Add refresh button to Cloud Config page ([#2480](https://github.com/ParsePlatform/parse-dashboard/issues/2480)) ([be212b0](https://github.com/ParsePlatform/parse-dashboard/commit/be212b0ad6c777f7c5ee9a74cac0affa63faa1c1))
+* Add security checks page ([#2491](https://github.com/ParsePlatform/parse-dashboard/issues/2491)) ([103b9c6](https://github.com/ParsePlatform/parse-dashboard/commit/103b9c61d152487898062485b40f11ecdac3d2e7))
+* Add support for confirmation dialog before script execution in data browser ([#2481](https://github.com/ParsePlatform/parse-dashboard/issues/2481)) ([64d3913](https://github.com/ParsePlatform/parse-dashboard/commit/64d391320bbdb519af8ff93fe8579315ef48e36e))
+* Add typing with auto-complete to select a filter field in the data browser ([#2463](https://github.com/ParsePlatform/parse-dashboard/issues/2463)) ([257f76b](https://github.com/ParsePlatform/parse-dashboard/commit/257f76bbf8d1e880e3b7b704edee2eebf76451c8))
+* Reopen last opened class when navigating to data browser ([#2468](https://github.com/ParsePlatform/parse-dashboard/issues/2468)) ([3d7148e](https://github.com/ParsePlatform/parse-dashboard/commit/3d7148e75a6e9eaeeb7cbb546885b5916f6025bb))
+
+### Reverts
+
+* fix: Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([#2477](https://github.com/ParsePlatform/parse-dashboard/issues/2477)) ([2f1d84e](https://github.com/ParsePlatform/parse-dashboard/commit/2f1d84e41c24507b516b933037807f1061182991))
+
+# [5.2.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0-beta.1...5.2.0-beta.2) (2023-06-10)
+
+
+### Bug Fixes
+
+* Back button in data browser disappears after page refresh ([#2421](https://github.com/ParsePlatform/parse-dashboard/issues/2421)) ([6c5f19f](https://github.com/ParsePlatform/parse-dashboard/commit/6c5f19f6ed2cda1f1f0dc59bdaed3ae49f264380))
+* Cannot navigate to nested relation field in data browser ([#2420](https://github.com/ParsePlatform/parse-dashboard/issues/2420)) ([e7ace9e](https://github.com/ParsePlatform/parse-dashboard/commit/e7ace9efa068b92c5cf0e5ccdad169ac7d71e81a))
+* Dashboard crashes when adding a row with modal in a class that contains a pointer to another class that contains an array of pointers ([#2416](https://github.com/ParsePlatform/parse-dashboard/issues/2416)) ([286269f](https://github.com/ParsePlatform/parse-dashboard/commit/286269f3e2c4e1c83b14003ce72caaf1f39b16c1))
+* Empty table in data browser when navigating back using the "backβ button ([#2423](https://github.com/ParsePlatform/parse-dashboard/issues/2423)) ([6f3dab6](https://github.com/ParsePlatform/parse-dashboard/commit/6f3dab60c257c76345235acfd3e43aafadeb84c8))
+* File uploading status not updating in data browser ([#2422](https://github.com/ParsePlatform/parse-dashboard/issues/2422)) ([e761f97](https://github.com/ParsePlatform/parse-dashboard/commit/e761f9715a8366466c6620994ce698adbbfc48cd))
+* Hitting backspace key in data browser crashes dashboard ([#2456](https://github.com/ParsePlatform/parse-dashboard/issues/2456)) ([32aeea2](https://github.com/ParsePlatform/parse-dashboard/commit/32aeea244d81404579f55adf25244c11e3a797d1))
+* Incorrect date picker position in data browser filter dialog ([#2425](https://github.com/ParsePlatform/parse-dashboard/issues/2425)) ([b96b48f](https://github.com/ParsePlatform/parse-dashboard/commit/b96b48fdd5ce452783e0887c36231971a1822173))
+* Option missing for Parse Config parameter to require master key ([#2440](https://github.com/ParsePlatform/parse-dashboard/issues/2440)) ([6623369](https://github.com/ParsePlatform/parse-dashboard/commit/66233698b333422f306dc7024949aef2ea028f34))
+* Scroll position is preserved when re-opening the same class in data browser via navigation bar ([#2445](https://github.com/ParsePlatform/parse-dashboard/issues/2445)) ([667675c](https://github.com/ParsePlatform/parse-dashboard/commit/667675c031b0483be210a88da3b159f5f815d6fb))
+* Text input cursor jumps to first position when writing long text ([#2413](https://github.com/ParsePlatform/parse-dashboard/issues/2413)) ([422ffb2](https://github.com/ParsePlatform/parse-dashboard/commit/422ffb2897bb2664eb47b5aaad5094a8b39431bf))
+
+### Features
+
+* Add export of saved data browser filters via `classPreference` settings ([#2455](https://github.com/ParsePlatform/parse-dashboard/issues/2455)) ([f56f946](https://github.com/ParsePlatform/parse-dashboard/commit/f56f946023c628c96030e9d2d66284c53decd33e))
+* Add filter views to save frequently used filters in data browser ([#2404](https://github.com/ParsePlatform/parse-dashboard/issues/2404)) ([a9ec3a9](https://github.com/ParsePlatform/parse-dashboard/commit/a9ec3a915ff354304f382c17e8d5311b2c96d7ff))
+* Add links to users and roles in ACL dialog and handle invalid entries ([#2436](https://github.com/ParsePlatform/parse-dashboard/issues/2436)) ([a20cb8e](https://github.com/ParsePlatform/parse-dashboard/commit/a20cb8e534d3fecd8d337463864b15048772a9a5))
+* Add visual configurator for Parse Dashboard settings ([#2406](https://github.com/ParsePlatform/parse-dashboard/issues/2406)) ([228d839](https://github.com/ParsePlatform/parse-dashboard/commit/228d83903fd8698da7b96a5b74699f3ff2d5dad4))
+
+# [5.2.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0...5.2.0-beta.1) (2023-05-01)
+
+
+### Bug Fixes
+
+* Uncaught error when editing Number field in Edit Row dialog ([#2401](https://github.com/ParsePlatform/parse-dashboard/issues/2401)) ([26bd6fa](https://github.com/ParsePlatform/parse-dashboard/commit/26bd6fa39be1076621856a9c86dcd1307f8f7fdd))
+
+### Features
+
+* Data types and pointer classes are sorted alphabetically in dialog to add new column ([#2400](https://github.com/ParsePlatform/parse-dashboard/issues/2400)) ([d9d285b](https://github.com/ParsePlatform/parse-dashboard/commit/d9d285b7f90434d3bb138c2c765272498e3f09c3))
+* Sort Cloud Code Jobs alphabetically ([#2402](https://github.com/ParsePlatform/parse-dashboard/issues/2402)) ([77fc372](https://github.com/ParsePlatform/parse-dashboard/commit/77fc372bedb9fb4eca728c1bc076e823c5bc3a2c))
+
+# [5.1.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0-beta.1...5.1.0-beta.2) (2023-03-01)
+
+
+### Bug Fixes
+
+* Add dashboard option `cookieSessionMaxAge` to keep user logged in across browser sessions ([#2366](https://github.com/ParsePlatform/parse-dashboard/issues/2366)) ([9ea95fc](https://github.com/ParsePlatform/parse-dashboard/commit/9ea95fc62103b52cf4fac1d1b567334b5298b318))
+* Blank screen shown if server is unreachable; unsupported pages are accessible via direct URLs ([#2363](https://github.com/ParsePlatform/parse-dashboard/issues/2363)) ([9855258](https://github.com/ParsePlatform/parse-dashboard/commit/98552584df4d8d75d65d3e394b4acad522117a96))
+* Dashboard may display blank page when selecting an app after login ([#2375](https://github.com/ParsePlatform/parse-dashboard/issues/2375)) ([f399b91](https://github.com/ParsePlatform/parse-dashboard/commit/f399b913490f15a0d3be8dde7242dd0b825fa02e))
+* Data browser dialog "No data to display" may be outside of visible area in Safari browser ([#2387](https://github.com/ParsePlatform/parse-dashboard/issues/2387)) ([52bba62](https://github.com/ParsePlatform/parse-dashboard/commit/52bba6246cd05c255ca562dcb32da5b104f9908e))
+* Internal error message on login with missing credential ([#2370](https://github.com/ParsePlatform/parse-dashboard/issues/2370)) ([9a6a31f](https://github.com/ParsePlatform/parse-dashboard/commit/9a6a31f7d45d1402bfc3a988bef21c4a5bb1b123))
+* Navigation to page fails if user re-login is required ([#2369](https://github.com/ParsePlatform/parse-dashboard/issues/2369)) ([0db6f55](https://github.com/ParsePlatform/parse-dashboard/commit/0db6f5559f9b7bb1f5a282c6182810ca89945032))
+* Screen goes blank when trying to add column of type `Object` or `GeoPoint` ([#2384](https://github.com/ParsePlatform/parse-dashboard/issues/2384)) ([0886386](https://github.com/ParsePlatform/parse-dashboard/commit/08863868b90455116232b2b73a39391ba990c30c))
+* Text selection not visible in modal dialog header ([#2340](https://github.com/ParsePlatform/parse-dashboard/issues/2340)) ([fb0e79c](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e79c0837c3acce27524e798e02da667cbc5a3))
+
+### Features
+
+* Add export all rows of a class and export in JSON format ([#2361](https://github.com/ParsePlatform/parse-dashboard/issues/2361)) ([9eb36a1](https://github.com/ParsePlatform/parse-dashboard/commit/9eb36a183b8b337960f6e8563ad686958001a22b))
+* Add schema export ([#2362](https://github.com/ParsePlatform/parse-dashboard/issues/2362)) ([33df049](https://github.com/ParsePlatform/parse-dashboard/commit/33df0495a02c4e77f48b3566032bf5686227cce7))
+
+# [5.1.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0...5.1.0-beta.1) (2022-11-01)
+
+
+### Features
+
+* remove limitation to refresh Cloud Jobs list only after 30 seconds ([#2332](https://github.com/ParsePlatform/parse-dashboard/issues/2332)) ([ad1132f](https://github.com/ParsePlatform/parse-dashboard/commit/ad1132fb13e854a030e769fdf7689f35d363031d))
+
+# [5.0.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0...5.0.0-beta.1) (2022-10-17)
+
+
+### Bug Fixes
+
+* increase required Node engine version to `>=14.20.1`; this is a breaking change, but will be published as a patch version because the change should have been done with the release of `5.0.0-alpha.1` which has just been released ([#2281](https://github.com/ParsePlatform/parse-dashboard/issues/2281)) ([50de52b](https://github.com/ParsePlatform/parse-dashboard/commit/50de52b6dddad079224e3c3b21ed16f4df347a33))
+* minor UI layout issues ([#2270](https://github.com/ParsePlatform/parse-dashboard/issues/2270)) ([51d083b](https://github.com/ParsePlatform/parse-dashboard/commit/51d083b218d1291fc27ee2a5f1727c5f2a1dc7d4))
+* raw value of read-only date field in data browser cannot be copied ([#2326](https://github.com/ParsePlatform/parse-dashboard/issues/2326)) ([4af7b98](https://github.com/ParsePlatform/parse-dashboard/commit/4af7b981ec1c8356c33215a49f3757a4005525a1))
+* using browser navigation backward / forward button clears data browser ([#2317](https://github.com/ParsePlatform/parse-dashboard/issues/2317)) ([7d9b957](https://github.com/ParsePlatform/parse-dashboard/commit/7d9b9575184d7b03fac0e74fa785409af399d314))
+
+### Features
+
+* improve distinction between deletion confirmation dialogs ([#2319](https://github.com/ParsePlatform/parse-dashboard/issues/2319)) ([23c12ff](https://github.com/ParsePlatform/parse-dashboard/commit/23c12ffbd49508de5c6e5e6155e6720e9f960fc5))
+* keep entered filter value when changing filter operator ([#2313](https://github.com/ParsePlatform/parse-dashboard/issues/2313)) ([d6d38bf](https://github.com/ParsePlatform/parse-dashboard/commit/d6d38bfc2b06360c6a1ecc990f937cd675d1ff39))
+* remove Node 12 support ([#2277](https://github.com/ParsePlatform/parse-dashboard/issues/2277)) ([18b0e76](https://github.com/ParsePlatform/parse-dashboard/commit/18b0e76e28938f4cb3eaaed7ba3292fc622a35c7))
+
+
+### BREAKING CHANGES
+
+* This version removes support for Node 12; the new minimum required Node version is 14. ([18b0e76](18b0e76))
+
+# [4.2.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0-beta.1...4.2.0-beta.2) (2022-09-27)
+
+
+### Bug Fixes
+
+* column names in data browser menu not left-aligned ([#2263](https://github.com/ParsePlatform/parse-dashboard/issues/2263)) ([fc5673a](https://github.com/ParsePlatform/parse-dashboard/commit/fc5673a0ebbc7b4d51e122dbb71172803513309e))
+* context menu in data browser is not scrollable ([#2271](https://github.com/ParsePlatform/parse-dashboard/issues/2271)) ([6c54bd8](https://github.com/ParsePlatform/parse-dashboard/commit/6c54bd82b872d5efed827c3582b4fb3f0aa24a95))
+* dashboard contains invalid html for top-level document ([#2254](https://github.com/ParsePlatform/parse-dashboard/issues/2254)) ([bbce857](https://github.com/ParsePlatform/parse-dashboard/commit/bbce8579ef634bf8e6800f3a6ab8cd650e971695))
+* file upload dialog in data browser shows multiple times ([#2276](https://github.com/ParsePlatform/parse-dashboard/issues/2276)) ([3927340](https://github.com/ParsePlatform/parse-dashboard/commit/39273403568f7ca13a349cac53fbb6a99d8823cc))
+* login fails with error `req.session.regenerate is not a function` ([#2260](https://github.com/ParsePlatform/parse-dashboard/issues/2260)) ([1dc2b91](https://github.com/ParsePlatform/parse-dashboard/commit/1dc2b915e16a2038268f886d4c24e7b081ae0531))
+* unnecessary count operations in Data Browser ([#2250](https://github.com/ParsePlatform/parse-dashboard/issues/2250)) ([bfc1684](https://github.com/ParsePlatform/parse-dashboard/commit/bfc1684375b7c2120e2a4ae566e5b3c38c0ca110))
+* view relation dialog requires browser refresh when navigating ([#2275](https://github.com/ParsePlatform/parse-dashboard/issues/2275)) ([d60a8b7](https://github.com/ParsePlatform/parse-dashboard/commit/d60a8b7c1ab6c4c8dd85051d9c1acb05a0a69a59))
+
+### Features
+
+* add column name to related records ([#2264](https://github.com/ParsePlatform/parse-dashboard/issues/2264)) ([cc82533](https://github.com/ParsePlatform/parse-dashboard/commit/cc82533ae3066daa7b789131a76a409720d45b0b))
+* add Node 18 support ([#2206](https://github.com/ParsePlatform/parse-dashboard/issues/2206)) ([bc7895a](https://github.com/ParsePlatform/parse-dashboard/commit/bc7895aadacc2cc6b0bbcfe786b73d7b82527e55))
+* add option to auto-sort columns alphabetically ([#2252](https://github.com/ParsePlatform/parse-dashboard/issues/2252)) ([2b7f20f](https://github.com/ParsePlatform/parse-dashboard/commit/2b7f20fcc088f74915b50ec1219038ba9b233c27))
+* apply filter in data browser by pressing "Enter" key ([#2256](https://github.com/ParsePlatform/parse-dashboard/issues/2256)) ([bc4f9eb](https://github.com/ParsePlatform/parse-dashboard/commit/bc4f9eb9cad9eb8e362dca20bf932cb3d1e6721c))
+* auto-submit one-time password (OTP) after entering ([#2257](https://github.com/ParsePlatform/parse-dashboard/issues/2257)) ([e528705](https://github.com/ParsePlatform/parse-dashboard/commit/e5287054cff3bff368ba4e379eebf05bfb7d8bd5))
+* show skeleton as loading indicator in data browser while data is loading ([#2273](https://github.com/ParsePlatform/parse-dashboard/issues/2273)) ([059f616](https://github.com/ParsePlatform/parse-dashboard/commit/059f616718006c6f559b0b07a8da641367497d9a))
+
+# [4.2.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.3...4.2.0-beta.1) (2022-09-02)
+
+
+### Bug Fixes
+
+* button text "Show all" in column menu is truncated ([#2208](https://github.com/ParsePlatform/parse-dashboard/issues/2208)) ([b89d044](https://github.com/ParsePlatform/parse-dashboard/commit/b89d044a504c6748932907f075819a13aa08fb51))
+* login fails with error `req.session.regenerate is not a function` ([#2195](https://github.com/ParsePlatform/parse-dashboard/issues/2195)) [skip release] ([31a2b78](https://github.com/ParsePlatform/parse-dashboard/commit/31a2b7813531e370e11b1a050ea28b575a058816))
+* login fails with error `req.session.regenerate is not a function` ([#2197](https://github.com/ParsePlatform/parse-dashboard/issues/2197)) [skip release] ([014d9c1](https://github.com/ParsePlatform/parse-dashboard/commit/014d9c15b0c4efad8b0762e5a49f6a740ead5edb))
+* security upgrade terser from 5.10.0 to 5.14.2 ([#2222](https://github.com/ParsePlatform/parse-dashboard/issues/2222)) ([645cfdd](https://github.com/ParsePlatform/parse-dashboard/commit/645cfdd5939aca429b988e7a7c1a1b6a68230810))
+
+### Features
+
+* improve button labels to be more concise in text ([#2207](https://github.com/ParsePlatform/parse-dashboard/issues/2207)) ([230fc14](https://github.com/ParsePlatform/parse-dashboard/commit/230fc1419db4d4de67c7e591cde415dbbe461c84))
+* remove support and documentation links ([#2203](https://github.com/ParsePlatform/parse-dashboard/issues/2203)) ([35e4476](https://github.com/ParsePlatform/parse-dashboard/commit/35e44768f65c64a228cb6ea8314aa534c5342f08))
+
+## [4.1.3-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.2...4.1.3-beta.1) (2022-06-18)
+
+
+### Bug Fixes
+
+* security upgrade semver-regex from 3.1.3 to 3.1.4 ([#2154](https://github.com/ParsePlatform/parse-dashboard/issues/2154)) ([4f9090a](https://github.com/ParsePlatform/parse-dashboard/commit/4f9090ad22460913f7987964ee54f26d348ca254))
+
+## [4.1.2-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.1...4.1.2-beta.1) (2022-06-01)
+
+
+### Bug Fixes
+
+* config options like `--port` or `--config` are ignored ([#2113](https://github.com/ParsePlatform/parse-dashboard/issues/2113)) ([6d70d8a](https://github.com/ParsePlatform/parse-dashboard/commit/6d70d8aa74caf0d9c0d335a99a48347dc412ac4e))
+* data export is missing rows when exporting more than 100 rows ([#2087](https://github.com/ParsePlatform/parse-dashboard/issues/2087)) ([88f1eab](https://github.com/ParsePlatform/parse-dashboard/commit/88f1eab418ff5ef7af24f9ef6583ccaedef2788e))
+* preserve previous condition field value on constraint change ([#1969](https://github.com/ParsePlatform/parse-dashboard/issues/1969)) ([f4c3060](https://github.com/ParsePlatform/parse-dashboard/commit/f4c30605f675bd7a681be127b2dfb3fc11f90e32))
+* security upgrade async from 2.6.3 to 2.6.4 ([#2094](https://github.com/ParsePlatform/parse-dashboard/issues/2094)) ([283745c](https://github.com/ParsePlatform/parse-dashboard/commit/283745c7c1ebe1bc6f35670f1b6f3b644b94043e))
+* security upgrade cross-fetch from 3.1.4 to 3.1.5 ([#2105](https://github.com/ParsePlatform/parse-dashboard/issues/2105)) ([8d42622](https://github.com/ParsePlatform/parse-dashboard/commit/8d426226e6431793e275b68d680776443675ee35))
+* security upgrade node-fetch from 2.6.5 to 2.6.7 ([#2114](https://github.com/ParsePlatform/parse-dashboard/issues/2114)) ([5423b0d](https://github.com/ParsePlatform/parse-dashboard/commit/5423b0d70cb72081933ed7531a55f49d39f3b92c))
+* upgrade graphiql from 1.8.4 to 1.8.5 ([#2111](https://github.com/ParsePlatform/parse-dashboard/issues/2111)) ([1a50d30](https://github.com/ParsePlatform/parse-dashboard/commit/1a50d30b6b7d769e04c2c8e82d60142dd2e52b70))
+
+### Reverts
+
+* feat: change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([db5d23b](https://github.com/ParsePlatform/parse-dashboard/commit/db5d23bf17f65d0db3e5d0d4ef4ca506d8394fb9))
+
+## [4.1.1-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.0...4.1.1-beta.1) (2022-04-03)
+
+
+### Bug Fixes
+
+* security upgrade js-beautify from 1.14.0 to 1.14.1 ([#2077](https://github.com/ParsePlatform/parse-dashboard/issues/2077)) ([e4ea787](https://github.com/ParsePlatform/parse-dashboard/commit/e4ea7879d88173b02d66b1339ba98805255ba82c))
+* security vulnerability bump minimist from 1.2.5 to 1.2.6 ([#2070](https://github.com/ParsePlatform/parse-dashboard/issues/2070)) ([3d0407e](https://github.com/ParsePlatform/parse-dashboard/commit/3d0407ebd75051bbbe6f0a2aba87b26475e901b9))
+
+# [4.1.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.1...4.1.0-beta.1) (2022-03-23)
+
+
+### Bug Fixes
+
+* adding internal class (e.g. `_User`) fails due to prefixed underscore ([#2036](https://github.com/ParsePlatform/parse-dashboard/issues/2036)) ([e004e70](https://github.com/ParsePlatform/parse-dashboard/commit/e004e701737718f010978b0830d64bf8e1d8c559))
+* security upgrade prismjs from 1.26.0 to 1.27.0 ([#2047](https://github.com/ParsePlatform/parse-dashboard/issues/2047)) ([ffbca12](https://github.com/ParsePlatform/parse-dashboard/commit/ffbca12c80bf32052a1a2b5d315c8a3393d82248))
+* upgrade @babel/runtime from 7.17.0 to 7.17.2 ([#2055](https://github.com/ParsePlatform/parse-dashboard/issues/2055)) ([3e8449b](https://github.com/ParsePlatform/parse-dashboard/commit/3e8449b1679f803e9d26876ccfd28f88fea814ff))
+* upgrade express from 4.17.2 to 4.17.3 ([#2058](https://github.com/ParsePlatform/parse-dashboard/issues/2058)) ([d1357de](https://github.com/ParsePlatform/parse-dashboard/commit/d1357de1281244f040499a2ca54db0faee4d882c))
+* upgrade otpauth from 7.0.10 to 7.0.11 ([#2061](https://github.com/ParsePlatform/parse-dashboard/issues/2061)) ([05c5ac8](https://github.com/ParsePlatform/parse-dashboard/commit/05c5ac87a6cf1675889e58330276dac185929a01))
+
+### Features
+
+* change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([6470c8e](https://github.com/ParsePlatform/parse-dashboard/commit/6470c8e3221e3b4ec95ecd831726a914d24ff619))
+
+# [4.0.0-beta.4](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-beta.3...4.0.0-beta.4) (2022-03-04)
+
+
+### Bug Fixes
+
+* adding internal class (e.g. `_User`) fails due to prefixed underscore ([#2036](https://github.com/ParsePlatform/parse-dashboard/issues/2036)) ([f80bd07](https://github.com/ParsePlatform/parse-dashboard/commit/f80bd07a42b19fc4fa2632e0147fa72812a87c2f))
+* security upgrade prismjs from 1.26.0 to 1.27.0 ([#2047](https://github.com/ParsePlatform/parse-dashboard/issues/2047)) ([3afb24e](https://github.com/ParsePlatform/parse-dashboard/commit/3afb24e708a69560732a725574953333431c1ca9))
+
+# [4.0.0-beta.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-beta.2...4.0.0-beta.3) (2022-02-06)
+
+
+### Bug Fixes
+
+* bump follow-redirects from 1.14.4 to 1.14.7 ([#1997](https://github.com/ParsePlatform/parse-dashboard/issues/1997)) ([4ca2e97](https://github.com/ParsePlatform/parse-dashboard/commit/4ca2e971890c6ee7ee88195a4c75dbb73dc5a0b1))
+* bump markdown-it from 12.3.0 to 12.3.2 ([#1996](https://github.com/ParsePlatform/parse-dashboard/issues/1996)) ([245c22e](https://github.com/ParsePlatform/parse-dashboard/commit/245c22ea21f1af6f3e74a269d74460d5c5ea5c03))
+* bump marked from 0.8.2 to 4.0.10 ([#2001](https://github.com/ParsePlatform/parse-dashboard/issues/2001)) ([ae4cc90](https://github.com/ParsePlatform/parse-dashboard/commit/ae4cc900bdbdc4425f0f30c07c6ef689c8cebe8c))
+* bump nanoid from 3.1.28 to 3.2.0 ([#2008](https://github.com/ParsePlatform/parse-dashboard/issues/2008)) ([6cfe9ca](https://github.com/ParsePlatform/parse-dashboard/commit/6cfe9cae63a49013489e5683b5e16ab3c4399730))
+* calendar widget layout partly hides last days of a month ([#1990](https://github.com/ParsePlatform/parse-dashboard/issues/1990)) ([5bd86dd](https://github.com/ParsePlatform/parse-dashboard/commit/5bd86dd0a5c7857705089cb8a57c078d62863dfc))
+* cannot save nullish values for required fields ([#2003](https://github.com/ParsePlatform/parse-dashboard/issues/2003)) ([e1a5497](https://github.com/ParsePlatform/parse-dashboard/commit/e1a5497d4a999d18dcf60f93cdba16d36250a7cc))
+* crash when checking for new dashboard release without internet connection ([#2015](https://github.com/ParsePlatform/parse-dashboard/issues/2015)) ([8c36e69](https://github.com/ParsePlatform/parse-dashboard/commit/8c36e693c08a960c4002d7d29bde7d111eff2cd4))
+* preserve column sorting preferences in data browser ([#2016](https://github.com/ParsePlatform/parse-dashboard/issues/2016)) ([c2e6557](https://github.com/ParsePlatform/parse-dashboard/commit/c2e65573ccfa29b6d6e727e93b9552380c520f86))
+* upgrade parse from 3.4.0 to 3.4.1 ([#2011](https://github.com/ParsePlatform/parse-dashboard/issues/2011)) ([68cf9e2](https://github.com/ParsePlatform/parse-dashboard/commit/68cf9e238594df29c22a687b2976d56894897f34))
+* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2010](https://github.com/ParsePlatform/parse-dashboard/issues/2010)) ([a508a58](https://github.com/ParsePlatform/parse-dashboard/commit/a508a58ce927fd7e08d249818c38f6fb1305956c))
+
+# [4.0.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0-beta.1...4.0.0-beta.2) (2022-01-23)
+
+
+### Bug Fixes
+
+* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2014](https://github.com/ParsePlatform/parse-dashboard/issues/2014)) ([785978e](https://github.com/ParsePlatform/parse-dashboard/commit/785978ecce501cf23cb7fc3d82fa3f7c7dce7f6a))
+
+# [4.0.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-beta.3...4.0.0-beta.1) (2022-01-01)
+
+
+### Bug Fixes
+
+* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([26c0dfa](https://github.com/ParsePlatform/parse-dashboard/commit/26c0dfa7eaa68194d53beaeed1ca6705f3d11a6a))
+* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([fb0e3a9](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e3a9882438069fef1d7926ec74bad6bb3eebc))
+* opening filter menu in data browser leads to blank page ([#1958](https://github.com/ParsePlatform/parse-dashboard/issues/1958)) ([750e8b1](https://github.com/ParsePlatform/parse-dashboard/commit/750e8b1f018e37360e6577f423da005d7f773f20))
+* saving relation column fails if class has required fields ([#1937](https://github.com/ParsePlatform/parse-dashboard/issues/1937)) ([c67db08](https://github.com/ParsePlatform/parse-dashboard/commit/c67db083a9657be2d16ba566a7f6ce497fd66092))
+* security upgrade qrcode from 1.4.4 to 1.5.0 ([#1930](https://github.com/ParsePlatform/parse-dashboard/issues/1930)) ([244e1bb](https://github.com/ParsePlatform/parse-dashboard/commit/244e1bba1a3fb89b9ed8c93a3d0f7163eacd2691))
+
+### Features
+
+* upgrade graphiql from 1.4.7 to 1.5.1 ([#1943](https://github.com/ParsePlatform/parse-dashboard/issues/1943)) ([ebb1f66](https://github.com/ParsePlatform/parse-dashboard/commit/ebb1f660f1d10921f92d05eb58b09d548e00d3a9))
+* upgrade graphql from 15.7.0 to 16.0.0 ([#1926](https://github.com/ParsePlatform/parse-dashboard/issues/1926)) ([7c94e51](https://github.com/ParsePlatform/parse-dashboard/commit/7c94e512ed5428797823d24ac205ece59e94f3ea))
+* upgrade parse from 3.3.1 to 3.4.0 ([#1942](https://github.com/ParsePlatform/parse-dashboard/issues/1942)) ([13a250e](https://github.com/ParsePlatform/parse-dashboard/commit/13a250e2e04ba0f12be0c2da8c9075ea8eb4d83f))
+
+
+### BREAKING CHANGES
+
+* The minimum required Node.js version is 12.22.0. ([7c94e51](7c94e51))
+* The required Node version was increased to >=12.20.0. ([ebb1f66](ebb1f66))
+
+# [3.3.0-beta.3](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-beta.2...3.3.0-beta.3) (2021-11-09)
+
+
+### Bug Fixes
+
+* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([35fd021](https://github.com/ParsePlatform/parse-dashboard/commit/35fd021cb7d7cc05dd6a532948caa25b51fd8340))
+
+# [3.3.0-beta.2](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0-beta.1...3.3.0-beta.2) (2021-11-02)
+
+
+### Bug Fixes
+
+* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([8731c35](https://github.com/ParsePlatform/parse-dashboard/commit/8731c350bd1867cedbaa735f035d16dde4033bc7))
+
+# [3.3.0-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.1-beta.1...3.3.0-beta.1) (2021-11-01)
+
+
+### Bug Fixes
+
+* always pass boolean value when toggling checkbox ([#1872](https://github.com/ParsePlatform/parse-dashboard/issues/1872)) ([2e9fd59](https://github.com/ParsePlatform/parse-dashboard/commit/2e9fd59c2ce33f60c904213dc0b5956c4fbfe0c9))
+* app icons are cropped in the app list for small screen sizes ([#1876](https://github.com/ParsePlatform/parse-dashboard/issues/1876)) ([9fc56a6](https://github.com/ParsePlatform/parse-dashboard/commit/9fc56a6be210d82c4f1b03e804bd492d0848a62d))
+* link icon in pointer cell not visible when cell is too narrow ([#1856](https://github.com/ParsePlatform/parse-dashboard/issues/1856)) ([69b897d](https://github.com/ParsePlatform/parse-dashboard/commit/69b897d17f379f9e5af1a0f64c557f54054ebe67))
+* manual column preferences are overwritten by columnPreference option on page refresh ([#1881](https://github.com/ParsePlatform/parse-dashboard/issues/1881)) ([7232b0b](https://github.com/ParsePlatform/parse-dashboard/commit/7232b0b13916ee9bc409279242b5d4bbc4fee033))
+* notification to upgrade dashboard for latest features not working ([#1894](https://github.com/ParsePlatform/parse-dashboard/issues/1894)) ([81361b6](https://github.com/ParsePlatform/parse-dashboard/commit/81361b67946a347d31ef96d61e3dd11503a6ad5b))
+* upgrade graphql from 15.4.0 to 15.6.0 ([#1853](https://github.com/ParsePlatform/parse-dashboard/issues/1853)) ([fca9b14](https://github.com/ParsePlatform/parse-dashboard/commit/fca9b14cbe23ea0537bebb48bc390484932257c7))
+* upgrade graphql from 15.6.0 to 15.6.1 ([#1887](https://github.com/ParsePlatform/parse-dashboard/issues/1887)) ([0cfe59e](https://github.com/ParsePlatform/parse-dashboard/commit/0cfe59e475d9f991a3579eb81e8e8a24705eec6a))
+* upgrade inquirer from 8.1.3 to 8.2.0 ([#1886](https://github.com/ParsePlatform/parse-dashboard/issues/1886)) ([c77f335](https://github.com/ParsePlatform/parse-dashboard/commit/c77f335f6203842d0c83bc161ced0376ae166f26))
+* upgrade passport from 0.4.1 to 0.5.0 ([#1865](https://github.com/ParsePlatform/parse-dashboard/issues/1865)) ([8d845f0](https://github.com/ParsePlatform/parse-dashboard/commit/8d845f0b59d161d21b6b28691b9962869fac2f20))
+* upload of file as default value fails when adding a new column ([#1875](https://github.com/ParsePlatform/parse-dashboard/issues/1875)) ([6040dd0](https://github.com/ParsePlatform/parse-dashboard/commit/6040dd0dfe3315131dfeccc42f54cdf4d6d6b90e))
+
+### Features
+
+* add config option `columnPreference.filterSortToTop` to set column name order in filter dialog ([#1884](https://github.com/ParsePlatform/parse-dashboard/issues/1884)) ([3acbda1](https://github.com/ParsePlatform/parse-dashboard/commit/3acbda1cf2adfaa4471ef761c81e000eb1d04a97))
+* add pointer representation by a chosen column instead of objectId ([#1852](https://github.com/ParsePlatform/parse-dashboard/issues/1852)) ([d747786](https://github.com/ParsePlatform/parse-dashboard/commit/d7477860ebf972a1cb69a43761e77841831754e2))
+* add visual distinction in data browser for internal classes and display their real names with underscore ([#1878](https://github.com/ParsePlatform/parse-dashboard/issues/1878)) ([ac8d85e](https://github.com/ParsePlatform/parse-dashboard/commit/ac8d85e368d1ff0f2bc644b30264b9af7c86c76d))
+* allow GraphIQL headers ([#1836](https://github.com/ParsePlatform/parse-dashboard/issues/1836)) ([3afcf73](https://github.com/ParsePlatform/parse-dashboard/commit/3afcf730c1303b3957ab03d683ada86242175579))
+* allow graphQL headers ([34536b3](https://github.com/ParsePlatform/parse-dashboard/commit/34536b3ba200728e38ff017e487b0339bf0bee6b))
+
+### Reverts
+
+* Revert "Update CloudCode.react.js" ([eea1e2d](https://github.com/ParsePlatform/parse-dashboard/commit/eea1e2dad28795e55467091dc2f7d99790bdd3c4))
+
+## [3.2.1-beta.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.0...3.2.1-beta.1) (2021-10-08)
+
+
+### Bug Fixes
+
+* enabling context menu for read-only cells ([#1844](https://github.com/ParsePlatform/parse-dashboard/issues/1844)) ([a38a885](https://github.com/ParsePlatform/parse-dashboard/commit/a38a885db23e3a76c1e24f880e061dc882e1d37f))
diff --git a/changelogs/CHANGELOG_release.md b/changelogs/CHANGELOG_release.md
index 1b29a349a6..f51d911cb8 100644
--- a/changelogs/CHANGELOG_release.md
+++ b/changelogs/CHANGELOG_release.md
@@ -1,801 +1,801 @@
-## [7.2.1](https://github.com/parse-community/parse-dashboard/compare/7.2.0...7.2.1) (2025-07-01)
-
-
-### Bug Fixes
-
-* Data browser does not cancel obsolete long-loading request on sorting field change ([#2839](https://github.com/parse-community/parse-dashboard/issues/2839)) ([0f85376](https://github.com/parse-community/parse-dashboard/commit/0f85376b8ae1db7ae31626896b06fdc0bd8efd75))
-
-# [7.2.0](https://github.com/parse-community/parse-dashboard/compare/7.1.0...7.2.0) (2025-06-01)
-
-
-### Bug Fixes
-
-* Data browser not scrolling to top when changing filter while cell selected ([#2821](https://github.com/parse-community/parse-dashboard/issues/2821)) ([c2527dc](https://github.com/parse-community/parse-dashboard/commit/c2527dc1d3e084dcab3d52955bae7760bb27da36))
-* Data browser table shows loading indicator when info panel is loading ([#2782](https://github.com/parse-community/parse-dashboard/issues/2782)) ([da57e5e](https://github.com/parse-community/parse-dashboard/commit/da57e5ea5ec77abc1bbd4d97ba3a5a30cd82e4a7))
-* Improperly aligned unfolding sub-items in context menu in data browser ([#2726](https://github.com/parse-community/parse-dashboard/issues/2726)) ([3fed292](https://github.com/parse-community/parse-dashboard/commit/3fed292b70f9400d4fb09b44d215de377d568c03))
-* Notifications fade out erratically when executing a script on large number of rows ([#2822](https://github.com/parse-community/parse-dashboard/issues/2822)) ([3891381](https://github.com/parse-community/parse-dashboard/commit/38913813f0f3252b241a322aaf50142d5564201a))
-* Pagination does not reset to page 1 when clicking on class or filter ([#2798](https://github.com/parse-community/parse-dashboard/issues/2798)) ([29d1447](https://github.com/parse-community/parse-dashboard/commit/29d1447509db74c2ddc0c7f01a1cb7c7cd8573ff))
-* Saving new filter in data browser overwrites filters added in other dashboard instances ([#2769](https://github.com/parse-community/parse-dashboard/issues/2769)) ([46bc154](https://github.com/parse-community/parse-dashboard/commit/46bc154cc008c2d8f8d8248e52ec06b9e64cb779))
-* Selecting a saved filter in data browser may highlight a different filter ([#2783](https://github.com/parse-community/parse-dashboard/issues/2783)) ([4c6e853](https://github.com/parse-community/parse-dashboard/commit/4c6e853f4aa660a8dab61f349f8ccf70572ab8ca))
-
-### Features
-
-* Add confirmation dialog before saving a Cloud Config parameter that has been modified since editing it ([#2770](https://github.com/parse-community/parse-dashboard/issues/2770)) ([adb9b5c](https://github.com/parse-community/parse-dashboard/commit/adb9b5c34c7e6cb02d63ad35fbcca8ea9544e36c))
-* Add custom CSS styling for info panel items ([#2788](https://github.com/parse-community/parse-dashboard/issues/2788)) ([f031e5d](https://github.com/parse-community/parse-dashboard/commit/f031e5d4fa509c9fe098d0a6c77e960f79536334))
-* Add relative date filter in data browser for date constraints relative to when the query is run ([#2736](https://github.com/parse-community/parse-dashboard/issues/2736)) ([d9dfd69](https://github.com/parse-community/parse-dashboard/commit/d9dfd69b0fcef01456f1feee9b939b7504113e29))
-* Add script execution on parallel batches with option `script.executionBatchSize` ([#2828](https://github.com/parse-community/parse-dashboard/issues/2828)) ([cee8b8d](https://github.com/parse-community/parse-dashboard/commit/cee8b8dd12bc44a352e43073aed65782277841dd))
-* Keyboard Enter key can be used to select item in data browser filter dialog field dropdown ([#2771](https://github.com/parse-community/parse-dashboard/issues/2771)) ([dc14710](https://github.com/parse-community/parse-dashboard/commit/dc14710b63b0dc79ae52b322c683204941c4cb11))
-
-# [7.1.0](https://github.com/parse-community/parse-dashboard/compare/7.0.0...7.1.0) (2025-05-01)
-
-
-### Bug Fixes
-
-* Clicking on pointer in data browser when using pagination does not reset to first page ([#2767](https://github.com/parse-community/parse-dashboard/issues/2767)) ([ab512e5](https://github.com/parse-community/parse-dashboard/commit/ab512e52d137cdb30167ece53a9ce12c38f5d155))
-* Dashboard crashes on login due to `passport` upgrade ([#2758](https://github.com/parse-community/parse-dashboard/issues/2758)) ([ee74321](https://github.com/parse-community/parse-dashboard/commit/ee743210f67dd9e206e6302f57a5d025099be0b4))
-* Dashboard crashes when selecting app ([#2747](https://github.com/parse-community/parse-dashboard/issues/2747)) ([8b0cfea](https://github.com/parse-community/parse-dashboard/commit/8b0cfeae4759eaf41eef3d92aa52c79df2918e54))
-* Data browser filters "key exists" and "key does not exist" not working ([#2760](https://github.com/parse-community/parse-dashboard/issues/2760)) ([0691b3c](https://github.com/parse-community/parse-dashboard/commit/0691b3cf30a77421e17299935880c54f9c8c9c32))
-* Data browser filters "key exists" and "key does not exist" not working ([#2762](https://github.com/parse-community/parse-dashboard/issues/2762)) ([099eca3](https://github.com/parse-community/parse-dashboard/commit/099eca30be021c6466e4f5279ebd2e6f5cd1c1c3))
-* Data loading indicator not showing when using pagination ([#2768](https://github.com/parse-community/parse-dashboard/issues/2768)) ([62d7aec](https://github.com/parse-community/parse-dashboard/commit/62d7aec3c43c634f8dc632ef7a563cfdad5cd773))
-* Improperly aligned unfolding sub-items in context menu in data browser ([#2713](https://github.com/parse-community/parse-dashboard/issues/2713)) ([189c817](https://github.com/parse-community/parse-dashboard/commit/189c8170425642fd94a9360e5c001e6687f50c29))
-* Logout bar layout not aligned with data browser navigation bar ([#2720](https://github.com/parse-community/parse-dashboard/issues/2720)) ([01a2a1c](https://github.com/parse-community/parse-dashboard/commit/01a2a1c773484fef2f847e0c05a8823174782ee2))
-* Navigation bar in data browser is transparent and partly covers info panel ([#2717](https://github.com/parse-community/parse-dashboard/issues/2717)) ([60b38a5](https://github.com/parse-community/parse-dashboard/commit/60b38a53e1e288aab2a47d43697fe660fef1fffb))
-* Obsolete, long-running data fetch request overrides displayed data of newer fetch request in the data browser ([#2715](https://github.com/parse-community/parse-dashboard/issues/2715)) ([31668eb](https://github.com/parse-community/parse-dashboard/commit/31668ebdbb298b96597243947fd842be9063eed5))
-
-### Features
-
-* Add pagination to data browser ([#2659](https://github.com/parse-community/parse-dashboard/issues/2659)) ([a3c8a11](https://github.com/parse-community/parse-dashboard/commit/a3c8a119cb9f669e0e663ec6c018e2b2cf305596))
-* Allow row selection in data browser by dragging mouse outside of selection box column ([#2716](https://github.com/parse-community/parse-dashboard/issues/2716)) ([7c0f607](https://github.com/parse-community/parse-dashboard/commit/7c0f607fbb6c704a9793165a9cf14d6a1be792db))
-* Display filter list in data browser sorted alphabetically ([#2761](https://github.com/parse-community/parse-dashboard/issues/2761)) ([0209a0d](https://github.com/parse-community/parse-dashboard/commit/0209a0d78a3864ba059444ec5eb4a6d00a0430f4))
-
-# [7.0.0](https://github.com/parse-community/parse-dashboard/compare/6.2.0...7.0.0) (2025-04-04)
-
-
-### Bug Fixes
-
-* Title row disappears when scrolling down in data browser ([#2690](https://github.com/parse-community/parse-dashboard/issues/2690)) ([7eebc45](https://github.com/parse-community/parse-dashboard/commit/7eebc45a17844e7d72c5a7e86963ee355f63dd77))
-
-### Features
-
-* Allow to select and copy multiple cells in data browser ([#2691](https://github.com/parse-community/parse-dashboard/issues/2691)) ([eb50315](https://github.com/parse-community/parse-dashboard/commit/eb503151b30a5fd35437559eaddfc7e7e5991dc7))
-* Increase minimum required Node versions to `18.20.4`, `20.18.0`, `22.12.0` ([#2694](https://github.com/parse-community/parse-dashboard/issues/2694)) ([034df6a](https://github.com/parse-community/parse-dashboard/commit/034df6af3526edc33768f408c9e8faf018fa2ba9))
-
-
-### BREAKING CHANGES
-
-* Increases the minimum required Node versions to `18.20.4`, `20.18.0`, `22.12.0`. ([034df6a](034df6a))
-
-# [6.2.0](https://github.com/ParsePlatform/parse-dashboard/compare/6.1.0...6.2.0) (2025-03-17)
-
-
-### Bug Fixes
-
-* Bump @babel/runtime from 7.20.13 to 7.26.10 ([#2677](https://github.com/ParsePlatform/parse-dashboard/issues/2677)) ([37f4ea6](https://github.com/ParsePlatform/parse-dashboard/commit/37f4ea64a39c0f54aaf2e3631fd1f7b6bc03ae96))
-* Dashboard crashes when setting `unique` filter on pointer field in data browser ([#2660](https://github.com/ParsePlatform/parse-dashboard/issues/2660)) ([68fdbe8](https://github.com/ParsePlatform/parse-dashboard/commit/68fdbe8460d2afafbc922479bfef86e994449a20))
-* Security upgrade node from 20.18.2-alpine3.20 to 20.19.0-alpine3.20 ([#2676](https://github.com/ParsePlatform/parse-dashboard/issues/2676)) ([d251334](https://github.com/ParsePlatform/parse-dashboard/commit/d251334df22fbe46e77076bb583b218be6f1889c))
-
-### Features
-
-* Use Enter key to edit cell content in data browser ([#2672](https://github.com/ParsePlatform/parse-dashboard/issues/2672)) ([ac2dc41](https://github.com/ParsePlatform/parse-dashboard/commit/ac2dc41122faedb1fb7da205ba26229a77417da8))
-
-# [6.1.0](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0...6.1.0) (2025-03-04)
-
-
-### Bug Fixes
-
-* Info panel Cloud Code call is unauthenticated without using master key ([#2641](https://github.com/ParsePlatform/parse-dashboard/issues/2641)) ([e879e4f](https://github.com/ParsePlatform/parse-dashboard/commit/e879e4f541dc0aa3e23afe6606ee7df9ba22b63a))
-* Info panel Cloud Code call sends `objectId` instead of `Parse.Object` ([#2643](https://github.com/ParsePlatform/parse-dashboard/issues/2643)) ([a4bcabc](https://github.com/ParsePlatform/parse-dashboard/commit/a4bcabc5c5eaf07bc9eed11814c19901e1d310da))
-* Info panel item `panel` calls Cloud Code with parameter `objectId` instead of `Parse.Object` and without `masterKey` ([#2649](https://github.com/ParsePlatform/parse-dashboard/issues/2649)) ([884ff70](https://github.com/ParsePlatform/parse-dashboard/commit/884ff70567e372ff676297b6fb7856fbb7b71cbb))
-* Info panel not configurable via `new ParseDashboard()` when running as express middleware ([#2639](https://github.com/ParsePlatform/parse-dashboard/issues/2639)) ([a9b8cd4](https://github.com/ParsePlatform/parse-dashboard/commit/a9b8cd4a7228837cbb462a45e39b01494852f347))
-* Info panel not showing when some apps miss infoPanel config ([#2627](https://github.com/ParsePlatform/parse-dashboard/issues/2627)) ([539e883](https://github.com/ParsePlatform/parse-dashboard/commit/539e88348721bc100a80ae00de81a921bc2c53d4))
-* Node 22 support missing in package.json ([#2617](https://github.com/ParsePlatform/parse-dashboard/issues/2617)) ([8c07284](https://github.com/ParsePlatform/parse-dashboard/commit/8c07284cd571c69426c3f080c2698b0624fd4ec4))
-* Security upgrade cross-spawn from 7.0.3 to 7.0.6 ([#2629](https://github.com/ParsePlatform/parse-dashboard/issues/2629)) ([47a43e0](https://github.com/ParsePlatform/parse-dashboard/commit/47a43e0ac5d55fc9e214079895f71af7c7e3c350))
-* Security upgrade express from 4.21.0 to 4.21.1 ([#2607](https://github.com/ParsePlatform/parse-dashboard/issues/2607)) ([54bf0af](https://github.com/ParsePlatform/parse-dashboard/commit/54bf0afa0691e448b7ec20395753468e047e1fd1))
-* Security upgrade node from 20.17.0-alpine3.20 to 20.18.2-alpine3.20 ([#2647](https://github.com/ParsePlatform/parse-dashboard/issues/2647)) ([44df723](https://github.com/ParsePlatform/parse-dashboard/commit/44df723b56636607f44c16f2ca24e81e0e17dfb3))
-* Security upgrade ws, parse and puppeteer ([#2618](https://github.com/ParsePlatform/parse-dashboard/issues/2618)) ([bab71dc](https://github.com/ParsePlatform/parse-dashboard/commit/bab71dc57195efa62518127de842edd5902603de))
-
-### Features
-
-* Add cell selection in data browser on space bar touch down ([#2661](https://github.com/ParsePlatform/parse-dashboard/issues/2661)) ([9d623a9](https://github.com/ParsePlatform/parse-dashboard/commit/9d623a97a4e9ff9692f72191a33441a22fb6956e))
-* Add dynamic master key by allowing to set option `masterKey` to a function ([#2655](https://github.com/ParsePlatform/parse-dashboard/issues/2655)) ([9025ed0](https://github.com/ParsePlatform/parse-dashboard/commit/9025ed07b5e7fd801a6ec56c71a12299b2d57279))
-* Add info panel `keyValue` item parameter `isRelativeUrl` to link to dashboard pages ([#2646](https://github.com/ParsePlatform/parse-dashboard/issues/2646)) ([6389fc6](https://github.com/ParsePlatform/parse-dashboard/commit/6389fc6097a76dc95e3cbcdab56c8d1f96909d97))
-* Add info panel item `panel` to load and display data on demand ([#2622](https://github.com/ParsePlatform/parse-dashboard/issues/2622)) ([8e5741d](https://github.com/ParsePlatform/parse-dashboard/commit/8e5741d73b5a8c4fcb5d4248de1bdcd7bd957ee8))
-
-# [6.0.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0...6.0.0) (2024-10-07)
-
-
-### Bug Fixes
-
-* App metrics for user and installation counts show dash ([#2528](https://github.com/ParsePlatform/parse-dashboard/issues/2528)) ([850d7b3](https://github.com/ParsePlatform/parse-dashboard/commit/850d7b3f20160761a21f68ec398d7207b8226770))
-* Class Level Permissions dialog throws error `TypeError: ce.current is null` for newly created class ([#2549](https://github.com/ParsePlatform/parse-dashboard/issues/2549)) ([27ed692](https://github.com/ParsePlatform/parse-dashboard/commit/27ed6920d38bfe6476aaf2cebd4124dc30389959))
-* Config page fails to load ([#2531](https://github.com/ParsePlatform/parse-dashboard/issues/2531)) ([d721b7c](https://github.com/ParsePlatform/parse-dashboard/commit/d721b7c4f3b98df96a229e60529604b038857d53))
-* Crash after setting filter using context menu and opening filters panel ([#2579](https://github.com/ParsePlatform/parse-dashboard/issues/2579)) ([5a690eb](https://github.com/ParsePlatform/parse-dashboard/commit/5a690ebe91007698fe1a60334112deed5ce94be1))
-* Dashboard crashes if Parse Server Cloud Function script returns object ([#2516](https://github.com/ParsePlatform/parse-dashboard/issues/2516)) ([5de08f8](https://github.com/ParsePlatform/parse-dashboard/commit/5de08f8f4d67f287a589c70d8b8d36f9f76897cf))
-* Dashboard not building for Docker platform arm64/v8 ([#2534](https://github.com/ParsePlatform/parse-dashboard/issues/2534)) ([8c4a862](https://github.com/ParsePlatform/parse-dashboard/commit/8c4a862d63b8e568738a2eeab25b6e977cd1ee11))
-* Dashboard scrolls when selecting row in data browser ([#2559](https://github.com/ParsePlatform/parse-dashboard/issues/2559)) ([2aa54a5](https://github.com/ParsePlatform/parse-dashboard/commit/2aa54a5bb1f356a7d4ed5abf3ea42c2e406d5b5a))
-* Data browser redirects to wrong class when changing app ([#2526](https://github.com/ParsePlatform/parse-dashboard/issues/2526)) ([7713f54](https://github.com/ParsePlatform/parse-dashboard/commit/7713f542ef9ef97cbf784fa267f7ea2a51c9472a))
-* Deleting all code in the JS Console editor fills in the default code ([#2558](https://github.com/ParsePlatform/parse-dashboard/issues/2558)) ([4b830ba](https://github.com/ParsePlatform/parse-dashboard/commit/4b830bac8dc6549555eca50e999a3283aff100c7))
-* Descriptive statistics for number cells in data browser not showing ([#2581](https://github.com/ParsePlatform/parse-dashboard/issues/2581)) ([e146b6f](https://github.com/ParsePlatform/parse-dashboard/commit/e146b6f54c7dfcb50c83c70f0c55e5ab76dc3c19))
-* Filter string is erased when changing filter condition ([#2586](https://github.com/ParsePlatform/parse-dashboard/issues/2586)) ([6fa2c8c](https://github.com/ParsePlatform/parse-dashboard/commit/6fa2c8c79201b9ea34321277ab085fa0ba988d77))
-* Internal classes `_User`, `_Role`, `_Installation` referenced with pointer don't appear in data browser filter dialog ([#2599](https://github.com/ParsePlatform/parse-dashboard/issues/2599)) ([8239cc8](https://github.com/ParsePlatform/parse-dashboard/commit/8239cc8a05865c5f0b4f5b33dfb224e87d25a319))
-* Open pointer in new tab in data browser not working when mount path is not root ([#2527](https://github.com/ParsePlatform/parse-dashboard/issues/2527)) ([2f4081f](https://github.com/ParsePlatform/parse-dashboard/commit/2f4081f217e1c5d906ed8789e09a3377ddc15121))
-
-### Features
-
-* Add Cloud Config change history to roll back to previous values ([#2554](https://github.com/ParsePlatform/parse-dashboard/issues/2554)) ([a784129](https://github.com/ParsePlatform/parse-dashboard/commit/a784129dd5f25d6464cdd5d768e296fda4501b42))
-* Add data panel to display object related data fetched via Cloud Function ([#2584](https://github.com/ParsePlatform/parse-dashboard/issues/2584)) ([914cc71](https://github.com/ParsePlatform/parse-dashboard/commit/914cc71790157289c32b95cd9d4cdf3d0685989f))
-* Add descriptive statistics for number cells in data browser ([#2529](https://github.com/ParsePlatform/parse-dashboard/issues/2529)) ([ead9ec4](https://github.com/ParsePlatform/parse-dashboard/commit/ead9ec4d39abc211540bc76616498533b31001a6))
-* Add filter `starts with` in data browser for fields of type Pointer ([#2553](https://github.com/ParsePlatform/parse-dashboard/issues/2553)) ([0b94ab6](https://github.com/ParsePlatform/parse-dashboard/commit/0b94ab6ced8b338cd3539f8cad37feb4452e1bcc))
-* Add Node 20 support; remove Node 14, 16 support ([#2532](https://github.com/ParsePlatform/parse-dashboard/issues/2532)) ([578a339](https://github.com/ParsePlatform/parse-dashboard/commit/578a339c04990b5ecb3f80d34c690c6d34218bfa))
-* Add Node 20 support; remove Node 14, 16 support ([#2535](https://github.com/ParsePlatform/parse-dashboard/issues/2535)) ([5c90f2d](https://github.com/ParsePlatform/parse-dashboard/commit/5c90f2de1b98a2099453c8f8c0d6817330f7133d))
-* Add optional restriction of script execution to certain object fields and values ([#2488](https://github.com/ParsePlatform/parse-dashboard/issues/2488)) ([8feac9b](https://github.com/ParsePlatform/parse-dashboard/commit/8feac9b8359f27ecd7bd4342be7bcae75289ba35))
-* Add relational filter conditions in data browser ([#2576](https://github.com/ParsePlatform/parse-dashboard/issues/2576)) ([aa5c68d](https://github.com/ParsePlatform/parse-dashboard/commit/aa5c68dbca458069d93351edc0bc0287fe63b7e1))
-* Add support for Node 22 ([#2603](https://github.com/ParsePlatform/parse-dashboard/issues/2603)) ([3689106](https://github.com/ParsePlatform/parse-dashboard/commit/3689106b4089aebe73ddb8668863dc82fd267b5c))
-* Execute script for selected rows ([#2508](https://github.com/ParsePlatform/parse-dashboard/issues/2508)) ([5d9901e](https://github.com/ParsePlatform/parse-dashboard/commit/5d9901e27b14517f22993ac094bdd7d8fbac401f))
-* Select rows in data browser by clicking and dragging mouse cursor over checkboxes ([#2548](https://github.com/ParsePlatform/parse-dashboard/issues/2548)) ([792ba9e](https://github.com/ParsePlatform/parse-dashboard/commit/792ba9e619224c6101ed21cd36add9fe83c3e348))
-
-
-### BREAKING CHANGES
-
-* Removes support for Node 14 and 16 ([5c90f2d](5c90f2d))
-
-# [5.4.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.3.0...5.4.0) (2024-05-16)
-
-
-### Features
-
-* Add refresh indicator to Cloud Config page ([#2505](https://github.com/ParsePlatform/parse-dashboard/issues/2505)) ([a10d1f0](https://github.com/ParsePlatform/parse-dashboard/commit/a10d1f0825688d403206ce7cbacada191dbf5c3b))
-
-# [5.3.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0...5.3.0) (2023-11-16)
-
-
-### Bug Fixes
-
-* Adding a file when adding a new row in the data browser doesn't show filename ([#2471](https://github.com/ParsePlatform/parse-dashboard/issues/2471)) ([5bbb94e](https://github.com/ParsePlatform/parse-dashboard/commit/5bbb94e5b5266af5ed770d0241605eb859699831))
-* File extension is hidden in file field when editing object in modal dialog in data browser ([#2472](https://github.com/ParsePlatform/parse-dashboard/issues/2472)) ([8df4e4d](https://github.com/ParsePlatform/parse-dashboard/commit/8df4e4d9abf2ef9e487a48b209f33bedc03b55a3))
-* Incorrect highlight maker position in class list in data browser ([#2490](https://github.com/ParsePlatform/parse-dashboard/issues/2490)) ([8c28d24](https://github.com/ParsePlatform/parse-dashboard/commit/8c28d245cfe5d9558ffd276b9660f73449c4f35a))
-* Pasting location coordinates into field of type `GeoPoint` does not work in data browser ([#2464](https://github.com/ParsePlatform/parse-dashboard/issues/2464)) ([a8ce343](https://github.com/ParsePlatform/parse-dashboard/commit/a8ce3436a4ffe76ccf892965fa21dc2a467e2d14))
-* Selecting a saved filter in data browser also highlights other filters with equal names ([#2466](https://github.com/ParsePlatform/parse-dashboard/issues/2466)) ([35360fe](https://github.com/ParsePlatform/parse-dashboard/commit/35360fec68edbca619075227960062859bb9db2e))
-* Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([5acac3f](https://github.com/ParsePlatform/parse-dashboard/commit/5acac3fb5c74cbb24ec96b721d874fbc36096c39))
-
-### Features
-
-* Add Cloud Function execution on Parse Object in data browser ([#2409](https://github.com/ParsePlatform/parse-dashboard/issues/2409)) ([996ce91](https://github.com/ParsePlatform/parse-dashboard/commit/996ce916bfedb92c36deede4c234dde8c0554cbb))
-* Add parameter `selectedField` to script payload to determine which object field was selected when script was invoked ([#2483](https://github.com/ParsePlatform/parse-dashboard/issues/2483)) ([e98d653](https://github.com/ParsePlatform/parse-dashboard/commit/e98d653b96787720dad5310c5af98869e2ac2923))
-* Add refresh button to Cloud Config page ([#2480](https://github.com/ParsePlatform/parse-dashboard/issues/2480)) ([be212b0](https://github.com/ParsePlatform/parse-dashboard/commit/be212b0ad6c777f7c5ee9a74cac0affa63faa1c1))
-* Add security checks page ([#2491](https://github.com/ParsePlatform/parse-dashboard/issues/2491)) ([103b9c6](https://github.com/ParsePlatform/parse-dashboard/commit/103b9c61d152487898062485b40f11ecdac3d2e7))
-* Add support for confirmation dialog before script execution in data browser ([#2481](https://github.com/ParsePlatform/parse-dashboard/issues/2481)) ([64d3913](https://github.com/ParsePlatform/parse-dashboard/commit/64d391320bbdb519af8ff93fe8579315ef48e36e))
-* Add typing with auto-complete to select a filter field in the data browser ([#2463](https://github.com/ParsePlatform/parse-dashboard/issues/2463)) ([257f76b](https://github.com/ParsePlatform/parse-dashboard/commit/257f76bbf8d1e880e3b7b704edee2eebf76451c8))
-* Reopen last opened class when navigating to data browser ([#2468](https://github.com/ParsePlatform/parse-dashboard/issues/2468)) ([3d7148e](https://github.com/ParsePlatform/parse-dashboard/commit/3d7148e75a6e9eaeeb7cbb546885b5916f6025bb))
-
-### Reverts
-
-* fix: Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([#2477](https://github.com/ParsePlatform/parse-dashboard/issues/2477)) ([2f1d84e](https://github.com/ParsePlatform/parse-dashboard/commit/2f1d84e41c24507b516b933037807f1061182991))
-
-# [5.2.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0...5.2.0) (2023-09-15)
-
-
-### Bug Fixes
-
-* Back button in data browser disappears after page refresh ([#2421](https://github.com/ParsePlatform/parse-dashboard/issues/2421)) ([6c5f19f](https://github.com/ParsePlatform/parse-dashboard/commit/6c5f19f6ed2cda1f1f0dc59bdaed3ae49f264380))
-* Cannot navigate to nested relation field in data browser ([#2420](https://github.com/ParsePlatform/parse-dashboard/issues/2420)) ([e7ace9e](https://github.com/ParsePlatform/parse-dashboard/commit/e7ace9efa068b92c5cf0e5ccdad169ac7d71e81a))
-* Dashboard crashes when adding a row with modal in a class that contains a pointer to another class that contains an array of pointers ([#2416](https://github.com/ParsePlatform/parse-dashboard/issues/2416)) ([286269f](https://github.com/ParsePlatform/parse-dashboard/commit/286269f3e2c4e1c83b14003ce72caaf1f39b16c1))
-* Empty table in data browser when navigating back using the "backβ button ([#2423](https://github.com/ParsePlatform/parse-dashboard/issues/2423)) ([6f3dab6](https://github.com/ParsePlatform/parse-dashboard/commit/6f3dab60c257c76345235acfd3e43aafadeb84c8))
-* File uploading status not updating in data browser ([#2422](https://github.com/ParsePlatform/parse-dashboard/issues/2422)) ([e761f97](https://github.com/ParsePlatform/parse-dashboard/commit/e761f9715a8366466c6620994ce698adbbfc48cd))
-* Hitting backspace key in data browser crashes dashboard ([#2456](https://github.com/ParsePlatform/parse-dashboard/issues/2456)) ([32aeea2](https://github.com/ParsePlatform/parse-dashboard/commit/32aeea244d81404579f55adf25244c11e3a797d1))
-* Incorrect date picker position in data browser filter dialog ([#2425](https://github.com/ParsePlatform/parse-dashboard/issues/2425)) ([b96b48f](https://github.com/ParsePlatform/parse-dashboard/commit/b96b48fdd5ce452783e0887c36231971a1822173))
-* Option missing for Parse Config parameter to require master key ([#2440](https://github.com/ParsePlatform/parse-dashboard/issues/2440)) ([6623369](https://github.com/ParsePlatform/parse-dashboard/commit/66233698b333422f306dc7024949aef2ea028f34))
-* Scroll position is preserved when re-opening the same class in data browser via navigation bar ([#2445](https://github.com/ParsePlatform/parse-dashboard/issues/2445)) ([667675c](https://github.com/ParsePlatform/parse-dashboard/commit/667675c031b0483be210a88da3b159f5f815d6fb))
-* Text input cursor jumps to first position when writing long text ([#2413](https://github.com/ParsePlatform/parse-dashboard/issues/2413)) ([422ffb2](https://github.com/ParsePlatform/parse-dashboard/commit/422ffb2897bb2664eb47b5aaad5094a8b39431bf))
-* Uncaught error when editing Number field in Edit Row dialog ([#2401](https://github.com/ParsePlatform/parse-dashboard/issues/2401)) ([26bd6fa](https://github.com/ParsePlatform/parse-dashboard/commit/26bd6fa39be1076621856a9c86dcd1307f8f7fdd))
-
-### Features
-
-* Add export of saved data browser filters via `classPreference` settings ([#2455](https://github.com/ParsePlatform/parse-dashboard/issues/2455)) ([f56f946](https://github.com/ParsePlatform/parse-dashboard/commit/f56f946023c628c96030e9d2d66284c53decd33e))
-* Add filter views to save frequently used filters in data browser ([#2404](https://github.com/ParsePlatform/parse-dashboard/issues/2404)) ([a9ec3a9](https://github.com/ParsePlatform/parse-dashboard/commit/a9ec3a915ff354304f382c17e8d5311b2c96d7ff))
-* Add links to users and roles in ACL dialog and handle invalid entries ([#2436](https://github.com/ParsePlatform/parse-dashboard/issues/2436)) ([a20cb8e](https://github.com/ParsePlatform/parse-dashboard/commit/a20cb8e534d3fecd8d337463864b15048772a9a5))
-* Add visual configurator for Parse Dashboard settings ([#2406](https://github.com/ParsePlatform/parse-dashboard/issues/2406)) ([228d839](https://github.com/ParsePlatform/parse-dashboard/commit/228d83903fd8698da7b96a5b74699f3ff2d5dad4))
-* Data types and pointer classes are sorted alphabetically in dialog to add new column ([#2400](https://github.com/ParsePlatform/parse-dashboard/issues/2400)) ([d9d285b](https://github.com/ParsePlatform/parse-dashboard/commit/d9d285b7f90434d3bb138c2c765272498e3f09c3))
-* Sort Cloud Code Jobs alphabetically ([#2402](https://github.com/ParsePlatform/parse-dashboard/issues/2402)) ([77fc372](https://github.com/ParsePlatform/parse-dashboard/commit/77fc372bedb9fb4eca728c1bc076e823c5bc3a2c))
-
-# [5.1.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0...5.1.0) (2023-05-01)
-
-
-### Bug Fixes
-
-* Add dashboard option `cookieSessionMaxAge` to keep user logged in across browser sessions ([#2366](https://github.com/ParsePlatform/parse-dashboard/issues/2366)) ([9ea95fc](https://github.com/ParsePlatform/parse-dashboard/commit/9ea95fc62103b52cf4fac1d1b567334b5298b318))
-* Blank screen shown if server is unreachable; unsupported pages are accessible via direct URLs ([#2363](https://github.com/ParsePlatform/parse-dashboard/issues/2363)) ([9855258](https://github.com/ParsePlatform/parse-dashboard/commit/98552584df4d8d75d65d3e394b4acad522117a96))
-* Dashboard may display blank page when selecting an app after login ([#2375](https://github.com/ParsePlatform/parse-dashboard/issues/2375)) ([f399b91](https://github.com/ParsePlatform/parse-dashboard/commit/f399b913490f15a0d3be8dde7242dd0b825fa02e))
-* Data browser dialog "No data to display" may be outside of visible area in Safari browser ([#2387](https://github.com/ParsePlatform/parse-dashboard/issues/2387)) ([52bba62](https://github.com/ParsePlatform/parse-dashboard/commit/52bba6246cd05c255ca562dcb32da5b104f9908e))
-* Internal error message on login with missing credential ([#2370](https://github.com/ParsePlatform/parse-dashboard/issues/2370)) ([9a6a31f](https://github.com/ParsePlatform/parse-dashboard/commit/9a6a31f7d45d1402bfc3a988bef21c4a5bb1b123))
-* Navigation to page fails if user re-login is required ([#2369](https://github.com/ParsePlatform/parse-dashboard/issues/2369)) ([0db6f55](https://github.com/ParsePlatform/parse-dashboard/commit/0db6f5559f9b7bb1f5a282c6182810ca89945032))
-* Screen goes blank when trying to add column of type `Object` or `GeoPoint` ([#2384](https://github.com/ParsePlatform/parse-dashboard/issues/2384)) ([0886386](https://github.com/ParsePlatform/parse-dashboard/commit/08863868b90455116232b2b73a39391ba990c30c))
-* Text selection not visible in modal dialog header ([#2340](https://github.com/ParsePlatform/parse-dashboard/issues/2340)) ([fb0e79c](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e79c0837c3acce27524e798e02da667cbc5a3))
-
-### Features
-
-* Add export all rows of a class and export in JSON format ([#2361](https://github.com/ParsePlatform/parse-dashboard/issues/2361)) ([9eb36a1](https://github.com/ParsePlatform/parse-dashboard/commit/9eb36a183b8b337960f6e8563ad686958001a22b))
-* Add schema export ([#2362](https://github.com/ParsePlatform/parse-dashboard/issues/2362)) ([33df049](https://github.com/ParsePlatform/parse-dashboard/commit/33df0495a02c4e77f48b3566032bf5686227cce7))
-* remove limitation to refresh Cloud Jobs list only after 30 seconds ([#2332](https://github.com/ParsePlatform/parse-dashboard/issues/2332)) ([ad1132f](https://github.com/ParsePlatform/parse-dashboard/commit/ad1132fb13e854a030e769fdf7689f35d363031d))
-
-# [5.0.0](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0...5.0.0) (2022-11-01)
-
-
-### Bug Fixes
-
-* increase required Node engine version to `>=14.20.1`; this is a breaking change, but will be published as a patch version because the change should have been done with the release of `5.0.0-alpha.1` which has just been released ([#2281](https://github.com/ParsePlatform/parse-dashboard/issues/2281)) ([50de52b](https://github.com/ParsePlatform/parse-dashboard/commit/50de52b6dddad079224e3c3b21ed16f4df347a33))
-* minor UI layout issues ([#2270](https://github.com/ParsePlatform/parse-dashboard/issues/2270)) ([51d083b](https://github.com/ParsePlatform/parse-dashboard/commit/51d083b218d1291fc27ee2a5f1727c5f2a1dc7d4))
-* raw value of read-only date field in data browser cannot be copied ([#2326](https://github.com/ParsePlatform/parse-dashboard/issues/2326)) ([4af7b98](https://github.com/ParsePlatform/parse-dashboard/commit/4af7b981ec1c8356c33215a49f3757a4005525a1))
-* using browser navigation backward / forward button clears data browser ([#2317](https://github.com/ParsePlatform/parse-dashboard/issues/2317)) ([7d9b957](https://github.com/ParsePlatform/parse-dashboard/commit/7d9b9575184d7b03fac0e74fa785409af399d314))
-
-### Features
-
-* improve distinction between deletion confirmation dialogs ([#2319](https://github.com/ParsePlatform/parse-dashboard/issues/2319)) ([23c12ff](https://github.com/ParsePlatform/parse-dashboard/commit/23c12ffbd49508de5c6e5e6155e6720e9f960fc5))
-* keep entered filter value when changing filter operator ([#2313](https://github.com/ParsePlatform/parse-dashboard/issues/2313)) ([d6d38bf](https://github.com/ParsePlatform/parse-dashboard/commit/d6d38bfc2b06360c6a1ecc990f937cd675d1ff39))
-* remove Node 12 support ([#2277](https://github.com/ParsePlatform/parse-dashboard/issues/2277)) ([18b0e76](https://github.com/ParsePlatform/parse-dashboard/commit/18b0e76e28938f4cb3eaaed7ba3292fc622a35c7))
-
-
-### BREAKING CHANGES
-
-* This version removes support for Node 12; the new minimum required Node version is 14. ([18b0e76](18b0e76))
-
-# [4.2.0](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.4...4.2.0) (2022-10-15)
-
-
-### Bug Fixes
-
-* button text "Show all" in column menu is truncated ([#2208](https://github.com/ParsePlatform/parse-dashboard/issues/2208)) ([b89d044](https://github.com/ParsePlatform/parse-dashboard/commit/b89d044a504c6748932907f075819a13aa08fb51))
-* column names in data browser menu not left-aligned ([#2263](https://github.com/ParsePlatform/parse-dashboard/issues/2263)) ([fc5673a](https://github.com/ParsePlatform/parse-dashboard/commit/fc5673a0ebbc7b4d51e122dbb71172803513309e))
-* context menu in data browser is not scrollable ([#2271](https://github.com/ParsePlatform/parse-dashboard/issues/2271)) ([6c54bd8](https://github.com/ParsePlatform/parse-dashboard/commit/6c54bd82b872d5efed827c3582b4fb3f0aa24a95))
-* dashboard contains invalid html for top-level document ([#2254](https://github.com/ParsePlatform/parse-dashboard/issues/2254)) ([bbce857](https://github.com/ParsePlatform/parse-dashboard/commit/bbce8579ef634bf8e6800f3a6ab8cd650e971695))
-* file upload dialog in data browser shows multiple times ([#2276](https://github.com/ParsePlatform/parse-dashboard/issues/2276)) ([3927340](https://github.com/ParsePlatform/parse-dashboard/commit/39273403568f7ca13a349cac53fbb6a99d8823cc))
-* login fails with error `req.session.regenerate is not a function` ([#2260](https://github.com/ParsePlatform/parse-dashboard/issues/2260)) ([1dc2b91](https://github.com/ParsePlatform/parse-dashboard/commit/1dc2b915e16a2038268f886d4c24e7b081ae0531))
-* security upgrade terser from 5.10.0 to 5.14.2 ([#2222](https://github.com/ParsePlatform/parse-dashboard/issues/2222)) ([645cfdd](https://github.com/ParsePlatform/parse-dashboard/commit/645cfdd5939aca429b988e7a7c1a1b6a68230810))
-* unnecessary count operations in Data Browser ([#2250](https://github.com/ParsePlatform/parse-dashboard/issues/2250)) ([bfc1684](https://github.com/ParsePlatform/parse-dashboard/commit/bfc1684375b7c2120e2a4ae566e5b3c38c0ca110))
-* view relation dialog requires browser refresh when navigating ([#2275](https://github.com/ParsePlatform/parse-dashboard/issues/2275)) ([d60a8b7](https://github.com/ParsePlatform/parse-dashboard/commit/d60a8b7c1ab6c4c8dd85051d9c1acb05a0a69a59))
-
-### Features
-
-* add column name to related records ([#2264](https://github.com/ParsePlatform/parse-dashboard/issues/2264)) ([cc82533](https://github.com/ParsePlatform/parse-dashboard/commit/cc82533ae3066daa7b789131a76a409720d45b0b))
-* add Node 18 support ([#2206](https://github.com/ParsePlatform/parse-dashboard/issues/2206)) ([bc7895a](https://github.com/ParsePlatform/parse-dashboard/commit/bc7895aadacc2cc6b0bbcfe786b73d7b82527e55))
-* add option to auto-sort columns alphabetically ([#2252](https://github.com/ParsePlatform/parse-dashboard/issues/2252)) ([2b7f20f](https://github.com/ParsePlatform/parse-dashboard/commit/2b7f20fcc088f74915b50ec1219038ba9b233c27))
-* apply filter in data browser by pressing "Enter" key ([#2256](https://github.com/ParsePlatform/parse-dashboard/issues/2256)) ([bc4f9eb](https://github.com/ParsePlatform/parse-dashboard/commit/bc4f9eb9cad9eb8e362dca20bf932cb3d1e6721c))
-* auto-submit one-time password (OTP) after entering ([#2257](https://github.com/ParsePlatform/parse-dashboard/issues/2257)) ([e528705](https://github.com/ParsePlatform/parse-dashboard/commit/e5287054cff3bff368ba4e379eebf05bfb7d8bd5))
-* improve button labels to be more concise in text ([#2207](https://github.com/ParsePlatform/parse-dashboard/issues/2207)) ([230fc14](https://github.com/ParsePlatform/parse-dashboard/commit/230fc1419db4d4de67c7e591cde415dbbe461c84))
-* remove support and documentation links ([#2203](https://github.com/ParsePlatform/parse-dashboard/issues/2203)) ([35e4476](https://github.com/ParsePlatform/parse-dashboard/commit/35e44768f65c64a228cb6ea8314aa534c5342f08))
-* show skeleton as loading indicator in data browser while data is loading ([#2273](https://github.com/ParsePlatform/parse-dashboard/issues/2273)) ([059f616](https://github.com/ParsePlatform/parse-dashboard/commit/059f616718006c6f559b0b07a8da641367497d9a))
-
-## [4.1.4](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.3...4.1.4) (2022-07-03)
-
-
-### Bug Fixes
-
-* login fails with error `req.session.regenerate is not a function` ([#2196](https://github.com/ParsePlatform/parse-dashboard/issues/2196)) ([a71848c](https://github.com/ParsePlatform/parse-dashboard/commit/a71848ce44fa19e579f9731bab50a7244ab89b11))
-
-## [4.1.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.2...4.1.3) (2022-07-02)
-
-
-### Bug Fixes
-
-* security upgrade semver-regex from 3.1.3 to 3.1.4 ([#2154](https://github.com/ParsePlatform/parse-dashboard/issues/2154)) ([4f9090a](https://github.com/ParsePlatform/parse-dashboard/commit/4f9090ad22460913f7987964ee54f26d348ca254))
-
-## [4.1.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.1...4.1.2) (2022-06-18)
-
-
-### Bug Fixes
-
-* config options like `--port` or `--config` are ignored ([#2113](https://github.com/ParsePlatform/parse-dashboard/issues/2113)) ([6d70d8a](https://github.com/ParsePlatform/parse-dashboard/commit/6d70d8aa74caf0d9c0d335a99a48347dc412ac4e))
-* data export is missing rows when exporting more than 100 rows ([#2087](https://github.com/ParsePlatform/parse-dashboard/issues/2087)) ([88f1eab](https://github.com/ParsePlatform/parse-dashboard/commit/88f1eab418ff5ef7af24f9ef6583ccaedef2788e))
-* preserve previous condition field value on constraint change ([#1969](https://github.com/ParsePlatform/parse-dashboard/issues/1969)) ([f4c3060](https://github.com/ParsePlatform/parse-dashboard/commit/f4c30605f675bd7a681be127b2dfb3fc11f90e32))
-* security upgrade async from 2.6.3 to 2.6.4 ([#2094](https://github.com/ParsePlatform/parse-dashboard/issues/2094)) ([283745c](https://github.com/ParsePlatform/parse-dashboard/commit/283745c7c1ebe1bc6f35670f1b6f3b644b94043e))
-* security upgrade cross-fetch from 3.1.4 to 3.1.5 ([#2105](https://github.com/ParsePlatform/parse-dashboard/issues/2105)) ([8d42622](https://github.com/ParsePlatform/parse-dashboard/commit/8d426226e6431793e275b68d680776443675ee35))
-* security upgrade node-fetch from 2.6.5 to 2.6.7 ([#2114](https://github.com/ParsePlatform/parse-dashboard/issues/2114)) ([5423b0d](https://github.com/ParsePlatform/parse-dashboard/commit/5423b0d70cb72081933ed7531a55f49d39f3b92c))
-* upgrade graphiql from 1.8.4 to 1.8.5 ([#2111](https://github.com/ParsePlatform/parse-dashboard/issues/2111)) ([1a50d30](https://github.com/ParsePlatform/parse-dashboard/commit/1a50d30b6b7d769e04c2c8e82d60142dd2e52b70))
-
-### Reverts
-
-* feat: change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([db5d23b](https://github.com/ParsePlatform/parse-dashboard/commit/db5d23bf17f65d0db3e5d0d4ef4ca506d8394fb9))
-
-## [4.1.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.0...4.1.1) (2022-05-01)
-
-
-### Bug Fixes
-
-* security upgrade js-beautify from 1.14.0 to 1.14.1 ([#2077](https://github.com/ParsePlatform/parse-dashboard/issues/2077)) ([e4ea787](https://github.com/ParsePlatform/parse-dashboard/commit/e4ea7879d88173b02d66b1339ba98805255ba82c))
-* security vulnerability bump minimist from 1.2.5 to 1.2.6 ([#2070](https://github.com/ParsePlatform/parse-dashboard/issues/2070)) ([3d0407e](https://github.com/ParsePlatform/parse-dashboard/commit/3d0407ebd75051bbbe6f0a2aba87b26475e901b9))
-
-# [4.1.0](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.1...4.1.0) (2022-04-03)
-
-
-### Bug Fixes
-
-* adding internal class (e.g. `_User`) fails due to prefixed underscore ([#2036](https://github.com/ParsePlatform/parse-dashboard/issues/2036)) ([e004e70](https://github.com/ParsePlatform/parse-dashboard/commit/e004e701737718f010978b0830d64bf8e1d8c559))
-* security upgrade prismjs from 1.26.0 to 1.27.0 ([#2047](https://github.com/ParsePlatform/parse-dashboard/issues/2047)) ([ffbca12](https://github.com/ParsePlatform/parse-dashboard/commit/ffbca12c80bf32052a1a2b5d315c8a3393d82248))
-* upgrade @babel/runtime from 7.17.0 to 7.17.2 ([#2055](https://github.com/ParsePlatform/parse-dashboard/issues/2055)) ([3e8449b](https://github.com/ParsePlatform/parse-dashboard/commit/3e8449b1679f803e9d26876ccfd28f88fea814ff))
-* upgrade express from 4.17.2 to 4.17.3 ([#2058](https://github.com/ParsePlatform/parse-dashboard/issues/2058)) ([d1357de](https://github.com/ParsePlatform/parse-dashboard/commit/d1357de1281244f040499a2ca54db0faee4d882c))
-* upgrade otpauth from 7.0.10 to 7.0.11 ([#2061](https://github.com/ParsePlatform/parse-dashboard/issues/2061)) ([05c5ac8](https://github.com/ParsePlatform/parse-dashboard/commit/05c5ac87a6cf1675889e58330276dac185929a01))
-
-### Features
-
-* change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([6470c8e](https://github.com/ParsePlatform/parse-dashboard/commit/6470c8e3221e3b4ec95ecd831726a914d24ff619))
-
-## [4.0.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0...4.0.1) (2022-03-03)
-
-
-### Bug Fixes
-
-* bump follow-redirects from 1.14.4 to 1.14.7 ([#1997](https://github.com/ParsePlatform/parse-dashboard/issues/1997)) ([4ca2e97](https://github.com/ParsePlatform/parse-dashboard/commit/4ca2e971890c6ee7ee88195a4c75dbb73dc5a0b1))
-* bump markdown-it from 12.3.0 to 12.3.2 ([#1996](https://github.com/ParsePlatform/parse-dashboard/issues/1996)) ([245c22e](https://github.com/ParsePlatform/parse-dashboard/commit/245c22ea21f1af6f3e74a269d74460d5c5ea5c03))
-* bump marked from 0.8.2 to 4.0.10 ([#2001](https://github.com/ParsePlatform/parse-dashboard/issues/2001)) ([ae4cc90](https://github.com/ParsePlatform/parse-dashboard/commit/ae4cc900bdbdc4425f0f30c07c6ef689c8cebe8c))
-* bump nanoid from 3.1.28 to 3.2.0 ([#2008](https://github.com/ParsePlatform/parse-dashboard/issues/2008)) ([6cfe9ca](https://github.com/ParsePlatform/parse-dashboard/commit/6cfe9cae63a49013489e5683b5e16ab3c4399730))
-* calendar widget layout partly hides last days of a month ([#1990](https://github.com/ParsePlatform/parse-dashboard/issues/1990)) ([5bd86dd](https://github.com/ParsePlatform/parse-dashboard/commit/5bd86dd0a5c7857705089cb8a57c078d62863dfc))
-* cannot save nullish values for required fields ([#2003](https://github.com/ParsePlatform/parse-dashboard/issues/2003)) ([e1a5497](https://github.com/ParsePlatform/parse-dashboard/commit/e1a5497d4a999d18dcf60f93cdba16d36250a7cc))
-* crash when checking for new dashboard release without internet connection ([#2015](https://github.com/ParsePlatform/parse-dashboard/issues/2015)) ([8c36e69](https://github.com/ParsePlatform/parse-dashboard/commit/8c36e693c08a960c4002d7d29bde7d111eff2cd4))
-* preserve column sorting preferences in data browser ([#2016](https://github.com/ParsePlatform/parse-dashboard/issues/2016)) ([c2e6557](https://github.com/ParsePlatform/parse-dashboard/commit/c2e65573ccfa29b6d6e727e93b9552380c520f86))
-* upgrade parse from 3.4.0 to 3.4.1 ([#2011](https://github.com/ParsePlatform/parse-dashboard/issues/2011)) ([68cf9e2](https://github.com/ParsePlatform/parse-dashboard/commit/68cf9e238594df29c22a687b2976d56894897f34))
-* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2010](https://github.com/ParsePlatform/parse-dashboard/issues/2010)) ([a508a58](https://github.com/ParsePlatform/parse-dashboard/commit/a508a58ce927fd7e08d249818c38f6fb1305956c))
-
-# [4.0.0](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0...4.0.0) (2022-02-06)
-
-
-### Bug Fixes
-
-* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([26c0dfa](https://github.com/ParsePlatform/parse-dashboard/commit/26c0dfa7eaa68194d53beaeed1ca6705f3d11a6a))
-* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([fb0e3a9](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e3a9882438069fef1d7926ec74bad6bb3eebc))
-* opening filter menu in data browser leads to blank page ([#1958](https://github.com/ParsePlatform/parse-dashboard/issues/1958)) ([750e8b1](https://github.com/ParsePlatform/parse-dashboard/commit/750e8b1f018e37360e6577f423da005d7f773f20))
-* saving relation column fails if class has required fields ([#1937](https://github.com/ParsePlatform/parse-dashboard/issues/1937)) ([c67db08](https://github.com/ParsePlatform/parse-dashboard/commit/c67db083a9657be2d16ba566a7f6ce497fd66092))
-* security upgrade qrcode from 1.4.4 to 1.5.0 ([#1930](https://github.com/ParsePlatform/parse-dashboard/issues/1930)) ([244e1bb](https://github.com/ParsePlatform/parse-dashboard/commit/244e1bba1a3fb89b9ed8c93a3d0f7163eacd2691))
-* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2014](https://github.com/ParsePlatform/parse-dashboard/issues/2014)) ([785978e](https://github.com/ParsePlatform/parse-dashboard/commit/785978ecce501cf23cb7fc3d82fa3f7c7dce7f6a))
-
-### Features
-
-* upgrade graphiql from 1.4.7 to 1.5.1 ([#1943](https://github.com/ParsePlatform/parse-dashboard/issues/1943)) ([ebb1f66](https://github.com/ParsePlatform/parse-dashboard/commit/ebb1f660f1d10921f92d05eb58b09d548e00d3a9))
-* upgrade graphql from 15.7.0 to 16.0.0 ([#1926](https://github.com/ParsePlatform/parse-dashboard/issues/1926)) ([7c94e51](https://github.com/ParsePlatform/parse-dashboard/commit/7c94e512ed5428797823d24ac205ece59e94f3ea))
-* upgrade parse from 3.3.1 to 3.4.0 ([#1942](https://github.com/ParsePlatform/parse-dashboard/issues/1942)) ([13a250e](https://github.com/ParsePlatform/parse-dashboard/commit/13a250e2e04ba0f12be0c2da8c9075ea8eb4d83f))
-
-
-### BREAKING CHANGES
-
-* The minimum required Node.js version is 12.22.0. ([7c94e51](7c94e51))
-* The required Node version was increased to >=12.20.0. ([ebb1f66](ebb1f66))
-
-# [3.3.0](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.1...3.3.0) (2022-01-01)
-
-
-### Bug Fixes
-
-* always pass boolean value when toggling checkbox ([#1872](https://github.com/ParsePlatform/parse-dashboard/issues/1872)) ([2e9fd59](https://github.com/ParsePlatform/parse-dashboard/commit/2e9fd59c2ce33f60c904213dc0b5956c4fbfe0c9))
-* app icons are cropped in the app list for small screen sizes ([#1876](https://github.com/ParsePlatform/parse-dashboard/issues/1876)) ([9fc56a6](https://github.com/ParsePlatform/parse-dashboard/commit/9fc56a6be210d82c4f1b03e804bd492d0848a62d))
-* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([35fd021](https://github.com/ParsePlatform/parse-dashboard/commit/35fd021cb7d7cc05dd6a532948caa25b51fd8340))
-* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([8731c35](https://github.com/ParsePlatform/parse-dashboard/commit/8731c350bd1867cedbaa735f035d16dde4033bc7))
-* link icon in pointer cell not visible when cell is too narrow ([#1856](https://github.com/ParsePlatform/parse-dashboard/issues/1856)) ([69b897d](https://github.com/ParsePlatform/parse-dashboard/commit/69b897d17f379f9e5af1a0f64c557f54054ebe67))
-* manual column preferences are overwritten by columnPreference option on page refresh ([#1881](https://github.com/ParsePlatform/parse-dashboard/issues/1881)) ([7232b0b](https://github.com/ParsePlatform/parse-dashboard/commit/7232b0b13916ee9bc409279242b5d4bbc4fee033))
-* notification to upgrade dashboard for latest features not working ([#1894](https://github.com/ParsePlatform/parse-dashboard/issues/1894)) ([81361b6](https://github.com/ParsePlatform/parse-dashboard/commit/81361b67946a347d31ef96d61e3dd11503a6ad5b))
-* upgrade graphql from 15.4.0 to 15.6.0 ([#1853](https://github.com/ParsePlatform/parse-dashboard/issues/1853)) ([fca9b14](https://github.com/ParsePlatform/parse-dashboard/commit/fca9b14cbe23ea0537bebb48bc390484932257c7))
-* upgrade graphql from 15.6.0 to 15.6.1 ([#1887](https://github.com/ParsePlatform/parse-dashboard/issues/1887)) ([0cfe59e](https://github.com/ParsePlatform/parse-dashboard/commit/0cfe59e475d9f991a3579eb81e8e8a24705eec6a))
-* upgrade inquirer from 8.1.3 to 8.2.0 ([#1886](https://github.com/ParsePlatform/parse-dashboard/issues/1886)) ([c77f335](https://github.com/ParsePlatform/parse-dashboard/commit/c77f335f6203842d0c83bc161ced0376ae166f26))
-* upgrade passport from 0.4.1 to 0.5.0 ([#1865](https://github.com/ParsePlatform/parse-dashboard/issues/1865)) ([8d845f0](https://github.com/ParsePlatform/parse-dashboard/commit/8d845f0b59d161d21b6b28691b9962869fac2f20))
-* upload of file as default value fails when adding a new column ([#1875](https://github.com/ParsePlatform/parse-dashboard/issues/1875)) ([6040dd0](https://github.com/ParsePlatform/parse-dashboard/commit/6040dd0dfe3315131dfeccc42f54cdf4d6d6b90e))
-
-### Features
-
-* add config option `columnPreference.filterSortToTop` to set column name order in filter dialog ([#1884](https://github.com/ParsePlatform/parse-dashboard/issues/1884)) ([3acbda1](https://github.com/ParsePlatform/parse-dashboard/commit/3acbda1cf2adfaa4471ef761c81e000eb1d04a97))
-* add pointer representation by a chosen column instead of objectId ([#1852](https://github.com/ParsePlatform/parse-dashboard/issues/1852)) ([d747786](https://github.com/ParsePlatform/parse-dashboard/commit/d7477860ebf972a1cb69a43761e77841831754e2))
-* add visual distinction in data browser for internal classes and display their real names with underscore ([#1878](https://github.com/ParsePlatform/parse-dashboard/issues/1878)) ([ac8d85e](https://github.com/ParsePlatform/parse-dashboard/commit/ac8d85e368d1ff0f2bc644b30264b9af7c86c76d))
-* allow GraphIQL headers ([#1836](https://github.com/ParsePlatform/parse-dashboard/issues/1836)) ([3afcf73](https://github.com/ParsePlatform/parse-dashboard/commit/3afcf730c1303b3957ab03d683ada86242175579))
-* allow graphQL headers ([34536b3](https://github.com/ParsePlatform/parse-dashboard/commit/34536b3ba200728e38ff017e487b0339bf0bee6b))
-
-### Reverts
-
-* Revert "Update CloudCode.react.js" ([eea1e2d](https://github.com/ParsePlatform/parse-dashboard/commit/eea1e2dad28795e55467091dc2f7d99790bdd3c4))
-
-## [3.2.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.0...3.2.1) (2021-10-08)
-
-
-### Bug Fixes
-
-* enabling context menu for read-only cells ([#1844](https://github.com/ParsePlatform/parse-dashboard/issues/1844)) ([a38a885](https://github.com/ParsePlatform/parse-dashboard/commit/a38a885db23e3a76c1e24f880e061dc882e1d37f))
-
-# [3.2.0](https://github.com/ParsePlatform/parse-dashboard/compare/3.1.2...3.2.0) (2021-10-05)
-
-
-### Features
-
-* add ctrl + arrow key to jump to first/last cell; fix left/right key navigation with hidden columns ([#1827](https://github.com/ParsePlatform/parse-dashboard/issues/1827)) ([b504c0f](https://github.com/ParsePlatform/parse-dashboard/commit/b504c0fc555e0b8adc2ce796cd6928ea05bb3092))
-
-## [3.1.2](https://github.com/ParsePlatform/parse-dashboard/compare/3.1.1...3.1.2) (2021-10-04)
-
-
-### Refactor
-
-* upgrade react-router-dom from 5.2.1 to 5.3.0 ([#1817](https://github.com/ParsePlatform/parse-dashboard/pull/1817)) ([8f359b3](https://github.com/ParsePlatform/parse-dashboard/commit/8f359b326dc69c7294ca8a208533cf58280357ad))
-
-## [3.1.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.1.0...3.1.1) (2021-09-30)
-
-
-### Bug Fixes
-
-* incorrect autofocus for login form input fields ([#1825](https://github.com/ParsePlatform/parse-dashboard/issues/1825)) ([7ca6aae](https://github.com/ParsePlatform/parse-dashboard/commit/7ca6aaed7e748057662017224b4a796ce8b6c99e))
-
-# [3.1.0](https://github.com/ParsePlatform/parse-dashboard/compare/3.0.0...3.1.0) (2021-09-29)
-
-
-### Features
-
-* add support for npm 7 and Node 16, migrate to graphiql ([#1807](https://github.com/ParsePlatform/parse-dashboard/issues/1807)) ([b61fc7f](https://github.com/ParsePlatform/parse-dashboard/commit/b61fc7fadad608699634e3ff57d0df3a76c6d74a))
-
-# 3.0.0
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.2.0...3.0.0)
-
-## BREAKING CHANGE
-- Parse Dashboard requires Node >=12.0.0 <16.0.0
-- Reverts PR [#1706](https://github.com/parse-community/parse-dashboard/pull/1706) which introduced new database index requirements for pagination and was a breaking change that can lead to database performance issues if database indices were not adapted; reverting #1706 removes the `objectId` from the compound query; make sure that the database indices satisfy your dashboard sorting and filter usage before upgrading to this release to prevent database performance issues due to missing indices (Christopher Brookes) [#1800](https://github.com/parse-community/parse-dashboard/pull/1800)
-
-## New Features
-- Add multi-factor authentication to dashboard login. To use one-time password, run `parse-dashboard --createMFA` or `parse-dashboard --createUser`. (Daniel Blyth) [#1624](https://github.com/parse-community/parse-dashboard/pull/1624)
-
-## Improvements
-- Sidebar: Class counts are now updated when all counts are returned instead of after each call (Christopher Brookes) [#1802](https://github.com/parse-community/parse-dashboard/pull/1802)
-- Update sass to 5.0.0 and make docker image use node:lts-alpine (Corey Baker) [#1792](https://github.com/parse-community/parse-dashboard/pull/1792)
-- Docker image use now node 12 version (Christopher Brookes) [#1788](https://github.com/parse-community/parse-dashboard/pull/1788)
-- CI now pushes docker images to Docker Hub (Corey Baker) [#1781](https://github.com/parse-community/parse-dashboard/pull/1781)
-- Add CI check to add changelog entry (Manuel Trezza) [#1764](https://github.com/parse-community/parse-dashboard/pull/1764)
-- Refactor: uniform issue templates across repos (Manuel Trezza) [#1767](https://github.com/parse-community/parse-dashboard/pull/1767)
-- fix: date cell value not selected on double clicks (fn-faisal) [#1730](https://github.com/parse-community/parse-dashboard/pull/1730)
-
-## Fixes
-- Fixed bug after creating new class, wrong CLP was shown for that class [#1784](https://github.com/parse-community/parse-dashboard/issues/1784) (Prerna Mehra) [#1785](https://github.com/parse-community/parse-dashboard/pull/1785)
-- Fixed bug when opening a big modal, modal content is not visible due to Sidebar (Prerna Mehra) [#1777](https://github.com/parse-community/parse-dashboard/pull/1778)
-- Fixed UI for a field containing an array of pointers (Prerna Mehra) [#1776](https://github.com/parse-community/parse-dashboard/pull/1776)
-- Fixed bug when editing or copying a field containing an array of pointers [#1770](https://github.com/parse-community/parse-dashboard/issues/1770) (Prerna Mehra) [#1771](https://github.com/parse-community/parse-dashboard/pull/1771)
-- Modernize CI (Manuel Trezza) [#1789](https://github.com/parse-community/parse-dashboard/pull/1789)
-- ci: Remove parse-server dev dependency (Manuel Trezza) [#1796](https://github.com/parse-community/parse-dashboard/pull/1796)
-
-# 2.2.0
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.1.0...2.2.0)
-
-## New Features
-- Added data export in CSV format for classes (Cory Imdieke, Manuel Trezza) [#1494](https://github.com/parse-community/parse-dashboard/pull/1494)
-- Added collapsing sidebar for small screens (Douglas Muraoka, Manuel Trezza) [#1760](https://github.com/parse-community/parse-dashboard/pull/1760)
-- Added exclude hidden columns from being fetched from server (itzharDev) [#1694](https://github.com/parse-community/parse-dashboard/pull/1694)
-- Added cloning rows (Prerna Mehra) [#1697](https://github.com/parse-community/parse-dashboard/pull/1697)
-- Added `Cmd`-click on pointer to open link in new browser tab (fn-faisal) [#1757](https://github.com/parse-community/parse-dashboard/pull/1757)
-- Added browsing as another user (Nino Δrljenec, Manuel Trezza) [#1750](https://github.com/parse-community/parse-dashboard/pull/1750)
-- Added `columnPreference.preventSort` configuration option to prevent a column from being used for sorting (Christopher Brookes) [#1709](https://github.com/parse-community/parse-dashboard/pull/1709)
-- Added `columnPreference` configuration option for data browser (dblythy) [#1625](https://github.com/parse-community/parse-dashboard/pull/1625)
-
-## Improvements
-- Improved navigation by redesigning pointer cell with link icon (Prerna Mehra) [#1708](https://github.com/parse-community/parse-dashboard/pull/1708)
-- Improved rendering an array of pointers in cell (fn-faisal) [#1727](https://github.com/parse-community/parse-dashboard/pull/1727)
-- Improved flow when creating a class and adding columns (fn-faisal) [#1728](https://github.com/parse-community/parse-dashboard/pull/1728)
-- Added indication of required fields when adding new row (Prerna Mehra) [#1720](https://github.com/parse-community/parse-dashboard/pull/1720)
-- Added indication of auto-populated fields when adding new row (Prerna Mehra) [#1692](https://github.com/parse-community/parse-dashboard/pull/1692)
-- Added cancel button while adding a new row (Prerna Mehra) [#1690](https://github.com/parse-community/parse-dashboard/pull/1690)
-- Added progress indicator when uploading a file in modal dialog (Prerna Mehra) [#1717](https://github.com/parse-community/parse-dashboard/pull/1717)
-- Added tooltip for read-only fields (Prerna Mehra) [#1688](https://github.com/parse-community/parse-dashboard/pull/1688)
-- Added message when no locale is set for localizing push notifications (Prerna Mehra) [#1685](https://github.com/parse-community/parse-dashboard/pull/1685)
-- Updated to Parse JS SDK 3.3.0 (Manuel Trezza) [#1745](https://github.com/parse-community/parse-dashboard/pull/1745)
-- Transitioned CI to GitHub Actions (Diamond Lewis) [#1640](https://github.com/parse-community/parse-dashboard/pull/1640)
-- Added finish date to Cloud Job status (Diamond Lewis) [#1620](https://github.com/parse-community/parse-dashboard/pull/1620)
-
-## Fixes
-- Fixed clear state.data when setting relation to prevent column type mismatch (John Dillick) [#1564](https://github.com/parse-community/parse-dashboard/pull/1564)
-- Fixed incorrect setting of pointer CLPs (mess-lelouch) [#1556](https://github.com/parse-community/parse-dashboard/pull/1556)
-- Fixed master key not being passed in when saving file in global config (stevestencil) [#1581](https://github.com/parse-community/parse-dashboard/pull/1581)
-- Fixes toolbar overlap to page title (Sergei Smirnov) [#1578](https://github.com/parse-community/parse-dashboard/pull/1578)
-- Fixed various issues with edit row dialog (Nino Δrljenec) [#1586](https://github.com/parse-community/parse-dashboard/pull/1586)
-- Fixed date filters in data browser (Prerna Mehra) [#1682](https://github.com/parse-community/parse-dashboard/pull/1682)
-- Fixed `expiresAt` field in `Session` class not appearing as read-only (Prerna Mehra) [#1686](https://github.com/parse-community/parse-dashboard/pull/1686)
-- Fixed missing error message on failed clone row task (Prerna Mehra) [#1687](https://github.com/parse-community/parse-dashboard/pull/1687)
-- Fixes missing or duplicate rows displayed when scrolling; this fix may require the additional creation of database indices to avoid performance issues, see PR discussion (Prerna Mehra) [#1706](https://github.com/parse-community/parse-dashboard/pull/1706)
-- Fixed missing key binding for copy, paste, cancel while adding a new row (Christopher Brookes) [#1714](https://github.com/parse-community/parse-dashboard/pull/1714)
-- Fixed setup locales message when adding all locales to push notification (Prerna Mehra) [#1691](https://github.com/parse-community/parse-dashboard/pull/1691)
-- Fixed no error message displayed when trying to add column with a name that has a leading number (Prerna Mehra) [#1718](https://github.com/parse-community/parse-dashboard/pull/1718)
-- Fixed fetching data when un-hiding column despite that data is already cached (Prerna Mehra) [#1734](https://github.com/parse-community/parse-dashboard/pull/1734)
-- Fixed incorrect documentation (Philipp B) [#1592](https://github.com/parse-community/parse-dashboard/pull/1592)
-- Fixed various dependency vulnerabilities
-
-# 2.1.0
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.5...2.1.0)
-
-__New features:__
-* Added JS Console to run custom queries ([#1464](https://github.com/parse-community/parse-dashboard/pull/1464)), thanks to [Pedro Mutter](https://github.com/MutterPedro).
-* View/Edit single row modal ([#1448](https://github.com/parse-community/parse-dashboard/pull/1448)), thanks to [NIno Δrljenec](https://github.com/NinoZX).
-* Context menu with quick filters and links to related records in other Parse Objects ([#1431](https://github.com/parse-community/parse-dashboard/pull/1431)), thanks to [404-html](https://github.com/404-html).
-* Add ProtectedFields dialog and enhance Permissions dialogs ([#1478](https://github.com/parse-community/parse-dashboard/pull/1478)), thanks to [Old Grandpa](https://github.com/BufferUnderflower).
-
-__Improvements:__
-* Added config param delete confirmation dialog ([#1443](https://github.com/parse-community/parse-dashboard/pull/1443)), thanks to [Manuel Trezza](https://github.com/mtrezza).
-
-__Fixes:__
-* Inifite scroll not working ([#1432](https://github.com/parse-community/parse-dashboard/pull/1432)), thanks to [Douglas Muraoka](https://github.com/douglasmuraoka).
-* Fix crash in import semver re: npm/node-semver#305 ([#1441](https://github.com/parse-community/parse-dashboard/pull/1441)), thanks to [Ben Petty](https://github.com/benpetty).
-* Taking hidden columns into account when calculating Editor position ([#1438](https://github.com/parse-community/parse-dashboard/pull/1438)), thanks to [404-html](https://github.com/404-html).
-* Fix audience conditions when Installation class does not exist ([#1451](https://github.com/parse-community/parse-dashboard/pull/1451)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo).
-
-### 2.0.5
- [Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.4...2.0.5)
- * Fix: delete and regenerate package-lock to fix broken build
-
-### 2.0.4
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.3...2.0.4)
-* Fix: Restore `ObjectId` to filter ([#1315](https://github.com/parse-community/parse-dashboard/pull/1315)), thanks to [Wolfwood](https://github.com/W0lfw00d)
-* Fix: Prevent duplicate entries when sorting by `createdAt` ([#1334](https://github.com/parse-community/parse-dashboard/pull/1334)), thanks to [Wolfwood](https://github.com/W0lfw00d)
-
-### 2.0.3
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.2...2.0.3)
-* Fix: Feature "masterkey parameters" requires Parse Server >= 3.9.0 ([#1281](https://github.com/parse-community/parse-dashboard/pull/1281)), thanks to [Manuel Trezza](https://github.com/mtrezza)
-* Fix: CLP dialog for pointer fields ([#1283](https://github.com/parse-community/parse-dashboard/pull/1283)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
-* Fix: Force pointer array items to always be pointers ([#1291](https://github.com/parse-community/parse-dashboard/pull/1291)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
-
-### 2.0.2
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.1...2.0.2)
-* Fix: filter tab not working for _User, and ohter classes starting with _ ([#1275](https://github.com/parse-community/parse-dashboard/pull/1275)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
-* Fix: Data Browser is not updating accordingly ([#1276](https://github.com/parse-community/parse-dashboard/pull/1276)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
-* NEW: Copy cell value using CTRL+C ([#1272](https://github.com/parse-community/parse-dashboard/pull/1272)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* Docs: Update NodeJS required version in README ([#1265](https://github.com/parse-community/parse-dashboard/pull/1265)), thanks to [Jerome](https://github.com/JeromeDeLeon)
-
-### 2.0.1
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.0...2.0.1)
-* Publishing it again since there is an old test 2.0.0 release already published to npm
-
-### 2.0.0
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.4.3...2.0.0)
-* Fix: Cell edit not updating partial view ([#1255](https://github.com/parse-community/parse-dashboard/pull/1255)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* Improve: Table performance improvements ([#1241](https://github.com/parse-community/parse-dashboard/pull/1241)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* Fix: Avoid filter tab disappears on apply filter ([#1229](https://github.com/parse-community/parse-dashboard/pull/1229)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
-* NEW: Change columns order and visibility ([#1235](https://github.com/parse-community/parse-dashboard/pull/1235)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* Improve: Table not scrolling when using arrow keys ([#1239](https://github.com/parse-community/parse-dashboard/pull/1239)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* NEW: Add masterkey parameters ([#1233](https://github.com/parse-community/parse-dashboard/pull/1233)), thanks to [Manuel](https://github.com/mtrezza)
-* Improve: Editing values not possible on mobile ([#1222](https://github.com/parse-community/parse-dashboard/pull/1222)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* Fix: JSON conversion breaking file upload process ([#1225](https://github.com/parse-community/parse-dashboard/pull/1225)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* NEW: Support building on Windows ([#1115](https://github.com/parse-community/parse-dashboard/pull/1115)), thanks to [Diamond Lewis](https://github.com/dplewis)
-* Improve: Avoid Parse transformations on array and object fields ([#1223](https://github.com/parse-community/parse-dashboard/pull/1223)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* NEW: Select all objects ([#1219](https://github.com/parse-community/parse-dashboard/pull/1219)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
-* NEW: Boolean dropdown on installation condition ([#1221](https://github.com/parse-community/parse-dashboard/pull/1221)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
-* NEW: String editor resizable ([#1217](https://github.com/parse-community/parse-dashboard/pull/1217)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
-* Fix: Update PIG examples to work with react-dnd 3.x ([#1214](https://github.com/parse-community/parse-dashboard/pull/1214)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
-* Fix: Fonts on AppsIndex ([#1197](https://github.com/parse-community/parse-dashboard/pull/1197)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
-* NEW: Add required and default value options ([#1193](https://github.com/parse-community/parse-dashboard/pull/1193)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
-
-#### Breaking Changes:
-* Parse Dashboard now requires Node.js version >= 8.9
-
-### 1.4.3
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.4.2...1.4.3)
-* Fix 1.4.2 release.
-
-### 1.4.2
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.4.1...1.4.2)
-* Feature: Include count CLP option ([#1180](https://github.com/parse-community/parse-dashboard/pull/1180)), thanks to [Douglas Muroaka](https://github.com/douglasmuraoka)
-* Fix: AppsMenu broken layout when app name is too long ([#1164](https://github.com/parse-community/parse-dashboard/pull/1164)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
-* Fix: getFileName lib to display correctly the filename ([#1154](https://github.com/parse-community/parse-dashboard/pull/1154)), thanks to [Yago TomΓ©](https://github.com/yagotome)
-* Fix: Scroll is not working properly ([#1151](https://github.com/parse-community/parse-dashboard/pull/1151)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
-* Fix: AppsMenu not closing after selecting app ([#1146](https://github.com/parse-community/parse-dashboard/pull/1146)), thanks to [Douglas Muroaka](https://github.com/douglasmuraoka)
-* Feature: Add client key into GraphQL console by default ([#1142](https://github.com/parse-community/parse-dashboard/pull/1142)), thanks to [Douglas Muroaka](https://github.com/douglasmuraoka)
-* Fix: GraphQL console headers menu not visible ([#1141](https://github.com/parse-community/parse-dashboard/pull/1141)), thanks to [Douglas Muroaka](https://github.com/douglasmuraoka)
-* Fix: project not installing due to package-lock ([#1143](https://github.com/parse-community/parse-dashboard/pull/1143)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
-
-### 1.4.1
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.4.0...1.4.1)
-* Fix: 1.4.0 failed to deploy to npm. Reset credentials and trying again.
-
-### 1.4.0
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.3.3...1.4.0)
-* Security Fix: see the [advisory](https://github.com/parse-community/parse-dashboard/network/alert/package-lock.json/lodash/open) for details. [22d748](https://github.com/parse-community/parse-dashboard/pull/1134/commits/22d748fdc1e95661dc39226f5f797dc8fb0e5c2f)
-* Feature: GraphQL API playground ([#1123](https://github.com/parse-community/parse-dashboard/pull/1123)), thanks to [Douglas Muraoka](https://github.com/douglasmuraoka)
-* Fix: Can't switch (dropdown list) between servers [#1045](https://github.com/parse-community/parse-dashboard/issues/1045) ([#1125](https://github.com/parse-community/parse-dashboard/pull/1125)), thanks to [Douglas Muraoka](https://github.com/douglasmuraoka)
-
-### 1.3.3
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.3.2...1.3.3)
-
-* FIX: Travis configuration which was preventing 1.3.2 from publishing, thanks to [Diamond Lewis](https://github.com/dplewis)
-
-### 1.3.2
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.3.1...1.3.2)
-
-* FIX: Dockerhub configuration which was preventing 1.3.1 from publishing ([#1098](https://github.com/parse-community/parse-dashboard/pull/1098)), thanks to [Diamond Lewis](https://github.com/dplewis)
-
-### 1.3.1
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.3.0...1.3.1)
-
-* FIX: Correct inappropriate error message when no target audience is selected ([#1052](https://github.com/parse-community/parse-dashboard/pull/1052)), thanks to [Bouimadaghene](https://github.com/starbassma)
-* FIX: issue regarding lost mount path ([#1070](https://github.com/parse-community/parse-dashboard/pull/1070)), thanks to [Diamond Lewis](https://github.com/dplewis)
-* NEW: Add distinct / unique filter ([#920](https://github.com/parse-community/parse-dashboard/pull/920)), thanks to [Diamond Lewis](https://github.com/dplewis)
-
-### 1.3.0
-[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.2.0...1.3.0)
-
-* Node 10 Support, thanks [Florent Vilmart](https://github.com/flovilmart)
-* Fix: Remove column dialog default values (#969), thanks to [Jonas Stendahl](https://github.com/JStonevalley)
-* Fix: Handle case of null in array (#922), thanks to [Abdullah Alsigar](https://github.com/agent3bood)
-* Fix: JSON file upload (#935), thanks to [joshuadiezmo](https://github.com/joshuadiezmo)
-* Fix: Set initial audience null (#910), thanks to [Paulo Reis](https://github.com/paulovitin)
-* Fix: Ensure we traverse the payloadJSON properly (#861), thanks [Florent Vilmart](https://github.com/flovilmart)
-* Improvements: Push Audiences (#813), thanks [Florent Vilmart](https://github.com/flovilmart)
-* Improvements: Docker Build
-* Feature: `preventSchemaEdits` option (#960), thanks to [Cyril Chandelier](https://github.com/cyrilchandelier)
-* Feature: Redirect to the first app browser when only a single app is registered (#958), thanks to [Cyril Chandelier](https://github.com/cyrilchandelier)
-* Feature: Add classname to browser title (#913), thanks to [Paulo Reis](https://github.com/paulovitin)
-* Feature: Support for Clone Object (#946), thanks to [Diamond Lewis](https://github.com/dplewis)
-* Feature: Add tvOS support to push targeting (#936), thanks to [Thomas Kollbach](https://github.com/toto)
-* Feature: When using username to login, display dashboard username (#800), thanks to [Abdullah Alsigar](https://github.com/agent3bood)
-
-
-### 1.2.0
-* Fix: Filtering with a 1-digit number (#831), thanks to [Pascal Giguère](https://github.com/pgiguere1)
-* Fix: Databrowser shows correct count of filtered objects, thanks to [Tom Engelbrecht](https://github.com/engel)
-* Feature: Add primaryBackgroundColor and secondaryBackgroundColor in AppCard, thanks to [AreyouHappy](https://github.com/AreyouHappy)
-* Improvement: Removes forcing sort on createdAt (#796), thanks to [Florent Vilmart](https://github.com/flovilmart)
-* Fix: Broken Learn More link to cloud code documentation page (#828), thanks to [Stefan Trauth](https://github.com/funkenstrahlen)
-* Fix: Add `_PushStatus` add to SpecialClasses (#701), thanks to [Dongwoo Gim](https://github.com/gimdongwoo)
-* Fix: Include PushAudience query (#795), thanks to [marvelm](https://github.com/marvelm)
-
-### 1.1.2
-
-* Fix: An issue introduced when using readOnlyMasterKey would make all users readOnly after one has logged in.
-* Reverts: Dependency updates that would render the build unstable / broken.
-
-### 1.1.1
-
-* Fix: Updating array of Dates now keeps it's type (was changing to array of ISO strings, issue #590), thanks to [David Riha](https://github.com/rihadavid)
-* Fix: NaN displayed when filter input is empty or negative number (#749), thanks to [Miguel Serrrano](https://github.com/miguel-s)
-* Fix: Addresses issue related to displaying iOS alert object containing title and body keys (#539), thanks to [Robert Martin del Campo](https://github.com/repertus)
-* Feature: Adds support for localized push notifications if server version is high enough, thanks to [Florent Vilmart](https://github.com/flovilmart)
-* Feature: Adds support for readOnly masterKey, thanks to [Florent Vilmart](https://github.com/flovilmart)
-* Feature: Adds support for polygon types, thansk to [Mads Bjerre](https://github.com/madsb)
-* Feature: Adds support for push time, expiration time, and expiration interval, thanks to [Marvel Mathew](https://github.com/marvelm)
-
-### 1.1.0
-
-* Feature: UI for managing push audiences (#712), thanks to [Davi Macedo](https://github.com/davimacedo)
-* Feature: When editing Object or Array fields the data is displayed in a prettier format and the textarea is resizable (#734), thanks to [Samuli Siivinen](https://github.com/ssamuli)
-* Fix: Display bug on safari when table has empty cells ('') (#731), thanks to [Samuli Siivinen](https://github.com/ssamuli)
-* Fix: Added message that notifies Background Jobs requiring additional setup (#740 & #741), thanks to [Samuli Siivinen](https://github.com/ssamuli) and [Natan Rolnik](https://github.com/natanrolnik)
-
-### 1.0.28
-* Feature: Add ability to search Object columns (#727), thanks to [Samuli Siivinen](https://github.com/ssamuli)
-* Improvement: Added/fixed a filtering option "contains string" for String fields. Case insensitive for now (#728), thanks to [Samuli Siivinen](https://github.com/ssamuli)
-* Improvement: Sort config data according to parameter names (#726), thanks to [Natan Rolnik](https://github.com/natanrolnik)
-
-### 1.0.27
-* Improvement: Show notifications upon success or failure of save and delete objects (#718), thanks to [Natan Rolnik](https://github.com/natanrolnik)
-* Improvement: Moves download option into file editor (#716), thanks to [Natan Rolnik](https://github.com/natanrolnik)
-
-### 1.0.26
-* Improvement: Fixes broken links, thanks to [Arthur Cinader](https://github.com/acinader)
-* Improvement: Title on the add row button, thanks to [Abdul Basit](https://github.com/basitsattar)
-* Improvement: Use slim docker image, thanks to [Tyler Brock](https://github.com/tbrock)
-* Fix: table scrolling on google chrome (#671), thanks to [Jacer Omri](https://github.com/JacerOmri)
-* Various: adds eslint, thanks to [Jeremy Louie](https://github.com/JeremyPlease)
-
-### 1.0.25
-
-* Improvement: Update and add links to sidebar footer (#661), thanks to [Natan Rolnik](https://github.com/natanrolnik)
-* Fix: Donβt call unsupported endpoints in Parse Server (#660), thanks to [Natan Rolnik](https://github.com/natanrolnik)
-* Fix: Display correctly Files and GeoPoints in Config (#666), thanks to [Natan Rolnik](https://github.com/natanrolnik)
-
-### 1.0.24
-
-* Improvement: Data browser updates object count when table is filtered (#652), thanks to [Mike Rizzo](https://github.com/rizzomichaelg)
-* Improvement: Apps name sorting by name (#654), thanks to [Thilo SchmalfuΓ](https://github.com/scthi)
-* Fix: Fetch jobs list not showing (#656), thanks to [Natan Rolnik](https://github.com/natanrolnik)
-
-### 1.0.23
-
-* Improvement: Enabling web hooks (#584), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
-* Improvement: Set autofocus on the username input field (#644), thanks to [Herman Liang](https://github.com/hermanliang)
-* Fix: Browser won't render class table with field that contains an object (#623), thanks to [Jordan Haven](https://github.com/jordanhaven)
-* Fix: Config FETCH results in 401 (#575), thanks to [Matt Simms](https://github.com/brndmg)
-
-### 1.0.22
-
-* Fix issue affecting logging screen with encrypted passwords, thanks to [lsohn](https://github.com/lsohn)
-
-### 1.0.21
-
-* Fix: Use mountPath for all log in and log out redirects
-
-### 1.0.20
-
-* New: Form based login page instead of basic auth (#562), thanks to [Jeremy Louie](https://github.com/JeremyPlease)
-* Fix: Can't send push to specific user (#570), thanks to [Dan VanWinkle](https://github.com/dvanwinkle)
-* Fix: Download link in footer menu (#567), thanks to [Pavel Ivanov](https://github.com/pivanov)
-
-### 1.0.19
-
-* New: Support for trusting proxies w/ HTTPS
-* New: Support for filtering string with `ends with`
-* New: View parse-server based jobs
-* New: Button to add rows from browser toolbar
-* New: Support for encrypted passwords
-* New: Support for sorting by `createdAt`
-* Improvement: Push audiences support
-* Fix: Calendar dates support
-
-### 1.0.18
-
-* Fix: Revert history change that was causing issues when mounting on express
-
-### 1.0.17
-
-* Fix: Revert mount path change that was causing issues when mounting on express
-
-### 1.0.16
-
-* New: Add options to add selected rows to a relation, thanks to [Han BaHwan](https://github.com/Beingbook)
-* New: Add ability to use bcrypted passwords, thanks to [Dan VanWinkle](https://github.com/dvanwinkle)
-* Fix: Fix deletion of columns, thanks to [Bryan Rhea](https://github.com/brheal)
-
-### 1.0.15
-
-* New: Add ability to delete all rows in a class, thanks to [Marco Cheung](https://github.com/Marco129)
-* New: Add relation editor, thanks to [Han BaHwan](https://github.com/Beingbook)
-* Fix: Bug when alert is missing in payload, thanks to [Herman Liang](https://github.com/hermanliang)
-* Fix: Improve target display in Push viewer, thanks to [Herman Liang](https://github.com/hermanliang)
-* Fix: Open docs and other sidebar links in new tab, thanks to [Konstantinos N.](https://github.com/kwstasna)
-
-### 1.0.14
-
-* Fix bug in past push page
-
-### 1.0.13
-
-* Fix log retrieval, thanks to [JΓ©rΓ©my Thiry](https://github.com/poltib)
-* Improved GeoPoint editor and ESC button in editors, thanks to [Sam Schooler](https://github.com/samschooler)
-* Add push status page to dashboard, thanks to [Jeremy Pease](https://github.com/JeremyPlease)
-
-### 1.0.12
-
-* Fix minor style issues
-* Add pointer permissions editor
-* Allow cancellation of edits in data browser using ESC key, thanks to [Manuel](https://github.com/mtrezza)
-* Show error messages in the console when your app's icons can't be found, thanks to [Saif Al-Dilaimi](https://github.com/deada92)
-
-### 1.0.11
-
-* Add the ability to specify SSL cert and key, thanks to [Cory Imdieke](https://github.com/Vortec4800)
-* Trust proxy when enabling --allowInsecureHTTP, thanks to [Andrew Chen](https://github.com/yongjhih)
-* Fix App index when apps have an apostrophe in the name
-* Fix display of prod/dev flag
-* Support for Node 6
-
-### 1.0.10
-
-* Add the ability to specify icons for your app, thanks to [Natan Rolnik](https://github.com/natanrolnik)
-* Fix sending push with JSON data
-
-### 1.0.9
-
-* Add the ability to mount the dashboard express app on a custom mount path, thanks to [hpello](https://github.com/hpello) with bugfixes from [mamaso](https://github.com/mamaso)
-* Add ability to restrict certain users to certain apps, thanks to [Felipe Andrade](https://github.com/felipemobile)
-* Fix Dockerfile, thanks to [Kakashi Liu](https://github.com/kkc)
-* Display Parse Dashboard version, thanks to [Aayush Kapoor](https://github.com/xeoneux) and [gateway](https://github.com/gateway)
-* Add a refresh button to the data browser, thanks to [TylerBrock](https://github.com/TylerBrock)
-* Add logs viewer
-* Misc. performance improvements and bugfixes, thanks to [Pavel Ivanov](https://github.com/pivanov)
-
-### 1.0.8
-
-* Allow Dashboard to be mounted as Express middleware, thanks to [Florent Vilmart](https://github.com/flovilmart)
-* Add an option to specify that your app is in production, thanks to [Dylan Diamond](https://github.com/dcdspace)
-* Fix GeoPoints in Parse Config, thanks to [Dylan Diamond](https://github.com/dcdspace)
-* Allow specification of the host the dashboard runs on, thanks to [hpello](https://github.com/hpello)
-* Miscellaneous look-and-feel improvements
-
-### 1.0.7
-
-* Fix sending pushes with badge increment
-
-### 1.0.6
-
-* Send push notifications from the dashboard
-* Add object count to relation browser, thanks to [Sergey Gavrilyuk](https://github.com/gavrix)
-
-### 1.0.5
-
-* Fix new features notification
-
-### 1.0.4
-
-* Class level permissions editor
+## [7.2.1](https://github.com/parse-community/parse-dashboard/compare/7.2.0...7.2.1) (2025-07-01)
+
+
+### Bug Fixes
+
+* Data browser does not cancel obsolete long-loading request on sorting field change ([#2839](https://github.com/parse-community/parse-dashboard/issues/2839)) ([0f85376](https://github.com/parse-community/parse-dashboard/commit/0f85376b8ae1db7ae31626896b06fdc0bd8efd75))
+
+# [7.2.0](https://github.com/parse-community/parse-dashboard/compare/7.1.0...7.2.0) (2025-06-01)
+
+
+### Bug Fixes
+
+* Data browser not scrolling to top when changing filter while cell selected ([#2821](https://github.com/parse-community/parse-dashboard/issues/2821)) ([c2527dc](https://github.com/parse-community/parse-dashboard/commit/c2527dc1d3e084dcab3d52955bae7760bb27da36))
+* Data browser table shows loading indicator when info panel is loading ([#2782](https://github.com/parse-community/parse-dashboard/issues/2782)) ([da57e5e](https://github.com/parse-community/parse-dashboard/commit/da57e5ea5ec77abc1bbd4d97ba3a5a30cd82e4a7))
+* Improperly aligned unfolding sub-items in context menu in data browser ([#2726](https://github.com/parse-community/parse-dashboard/issues/2726)) ([3fed292](https://github.com/parse-community/parse-dashboard/commit/3fed292b70f9400d4fb09b44d215de377d568c03))
+* Notifications fade out erratically when executing a script on large number of rows ([#2822](https://github.com/parse-community/parse-dashboard/issues/2822)) ([3891381](https://github.com/parse-community/parse-dashboard/commit/38913813f0f3252b241a322aaf50142d5564201a))
+* Pagination does not reset to page 1 when clicking on class or filter ([#2798](https://github.com/parse-community/parse-dashboard/issues/2798)) ([29d1447](https://github.com/parse-community/parse-dashboard/commit/29d1447509db74c2ddc0c7f01a1cb7c7cd8573ff))
+* Saving new filter in data browser overwrites filters added in other dashboard instances ([#2769](https://github.com/parse-community/parse-dashboard/issues/2769)) ([46bc154](https://github.com/parse-community/parse-dashboard/commit/46bc154cc008c2d8f8d8248e52ec06b9e64cb779))
+* Selecting a saved filter in data browser may highlight a different filter ([#2783](https://github.com/parse-community/parse-dashboard/issues/2783)) ([4c6e853](https://github.com/parse-community/parse-dashboard/commit/4c6e853f4aa660a8dab61f349f8ccf70572ab8ca))
+
+### Features
+
+* Add confirmation dialog before saving a Cloud Config parameter that has been modified since editing it ([#2770](https://github.com/parse-community/parse-dashboard/issues/2770)) ([adb9b5c](https://github.com/parse-community/parse-dashboard/commit/adb9b5c34c7e6cb02d63ad35fbcca8ea9544e36c))
+* Add custom CSS styling for info panel items ([#2788](https://github.com/parse-community/parse-dashboard/issues/2788)) ([f031e5d](https://github.com/parse-community/parse-dashboard/commit/f031e5d4fa509c9fe098d0a6c77e960f79536334))
+* Add relative date filter in data browser for date constraints relative to when the query is run ([#2736](https://github.com/parse-community/parse-dashboard/issues/2736)) ([d9dfd69](https://github.com/parse-community/parse-dashboard/commit/d9dfd69b0fcef01456f1feee9b939b7504113e29))
+* Add script execution on parallel batches with option `script.executionBatchSize` ([#2828](https://github.com/parse-community/parse-dashboard/issues/2828)) ([cee8b8d](https://github.com/parse-community/parse-dashboard/commit/cee8b8dd12bc44a352e43073aed65782277841dd))
+* Keyboard Enter key can be used to select item in data browser filter dialog field dropdown ([#2771](https://github.com/parse-community/parse-dashboard/issues/2771)) ([dc14710](https://github.com/parse-community/parse-dashboard/commit/dc14710b63b0dc79ae52b322c683204941c4cb11))
+
+# [7.1.0](https://github.com/parse-community/parse-dashboard/compare/7.0.0...7.1.0) (2025-05-01)
+
+
+### Bug Fixes
+
+* Clicking on pointer in data browser when using pagination does not reset to first page ([#2767](https://github.com/parse-community/parse-dashboard/issues/2767)) ([ab512e5](https://github.com/parse-community/parse-dashboard/commit/ab512e52d137cdb30167ece53a9ce12c38f5d155))
+* Dashboard crashes on login due to `passport` upgrade ([#2758](https://github.com/parse-community/parse-dashboard/issues/2758)) ([ee74321](https://github.com/parse-community/parse-dashboard/commit/ee743210f67dd9e206e6302f57a5d025099be0b4))
+* Dashboard crashes when selecting app ([#2747](https://github.com/parse-community/parse-dashboard/issues/2747)) ([8b0cfea](https://github.com/parse-community/parse-dashboard/commit/8b0cfeae4759eaf41eef3d92aa52c79df2918e54))
+* Data browser filters "key exists" and "key does not exist" not working ([#2760](https://github.com/parse-community/parse-dashboard/issues/2760)) ([0691b3c](https://github.com/parse-community/parse-dashboard/commit/0691b3cf30a77421e17299935880c54f9c8c9c32))
+* Data browser filters "key exists" and "key does not exist" not working ([#2762](https://github.com/parse-community/parse-dashboard/issues/2762)) ([099eca3](https://github.com/parse-community/parse-dashboard/commit/099eca30be021c6466e4f5279ebd2e6f5cd1c1c3))
+* Data loading indicator not showing when using pagination ([#2768](https://github.com/parse-community/parse-dashboard/issues/2768)) ([62d7aec](https://github.com/parse-community/parse-dashboard/commit/62d7aec3c43c634f8dc632ef7a563cfdad5cd773))
+* Improperly aligned unfolding sub-items in context menu in data browser ([#2713](https://github.com/parse-community/parse-dashboard/issues/2713)) ([189c817](https://github.com/parse-community/parse-dashboard/commit/189c8170425642fd94a9360e5c001e6687f50c29))
+* Logout bar layout not aligned with data browser navigation bar ([#2720](https://github.com/parse-community/parse-dashboard/issues/2720)) ([01a2a1c](https://github.com/parse-community/parse-dashboard/commit/01a2a1c773484fef2f847e0c05a8823174782ee2))
+* Navigation bar in data browser is transparent and partly covers info panel ([#2717](https://github.com/parse-community/parse-dashboard/issues/2717)) ([60b38a5](https://github.com/parse-community/parse-dashboard/commit/60b38a53e1e288aab2a47d43697fe660fef1fffb))
+* Obsolete, long-running data fetch request overrides displayed data of newer fetch request in the data browser ([#2715](https://github.com/parse-community/parse-dashboard/issues/2715)) ([31668eb](https://github.com/parse-community/parse-dashboard/commit/31668ebdbb298b96597243947fd842be9063eed5))
+
+### Features
+
+* Add pagination to data browser ([#2659](https://github.com/parse-community/parse-dashboard/issues/2659)) ([a3c8a11](https://github.com/parse-community/parse-dashboard/commit/a3c8a119cb9f669e0e663ec6c018e2b2cf305596))
+* Allow row selection in data browser by dragging mouse outside of selection box column ([#2716](https://github.com/parse-community/parse-dashboard/issues/2716)) ([7c0f607](https://github.com/parse-community/parse-dashboard/commit/7c0f607fbb6c704a9793165a9cf14d6a1be792db))
+* Display filter list in data browser sorted alphabetically ([#2761](https://github.com/parse-community/parse-dashboard/issues/2761)) ([0209a0d](https://github.com/parse-community/parse-dashboard/commit/0209a0d78a3864ba059444ec5eb4a6d00a0430f4))
+
+# [7.0.0](https://github.com/parse-community/parse-dashboard/compare/6.2.0...7.0.0) (2025-04-04)
+
+
+### Bug Fixes
+
+* Title row disappears when scrolling down in data browser ([#2690](https://github.com/parse-community/parse-dashboard/issues/2690)) ([7eebc45](https://github.com/parse-community/parse-dashboard/commit/7eebc45a17844e7d72c5a7e86963ee355f63dd77))
+
+### Features
+
+* Allow to select and copy multiple cells in data browser ([#2691](https://github.com/parse-community/parse-dashboard/issues/2691)) ([eb50315](https://github.com/parse-community/parse-dashboard/commit/eb503151b30a5fd35437559eaddfc7e7e5991dc7))
+* Increase minimum required Node versions to `18.20.4`, `20.18.0`, `22.12.0` ([#2694](https://github.com/parse-community/parse-dashboard/issues/2694)) ([034df6a](https://github.com/parse-community/parse-dashboard/commit/034df6af3526edc33768f408c9e8faf018fa2ba9))
+
+
+### BREAKING CHANGES
+
+* Increases the minimum required Node versions to `18.20.4`, `20.18.0`, `22.12.0`. ([034df6a](034df6a))
+
+# [6.2.0](https://github.com/ParsePlatform/parse-dashboard/compare/6.1.0...6.2.0) (2025-03-17)
+
+
+### Bug Fixes
+
+* Bump @babel/runtime from 7.20.13 to 7.26.10 ([#2677](https://github.com/ParsePlatform/parse-dashboard/issues/2677)) ([37f4ea6](https://github.com/ParsePlatform/parse-dashboard/commit/37f4ea64a39c0f54aaf2e3631fd1f7b6bc03ae96))
+* Dashboard crashes when setting `unique` filter on pointer field in data browser ([#2660](https://github.com/ParsePlatform/parse-dashboard/issues/2660)) ([68fdbe8](https://github.com/ParsePlatform/parse-dashboard/commit/68fdbe8460d2afafbc922479bfef86e994449a20))
+* Security upgrade node from 20.18.2-alpine3.20 to 20.19.0-alpine3.20 ([#2676](https://github.com/ParsePlatform/parse-dashboard/issues/2676)) ([d251334](https://github.com/ParsePlatform/parse-dashboard/commit/d251334df22fbe46e77076bb583b218be6f1889c))
+
+### Features
+
+* Use Enter key to edit cell content in data browser ([#2672](https://github.com/ParsePlatform/parse-dashboard/issues/2672)) ([ac2dc41](https://github.com/ParsePlatform/parse-dashboard/commit/ac2dc41122faedb1fb7da205ba26229a77417da8))
+
+# [6.1.0](https://github.com/ParsePlatform/parse-dashboard/compare/6.0.0...6.1.0) (2025-03-04)
+
+
+### Bug Fixes
+
+* Info panel Cloud Code call is unauthenticated without using master key ([#2641](https://github.com/ParsePlatform/parse-dashboard/issues/2641)) ([e879e4f](https://github.com/ParsePlatform/parse-dashboard/commit/e879e4f541dc0aa3e23afe6606ee7df9ba22b63a))
+* Info panel Cloud Code call sends `objectId` instead of `Parse.Object` ([#2643](https://github.com/ParsePlatform/parse-dashboard/issues/2643)) ([a4bcabc](https://github.com/ParsePlatform/parse-dashboard/commit/a4bcabc5c5eaf07bc9eed11814c19901e1d310da))
+* Info panel item `panel` calls Cloud Code with parameter `objectId` instead of `Parse.Object` and without `masterKey` ([#2649](https://github.com/ParsePlatform/parse-dashboard/issues/2649)) ([884ff70](https://github.com/ParsePlatform/parse-dashboard/commit/884ff70567e372ff676297b6fb7856fbb7b71cbb))
+* Info panel not configurable via `new ParseDashboard()` when running as express middleware ([#2639](https://github.com/ParsePlatform/parse-dashboard/issues/2639)) ([a9b8cd4](https://github.com/ParsePlatform/parse-dashboard/commit/a9b8cd4a7228837cbb462a45e39b01494852f347))
+* Info panel not showing when some apps miss infoPanel config ([#2627](https://github.com/ParsePlatform/parse-dashboard/issues/2627)) ([539e883](https://github.com/ParsePlatform/parse-dashboard/commit/539e88348721bc100a80ae00de81a921bc2c53d4))
+* Node 22 support missing in package.json ([#2617](https://github.com/ParsePlatform/parse-dashboard/issues/2617)) ([8c07284](https://github.com/ParsePlatform/parse-dashboard/commit/8c07284cd571c69426c3f080c2698b0624fd4ec4))
+* Security upgrade cross-spawn from 7.0.3 to 7.0.6 ([#2629](https://github.com/ParsePlatform/parse-dashboard/issues/2629)) ([47a43e0](https://github.com/ParsePlatform/parse-dashboard/commit/47a43e0ac5d55fc9e214079895f71af7c7e3c350))
+* Security upgrade express from 4.21.0 to 4.21.1 ([#2607](https://github.com/ParsePlatform/parse-dashboard/issues/2607)) ([54bf0af](https://github.com/ParsePlatform/parse-dashboard/commit/54bf0afa0691e448b7ec20395753468e047e1fd1))
+* Security upgrade node from 20.17.0-alpine3.20 to 20.18.2-alpine3.20 ([#2647](https://github.com/ParsePlatform/parse-dashboard/issues/2647)) ([44df723](https://github.com/ParsePlatform/parse-dashboard/commit/44df723b56636607f44c16f2ca24e81e0e17dfb3))
+* Security upgrade ws, parse and puppeteer ([#2618](https://github.com/ParsePlatform/parse-dashboard/issues/2618)) ([bab71dc](https://github.com/ParsePlatform/parse-dashboard/commit/bab71dc57195efa62518127de842edd5902603de))
+
+### Features
+
+* Add cell selection in data browser on space bar touch down ([#2661](https://github.com/ParsePlatform/parse-dashboard/issues/2661)) ([9d623a9](https://github.com/ParsePlatform/parse-dashboard/commit/9d623a97a4e9ff9692f72191a33441a22fb6956e))
+* Add dynamic master key by allowing to set option `masterKey` to a function ([#2655](https://github.com/ParsePlatform/parse-dashboard/issues/2655)) ([9025ed0](https://github.com/ParsePlatform/parse-dashboard/commit/9025ed07b5e7fd801a6ec56c71a12299b2d57279))
+* Add info panel `keyValue` item parameter `isRelativeUrl` to link to dashboard pages ([#2646](https://github.com/ParsePlatform/parse-dashboard/issues/2646)) ([6389fc6](https://github.com/ParsePlatform/parse-dashboard/commit/6389fc6097a76dc95e3cbcdab56c8d1f96909d97))
+* Add info panel item `panel` to load and display data on demand ([#2622](https://github.com/ParsePlatform/parse-dashboard/issues/2622)) ([8e5741d](https://github.com/ParsePlatform/parse-dashboard/commit/8e5741d73b5a8c4fcb5d4248de1bdcd7bd957ee8))
+
+# [6.0.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.4.0...6.0.0) (2024-10-07)
+
+
+### Bug Fixes
+
+* App metrics for user and installation counts show dash ([#2528](https://github.com/ParsePlatform/parse-dashboard/issues/2528)) ([850d7b3](https://github.com/ParsePlatform/parse-dashboard/commit/850d7b3f20160761a21f68ec398d7207b8226770))
+* Class Level Permissions dialog throws error `TypeError: ce.current is null` for newly created class ([#2549](https://github.com/ParsePlatform/parse-dashboard/issues/2549)) ([27ed692](https://github.com/ParsePlatform/parse-dashboard/commit/27ed6920d38bfe6476aaf2cebd4124dc30389959))
+* Config page fails to load ([#2531](https://github.com/ParsePlatform/parse-dashboard/issues/2531)) ([d721b7c](https://github.com/ParsePlatform/parse-dashboard/commit/d721b7c4f3b98df96a229e60529604b038857d53))
+* Crash after setting filter using context menu and opening filters panel ([#2579](https://github.com/ParsePlatform/parse-dashboard/issues/2579)) ([5a690eb](https://github.com/ParsePlatform/parse-dashboard/commit/5a690ebe91007698fe1a60334112deed5ce94be1))
+* Dashboard crashes if Parse Server Cloud Function script returns object ([#2516](https://github.com/ParsePlatform/parse-dashboard/issues/2516)) ([5de08f8](https://github.com/ParsePlatform/parse-dashboard/commit/5de08f8f4d67f287a589c70d8b8d36f9f76897cf))
+* Dashboard not building for Docker platform arm64/v8 ([#2534](https://github.com/ParsePlatform/parse-dashboard/issues/2534)) ([8c4a862](https://github.com/ParsePlatform/parse-dashboard/commit/8c4a862d63b8e568738a2eeab25b6e977cd1ee11))
+* Dashboard scrolls when selecting row in data browser ([#2559](https://github.com/ParsePlatform/parse-dashboard/issues/2559)) ([2aa54a5](https://github.com/ParsePlatform/parse-dashboard/commit/2aa54a5bb1f356a7d4ed5abf3ea42c2e406d5b5a))
+* Data browser redirects to wrong class when changing app ([#2526](https://github.com/ParsePlatform/parse-dashboard/issues/2526)) ([7713f54](https://github.com/ParsePlatform/parse-dashboard/commit/7713f542ef9ef97cbf784fa267f7ea2a51c9472a))
+* Deleting all code in the JS Console editor fills in the default code ([#2558](https://github.com/ParsePlatform/parse-dashboard/issues/2558)) ([4b830ba](https://github.com/ParsePlatform/parse-dashboard/commit/4b830bac8dc6549555eca50e999a3283aff100c7))
+* Descriptive statistics for number cells in data browser not showing ([#2581](https://github.com/ParsePlatform/parse-dashboard/issues/2581)) ([e146b6f](https://github.com/ParsePlatform/parse-dashboard/commit/e146b6f54c7dfcb50c83c70f0c55e5ab76dc3c19))
+* Filter string is erased when changing filter condition ([#2586](https://github.com/ParsePlatform/parse-dashboard/issues/2586)) ([6fa2c8c](https://github.com/ParsePlatform/parse-dashboard/commit/6fa2c8c79201b9ea34321277ab085fa0ba988d77))
+* Internal classes `_User`, `_Role`, `_Installation` referenced with pointer don't appear in data browser filter dialog ([#2599](https://github.com/ParsePlatform/parse-dashboard/issues/2599)) ([8239cc8](https://github.com/ParsePlatform/parse-dashboard/commit/8239cc8a05865c5f0b4f5b33dfb224e87d25a319))
+* Open pointer in new tab in data browser not working when mount path is not root ([#2527](https://github.com/ParsePlatform/parse-dashboard/issues/2527)) ([2f4081f](https://github.com/ParsePlatform/parse-dashboard/commit/2f4081f217e1c5d906ed8789e09a3377ddc15121))
+
+### Features
+
+* Add Cloud Config change history to roll back to previous values ([#2554](https://github.com/ParsePlatform/parse-dashboard/issues/2554)) ([a784129](https://github.com/ParsePlatform/parse-dashboard/commit/a784129dd5f25d6464cdd5d768e296fda4501b42))
+* Add data panel to display object related data fetched via Cloud Function ([#2584](https://github.com/ParsePlatform/parse-dashboard/issues/2584)) ([914cc71](https://github.com/ParsePlatform/parse-dashboard/commit/914cc71790157289c32b95cd9d4cdf3d0685989f))
+* Add descriptive statistics for number cells in data browser ([#2529](https://github.com/ParsePlatform/parse-dashboard/issues/2529)) ([ead9ec4](https://github.com/ParsePlatform/parse-dashboard/commit/ead9ec4d39abc211540bc76616498533b31001a6))
+* Add filter `starts with` in data browser for fields of type Pointer ([#2553](https://github.com/ParsePlatform/parse-dashboard/issues/2553)) ([0b94ab6](https://github.com/ParsePlatform/parse-dashboard/commit/0b94ab6ced8b338cd3539f8cad37feb4452e1bcc))
+* Add Node 20 support; remove Node 14, 16 support ([#2532](https://github.com/ParsePlatform/parse-dashboard/issues/2532)) ([578a339](https://github.com/ParsePlatform/parse-dashboard/commit/578a339c04990b5ecb3f80d34c690c6d34218bfa))
+* Add Node 20 support; remove Node 14, 16 support ([#2535](https://github.com/ParsePlatform/parse-dashboard/issues/2535)) ([5c90f2d](https://github.com/ParsePlatform/parse-dashboard/commit/5c90f2de1b98a2099453c8f8c0d6817330f7133d))
+* Add optional restriction of script execution to certain object fields and values ([#2488](https://github.com/ParsePlatform/parse-dashboard/issues/2488)) ([8feac9b](https://github.com/ParsePlatform/parse-dashboard/commit/8feac9b8359f27ecd7bd4342be7bcae75289ba35))
+* Add relational filter conditions in data browser ([#2576](https://github.com/ParsePlatform/parse-dashboard/issues/2576)) ([aa5c68d](https://github.com/ParsePlatform/parse-dashboard/commit/aa5c68dbca458069d93351edc0bc0287fe63b7e1))
+* Add support for Node 22 ([#2603](https://github.com/ParsePlatform/parse-dashboard/issues/2603)) ([3689106](https://github.com/ParsePlatform/parse-dashboard/commit/3689106b4089aebe73ddb8668863dc82fd267b5c))
+* Execute script for selected rows ([#2508](https://github.com/ParsePlatform/parse-dashboard/issues/2508)) ([5d9901e](https://github.com/ParsePlatform/parse-dashboard/commit/5d9901e27b14517f22993ac094bdd7d8fbac401f))
+* Select rows in data browser by clicking and dragging mouse cursor over checkboxes ([#2548](https://github.com/ParsePlatform/parse-dashboard/issues/2548)) ([792ba9e](https://github.com/ParsePlatform/parse-dashboard/commit/792ba9e619224c6101ed21cd36add9fe83c3e348))
+
+
+### BREAKING CHANGES
+
+* Removes support for Node 14 and 16 ([5c90f2d](5c90f2d))
+
+# [5.4.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.3.0...5.4.0) (2024-05-16)
+
+
+### Features
+
+* Add refresh indicator to Cloud Config page ([#2505](https://github.com/ParsePlatform/parse-dashboard/issues/2505)) ([a10d1f0](https://github.com/ParsePlatform/parse-dashboard/commit/a10d1f0825688d403206ce7cbacada191dbf5c3b))
+
+# [5.3.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.2.0...5.3.0) (2023-11-16)
+
+
+### Bug Fixes
+
+* Adding a file when adding a new row in the data browser doesn't show filename ([#2471](https://github.com/ParsePlatform/parse-dashboard/issues/2471)) ([5bbb94e](https://github.com/ParsePlatform/parse-dashboard/commit/5bbb94e5b5266af5ed770d0241605eb859699831))
+* File extension is hidden in file field when editing object in modal dialog in data browser ([#2472](https://github.com/ParsePlatform/parse-dashboard/issues/2472)) ([8df4e4d](https://github.com/ParsePlatform/parse-dashboard/commit/8df4e4d9abf2ef9e487a48b209f33bedc03b55a3))
+* Incorrect highlight maker position in class list in data browser ([#2490](https://github.com/ParsePlatform/parse-dashboard/issues/2490)) ([8c28d24](https://github.com/ParsePlatform/parse-dashboard/commit/8c28d245cfe5d9558ffd276b9660f73449c4f35a))
+* Pasting location coordinates into field of type `GeoPoint` does not work in data browser ([#2464](https://github.com/ParsePlatform/parse-dashboard/issues/2464)) ([a8ce343](https://github.com/ParsePlatform/parse-dashboard/commit/a8ce3436a4ffe76ccf892965fa21dc2a467e2d14))
+* Selecting a saved filter in data browser also highlights other filters with equal names ([#2466](https://github.com/ParsePlatform/parse-dashboard/issues/2466)) ([35360fe](https://github.com/ParsePlatform/parse-dashboard/commit/35360fec68edbca619075227960062859bb9db2e))
+* Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([5acac3f](https://github.com/ParsePlatform/parse-dashboard/commit/5acac3fb5c74cbb24ec96b721d874fbc36096c39))
+
+### Features
+
+* Add Cloud Function execution on Parse Object in data browser ([#2409](https://github.com/ParsePlatform/parse-dashboard/issues/2409)) ([996ce91](https://github.com/ParsePlatform/parse-dashboard/commit/996ce916bfedb92c36deede4c234dde8c0554cbb))
+* Add parameter `selectedField` to script payload to determine which object field was selected when script was invoked ([#2483](https://github.com/ParsePlatform/parse-dashboard/issues/2483)) ([e98d653](https://github.com/ParsePlatform/parse-dashboard/commit/e98d653b96787720dad5310c5af98869e2ac2923))
+* Add refresh button to Cloud Config page ([#2480](https://github.com/ParsePlatform/parse-dashboard/issues/2480)) ([be212b0](https://github.com/ParsePlatform/parse-dashboard/commit/be212b0ad6c777f7c5ee9a74cac0affa63faa1c1))
+* Add security checks page ([#2491](https://github.com/ParsePlatform/parse-dashboard/issues/2491)) ([103b9c6](https://github.com/ParsePlatform/parse-dashboard/commit/103b9c61d152487898062485b40f11ecdac3d2e7))
+* Add support for confirmation dialog before script execution in data browser ([#2481](https://github.com/ParsePlatform/parse-dashboard/issues/2481)) ([64d3913](https://github.com/ParsePlatform/parse-dashboard/commit/64d391320bbdb519af8ff93fe8579315ef48e36e))
+* Add typing with auto-complete to select a filter field in the data browser ([#2463](https://github.com/ParsePlatform/parse-dashboard/issues/2463)) ([257f76b](https://github.com/ParsePlatform/parse-dashboard/commit/257f76bbf8d1e880e3b7b704edee2eebf76451c8))
+* Reopen last opened class when navigating to data browser ([#2468](https://github.com/ParsePlatform/parse-dashboard/issues/2468)) ([3d7148e](https://github.com/ParsePlatform/parse-dashboard/commit/3d7148e75a6e9eaeeb7cbb546885b5916f6025bb))
+
+### Reverts
+
+* fix: Vertical scrollbar in data browser is outside visible area when scrolling horizontally ([#2457](https://github.com/ParsePlatform/parse-dashboard/issues/2457)) ([#2477](https://github.com/ParsePlatform/parse-dashboard/issues/2477)) ([2f1d84e](https://github.com/ParsePlatform/parse-dashboard/commit/2f1d84e41c24507b516b933037807f1061182991))
+
+# [5.2.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.1.0...5.2.0) (2023-09-15)
+
+
+### Bug Fixes
+
+* Back button in data browser disappears after page refresh ([#2421](https://github.com/ParsePlatform/parse-dashboard/issues/2421)) ([6c5f19f](https://github.com/ParsePlatform/parse-dashboard/commit/6c5f19f6ed2cda1f1f0dc59bdaed3ae49f264380))
+* Cannot navigate to nested relation field in data browser ([#2420](https://github.com/ParsePlatform/parse-dashboard/issues/2420)) ([e7ace9e](https://github.com/ParsePlatform/parse-dashboard/commit/e7ace9efa068b92c5cf0e5ccdad169ac7d71e81a))
+* Dashboard crashes when adding a row with modal in a class that contains a pointer to another class that contains an array of pointers ([#2416](https://github.com/ParsePlatform/parse-dashboard/issues/2416)) ([286269f](https://github.com/ParsePlatform/parse-dashboard/commit/286269f3e2c4e1c83b14003ce72caaf1f39b16c1))
+* Empty table in data browser when navigating back using the "backβ button ([#2423](https://github.com/ParsePlatform/parse-dashboard/issues/2423)) ([6f3dab6](https://github.com/ParsePlatform/parse-dashboard/commit/6f3dab60c257c76345235acfd3e43aafadeb84c8))
+* File uploading status not updating in data browser ([#2422](https://github.com/ParsePlatform/parse-dashboard/issues/2422)) ([e761f97](https://github.com/ParsePlatform/parse-dashboard/commit/e761f9715a8366466c6620994ce698adbbfc48cd))
+* Hitting backspace key in data browser crashes dashboard ([#2456](https://github.com/ParsePlatform/parse-dashboard/issues/2456)) ([32aeea2](https://github.com/ParsePlatform/parse-dashboard/commit/32aeea244d81404579f55adf25244c11e3a797d1))
+* Incorrect date picker position in data browser filter dialog ([#2425](https://github.com/ParsePlatform/parse-dashboard/issues/2425)) ([b96b48f](https://github.com/ParsePlatform/parse-dashboard/commit/b96b48fdd5ce452783e0887c36231971a1822173))
+* Option missing for Parse Config parameter to require master key ([#2440](https://github.com/ParsePlatform/parse-dashboard/issues/2440)) ([6623369](https://github.com/ParsePlatform/parse-dashboard/commit/66233698b333422f306dc7024949aef2ea028f34))
+* Scroll position is preserved when re-opening the same class in data browser via navigation bar ([#2445](https://github.com/ParsePlatform/parse-dashboard/issues/2445)) ([667675c](https://github.com/ParsePlatform/parse-dashboard/commit/667675c031b0483be210a88da3b159f5f815d6fb))
+* Text input cursor jumps to first position when writing long text ([#2413](https://github.com/ParsePlatform/parse-dashboard/issues/2413)) ([422ffb2](https://github.com/ParsePlatform/parse-dashboard/commit/422ffb2897bb2664eb47b5aaad5094a8b39431bf))
+* Uncaught error when editing Number field in Edit Row dialog ([#2401](https://github.com/ParsePlatform/parse-dashboard/issues/2401)) ([26bd6fa](https://github.com/ParsePlatform/parse-dashboard/commit/26bd6fa39be1076621856a9c86dcd1307f8f7fdd))
+
+### Features
+
+* Add export of saved data browser filters via `classPreference` settings ([#2455](https://github.com/ParsePlatform/parse-dashboard/issues/2455)) ([f56f946](https://github.com/ParsePlatform/parse-dashboard/commit/f56f946023c628c96030e9d2d66284c53decd33e))
+* Add filter views to save frequently used filters in data browser ([#2404](https://github.com/ParsePlatform/parse-dashboard/issues/2404)) ([a9ec3a9](https://github.com/ParsePlatform/parse-dashboard/commit/a9ec3a915ff354304f382c17e8d5311b2c96d7ff))
+* Add links to users and roles in ACL dialog and handle invalid entries ([#2436](https://github.com/ParsePlatform/parse-dashboard/issues/2436)) ([a20cb8e](https://github.com/ParsePlatform/parse-dashboard/commit/a20cb8e534d3fecd8d337463864b15048772a9a5))
+* Add visual configurator for Parse Dashboard settings ([#2406](https://github.com/ParsePlatform/parse-dashboard/issues/2406)) ([228d839](https://github.com/ParsePlatform/parse-dashboard/commit/228d83903fd8698da7b96a5b74699f3ff2d5dad4))
+* Data types and pointer classes are sorted alphabetically in dialog to add new column ([#2400](https://github.com/ParsePlatform/parse-dashboard/issues/2400)) ([d9d285b](https://github.com/ParsePlatform/parse-dashboard/commit/d9d285b7f90434d3bb138c2c765272498e3f09c3))
+* Sort Cloud Code Jobs alphabetically ([#2402](https://github.com/ParsePlatform/parse-dashboard/issues/2402)) ([77fc372](https://github.com/ParsePlatform/parse-dashboard/commit/77fc372bedb9fb4eca728c1bc076e823c5bc3a2c))
+
+# [5.1.0](https://github.com/ParsePlatform/parse-dashboard/compare/5.0.0...5.1.0) (2023-05-01)
+
+
+### Bug Fixes
+
+* Add dashboard option `cookieSessionMaxAge` to keep user logged in across browser sessions ([#2366](https://github.com/ParsePlatform/parse-dashboard/issues/2366)) ([9ea95fc](https://github.com/ParsePlatform/parse-dashboard/commit/9ea95fc62103b52cf4fac1d1b567334b5298b318))
+* Blank screen shown if server is unreachable; unsupported pages are accessible via direct URLs ([#2363](https://github.com/ParsePlatform/parse-dashboard/issues/2363)) ([9855258](https://github.com/ParsePlatform/parse-dashboard/commit/98552584df4d8d75d65d3e394b4acad522117a96))
+* Dashboard may display blank page when selecting an app after login ([#2375](https://github.com/ParsePlatform/parse-dashboard/issues/2375)) ([f399b91](https://github.com/ParsePlatform/parse-dashboard/commit/f399b913490f15a0d3be8dde7242dd0b825fa02e))
+* Data browser dialog "No data to display" may be outside of visible area in Safari browser ([#2387](https://github.com/ParsePlatform/parse-dashboard/issues/2387)) ([52bba62](https://github.com/ParsePlatform/parse-dashboard/commit/52bba6246cd05c255ca562dcb32da5b104f9908e))
+* Internal error message on login with missing credential ([#2370](https://github.com/ParsePlatform/parse-dashboard/issues/2370)) ([9a6a31f](https://github.com/ParsePlatform/parse-dashboard/commit/9a6a31f7d45d1402bfc3a988bef21c4a5bb1b123))
+* Navigation to page fails if user re-login is required ([#2369](https://github.com/ParsePlatform/parse-dashboard/issues/2369)) ([0db6f55](https://github.com/ParsePlatform/parse-dashboard/commit/0db6f5559f9b7bb1f5a282c6182810ca89945032))
+* Screen goes blank when trying to add column of type `Object` or `GeoPoint` ([#2384](https://github.com/ParsePlatform/parse-dashboard/issues/2384)) ([0886386](https://github.com/ParsePlatform/parse-dashboard/commit/08863868b90455116232b2b73a39391ba990c30c))
+* Text selection not visible in modal dialog header ([#2340](https://github.com/ParsePlatform/parse-dashboard/issues/2340)) ([fb0e79c](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e79c0837c3acce27524e798e02da667cbc5a3))
+
+### Features
+
+* Add export all rows of a class and export in JSON format ([#2361](https://github.com/ParsePlatform/parse-dashboard/issues/2361)) ([9eb36a1](https://github.com/ParsePlatform/parse-dashboard/commit/9eb36a183b8b337960f6e8563ad686958001a22b))
+* Add schema export ([#2362](https://github.com/ParsePlatform/parse-dashboard/issues/2362)) ([33df049](https://github.com/ParsePlatform/parse-dashboard/commit/33df0495a02c4e77f48b3566032bf5686227cce7))
+* remove limitation to refresh Cloud Jobs list only after 30 seconds ([#2332](https://github.com/ParsePlatform/parse-dashboard/issues/2332)) ([ad1132f](https://github.com/ParsePlatform/parse-dashboard/commit/ad1132fb13e854a030e769fdf7689f35d363031d))
+
+# [5.0.0](https://github.com/ParsePlatform/parse-dashboard/compare/4.2.0...5.0.0) (2022-11-01)
+
+
+### Bug Fixes
+
+* increase required Node engine version to `>=14.20.1`; this is a breaking change, but will be published as a patch version because the change should have been done with the release of `5.0.0-alpha.1` which has just been released ([#2281](https://github.com/ParsePlatform/parse-dashboard/issues/2281)) ([50de52b](https://github.com/ParsePlatform/parse-dashboard/commit/50de52b6dddad079224e3c3b21ed16f4df347a33))
+* minor UI layout issues ([#2270](https://github.com/ParsePlatform/parse-dashboard/issues/2270)) ([51d083b](https://github.com/ParsePlatform/parse-dashboard/commit/51d083b218d1291fc27ee2a5f1727c5f2a1dc7d4))
+* raw value of read-only date field in data browser cannot be copied ([#2326](https://github.com/ParsePlatform/parse-dashboard/issues/2326)) ([4af7b98](https://github.com/ParsePlatform/parse-dashboard/commit/4af7b981ec1c8356c33215a49f3757a4005525a1))
+* using browser navigation backward / forward button clears data browser ([#2317](https://github.com/ParsePlatform/parse-dashboard/issues/2317)) ([7d9b957](https://github.com/ParsePlatform/parse-dashboard/commit/7d9b9575184d7b03fac0e74fa785409af399d314))
+
+### Features
+
+* improve distinction between deletion confirmation dialogs ([#2319](https://github.com/ParsePlatform/parse-dashboard/issues/2319)) ([23c12ff](https://github.com/ParsePlatform/parse-dashboard/commit/23c12ffbd49508de5c6e5e6155e6720e9f960fc5))
+* keep entered filter value when changing filter operator ([#2313](https://github.com/ParsePlatform/parse-dashboard/issues/2313)) ([d6d38bf](https://github.com/ParsePlatform/parse-dashboard/commit/d6d38bfc2b06360c6a1ecc990f937cd675d1ff39))
+* remove Node 12 support ([#2277](https://github.com/ParsePlatform/parse-dashboard/issues/2277)) ([18b0e76](https://github.com/ParsePlatform/parse-dashboard/commit/18b0e76e28938f4cb3eaaed7ba3292fc622a35c7))
+
+
+### BREAKING CHANGES
+
+* This version removes support for Node 12; the new minimum required Node version is 14. ([18b0e76](18b0e76))
+
+# [4.2.0](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.4...4.2.0) (2022-10-15)
+
+
+### Bug Fixes
+
+* button text "Show all" in column menu is truncated ([#2208](https://github.com/ParsePlatform/parse-dashboard/issues/2208)) ([b89d044](https://github.com/ParsePlatform/parse-dashboard/commit/b89d044a504c6748932907f075819a13aa08fb51))
+* column names in data browser menu not left-aligned ([#2263](https://github.com/ParsePlatform/parse-dashboard/issues/2263)) ([fc5673a](https://github.com/ParsePlatform/parse-dashboard/commit/fc5673a0ebbc7b4d51e122dbb71172803513309e))
+* context menu in data browser is not scrollable ([#2271](https://github.com/ParsePlatform/parse-dashboard/issues/2271)) ([6c54bd8](https://github.com/ParsePlatform/parse-dashboard/commit/6c54bd82b872d5efed827c3582b4fb3f0aa24a95))
+* dashboard contains invalid html for top-level document ([#2254](https://github.com/ParsePlatform/parse-dashboard/issues/2254)) ([bbce857](https://github.com/ParsePlatform/parse-dashboard/commit/bbce8579ef634bf8e6800f3a6ab8cd650e971695))
+* file upload dialog in data browser shows multiple times ([#2276](https://github.com/ParsePlatform/parse-dashboard/issues/2276)) ([3927340](https://github.com/ParsePlatform/parse-dashboard/commit/39273403568f7ca13a349cac53fbb6a99d8823cc))
+* login fails with error `req.session.regenerate is not a function` ([#2260](https://github.com/ParsePlatform/parse-dashboard/issues/2260)) ([1dc2b91](https://github.com/ParsePlatform/parse-dashboard/commit/1dc2b915e16a2038268f886d4c24e7b081ae0531))
+* security upgrade terser from 5.10.0 to 5.14.2 ([#2222](https://github.com/ParsePlatform/parse-dashboard/issues/2222)) ([645cfdd](https://github.com/ParsePlatform/parse-dashboard/commit/645cfdd5939aca429b988e7a7c1a1b6a68230810))
+* unnecessary count operations in Data Browser ([#2250](https://github.com/ParsePlatform/parse-dashboard/issues/2250)) ([bfc1684](https://github.com/ParsePlatform/parse-dashboard/commit/bfc1684375b7c2120e2a4ae566e5b3c38c0ca110))
+* view relation dialog requires browser refresh when navigating ([#2275](https://github.com/ParsePlatform/parse-dashboard/issues/2275)) ([d60a8b7](https://github.com/ParsePlatform/parse-dashboard/commit/d60a8b7c1ab6c4c8dd85051d9c1acb05a0a69a59))
+
+### Features
+
+* add column name to related records ([#2264](https://github.com/ParsePlatform/parse-dashboard/issues/2264)) ([cc82533](https://github.com/ParsePlatform/parse-dashboard/commit/cc82533ae3066daa7b789131a76a409720d45b0b))
+* add Node 18 support ([#2206](https://github.com/ParsePlatform/parse-dashboard/issues/2206)) ([bc7895a](https://github.com/ParsePlatform/parse-dashboard/commit/bc7895aadacc2cc6b0bbcfe786b73d7b82527e55))
+* add option to auto-sort columns alphabetically ([#2252](https://github.com/ParsePlatform/parse-dashboard/issues/2252)) ([2b7f20f](https://github.com/ParsePlatform/parse-dashboard/commit/2b7f20fcc088f74915b50ec1219038ba9b233c27))
+* apply filter in data browser by pressing "Enter" key ([#2256](https://github.com/ParsePlatform/parse-dashboard/issues/2256)) ([bc4f9eb](https://github.com/ParsePlatform/parse-dashboard/commit/bc4f9eb9cad9eb8e362dca20bf932cb3d1e6721c))
+* auto-submit one-time password (OTP) after entering ([#2257](https://github.com/ParsePlatform/parse-dashboard/issues/2257)) ([e528705](https://github.com/ParsePlatform/parse-dashboard/commit/e5287054cff3bff368ba4e379eebf05bfb7d8bd5))
+* improve button labels to be more concise in text ([#2207](https://github.com/ParsePlatform/parse-dashboard/issues/2207)) ([230fc14](https://github.com/ParsePlatform/parse-dashboard/commit/230fc1419db4d4de67c7e591cde415dbbe461c84))
+* remove support and documentation links ([#2203](https://github.com/ParsePlatform/parse-dashboard/issues/2203)) ([35e4476](https://github.com/ParsePlatform/parse-dashboard/commit/35e44768f65c64a228cb6ea8314aa534c5342f08))
+* show skeleton as loading indicator in data browser while data is loading ([#2273](https://github.com/ParsePlatform/parse-dashboard/issues/2273)) ([059f616](https://github.com/ParsePlatform/parse-dashboard/commit/059f616718006c6f559b0b07a8da641367497d9a))
+
+## [4.1.4](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.3...4.1.4) (2022-07-03)
+
+
+### Bug Fixes
+
+* login fails with error `req.session.regenerate is not a function` ([#2196](https://github.com/ParsePlatform/parse-dashboard/issues/2196)) ([a71848c](https://github.com/ParsePlatform/parse-dashboard/commit/a71848ce44fa19e579f9731bab50a7244ab89b11))
+
+## [4.1.3](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.2...4.1.3) (2022-07-02)
+
+
+### Bug Fixes
+
+* security upgrade semver-regex from 3.1.3 to 3.1.4 ([#2154](https://github.com/ParsePlatform/parse-dashboard/issues/2154)) ([4f9090a](https://github.com/ParsePlatform/parse-dashboard/commit/4f9090ad22460913f7987964ee54f26d348ca254))
+
+## [4.1.2](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.1...4.1.2) (2022-06-18)
+
+
+### Bug Fixes
+
+* config options like `--port` or `--config` are ignored ([#2113](https://github.com/ParsePlatform/parse-dashboard/issues/2113)) ([6d70d8a](https://github.com/ParsePlatform/parse-dashboard/commit/6d70d8aa74caf0d9c0d335a99a48347dc412ac4e))
+* data export is missing rows when exporting more than 100 rows ([#2087](https://github.com/ParsePlatform/parse-dashboard/issues/2087)) ([88f1eab](https://github.com/ParsePlatform/parse-dashboard/commit/88f1eab418ff5ef7af24f9ef6583ccaedef2788e))
+* preserve previous condition field value on constraint change ([#1969](https://github.com/ParsePlatform/parse-dashboard/issues/1969)) ([f4c3060](https://github.com/ParsePlatform/parse-dashboard/commit/f4c30605f675bd7a681be127b2dfb3fc11f90e32))
+* security upgrade async from 2.6.3 to 2.6.4 ([#2094](https://github.com/ParsePlatform/parse-dashboard/issues/2094)) ([283745c](https://github.com/ParsePlatform/parse-dashboard/commit/283745c7c1ebe1bc6f35670f1b6f3b644b94043e))
+* security upgrade cross-fetch from 3.1.4 to 3.1.5 ([#2105](https://github.com/ParsePlatform/parse-dashboard/issues/2105)) ([8d42622](https://github.com/ParsePlatform/parse-dashboard/commit/8d426226e6431793e275b68d680776443675ee35))
+* security upgrade node-fetch from 2.6.5 to 2.6.7 ([#2114](https://github.com/ParsePlatform/parse-dashboard/issues/2114)) ([5423b0d](https://github.com/ParsePlatform/parse-dashboard/commit/5423b0d70cb72081933ed7531a55f49d39f3b92c))
+* upgrade graphiql from 1.8.4 to 1.8.5 ([#2111](https://github.com/ParsePlatform/parse-dashboard/issues/2111)) ([1a50d30](https://github.com/ParsePlatform/parse-dashboard/commit/1a50d30b6b7d769e04c2c8e82d60142dd2e52b70))
+
+### Reverts
+
+* feat: change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([db5d23b](https://github.com/ParsePlatform/parse-dashboard/commit/db5d23bf17f65d0db3e5d0d4ef4ca506d8394fb9))
+
+## [4.1.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.1.0...4.1.1) (2022-05-01)
+
+
+### Bug Fixes
+
+* security upgrade js-beautify from 1.14.0 to 1.14.1 ([#2077](https://github.com/ParsePlatform/parse-dashboard/issues/2077)) ([e4ea787](https://github.com/ParsePlatform/parse-dashboard/commit/e4ea7879d88173b02d66b1339ba98805255ba82c))
+* security vulnerability bump minimist from 1.2.5 to 1.2.6 ([#2070](https://github.com/ParsePlatform/parse-dashboard/issues/2070)) ([3d0407e](https://github.com/ParsePlatform/parse-dashboard/commit/3d0407ebd75051bbbe6f0a2aba87b26475e901b9))
+
+# [4.1.0](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.1...4.1.0) (2022-04-03)
+
+
+### Bug Fixes
+
+* adding internal class (e.g. `_User`) fails due to prefixed underscore ([#2036](https://github.com/ParsePlatform/parse-dashboard/issues/2036)) ([e004e70](https://github.com/ParsePlatform/parse-dashboard/commit/e004e701737718f010978b0830d64bf8e1d8c559))
+* security upgrade prismjs from 1.26.0 to 1.27.0 ([#2047](https://github.com/ParsePlatform/parse-dashboard/issues/2047)) ([ffbca12](https://github.com/ParsePlatform/parse-dashboard/commit/ffbca12c80bf32052a1a2b5d315c8a3393d82248))
+* upgrade @babel/runtime from 7.17.0 to 7.17.2 ([#2055](https://github.com/ParsePlatform/parse-dashboard/issues/2055)) ([3e8449b](https://github.com/ParsePlatform/parse-dashboard/commit/3e8449b1679f803e9d26876ccfd28f88fea814ff))
+* upgrade express from 4.17.2 to 4.17.3 ([#2058](https://github.com/ParsePlatform/parse-dashboard/issues/2058)) ([d1357de](https://github.com/ParsePlatform/parse-dashboard/commit/d1357de1281244f040499a2ca54db0faee4d882c))
+* upgrade otpauth from 7.0.10 to 7.0.11 ([#2061](https://github.com/ParsePlatform/parse-dashboard/issues/2061)) ([05c5ac8](https://github.com/ParsePlatform/parse-dashboard/commit/05c5ac87a6cf1675889e58330276dac185929a01))
+
+### Features
+
+* change string filter description ([#2059](https://github.com/ParsePlatform/parse-dashboard/issues/2059)) ([6470c8e](https://github.com/ParsePlatform/parse-dashboard/commit/6470c8e3221e3b4ec95ecd831726a914d24ff619))
+
+## [4.0.1](https://github.com/ParsePlatform/parse-dashboard/compare/4.0.0...4.0.1) (2022-03-03)
+
+
+### Bug Fixes
+
+* bump follow-redirects from 1.14.4 to 1.14.7 ([#1997](https://github.com/ParsePlatform/parse-dashboard/issues/1997)) ([4ca2e97](https://github.com/ParsePlatform/parse-dashboard/commit/4ca2e971890c6ee7ee88195a4c75dbb73dc5a0b1))
+* bump markdown-it from 12.3.0 to 12.3.2 ([#1996](https://github.com/ParsePlatform/parse-dashboard/issues/1996)) ([245c22e](https://github.com/ParsePlatform/parse-dashboard/commit/245c22ea21f1af6f3e74a269d74460d5c5ea5c03))
+* bump marked from 0.8.2 to 4.0.10 ([#2001](https://github.com/ParsePlatform/parse-dashboard/issues/2001)) ([ae4cc90](https://github.com/ParsePlatform/parse-dashboard/commit/ae4cc900bdbdc4425f0f30c07c6ef689c8cebe8c))
+* bump nanoid from 3.1.28 to 3.2.0 ([#2008](https://github.com/ParsePlatform/parse-dashboard/issues/2008)) ([6cfe9ca](https://github.com/ParsePlatform/parse-dashboard/commit/6cfe9cae63a49013489e5683b5e16ab3c4399730))
+* calendar widget layout partly hides last days of a month ([#1990](https://github.com/ParsePlatform/parse-dashboard/issues/1990)) ([5bd86dd](https://github.com/ParsePlatform/parse-dashboard/commit/5bd86dd0a5c7857705089cb8a57c078d62863dfc))
+* cannot save nullish values for required fields ([#2003](https://github.com/ParsePlatform/parse-dashboard/issues/2003)) ([e1a5497](https://github.com/ParsePlatform/parse-dashboard/commit/e1a5497d4a999d18dcf60f93cdba16d36250a7cc))
+* crash when checking for new dashboard release without internet connection ([#2015](https://github.com/ParsePlatform/parse-dashboard/issues/2015)) ([8c36e69](https://github.com/ParsePlatform/parse-dashboard/commit/8c36e693c08a960c4002d7d29bde7d111eff2cd4))
+* preserve column sorting preferences in data browser ([#2016](https://github.com/ParsePlatform/parse-dashboard/issues/2016)) ([c2e6557](https://github.com/ParsePlatform/parse-dashboard/commit/c2e65573ccfa29b6d6e727e93b9552380c520f86))
+* upgrade parse from 3.4.0 to 3.4.1 ([#2011](https://github.com/ParsePlatform/parse-dashboard/issues/2011)) ([68cf9e2](https://github.com/ParsePlatform/parse-dashboard/commit/68cf9e238594df29c22a687b2976d56894897f34))
+* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2010](https://github.com/ParsePlatform/parse-dashboard/issues/2010)) ([a508a58](https://github.com/ParsePlatform/parse-dashboard/commit/a508a58ce927fd7e08d249818c38f6fb1305956c))
+
+# [4.0.0](https://github.com/ParsePlatform/parse-dashboard/compare/3.3.0...4.0.0) (2022-02-06)
+
+
+### Bug Fixes
+
+* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([26c0dfa](https://github.com/ParsePlatform/parse-dashboard/commit/26c0dfa7eaa68194d53beaeed1ca6705f3d11a6a))
+* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([fb0e3a9](https://github.com/ParsePlatform/parse-dashboard/commit/fb0e3a9882438069fef1d7926ec74bad6bb3eebc))
+* opening filter menu in data browser leads to blank page ([#1958](https://github.com/ParsePlatform/parse-dashboard/issues/1958)) ([750e8b1](https://github.com/ParsePlatform/parse-dashboard/commit/750e8b1f018e37360e6577f423da005d7f773f20))
+* saving relation column fails if class has required fields ([#1937](https://github.com/ParsePlatform/parse-dashboard/issues/1937)) ([c67db08](https://github.com/ParsePlatform/parse-dashboard/commit/c67db083a9657be2d16ba566a7f6ce497fd66092))
+* security upgrade qrcode from 1.4.4 to 1.5.0 ([#1930](https://github.com/ParsePlatform/parse-dashboard/issues/1930)) ([244e1bb](https://github.com/ParsePlatform/parse-dashboard/commit/244e1bba1a3fb89b9ed8c93a3d0f7163eacd2691))
+* various UI bugs (e.g. filter data browser, switch app, upload file) ([#2014](https://github.com/ParsePlatform/parse-dashboard/issues/2014)) ([785978e](https://github.com/ParsePlatform/parse-dashboard/commit/785978ecce501cf23cb7fc3d82fa3f7c7dce7f6a))
+
+### Features
+
+* upgrade graphiql from 1.4.7 to 1.5.1 ([#1943](https://github.com/ParsePlatform/parse-dashboard/issues/1943)) ([ebb1f66](https://github.com/ParsePlatform/parse-dashboard/commit/ebb1f660f1d10921f92d05eb58b09d548e00d3a9))
+* upgrade graphql from 15.7.0 to 16.0.0 ([#1926](https://github.com/ParsePlatform/parse-dashboard/issues/1926)) ([7c94e51](https://github.com/ParsePlatform/parse-dashboard/commit/7c94e512ed5428797823d24ac205ece59e94f3ea))
+* upgrade parse from 3.3.1 to 3.4.0 ([#1942](https://github.com/ParsePlatform/parse-dashboard/issues/1942)) ([13a250e](https://github.com/ParsePlatform/parse-dashboard/commit/13a250e2e04ba0f12be0c2da8c9075ea8eb4d83f))
+
+
+### BREAKING CHANGES
+
+* The minimum required Node.js version is 12.22.0. ([7c94e51](7c94e51))
+* The required Node version was increased to >=12.20.0. ([ebb1f66](ebb1f66))
+
+# [3.3.0](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.1...3.3.0) (2022-01-01)
+
+
+### Bug Fixes
+
+* always pass boolean value when toggling checkbox ([#1872](https://github.com/ParsePlatform/parse-dashboard/issues/1872)) ([2e9fd59](https://github.com/ParsePlatform/parse-dashboard/commit/2e9fd59c2ce33f60c904213dc0b5956c4fbfe0c9))
+* app icons are cropped in the app list for small screen sizes ([#1876](https://github.com/ParsePlatform/parse-dashboard/issues/1876)) ([9fc56a6](https://github.com/ParsePlatform/parse-dashboard/commit/9fc56a6be210d82c4f1b03e804bd492d0848a62d))
+* bump graphiql from 1.4.6 to 1.4.7 ([#1920](https://github.com/ParsePlatform/parse-dashboard/issues/1920)) ([35fd021](https://github.com/ParsePlatform/parse-dashboard/commit/35fd021cb7d7cc05dd6a532948caa25b51fd8340))
+* context menu in data browser not opening for cell of type number ([#1913](https://github.com/ParsePlatform/parse-dashboard/issues/1913)) ([8731c35](https://github.com/ParsePlatform/parse-dashboard/commit/8731c350bd1867cedbaa735f035d16dde4033bc7))
+* link icon in pointer cell not visible when cell is too narrow ([#1856](https://github.com/ParsePlatform/parse-dashboard/issues/1856)) ([69b897d](https://github.com/ParsePlatform/parse-dashboard/commit/69b897d17f379f9e5af1a0f64c557f54054ebe67))
+* manual column preferences are overwritten by columnPreference option on page refresh ([#1881](https://github.com/ParsePlatform/parse-dashboard/issues/1881)) ([7232b0b](https://github.com/ParsePlatform/parse-dashboard/commit/7232b0b13916ee9bc409279242b5d4bbc4fee033))
+* notification to upgrade dashboard for latest features not working ([#1894](https://github.com/ParsePlatform/parse-dashboard/issues/1894)) ([81361b6](https://github.com/ParsePlatform/parse-dashboard/commit/81361b67946a347d31ef96d61e3dd11503a6ad5b))
+* upgrade graphql from 15.4.0 to 15.6.0 ([#1853](https://github.com/ParsePlatform/parse-dashboard/issues/1853)) ([fca9b14](https://github.com/ParsePlatform/parse-dashboard/commit/fca9b14cbe23ea0537bebb48bc390484932257c7))
+* upgrade graphql from 15.6.0 to 15.6.1 ([#1887](https://github.com/ParsePlatform/parse-dashboard/issues/1887)) ([0cfe59e](https://github.com/ParsePlatform/parse-dashboard/commit/0cfe59e475d9f991a3579eb81e8e8a24705eec6a))
+* upgrade inquirer from 8.1.3 to 8.2.0 ([#1886](https://github.com/ParsePlatform/parse-dashboard/issues/1886)) ([c77f335](https://github.com/ParsePlatform/parse-dashboard/commit/c77f335f6203842d0c83bc161ced0376ae166f26))
+* upgrade passport from 0.4.1 to 0.5.0 ([#1865](https://github.com/ParsePlatform/parse-dashboard/issues/1865)) ([8d845f0](https://github.com/ParsePlatform/parse-dashboard/commit/8d845f0b59d161d21b6b28691b9962869fac2f20))
+* upload of file as default value fails when adding a new column ([#1875](https://github.com/ParsePlatform/parse-dashboard/issues/1875)) ([6040dd0](https://github.com/ParsePlatform/parse-dashboard/commit/6040dd0dfe3315131dfeccc42f54cdf4d6d6b90e))
+
+### Features
+
+* add config option `columnPreference.filterSortToTop` to set column name order in filter dialog ([#1884](https://github.com/ParsePlatform/parse-dashboard/issues/1884)) ([3acbda1](https://github.com/ParsePlatform/parse-dashboard/commit/3acbda1cf2adfaa4471ef761c81e000eb1d04a97))
+* add pointer representation by a chosen column instead of objectId ([#1852](https://github.com/ParsePlatform/parse-dashboard/issues/1852)) ([d747786](https://github.com/ParsePlatform/parse-dashboard/commit/d7477860ebf972a1cb69a43761e77841831754e2))
+* add visual distinction in data browser for internal classes and display their real names with underscore ([#1878](https://github.com/ParsePlatform/parse-dashboard/issues/1878)) ([ac8d85e](https://github.com/ParsePlatform/parse-dashboard/commit/ac8d85e368d1ff0f2bc644b30264b9af7c86c76d))
+* allow GraphIQL headers ([#1836](https://github.com/ParsePlatform/parse-dashboard/issues/1836)) ([3afcf73](https://github.com/ParsePlatform/parse-dashboard/commit/3afcf730c1303b3957ab03d683ada86242175579))
+* allow graphQL headers ([34536b3](https://github.com/ParsePlatform/parse-dashboard/commit/34536b3ba200728e38ff017e487b0339bf0bee6b))
+
+### Reverts
+
+* Revert "Update CloudCode.react.js" ([eea1e2d](https://github.com/ParsePlatform/parse-dashboard/commit/eea1e2dad28795e55467091dc2f7d99790bdd3c4))
+
+## [3.2.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.2.0...3.2.1) (2021-10-08)
+
+
+### Bug Fixes
+
+* enabling context menu for read-only cells ([#1844](https://github.com/ParsePlatform/parse-dashboard/issues/1844)) ([a38a885](https://github.com/ParsePlatform/parse-dashboard/commit/a38a885db23e3a76c1e24f880e061dc882e1d37f))
+
+# [3.2.0](https://github.com/ParsePlatform/parse-dashboard/compare/3.1.2...3.2.0) (2021-10-05)
+
+
+### Features
+
+* add ctrl + arrow key to jump to first/last cell; fix left/right key navigation with hidden columns ([#1827](https://github.com/ParsePlatform/parse-dashboard/issues/1827)) ([b504c0f](https://github.com/ParsePlatform/parse-dashboard/commit/b504c0fc555e0b8adc2ce796cd6928ea05bb3092))
+
+## [3.1.2](https://github.com/ParsePlatform/parse-dashboard/compare/3.1.1...3.1.2) (2021-10-04)
+
+
+### Refactor
+
+* upgrade react-router-dom from 5.2.1 to 5.3.0 ([#1817](https://github.com/ParsePlatform/parse-dashboard/pull/1817)) ([8f359b3](https://github.com/ParsePlatform/parse-dashboard/commit/8f359b326dc69c7294ca8a208533cf58280357ad))
+
+## [3.1.1](https://github.com/ParsePlatform/parse-dashboard/compare/3.1.0...3.1.1) (2021-09-30)
+
+
+### Bug Fixes
+
+* incorrect autofocus for login form input fields ([#1825](https://github.com/ParsePlatform/parse-dashboard/issues/1825)) ([7ca6aae](https://github.com/ParsePlatform/parse-dashboard/commit/7ca6aaed7e748057662017224b4a796ce8b6c99e))
+
+# [3.1.0](https://github.com/ParsePlatform/parse-dashboard/compare/3.0.0...3.1.0) (2021-09-29)
+
+
+### Features
+
+* add support for npm 7 and Node 16, migrate to graphiql ([#1807](https://github.com/ParsePlatform/parse-dashboard/issues/1807)) ([b61fc7f](https://github.com/ParsePlatform/parse-dashboard/commit/b61fc7fadad608699634e3ff57d0df3a76c6d74a))
+
+# 3.0.0
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.2.0...3.0.0)
+
+## BREAKING CHANGE
+- Parse Dashboard requires Node >=12.0.0 <16.0.0
+- Reverts PR [#1706](https://github.com/parse-community/parse-dashboard/pull/1706) which introduced new database index requirements for pagination and was a breaking change that can lead to database performance issues if database indices were not adapted; reverting #1706 removes the `objectId` from the compound query; make sure that the database indices satisfy your dashboard sorting and filter usage before upgrading to this release to prevent database performance issues due to missing indices (Christopher Brookes) [#1800](https://github.com/parse-community/parse-dashboard/pull/1800)
+
+## New Features
+- Add multi-factor authentication to dashboard login. To use one-time password, run `parse-dashboard --createMFA` or `parse-dashboard --createUser`. (Daniel Blyth) [#1624](https://github.com/parse-community/parse-dashboard/pull/1624)
+
+## Improvements
+- Sidebar: Class counts are now updated when all counts are returned instead of after each call (Christopher Brookes) [#1802](https://github.com/parse-community/parse-dashboard/pull/1802)
+- Update sass to 5.0.0 and make docker image use node:lts-alpine (Corey Baker) [#1792](https://github.com/parse-community/parse-dashboard/pull/1792)
+- Docker image use now node 12 version (Christopher Brookes) [#1788](https://github.com/parse-community/parse-dashboard/pull/1788)
+- CI now pushes docker images to Docker Hub (Corey Baker) [#1781](https://github.com/parse-community/parse-dashboard/pull/1781)
+- Add CI check to add changelog entry (Manuel Trezza) [#1764](https://github.com/parse-community/parse-dashboard/pull/1764)
+- Refactor: uniform issue templates across repos (Manuel Trezza) [#1767](https://github.com/parse-community/parse-dashboard/pull/1767)
+- fix: date cell value not selected on double clicks (fn-faisal) [#1730](https://github.com/parse-community/parse-dashboard/pull/1730)
+
+## Fixes
+- Fixed bug after creating new class, wrong CLP was shown for that class [#1784](https://github.com/parse-community/parse-dashboard/issues/1784) (Prerna Mehra) [#1785](https://github.com/parse-community/parse-dashboard/pull/1785)
+- Fixed bug when opening a big modal, modal content is not visible due to Sidebar (Prerna Mehra) [#1777](https://github.com/parse-community/parse-dashboard/pull/1778)
+- Fixed UI for a field containing an array of pointers (Prerna Mehra) [#1776](https://github.com/parse-community/parse-dashboard/pull/1776)
+- Fixed bug when editing or copying a field containing an array of pointers [#1770](https://github.com/parse-community/parse-dashboard/issues/1770) (Prerna Mehra) [#1771](https://github.com/parse-community/parse-dashboard/pull/1771)
+- Modernize CI (Manuel Trezza) [#1789](https://github.com/parse-community/parse-dashboard/pull/1789)
+- ci: Remove parse-server dev dependency (Manuel Trezza) [#1796](https://github.com/parse-community/parse-dashboard/pull/1796)
+
+# 2.2.0
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.1.0...2.2.0)
+
+## New Features
+- Added data export in CSV format for classes (Cory Imdieke, Manuel Trezza) [#1494](https://github.com/parse-community/parse-dashboard/pull/1494)
+- Added collapsing sidebar for small screens (Douglas Muraoka, Manuel Trezza) [#1760](https://github.com/parse-community/parse-dashboard/pull/1760)
+- Added exclude hidden columns from being fetched from server (itzharDev) [#1694](https://github.com/parse-community/parse-dashboard/pull/1694)
+- Added cloning rows (Prerna Mehra) [#1697](https://github.com/parse-community/parse-dashboard/pull/1697)
+- Added `Cmd`-click on pointer to open link in new browser tab (fn-faisal) [#1757](https://github.com/parse-community/parse-dashboard/pull/1757)
+- Added browsing as another user (Nino Δrljenec, Manuel Trezza) [#1750](https://github.com/parse-community/parse-dashboard/pull/1750)
+- Added `columnPreference.preventSort` configuration option to prevent a column from being used for sorting (Christopher Brookes) [#1709](https://github.com/parse-community/parse-dashboard/pull/1709)
+- Added `columnPreference` configuration option for data browser (dblythy) [#1625](https://github.com/parse-community/parse-dashboard/pull/1625)
+
+## Improvements
+- Improved navigation by redesigning pointer cell with link icon (Prerna Mehra) [#1708](https://github.com/parse-community/parse-dashboard/pull/1708)
+- Improved rendering an array of pointers in cell (fn-faisal) [#1727](https://github.com/parse-community/parse-dashboard/pull/1727)
+- Improved flow when creating a class and adding columns (fn-faisal) [#1728](https://github.com/parse-community/parse-dashboard/pull/1728)
+- Added indication of required fields when adding new row (Prerna Mehra) [#1720](https://github.com/parse-community/parse-dashboard/pull/1720)
+- Added indication of auto-populated fields when adding new row (Prerna Mehra) [#1692](https://github.com/parse-community/parse-dashboard/pull/1692)
+- Added cancel button while adding a new row (Prerna Mehra) [#1690](https://github.com/parse-community/parse-dashboard/pull/1690)
+- Added progress indicator when uploading a file in modal dialog (Prerna Mehra) [#1717](https://github.com/parse-community/parse-dashboard/pull/1717)
+- Added tooltip for read-only fields (Prerna Mehra) [#1688](https://github.com/parse-community/parse-dashboard/pull/1688)
+- Added message when no locale is set for localizing push notifications (Prerna Mehra) [#1685](https://github.com/parse-community/parse-dashboard/pull/1685)
+- Updated to Parse JS SDK 3.3.0 (Manuel Trezza) [#1745](https://github.com/parse-community/parse-dashboard/pull/1745)
+- Transitioned CI to GitHub Actions (Diamond Lewis) [#1640](https://github.com/parse-community/parse-dashboard/pull/1640)
+- Added finish date to Cloud Job status (Diamond Lewis) [#1620](https://github.com/parse-community/parse-dashboard/pull/1620)
+
+## Fixes
+- Fixed clear state.data when setting relation to prevent column type mismatch (John Dillick) [#1564](https://github.com/parse-community/parse-dashboard/pull/1564)
+- Fixed incorrect setting of pointer CLPs (mess-lelouch) [#1556](https://github.com/parse-community/parse-dashboard/pull/1556)
+- Fixed master key not being passed in when saving file in global config (stevestencil) [#1581](https://github.com/parse-community/parse-dashboard/pull/1581)
+- Fixes toolbar overlap to page title (Sergei Smirnov) [#1578](https://github.com/parse-community/parse-dashboard/pull/1578)
+- Fixed various issues with edit row dialog (Nino Δrljenec) [#1586](https://github.com/parse-community/parse-dashboard/pull/1586)
+- Fixed date filters in data browser (Prerna Mehra) [#1682](https://github.com/parse-community/parse-dashboard/pull/1682)
+- Fixed `expiresAt` field in `Session` class not appearing as read-only (Prerna Mehra) [#1686](https://github.com/parse-community/parse-dashboard/pull/1686)
+- Fixed missing error message on failed clone row task (Prerna Mehra) [#1687](https://github.com/parse-community/parse-dashboard/pull/1687)
+- Fixes missing or duplicate rows displayed when scrolling; this fix may require the additional creation of database indices to avoid performance issues, see PR discussion (Prerna Mehra) [#1706](https://github.com/parse-community/parse-dashboard/pull/1706)
+- Fixed missing key binding for copy, paste, cancel while adding a new row (Christopher Brookes) [#1714](https://github.com/parse-community/parse-dashboard/pull/1714)
+- Fixed setup locales message when adding all locales to push notification (Prerna Mehra) [#1691](https://github.com/parse-community/parse-dashboard/pull/1691)
+- Fixed no error message displayed when trying to add column with a name that has a leading number (Prerna Mehra) [#1718](https://github.com/parse-community/parse-dashboard/pull/1718)
+- Fixed fetching data when un-hiding column despite that data is already cached (Prerna Mehra) [#1734](https://github.com/parse-community/parse-dashboard/pull/1734)
+- Fixed incorrect documentation (Philipp B) [#1592](https://github.com/parse-community/parse-dashboard/pull/1592)
+- Fixed various dependency vulnerabilities
+
+# 2.1.0
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.5...2.1.0)
+
+__New features:__
+* Added JS Console to run custom queries ([#1464](https://github.com/parse-community/parse-dashboard/pull/1464)), thanks to [Pedro Mutter](https://github.com/MutterPedro).
+* View/Edit single row modal ([#1448](https://github.com/parse-community/parse-dashboard/pull/1448)), thanks to [NIno Δrljenec](https://github.com/NinoZX).
+* Context menu with quick filters and links to related records in other Parse Objects ([#1431](https://github.com/parse-community/parse-dashboard/pull/1431)), thanks to [404-html](https://github.com/404-html).
+* Add ProtectedFields dialog and enhance Permissions dialogs ([#1478](https://github.com/parse-community/parse-dashboard/pull/1478)), thanks to [Old Grandpa](https://github.com/BufferUnderflower).
+
+__Improvements:__
+* Added config param delete confirmation dialog ([#1443](https://github.com/parse-community/parse-dashboard/pull/1443)), thanks to [Manuel Trezza](https://github.com/mtrezza).
+
+__Fixes:__
+* Inifite scroll not working ([#1432](https://github.com/parse-community/parse-dashboard/pull/1432)), thanks to [Douglas Muraoka](https://github.com/douglasmuraoka).
+* Fix crash in import semver re: npm/node-semver#305 ([#1441](https://github.com/parse-community/parse-dashboard/pull/1441)), thanks to [Ben Petty](https://github.com/benpetty).
+* Taking hidden columns into account when calculating Editor position ([#1438](https://github.com/parse-community/parse-dashboard/pull/1438)), thanks to [404-html](https://github.com/404-html).
+* Fix audience conditions when Installation class does not exist ([#1451](https://github.com/parse-community/parse-dashboard/pull/1451)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo).
+
+### 2.0.5
+ [Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.4...2.0.5)
+ * Fix: delete and regenerate package-lock to fix broken build
+
+### 2.0.4
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.3...2.0.4)
+* Fix: Restore `ObjectId` to filter ([#1315](https://github.com/parse-community/parse-dashboard/pull/1315)), thanks to [Wolfwood](https://github.com/W0lfw00d)
+* Fix: Prevent duplicate entries when sorting by `createdAt` ([#1334](https://github.com/parse-community/parse-dashboard/pull/1334)), thanks to [Wolfwood](https://github.com/W0lfw00d)
+
+### 2.0.3
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.2...2.0.3)
+* Fix: Feature "masterkey parameters" requires Parse Server >= 3.9.0 ([#1281](https://github.com/parse-community/parse-dashboard/pull/1281)), thanks to [Manuel Trezza](https://github.com/mtrezza)
+* Fix: CLP dialog for pointer fields ([#1283](https://github.com/parse-community/parse-dashboard/pull/1283)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
+* Fix: Force pointer array items to always be pointers ([#1291](https://github.com/parse-community/parse-dashboard/pull/1291)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
+
+### 2.0.2
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.1...2.0.2)
+* Fix: filter tab not working for _User, and ohter classes starting with _ ([#1275](https://github.com/parse-community/parse-dashboard/pull/1275)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
+* Fix: Data Browser is not updating accordingly ([#1276](https://github.com/parse-community/parse-dashboard/pull/1276)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
+* NEW: Copy cell value using CTRL+C ([#1272](https://github.com/parse-community/parse-dashboard/pull/1272)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* Docs: Update NodeJS required version in README ([#1265](https://github.com/parse-community/parse-dashboard/pull/1265)), thanks to [Jerome](https://github.com/JeromeDeLeon)
+
+### 2.0.1
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.0...2.0.1)
+* Publishing it again since there is an old test 2.0.0 release already published to npm
+
+### 2.0.0
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.4.3...2.0.0)
+* Fix: Cell edit not updating partial view ([#1255](https://github.com/parse-community/parse-dashboard/pull/1255)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* Improve: Table performance improvements ([#1241](https://github.com/parse-community/parse-dashboard/pull/1241)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* Fix: Avoid filter tab disappears on apply filter ([#1229](https://github.com/parse-community/parse-dashboard/pull/1229)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
+* NEW: Change columns order and visibility ([#1235](https://github.com/parse-community/parse-dashboard/pull/1235)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* Improve: Table not scrolling when using arrow keys ([#1239](https://github.com/parse-community/parse-dashboard/pull/1239)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* NEW: Add masterkey parameters ([#1233](https://github.com/parse-community/parse-dashboard/pull/1233)), thanks to [Manuel](https://github.com/mtrezza)
+* Improve: Editing values not possible on mobile ([#1222](https://github.com/parse-community/parse-dashboard/pull/1222)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* Fix: JSON conversion breaking file upload process ([#1225](https://github.com/parse-community/parse-dashboard/pull/1225)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* NEW: Support building on Windows ([#1115](https://github.com/parse-community/parse-dashboard/pull/1115)), thanks to [Diamond Lewis](https://github.com/dplewis)
+* Improve: Avoid Parse transformations on array and object fields ([#1223](https://github.com/parse-community/parse-dashboard/pull/1223)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* NEW: Select all objects ([#1219](https://github.com/parse-community/parse-dashboard/pull/1219)), thanks to [Douglas Muaroka](https://github.com/douglasmuraoka)
+* NEW: Boolean dropdown on installation condition ([#1221](https://github.com/parse-community/parse-dashboard/pull/1221)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
+* NEW: String editor resizable ([#1217](https://github.com/parse-community/parse-dashboard/pull/1217)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
+* Fix: Update PIG examples to work with react-dnd 3.x ([#1214](https://github.com/parse-community/parse-dashboard/pull/1214)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
+* Fix: Fonts on AppsIndex ([#1197](https://github.com/parse-community/parse-dashboard/pull/1197)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
+* NEW: Add required and default value options ([#1193](https://github.com/parse-community/parse-dashboard/pull/1193)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
+
+#### Breaking Changes:
+* Parse Dashboard now requires Node.js version >= 8.9
+
+### 1.4.3
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.4.2...1.4.3)
+* Fix 1.4.2 release.
+
+### 1.4.2
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.4.1...1.4.2)
+* Feature: Include count CLP option ([#1180](https://github.com/parse-community/parse-dashboard/pull/1180)), thanks to [Douglas Muroaka](https://github.com/douglasmuraoka)
+* Fix: AppsMenu broken layout when app name is too long ([#1164](https://github.com/parse-community/parse-dashboard/pull/1164)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
+* Fix: getFileName lib to display correctly the filename ([#1154](https://github.com/parse-community/parse-dashboard/pull/1154)), thanks to [Yago TomΓ©](https://github.com/yagotome)
+* Fix: Scroll is not working properly ([#1151](https://github.com/parse-community/parse-dashboard/pull/1151)), thanks to [Lucas Alencar](https://github.com/alencarlucas)
+* Fix: AppsMenu not closing after selecting app ([#1146](https://github.com/parse-community/parse-dashboard/pull/1146)), thanks to [Douglas Muroaka](https://github.com/douglasmuraoka)
+* Feature: Add client key into GraphQL console by default ([#1142](https://github.com/parse-community/parse-dashboard/pull/1142)), thanks to [Douglas Muroaka](https://github.com/douglasmuraoka)
+* Fix: GraphQL console headers menu not visible ([#1141](https://github.com/parse-community/parse-dashboard/pull/1141)), thanks to [Douglas Muroaka](https://github.com/douglasmuraoka)
+* Fix: project not installing due to package-lock ([#1143](https://github.com/parse-community/parse-dashboard/pull/1143)), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
+
+### 1.4.1
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.4.0...1.4.1)
+* Fix: 1.4.0 failed to deploy to npm. Reset credentials and trying again.
+
+### 1.4.0
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.3.3...1.4.0)
+* Security Fix: see the [advisory](https://github.com/parse-community/parse-dashboard/network/alert/package-lock.json/lodash/open) for details. [22d748](https://github.com/parse-community/parse-dashboard/pull/1134/commits/22d748fdc1e95661dc39226f5f797dc8fb0e5c2f)
+* Feature: GraphQL API playground ([#1123](https://github.com/parse-community/parse-dashboard/pull/1123)), thanks to [Douglas Muraoka](https://github.com/douglasmuraoka)
+* Fix: Can't switch (dropdown list) between servers [#1045](https://github.com/parse-community/parse-dashboard/issues/1045) ([#1125](https://github.com/parse-community/parse-dashboard/pull/1125)), thanks to [Douglas Muraoka](https://github.com/douglasmuraoka)
+
+### 1.3.3
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.3.2...1.3.3)
+
+* FIX: Travis configuration which was preventing 1.3.2 from publishing, thanks to [Diamond Lewis](https://github.com/dplewis)
+
+### 1.3.2
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.3.1...1.3.2)
+
+* FIX: Dockerhub configuration which was preventing 1.3.1 from publishing ([#1098](https://github.com/parse-community/parse-dashboard/pull/1098)), thanks to [Diamond Lewis](https://github.com/dplewis)
+
+### 1.3.1
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.3.0...1.3.1)
+
+* FIX: Correct inappropriate error message when no target audience is selected ([#1052](https://github.com/parse-community/parse-dashboard/pull/1052)), thanks to [Bouimadaghene](https://github.com/starbassma)
+* FIX: issue regarding lost mount path ([#1070](https://github.com/parse-community/parse-dashboard/pull/1070)), thanks to [Diamond Lewis](https://github.com/dplewis)
+* NEW: Add distinct / unique filter ([#920](https://github.com/parse-community/parse-dashboard/pull/920)), thanks to [Diamond Lewis](https://github.com/dplewis)
+
+### 1.3.0
+[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/1.2.0...1.3.0)
+
+* Node 10 Support, thanks [Florent Vilmart](https://github.com/flovilmart)
+* Fix: Remove column dialog default values (#969), thanks to [Jonas Stendahl](https://github.com/JStonevalley)
+* Fix: Handle case of null in array (#922), thanks to [Abdullah Alsigar](https://github.com/agent3bood)
+* Fix: JSON file upload (#935), thanks to [joshuadiezmo](https://github.com/joshuadiezmo)
+* Fix: Set initial audience null (#910), thanks to [Paulo Reis](https://github.com/paulovitin)
+* Fix: Ensure we traverse the payloadJSON properly (#861), thanks [Florent Vilmart](https://github.com/flovilmart)
+* Improvements: Push Audiences (#813), thanks [Florent Vilmart](https://github.com/flovilmart)
+* Improvements: Docker Build
+* Feature: `preventSchemaEdits` option (#960), thanks to [Cyril Chandelier](https://github.com/cyrilchandelier)
+* Feature: Redirect to the first app browser when only a single app is registered (#958), thanks to [Cyril Chandelier](https://github.com/cyrilchandelier)
+* Feature: Add classname to browser title (#913), thanks to [Paulo Reis](https://github.com/paulovitin)
+* Feature: Support for Clone Object (#946), thanks to [Diamond Lewis](https://github.com/dplewis)
+* Feature: Add tvOS support to push targeting (#936), thanks to [Thomas Kollbach](https://github.com/toto)
+* Feature: When using username to login, display dashboard username (#800), thanks to [Abdullah Alsigar](https://github.com/agent3bood)
+
+
+### 1.2.0
+* Fix: Filtering with a 1-digit number (#831), thanks to [Pascal Giguère](https://github.com/pgiguere1)
+* Fix: Databrowser shows correct count of filtered objects, thanks to [Tom Engelbrecht](https://github.com/engel)
+* Feature: Add primaryBackgroundColor and secondaryBackgroundColor in AppCard, thanks to [AreyouHappy](https://github.com/AreyouHappy)
+* Improvement: Removes forcing sort on createdAt (#796), thanks to [Florent Vilmart](https://github.com/flovilmart)
+* Fix: Broken Learn More link to cloud code documentation page (#828), thanks to [Stefan Trauth](https://github.com/funkenstrahlen)
+* Fix: Add `_PushStatus` add to SpecialClasses (#701), thanks to [Dongwoo Gim](https://github.com/gimdongwoo)
+* Fix: Include PushAudience query (#795), thanks to [marvelm](https://github.com/marvelm)
+
+### 1.1.2
+
+* Fix: An issue introduced when using readOnlyMasterKey would make all users readOnly after one has logged in.
+* Reverts: Dependency updates that would render the build unstable / broken.
+
+### 1.1.1
+
+* Fix: Updating array of Dates now keeps it's type (was changing to array of ISO strings, issue #590), thanks to [David Riha](https://github.com/rihadavid)
+* Fix: NaN displayed when filter input is empty or negative number (#749), thanks to [Miguel Serrrano](https://github.com/miguel-s)
+* Fix: Addresses issue related to displaying iOS alert object containing title and body keys (#539), thanks to [Robert Martin del Campo](https://github.com/repertus)
+* Feature: Adds support for localized push notifications if server version is high enough, thanks to [Florent Vilmart](https://github.com/flovilmart)
+* Feature: Adds support for readOnly masterKey, thanks to [Florent Vilmart](https://github.com/flovilmart)
+* Feature: Adds support for polygon types, thansk to [Mads Bjerre](https://github.com/madsb)
+* Feature: Adds support for push time, expiration time, and expiration interval, thanks to [Marvel Mathew](https://github.com/marvelm)
+
+### 1.1.0
+
+* Feature: UI for managing push audiences (#712), thanks to [Davi Macedo](https://github.com/davimacedo)
+* Feature: When editing Object or Array fields the data is displayed in a prettier format and the textarea is resizable (#734), thanks to [Samuli Siivinen](https://github.com/ssamuli)
+* Fix: Display bug on safari when table has empty cells ('') (#731), thanks to [Samuli Siivinen](https://github.com/ssamuli)
+* Fix: Added message that notifies Background Jobs requiring additional setup (#740 & #741), thanks to [Samuli Siivinen](https://github.com/ssamuli) and [Natan Rolnik](https://github.com/natanrolnik)
+
+### 1.0.28
+* Feature: Add ability to search Object columns (#727), thanks to [Samuli Siivinen](https://github.com/ssamuli)
+* Improvement: Added/fixed a filtering option "contains string" for String fields. Case insensitive for now (#728), thanks to [Samuli Siivinen](https://github.com/ssamuli)
+* Improvement: Sort config data according to parameter names (#726), thanks to [Natan Rolnik](https://github.com/natanrolnik)
+
+### 1.0.27
+* Improvement: Show notifications upon success or failure of save and delete objects (#718), thanks to [Natan Rolnik](https://github.com/natanrolnik)
+* Improvement: Moves download option into file editor (#716), thanks to [Natan Rolnik](https://github.com/natanrolnik)
+
+### 1.0.26
+* Improvement: Fixes broken links, thanks to [Arthur Cinader](https://github.com/acinader)
+* Improvement: Title on the add row button, thanks to [Abdul Basit](https://github.com/basitsattar)
+* Improvement: Use slim docker image, thanks to [Tyler Brock](https://github.com/tbrock)
+* Fix: table scrolling on google chrome (#671), thanks to [Jacer Omri](https://github.com/JacerOmri)
+* Various: adds eslint, thanks to [Jeremy Louie](https://github.com/JeremyPlease)
+
+### 1.0.25
+
+* Improvement: Update and add links to sidebar footer (#661), thanks to [Natan Rolnik](https://github.com/natanrolnik)
+* Fix: Donβt call unsupported endpoints in Parse Server (#660), thanks to [Natan Rolnik](https://github.com/natanrolnik)
+* Fix: Display correctly Files and GeoPoints in Config (#666), thanks to [Natan Rolnik](https://github.com/natanrolnik)
+
+### 1.0.24
+
+* Improvement: Data browser updates object count when table is filtered (#652), thanks to [Mike Rizzo](https://github.com/rizzomichaelg)
+* Improvement: Apps name sorting by name (#654), thanks to [Thilo SchmalfuΓ](https://github.com/scthi)
+* Fix: Fetch jobs list not showing (#656), thanks to [Natan Rolnik](https://github.com/natanrolnik)
+
+### 1.0.23
+
+* Improvement: Enabling web hooks (#584), thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo)
+* Improvement: Set autofocus on the username input field (#644), thanks to [Herman Liang](https://github.com/hermanliang)
+* Fix: Browser won't render class table with field that contains an object (#623), thanks to [Jordan Haven](https://github.com/jordanhaven)
+* Fix: Config FETCH results in 401 (#575), thanks to [Matt Simms](https://github.com/brndmg)
+
+### 1.0.22
+
+* Fix issue affecting logging screen with encrypted passwords, thanks to [lsohn](https://github.com/lsohn)
+
+### 1.0.21
+
+* Fix: Use mountPath for all log in and log out redirects
+
+### 1.0.20
+
+* New: Form based login page instead of basic auth (#562), thanks to [Jeremy Louie](https://github.com/JeremyPlease)
+* Fix: Can't send push to specific user (#570), thanks to [Dan VanWinkle](https://github.com/dvanwinkle)
+* Fix: Download link in footer menu (#567), thanks to [Pavel Ivanov](https://github.com/pivanov)
+
+### 1.0.19
+
+* New: Support for trusting proxies w/ HTTPS
+* New: Support for filtering string with `ends with`
+* New: View parse-server based jobs
+* New: Button to add rows from browser toolbar
+* New: Support for encrypted passwords
+* New: Support for sorting by `createdAt`
+* Improvement: Push audiences support
+* Fix: Calendar dates support
+
+### 1.0.18
+
+* Fix: Revert history change that was causing issues when mounting on express
+
+### 1.0.17
+
+* Fix: Revert mount path change that was causing issues when mounting on express
+
+### 1.0.16
+
+* New: Add options to add selected rows to a relation, thanks to [Han BaHwan](https://github.com/Beingbook)
+* New: Add ability to use bcrypted passwords, thanks to [Dan VanWinkle](https://github.com/dvanwinkle)
+* Fix: Fix deletion of columns, thanks to [Bryan Rhea](https://github.com/brheal)
+
+### 1.0.15
+
+* New: Add ability to delete all rows in a class, thanks to [Marco Cheung](https://github.com/Marco129)
+* New: Add relation editor, thanks to [Han BaHwan](https://github.com/Beingbook)
+* Fix: Bug when alert is missing in payload, thanks to [Herman Liang](https://github.com/hermanliang)
+* Fix: Improve target display in Push viewer, thanks to [Herman Liang](https://github.com/hermanliang)
+* Fix: Open docs and other sidebar links in new tab, thanks to [Konstantinos N.](https://github.com/kwstasna)
+
+### 1.0.14
+
+* Fix bug in past push page
+
+### 1.0.13
+
+* Fix log retrieval, thanks to [JΓ©rΓ©my Thiry](https://github.com/poltib)
+* Improved GeoPoint editor and ESC button in editors, thanks to [Sam Schooler](https://github.com/samschooler)
+* Add push status page to dashboard, thanks to [Jeremy Pease](https://github.com/JeremyPlease)
+
+### 1.0.12
+
+* Fix minor style issues
+* Add pointer permissions editor
+* Allow cancellation of edits in data browser using ESC key, thanks to [Manuel](https://github.com/mtrezza)
+* Show error messages in the console when your app's icons can't be found, thanks to [Saif Al-Dilaimi](https://github.com/deada92)
+
+### 1.0.11
+
+* Add the ability to specify SSL cert and key, thanks to [Cory Imdieke](https://github.com/Vortec4800)
+* Trust proxy when enabling --allowInsecureHTTP, thanks to [Andrew Chen](https://github.com/yongjhih)
+* Fix App index when apps have an apostrophe in the name
+* Fix display of prod/dev flag
+* Support for Node 6
+
+### 1.0.10
+
+* Add the ability to specify icons for your app, thanks to [Natan Rolnik](https://github.com/natanrolnik)
+* Fix sending push with JSON data
+
+### 1.0.9
+
+* Add the ability to mount the dashboard express app on a custom mount path, thanks to [hpello](https://github.com/hpello) with bugfixes from [mamaso](https://github.com/mamaso)
+* Add ability to restrict certain users to certain apps, thanks to [Felipe Andrade](https://github.com/felipemobile)
+* Fix Dockerfile, thanks to [Kakashi Liu](https://github.com/kkc)
+* Display Parse Dashboard version, thanks to [Aayush Kapoor](https://github.com/xeoneux) and [gateway](https://github.com/gateway)
+* Add a refresh button to the data browser, thanks to [TylerBrock](https://github.com/TylerBrock)
+* Add logs viewer
+* Misc. performance improvements and bugfixes, thanks to [Pavel Ivanov](https://github.com/pivanov)
+
+### 1.0.8
+
+* Allow Dashboard to be mounted as Express middleware, thanks to [Florent Vilmart](https://github.com/flovilmart)
+* Add an option to specify that your app is in production, thanks to [Dylan Diamond](https://github.com/dcdspace)
+* Fix GeoPoints in Parse Config, thanks to [Dylan Diamond](https://github.com/dcdspace)
+* Allow specification of the host the dashboard runs on, thanks to [hpello](https://github.com/hpello)
+* Miscellaneous look-and-feel improvements
+
+### 1.0.7
+
+* Fix sending pushes with badge increment
+
+### 1.0.6
+
+* Send push notifications from the dashboard
+* Add object count to relation browser, thanks to [Sergey Gavrilyuk](https://github.com/gavrix)
+
+### 1.0.5
+
+* Fix new features notification
+
+### 1.0.4
+
+* Class level permissions editor
diff --git a/ci/uninstallDevDeps.sh b/ci/uninstallDevDeps.sh
index 633860223d..b7f77fc92c 100755
--- a/ci/uninstallDevDeps.sh
+++ b/ci/uninstallDevDeps.sh
@@ -1,22 +1,22 @@
-#!/bin/bash
-
-# Read package exclusion list from arguments
-exclusionList=("$@")
-
-# Convert exclusion list to grep pattern
-exclusionPattern=$(printf "|%s" "${exclusionList[@]}")
-exclusionPattern=${exclusionPattern:1}
-
-# Get list of all dev dependencies
-devDeps=$(jq -r '.devDependencies | keys | .[]' package.json)
-
-# Filter out exclusion list
-depsToUninstall=$(echo "$devDeps" | grep -Ev "$exclusionPattern")
-
-# If there are dependencies to uninstall then uninstall them
-if [ -n "$depsToUninstall" ]; then
- echo "Uninstalling dev dependencies: $depsToUninstall"
- npm uninstall $depsToUninstall
-else
- echo "No dev dependencies to uninstall"
-fi
+#!/bin/bash
+
+# Read package exclusion list from arguments
+exclusionList=("$@")
+
+# Convert exclusion list to grep pattern
+exclusionPattern=$(printf "|%s" "${exclusionList[@]}")
+exclusionPattern=${exclusionPattern:1}
+
+# Get list of all dev dependencies
+devDeps=$(jq -r '.devDependencies | keys | .[]' package.json)
+
+# Filter out exclusion list
+depsToUninstall=$(echo "$devDeps" | grep -Ev "$exclusionPattern")
+
+# If there are dependencies to uninstall then uninstall them
+if [ -n "$depsToUninstall" ]; then
+ echo "Uninstalling dev dependencies: $depsToUninstall"
+ npm uninstall $depsToUninstall
+else
+ echo "No dev dependencies to uninstall"
+fi
diff --git a/docker-compose.uffizzi.yml b/docker-compose.uffizzi.yml
index b919f56176..dc47561abe 100644
--- a/docker-compose.uffizzi.yml
+++ b/docker-compose.uffizzi.yml
@@ -9,7 +9,7 @@ x-uffizzi:
deploy_preview_when_pull_request_is_opened: true
delete_preview_when_pull_request_is_closed: true
share_to_github: true
-
+
services:
postgres:
@@ -31,7 +31,7 @@ services:
image: parseplatform/parse-server:latest
environment:
- PARSE_SERVER_APPLICATION_ID=parse
- - PARSE_SERVER_MASTER_KEY=parse@master123!
+ - PARSE_SERVER_MASTER_KEY=${PARSE_SERVER_MASTER_KEY:-parse@master123!}
- PARSE_SERVER_DATABASE_URI=postgresql://postgres:password@localhost:5432/postgres
- PARSE_SERVER_MOUNT_PATH=/parse
- PORT=1337
diff --git a/jsconfig.json b/jsconfig.json
index 4a810717ee..f0c14bed51 100644
--- a/jsconfig.json
+++ b/jsconfig.json
@@ -1,11 +1,11 @@
-{
- "compilerOptions": {
- "experimentalDecorators": true
- },
- "typeAcquisition": {
- "include": [
- "jest"
- ]
- },
- "exclude": ["node_modules"]
-}
+{
+ "compilerOptions": {
+ "experimentalDecorators": true
+ },
+ "typeAcquisition": {
+ "include": [
+ "jest"
+ ]
+ },
+ "exclude": ["node_modules"]
+}
diff --git a/nginx-uffizzi/html/index.html b/nginx-uffizzi/html/index.html
index ea22d2caa1..59203ae081 100644
--- a/nginx-uffizzi/html/index.html
+++ b/nginx-uffizzi/html/index.html
@@ -1,94 +1,94 @@
-
-
-
- Parse Dashboard - Pull Request Preview
-
-
-
-
-Pull Request Preview
-
- Open Parse Dashboard
-
-Login with
-
- Username: user
-
- Password: pass
-
-
-
-
+
+
+
+ Parse Dashboard - Pull Request Preview
+
+
+
+
+Pull Request Preview
+
+ Open Parse Dashboard
+
+Login with
+
+ Username: user
+
+ Password: pass
+
+
+
+
diff --git a/nginx-uffizzi/nginx.conf b/nginx-uffizzi/nginx.conf
index 589caf8c85..3b29602692 100644
--- a/nginx-uffizzi/nginx.conf
+++ b/nginx-uffizzi/nginx.conf
@@ -1,36 +1,36 @@
-events {
- worker_connections 1024; #default
-}
-
-http {
-
- server {
-
- listen 8081;
-
- location / {
- root /usr/share/nginx/html;
- index index.html index.htm;
- }
-
- location /dashboard {
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-NginX-Proxy true;
- proxy_pass http://localhost:4040;
- proxy_ssl_session_reuse off;
- proxy_set_header Host $http_host;
- proxy_redirect off;
- }
-
- location /parse {
- proxy_set_header X-Forwarded-For $remote_addr;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- keepalive_requests 10;
- keepalive_timeout 75s;
- proxy_pass http://localhost:1337;
- proxy_http_version 1.1;
- }
- }
-}
+events {
+ worker_connections 1024; #default
+}
+
+http {
+
+ server {
+
+ listen 8081;
+
+ location / {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ }
+
+ location /dashboard {
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-NginX-Proxy true;
+ proxy_pass http://localhost:4040;
+ proxy_ssl_session_reuse off;
+ proxy_set_header Host $http_host;
+ proxy_redirect off;
+ }
+
+ location /parse {
+ proxy_set_header X-Forwarded-For $remote_addr;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ keepalive_requests 10;
+ keepalive_timeout 75s;
+ proxy_pass http://localhost:1337;
+ proxy_http_version 1.1;
+ }
+ }
+}
diff --git a/package-lock.json b/package-lock.json
index 088c16dd35..f33f15ab05 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,13 +13,16 @@
"@babel/runtime-corejs3": "7.27.4",
"bcryptjs": "3.0.2",
"body-parser": "2.2.0",
+ "chart.js": "^4.5.0",
+ "chartjs-adapter-date-fns": "^3.0.0",
"commander": "13.1.0",
"connect-flash": "0.1.1",
"cookie-session": "2.1.0",
"copy-to-clipboard": "3.3.3",
"core-js": "3.42.0",
"csurf": "1.11.0",
- "express": "4.21.2",
+ "date-fns": "^4.1.0",
+ "express": "^4.21.2",
"fast-deep-equal": "3.1.3",
"graphiql": "2.0.8",
"graphql": "16.11.0",
@@ -30,6 +33,7 @@
"otpauth": "8.0.3",
"package-json": "7.0.0",
"parse": "3.5.1",
+ "parse-server": "^8.2.1",
"passport": "0.5.3",
"passport-local": "1.0.0",
"prismjs": "1.30.0",
@@ -37,6 +41,7 @@
"qrcode": "1.5.4",
"react": "16.14.0",
"react-ace": "14.0.1",
+ "react-chartjs-2": "^5.3.0",
"react-dnd": "10.0.2",
"react-dnd-html5-backend": "16.0.1",
"react-dom": "16.14.0",
@@ -99,13 +104,11 @@
"yaml": "2.8.0"
},
"engines": {
- "node": ">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"
+ "node": ">=20.8.1 <21.0.0 || >=22.12.0 <23.0.0"
}
},
"node_modules/@actions/core": {
"version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz",
- "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -115,8 +118,6 @@
},
"node_modules/@actions/exec": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
- "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -125,25 +126,20 @@
},
"node_modules/@actions/http-client": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz",
- "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tunnel": "^0.0.6"
}
},
"node_modules/@actions/io": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
- "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==",
"dev": true,
"license": "MIT"
},
"node_modules/@ampproject/remapping": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
- "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@jridgewell/gen-mapping": "^0.1.0",
"@jridgewell/trace-mapping": "^0.3.9"
@@ -154,9 +150,7 @@
},
"node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
- "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/set-array": "^1.0.0",
"@jridgewell/sourcemap-codec": "^1.4.10"
@@ -165,11 +159,277 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@apollo/cache-control-types": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/protobufjs": {
+ "version": "1.2.7",
+ "hasInstallScript": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/long": "^4.0.0",
+ "long": "^4.0.0"
+ },
+ "bin": {
+ "apollo-pbjs": "bin/pbjs",
+ "apollo-pbts": "bin/pbts"
+ }
+ },
+ "node_modules/@apollo/server": {
+ "version": "4.12.0",
+ "license": "MIT",
+ "dependencies": {
+ "@apollo/cache-control-types": "^1.0.3",
+ "@apollo/server-gateway-interface": "^1.1.1",
+ "@apollo/usage-reporting-protobuf": "^4.1.1",
+ "@apollo/utils.createhash": "^2.0.2",
+ "@apollo/utils.fetcher": "^2.0.0",
+ "@apollo/utils.isnodelike": "^2.0.0",
+ "@apollo/utils.keyvaluecache": "^2.1.0",
+ "@apollo/utils.logger": "^2.0.0",
+ "@apollo/utils.usagereporting": "^2.1.0",
+ "@apollo/utils.withrequired": "^2.0.0",
+ "@graphql-tools/schema": "^9.0.0",
+ "@types/express": "^4.17.13",
+ "@types/express-serve-static-core": "^4.17.30",
+ "@types/node-fetch": "^2.6.1",
+ "async-retry": "^1.2.1",
+ "cors": "^2.8.5",
+ "express": "^4.21.1",
+ "loglevel": "^1.6.8",
+ "lru-cache": "^7.10.1",
+ "negotiator": "^0.6.3",
+ "node-abort-controller": "^3.1.1",
+ "node-fetch": "^2.6.7",
+ "uuid": "^9.0.0",
+ "whatwg-mimetype": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14.16.0"
+ },
+ "peerDependencies": {
+ "graphql": "^16.6.0"
+ }
+ },
+ "node_modules/@apollo/server-gateway-interface": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "@apollo/usage-reporting-protobuf": "^4.1.1",
+ "@apollo/utils.fetcher": "^2.0.0",
+ "@apollo/utils.keyvaluecache": "^2.1.0",
+ "@apollo/utils.logger": "^2.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/server/node_modules/@graphql-tools/merge": {
+ "version": "8.4.2",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^9.2.1",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@apollo/server/node_modules/@graphql-tools/schema": {
+ "version": "9.0.19",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/merge": "^8.4.1",
+ "@graphql-tools/utils": "^9.2.1",
+ "tslib": "^2.4.0",
+ "value-or-promise": "^1.0.12"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@apollo/server/node_modules/@graphql-tools/utils": {
+ "version": "9.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@apollo/server/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@apollo/server/node_modules/uuid": {
+ "version": "9.0.1",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/@apollo/usage-reporting-protobuf": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "@apollo/protobufjs": "1.2.7"
+ }
+ },
+ "node_modules/@apollo/utils.createhash": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "@apollo/utils.isnodelike": "^2.0.1",
+ "sha.js": "^2.4.11"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@apollo/utils.dropunuseddefinitions": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.fetcher": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@apollo/utils.isnodelike": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@apollo/utils.keyvaluecache": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "@apollo/utils.logger": "^2.0.1",
+ "lru-cache": "^7.14.1"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@apollo/utils.keyvaluecache/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@apollo/utils.logger": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@apollo/utils.printwithreducedwhitespace": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.removealiases": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.sortast": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "lodash.sortby": "^4.7.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.stripsensitiveliterals": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.usagereporting": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@apollo/usage-reporting-protobuf": "^4.1.0",
+ "@apollo/utils.dropunuseddefinitions": "^2.0.1",
+ "@apollo/utils.printwithreducedwhitespace": "^2.0.1",
+ "@apollo/utils.removealiases": "2.0.1",
+ "@apollo/utils.sortast": "^2.0.1",
+ "@apollo/utils.stripsensitiveliterals": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.withrequired": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/@asamuzakjp/css-color": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz",
- "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@csstools/css-calc": "^2.1.3",
"@csstools/css-color-parser": "^3.0.9",
@@ -178,11 +438,13 @@
"lru-cache": "^10.4.3"
}
},
+ "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/@babel/code-frame": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
- "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.27.1",
@@ -195,9 +457,6 @@
},
"node_modules/@babel/compat-data": {
"version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz",
- "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -205,9 +464,6 @@
},
"node_modules/@babel/core": {
"version": "7.27.4",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz",
- "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
@@ -236,9 +492,6 @@
},
"node_modules/@babel/core/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -246,8 +499,6 @@
},
"node_modules/@babel/eslint-parser": {
"version": "7.27.5",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.27.5.tgz",
- "integrity": "sha512-HLkYQfRICudzcOtjGwkPvGc5nF1b4ljLZh1IRDj50lRZ718NAKVgQpIAUX8bfg6u/yuSKY3L7E0YzIV+OxrB8Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -265,18 +516,14 @@
},
"node_modules/@babel/eslint-parser/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/@babel/generator": {
"version": "7.27.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz",
- "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.27.5",
@@ -291,8 +538,6 @@
},
"node_modules/@babel/helper-annotate-as-pure": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz",
- "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -304,9 +549,6 @@
},
"node_modules/@babel/helper-compilation-targets": {
"version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
- "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.27.2",
@@ -321,18 +563,13 @@
},
"node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
+ "license": "ISC",
"dependencies": {
"yallist": "^3.0.2"
}
},
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -340,14 +577,10 @@
},
"node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
+ "license": "ISC"
},
"node_modules/@babel/helper-create-class-features-plugin": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz",
- "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -368,8 +601,6 @@
},
"node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -378,8 +609,6 @@
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz",
- "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -396,8 +625,6 @@
},
"node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -406,8 +633,6 @@
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "0.6.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz",
- "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -423,8 +648,6 @@
},
"node_modules/@babel/helper-member-expression-to-functions": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
- "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -437,9 +660,6 @@
},
"node_modules/@babel/helper-module-imports": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
- "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/traverse": "^7.27.1",
@@ -451,9 +671,6 @@
},
"node_modules/@babel/helper-module-transforms": {
"version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
- "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
@@ -469,8 +686,6 @@
},
"node_modules/@babel/helper-optimise-call-expression": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
- "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -482,8 +697,6 @@
},
"node_modules/@babel/helper-plugin-utils": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
- "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -492,8 +705,6 @@
},
"node_modules/@babel/helper-remap-async-to-generator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -510,8 +721,6 @@
},
"node_modules/@babel/helper-replace-supers": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz",
- "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -528,8 +737,6 @@
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
- "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -542,9 +749,6 @@
},
"node_modules/@babel/helper-string-parser": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
- "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -552,9 +756,6 @@
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -562,9 +763,6 @@
},
"node_modules/@babel/helper-validator-option": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
- "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -572,8 +770,6 @@
},
"node_modules/@babel/helper-wrap-function": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz",
- "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -587,9 +783,6 @@
},
"node_modules/@babel/helpers": {
"version": "7.27.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz",
- "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/template": "^7.27.2",
@@ -601,9 +794,6 @@
},
"node_modules/@babel/parser": {
"version": "7.27.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz",
- "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/types": "^7.27.3"
@@ -617,8 +807,6 @@
},
"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz",
- "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -634,8 +822,6 @@
},
"node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz",
- "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -650,8 +836,6 @@
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz",
- "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -666,8 +850,6 @@
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz",
- "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -684,8 +866,6 @@
},
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz",
- "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -701,8 +881,6 @@
},
"node_modules/@babel/plugin-proposal-decorators": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.27.1.tgz",
- "integrity": "sha512-DTxe4LBPrtFdsWzgpmbBKevg3e9PBy+dXRt19kSbucbZvL2uqtdqwwpluL1jfxYE0wIDTFp1nTy/q6gNLsxXrg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -719,8 +897,6 @@
},
"node_modules/@babel/plugin-proposal-private-property-in-object": {
"version": "7.21.0-placeholder-for-preset-env.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
- "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -732,9 +908,8 @@
},
"node_modules/@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -744,9 +919,8 @@
},
"node_modules/@babel/plugin-syntax-bigint": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -756,9 +930,8 @@
},
"node_modules/@babel/plugin-syntax-class-properties": {
"version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.12.13"
},
@@ -768,9 +941,8 @@
},
"node_modules/@babel/plugin-syntax-class-static-block": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -783,8 +955,6 @@
},
"node_modules/@babel/plugin-syntax-decorators": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz",
- "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -799,8 +969,6 @@
},
"node_modules/@babel/plugin-syntax-import-assertions": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz",
- "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -815,8 +983,6 @@
},
"node_modules/@babel/plugin-syntax-import-attributes": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz",
- "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -831,9 +997,8 @@
},
"node_modules/@babel/plugin-syntax-import-meta": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -843,9 +1008,8 @@
},
"node_modules/@babel/plugin-syntax-json-strings": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -855,8 +1019,6 @@
},
"node_modules/@babel/plugin-syntax-jsx": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
- "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -871,9 +1033,8 @@
},
"node_modules/@babel/plugin-syntax-logical-assignment-operators": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -883,9 +1044,8 @@
},
"node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -895,9 +1055,8 @@
},
"node_modules/@babel/plugin-syntax-numeric-separator": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -907,9 +1066,8 @@
},
"node_modules/@babel/plugin-syntax-object-rest-spread": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -919,9 +1077,8 @@
},
"node_modules/@babel/plugin-syntax-optional-catch-binding": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -931,9 +1088,8 @@
},
"node_modules/@babel/plugin-syntax-optional-chaining": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -943,9 +1099,8 @@
},
"node_modules/@babel/plugin-syntax-private-property-in-object": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -958,9 +1113,8 @@
},
"node_modules/@babel/plugin-syntax-top-level-await": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -973,9 +1127,8 @@
},
"node_modules/@babel/plugin-syntax-typescript": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz",
- "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
},
@@ -988,8 +1141,6 @@
},
"node_modules/@babel/plugin-syntax-unicode-sets-regex": {
"version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
- "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1005,8 +1156,6 @@
},
"node_modules/@babel/plugin-transform-arrow-functions": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz",
- "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1021,8 +1170,6 @@
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz",
- "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1039,8 +1186,6 @@
},
"node_modules/@babel/plugin-transform-async-to-generator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1057,8 +1202,6 @@
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz",
- "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1073,8 +1216,6 @@
},
"node_modules/@babel/plugin-transform-block-scoping": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz",
- "integrity": "sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1089,8 +1230,6 @@
},
"node_modules/@babel/plugin-transform-class-properties": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz",
- "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1106,8 +1245,6 @@
},
"node_modules/@babel/plugin-transform-class-static-block": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz",
- "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1123,8 +1260,6 @@
},
"node_modules/@babel/plugin-transform-classes": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz",
- "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1144,8 +1279,6 @@
},
"node_modules/@babel/plugin-transform-classes/node_modules/globals": {
"version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1154,8 +1287,6 @@
},
"node_modules/@babel/plugin-transform-computed-properties": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz",
- "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1171,8 +1302,6 @@
},
"node_modules/@babel/plugin-transform-destructuring": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz",
- "integrity": "sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1187,8 +1316,6 @@
},
"node_modules/@babel/plugin-transform-dotall-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz",
- "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1204,8 +1331,6 @@
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz",
- "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1220,8 +1345,6 @@
},
"node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz",
- "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1237,8 +1360,6 @@
},
"node_modules/@babel/plugin-transform-dynamic-import": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz",
- "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1253,8 +1374,6 @@
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz",
- "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1269,8 +1388,6 @@
},
"node_modules/@babel/plugin-transform-export-namespace-from": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz",
- "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1285,8 +1402,6 @@
},
"node_modules/@babel/plugin-transform-for-of": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz",
- "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1302,8 +1417,6 @@
},
"node_modules/@babel/plugin-transform-function-name": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz",
- "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1320,8 +1433,6 @@
},
"node_modules/@babel/plugin-transform-json-strings": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz",
- "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1336,8 +1447,6 @@
},
"node_modules/@babel/plugin-transform-literals": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz",
- "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1352,8 +1461,6 @@
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz",
- "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1368,8 +1475,6 @@
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz",
- "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1384,8 +1489,6 @@
},
"node_modules/@babel/plugin-transform-modules-amd": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz",
- "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1401,8 +1504,6 @@
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz",
- "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1418,8 +1519,6 @@
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz",
- "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1437,8 +1536,6 @@
},
"node_modules/@babel/plugin-transform-modules-umd": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz",
- "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1454,8 +1551,6 @@
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz",
- "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1471,8 +1566,6 @@
},
"node_modules/@babel/plugin-transform-new-target": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz",
- "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1487,8 +1580,6 @@
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz",
- "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1503,8 +1594,6 @@
},
"node_modules/@babel/plugin-transform-numeric-separator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz",
- "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1519,8 +1608,6 @@
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
"version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz",
- "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1538,8 +1625,6 @@
},
"node_modules/@babel/plugin-transform-object-super": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz",
- "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1555,8 +1640,6 @@
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz",
- "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1571,8 +1654,6 @@
},
"node_modules/@babel/plugin-transform-optional-chaining": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz",
- "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1588,8 +1669,6 @@
},
"node_modules/@babel/plugin-transform-parameters": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz",
- "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1604,8 +1683,6 @@
},
"node_modules/@babel/plugin-transform-private-methods": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz",
- "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1621,8 +1698,6 @@
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz",
- "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1639,8 +1714,6 @@
},
"node_modules/@babel/plugin-transform-property-literals": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz",
- "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1655,8 +1728,6 @@
},
"node_modules/@babel/plugin-transform-react-display-name": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.27.1.tgz",
- "integrity": "sha512-p9+Vl3yuHPmkirRrg021XiP+EETmPMQTLr6Ayjj85RLNEbb3Eya/4VI0vAdzQG9SEAl2Lnt7fy5lZyMzjYoZQQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1671,8 +1742,6 @@
},
"node_modules/@babel/plugin-transform-react-jsx": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz",
- "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1691,8 +1760,6 @@
},
"node_modules/@babel/plugin-transform-react-jsx-development": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz",
- "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1707,8 +1774,6 @@
},
"node_modules/@babel/plugin-transform-react-pure-annotations": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz",
- "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1724,8 +1789,6 @@
},
"node_modules/@babel/plugin-transform-regenerator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz",
- "integrity": "sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1740,8 +1803,6 @@
},
"node_modules/@babel/plugin-transform-regexp-modifiers": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz",
- "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1757,8 +1818,6 @@
},
"node_modules/@babel/plugin-transform-reserved-words": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz",
- "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1773,8 +1832,6 @@
},
"node_modules/@babel/plugin-transform-runtime": {
"version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.3.tgz",
- "integrity": "sha512-bA9ZL5PW90YwNgGfjg6U+7Qh/k3zCEQJ06BFgAGRp/yMjw9hP9UGbGPtx3KSOkHGljEPCCxaE+PH4fUR2h1sDw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1794,8 +1851,6 @@
},
"node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -1804,8 +1859,6 @@
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz",
- "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1820,8 +1873,6 @@
},
"node_modules/@babel/plugin-transform-spread": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz",
- "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1837,8 +1888,6 @@
},
"node_modules/@babel/plugin-transform-sticky-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz",
- "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1853,8 +1902,6 @@
},
"node_modules/@babel/plugin-transform-template-literals": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz",
- "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1869,8 +1916,6 @@
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz",
- "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1885,8 +1930,6 @@
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz",
- "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1901,8 +1944,6 @@
},
"node_modules/@babel/plugin-transform-unicode-property-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz",
- "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1918,8 +1959,6 @@
},
"node_modules/@babel/plugin-transform-unicode-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz",
- "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1935,8 +1974,6 @@
},
"node_modules/@babel/plugin-transform-unicode-sets-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz",
- "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1952,8 +1989,6 @@
},
"node_modules/@babel/preset-env": {
"version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz",
- "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2036,8 +2071,6 @@
},
"node_modules/@babel/preset-env/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -2046,8 +2079,6 @@
},
"node_modules/@babel/preset-modules": {
"version": "0.1.6-no-external-plugins",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
- "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2061,8 +2092,6 @@
},
"node_modules/@babel/preset-react": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz",
- "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2082,8 +2111,6 @@
},
"node_modules/@babel/runtime": {
"version": "7.27.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.4.tgz",
- "integrity": "sha512-t3yaEOuGu9NlIZ+hIeGbBjFtZT7j2cb2tg0fuaJKeGotchRjjLfrBA9Kwf8quhpP1EUuxModQg04q/mBwyg8uA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -2091,8 +2118,6 @@
},
"node_modules/@babel/runtime-corejs3": {
"version": "7.27.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.27.4.tgz",
- "integrity": "sha512-H7QhL0ucCGOObsUETNbB2PuzF4gAvN8p32P6r91bX7M/hk4bx+3yz2hTwHL9d/Efzwu1upeb4/cd7oSxCzup3w==",
"license": "MIT",
"dependencies": {
"core-js-pure": "^3.30.2"
@@ -2103,9 +2128,6 @@
},
"node_modules/@babel/template": {
"version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
- "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
@@ -2118,9 +2140,6 @@
},
"node_modules/@babel/traverse": {
"version": "7.27.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz",
- "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
@@ -2137,18 +2156,13 @@
},
"node_modules/@babel/traverse/node_modules/globals": {
"version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/@babel/types": {
"version": "7.27.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz",
- "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
@@ -2160,14 +2174,12 @@
},
"node_modules/@bcoe/v8-coverage": {
"version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@codemirror/language": {
"version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.20.2.tgz",
- "integrity": "sha512-WB3Bnuusw0xhVvhBocieYKwJm04SOk5bPoOEYksVHKHcGHFOaYaw+eZVxR4gIqMMcGzOIUil0FsCmFk8yrhHpw==",
+ "license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/state": "^0.20.0",
@@ -2180,14 +2192,12 @@
},
"node_modules/@codemirror/state": {
"version": "0.20.1",
- "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.20.1.tgz",
- "integrity": "sha512-ms0tlV5A02OK0pFvTtSUGMLkoarzh1F8mr6jy1cD7ucSC2X/VLHtQCxfhdSEGqTYlQF2hoZtmLv+amqhdgbwjQ==",
+ "license": "MIT",
"peer": true
},
"node_modules/@codemirror/view": {
"version": "0.20.7",
- "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.20.7.tgz",
- "integrity": "sha512-pqEPCb9QFTOtHgAH5XU/oVy9UR/Anj6r+tG5CRmkNVcqSKEPmBU05WtN/jxJCFZBXf6HumzWC9ydE4qstO3TxQ==",
+ "license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/state": "^0.20.0",
@@ -2197,9 +2207,8 @@
},
"node_modules/@colors/colors": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"dev": true,
+ "license": "MIT",
"optional": true,
"engines": {
"node": ">=0.1.90"
@@ -2207,8 +2216,6 @@
},
"node_modules/@csstools/color-helpers": {
"version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz",
- "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==",
"dev": true,
"funding": [
{
@@ -2220,14 +2227,13 @@
"url": "https://opencollective.com/csstools"
}
],
+ "license": "MIT-0",
"engines": {
"node": ">=18"
}
},
"node_modules/@csstools/css-calc": {
"version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
- "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
"dev": true,
"funding": [
{
@@ -2239,6 +2245,7 @@
"url": "https://opencollective.com/csstools"
}
],
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -2249,8 +2256,6 @@
},
"node_modules/@csstools/css-color-parser": {
"version": "3.0.10",
- "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz",
- "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==",
"dev": true,
"funding": [
{
@@ -2262,6 +2267,7 @@
"url": "https://opencollective.com/csstools"
}
],
+ "license": "MIT",
"dependencies": {
"@csstools/color-helpers": "^5.0.2",
"@csstools/css-calc": "^2.1.4"
@@ -2276,8 +2282,6 @@
},
"node_modules/@csstools/css-parser-algorithms": {
"version": "3.0.5",
- "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
- "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
"dev": true,
"funding": [
{
@@ -2289,6 +2293,7 @@
"url": "https://opencollective.com/csstools"
}
],
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -2298,8 +2303,6 @@
},
"node_modules/@csstools/css-tokenizer": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
- "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
"dev": true,
"funding": [
{
@@ -2311,14 +2314,22 @@
"url": "https://opencollective.com/csstools"
}
],
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
+ "node_modules/@dabh/diagnostics": {
+ "version": "2.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "colorspace": "1.1.x",
+ "enabled": "2.0.x",
+ "kuler": "^2.0.0"
+ }
+ },
"node_modules/@dependents/detective-less": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.1.tgz",
- "integrity": "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2331,50 +2342,15 @@
},
"node_modules/@discoveryjs/json-ext": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz",
- "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=14.17.0"
}
},
- "node_modules/@emnapi/core": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz",
- "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "@emnapi/wasi-threads": "1.0.2",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/runtime": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
- "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/wasi-threads": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz",
- "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
"node_modules/@eslint-community/eslint-utils": {
"version": "4.5.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz",
- "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"eslint-visitor-keys": "^3.4.3"
},
@@ -2390,9 +2366,7 @@
},
"node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
"version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -2402,17 +2376,13 @@
},
"node_modules/@eslint-community/regexpp": {
"version": "4.12.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
"node_modules/@eslint/compat": {
"version": "1.2.9",
- "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.9.tgz",
- "integrity": "sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -2429,9 +2399,6 @@
},
"node_modules/@eslint/config-array": {
"version": "0.20.0",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz",
- "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==",
- "dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/object-schema": "^2.1.6",
@@ -2444,9 +2411,6 @@
},
"node_modules/@eslint/config-array/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -2457,9 +2421,6 @@
},
"node_modules/@eslint/config-helpers": {
"version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz",
- "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==",
- "dev": true,
"license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2467,9 +2428,6 @@
},
"node_modules/@eslint/core": {
"version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
- "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
- "dev": true,
"license": "Apache-2.0",
"dependencies": {
"@types/json-schema": "^7.0.15"
@@ -2480,9 +2438,6 @@
},
"node_modules/@eslint/eslintrc": {
"version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"ajv": "^6.12.4",
@@ -2504,9 +2459,6 @@
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
"version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
@@ -2517,9 +2469,6 @@
},
"node_modules/@eslint/eslintrc/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -2530,9 +2479,6 @@
},
"node_modules/@eslint/js": {
"version": "9.28.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.28.0.tgz",
- "integrity": "sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2543,9 +2489,6 @@
},
"node_modules/@eslint/object-schema": {
"version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
- "dev": true,
"license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2553,9 +2496,6 @@
},
"node_modules/@eslint/plugin-kit": {
"version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz",
- "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==",
- "dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/core": "^0.14.0",
@@ -2565,10 +2505,197 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
+ "node_modules/@fastify/busboy": {
+ "version": "3.1.1",
+ "license": "MIT"
+ },
+ "node_modules/@firebase/app-check-interop-types": {
+ "version": "0.3.3",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@firebase/app-types": {
+ "version": "0.9.3",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@firebase/auth-interop-types": {
+ "version": "0.2.4",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@firebase/component": {
+ "version": "0.6.18",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/util": "1.12.1",
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@firebase/database": {
+ "version": "1.0.20",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/app-check-interop-types": "0.3.3",
+ "@firebase/auth-interop-types": "0.2.4",
+ "@firebase/component": "0.6.18",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.12.1",
+ "faye-websocket": "0.11.4",
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@firebase/database-compat": {
+ "version": "2.0.11",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/component": "0.6.18",
+ "@firebase/database": "1.0.20",
+ "@firebase/database-types": "1.0.15",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.12.1",
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@firebase/database-types": {
+ "version": "1.0.15",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/app-types": "0.9.3",
+ "@firebase/util": "1.12.1"
+ }
+ },
+ "node_modules/@firebase/logger": {
+ "version": "0.4.4",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@firebase/util": {
+ "version": "1.12.1",
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@google-cloud/firestore": {
+ "version": "7.11.2",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@opentelemetry/api": "^1.3.0",
+ "fast-deep-equal": "^3.1.1",
+ "functional-red-black-tree": "^1.0.1",
+ "google-gax": "^4.3.3",
+ "protobufjs": "^7.2.6"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@google-cloud/paginator": {
+ "version": "5.0.2",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "arrify": "^2.0.0",
+ "extend": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@google-cloud/projectify": {
+ "version": "4.0.0",
+ "license": "Apache-2.0",
+ "optional": true,
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@google-cloud/promisify": {
+ "version": "4.0.0",
+ "license": "Apache-2.0",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@google-cloud/storage": {
+ "version": "7.16.0",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@google-cloud/paginator": "^5.0.0",
+ "@google-cloud/projectify": "^4.0.0",
+ "@google-cloud/promisify": "<4.1.0",
+ "abort-controller": "^3.0.0",
+ "async-retry": "^1.3.3",
+ "duplexify": "^4.1.3",
+ "fast-xml-parser": "^4.4.1",
+ "gaxios": "^6.0.2",
+ "google-auth-library": "^9.6.3",
+ "html-entities": "^2.5.2",
+ "mime": "^3.0.0",
+ "p-limit": "^3.0.1",
+ "retry-request": "^7.0.0",
+ "teeny-request": "^9.0.0",
+ "uuid": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@google-cloud/storage/node_modules/mime": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/@google-cloud/storage/node_modules/p-limit": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@google-cloud/storage/node_modules/uuid": {
+ "version": "8.3.2",
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
"node_modules/@graphiql/react": {
"version": "0.13.3",
- "resolved": "https://registry.npmjs.org/@graphiql/react/-/react-0.13.3.tgz",
- "integrity": "sha512-BIOaahIxVHGQjoVbECIiSzEtETZVMyhG83ysVpoFKCVj27KxDbh/Yk9w23L0aYQWuWEU7C02Kzl5gi+Zwx/K3A==",
+ "license": "MIT",
"dependencies": {
"@graphiql/toolkit": "^0.8.0",
"@reach/combobox": "^0.17.0",
@@ -2592,8 +2719,7 @@
},
"node_modules/@graphiql/toolkit": {
"version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@graphiql/toolkit/-/toolkit-0.8.0.tgz",
- "integrity": "sha512-DbMFhEKejpPzB6k8W3Mj+Rl8geXiw49USDF9Wdi06EEk1XLVh1iebDqveYY+4lViITsV4+BeGikxlqi8umfP4g==",
+ "license": "MIT",
"dependencies": {
"@n1ru4l/push-pull-async-iterable-iterator": "^3.1.0",
"meros": "^1.1.4"
@@ -2608,20 +2734,103 @@
}
}
},
+ "node_modules/@graphql-tools/merge": {
+ "version": "9.0.24",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^10.8.6",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/schema": {
+ "version": "10.0.23",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/merge": "^9.0.24",
+ "@graphql-tools/utils": "^10.8.6",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/utils": {
+ "version": "10.8.6",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "dset": "^3.1.4",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-typed-document-node/core": {
+ "version": "3.2.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@grpc/grpc-js": {
+ "version": "1.13.4",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@grpc/proto-loader": "^0.7.13",
+ "@js-sdsl/ordered-map": "^4.4.2"
+ },
+ "engines": {
+ "node": ">=12.10.0"
+ }
+ },
+ "node_modules/@grpc/proto-loader": {
+ "version": "0.7.15",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "lodash.camelcase": "^4.3.0",
+ "long": "^5.0.0",
+ "protobufjs": "^7.2.5",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@grpc/proto-loader/node_modules/long": {
+ "version": "5.3.2",
+ "license": "Apache-2.0",
+ "optional": true
+ },
"node_modules/@humanfs/core": {
"version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
- "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/@humanfs/node": {
"version": "0.16.6",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
- "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
- "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@humanfs/core": "^0.19.1",
"@humanwhocodes/retry": "^0.3.0"
@@ -2632,9 +2841,7 @@
},
"node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
"version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
- "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=18.18"
},
@@ -2645,9 +2852,7 @@
},
"node_modules/@humanwhocodes/module-importer": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=12.22"
},
@@ -2658,9 +2863,7 @@
},
"node_modules/@humanwhocodes/retry": {
"version": "0.4.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz",
- "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=18.18"
},
@@ -2671,8 +2874,6 @@
},
"node_modules/@inquirer/checkbox": {
"version": "4.1.8",
- "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.1.8.tgz",
- "integrity": "sha512-d/QAsnwuHX2OPolxvYcgSj7A9DO9H6gVOy2DvBTx+P2LH2iRTo/RSGV3iwCzW024nP9hw98KIuDmdyhZQj1UQg==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2695,8 +2896,6 @@
},
"node_modules/@inquirer/confirm": {
"version": "5.1.12",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.12.tgz",
- "integrity": "sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2716,8 +2915,6 @@
},
"node_modules/@inquirer/core": {
"version": "10.1.13",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.13.tgz",
- "integrity": "sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==",
"license": "MIT",
"dependencies": {
"@inquirer/figures": "^1.0.12",
@@ -2743,8 +2940,6 @@
},
"node_modules/@inquirer/core/node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"license": "ISC",
"engines": {
"node": ">=14"
@@ -2755,8 +2950,6 @@
},
"node_modules/@inquirer/core/node_modules/wrap-ansi": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -2769,8 +2962,6 @@
},
"node_modules/@inquirer/editor": {
"version": "4.2.13",
- "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.13.tgz",
- "integrity": "sha512-WbicD9SUQt/K8O5Vyk9iC2ojq5RHoCLK6itpp2fHsWe44VxxcA9z3GTWlvjSTGmMQpZr+lbVmrxdHcumJoLbMA==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2791,8 +2982,6 @@
},
"node_modules/@inquirer/expand": {
"version": "4.0.15",
- "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.15.tgz",
- "integrity": "sha512-4Y+pbr/U9Qcvf+N/goHzPEXiHH8680lM3Dr3Y9h9FFw4gHS+zVpbj8LfbKWIb/jayIB4aSO4pWiBTrBYWkvi5A==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2813,8 +3002,6 @@
},
"node_modules/@inquirer/figures": {
"version": "1.0.12",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.12.tgz",
- "integrity": "sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -2822,8 +3009,6 @@
},
"node_modules/@inquirer/input": {
"version": "4.1.12",
- "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.12.tgz",
- "integrity": "sha512-xJ6PFZpDjC+tC1P8ImGprgcsrzQRsUh9aH3IZixm1lAZFK49UGHxM3ltFfuInN2kPYNfyoPRh+tU4ftsjPLKqQ==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2843,8 +3028,6 @@
},
"node_modules/@inquirer/number": {
"version": "3.0.15",
- "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.15.tgz",
- "integrity": "sha512-xWg+iYfqdhRiM55MvqiTCleHzszpoigUpN5+t1OMcRkJrUrw7va3AzXaxvS+Ak7Gny0j2mFSTv2JJj8sMtbV2g==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2864,8 +3047,6 @@
},
"node_modules/@inquirer/password": {
"version": "4.0.15",
- "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.15.tgz",
- "integrity": "sha512-75CT2p43DGEnfGTaqFpbDC2p2EEMrq0S+IRrf9iJvYreMy5mAWj087+mdKyLHapUEPLjN10mNvABpGbk8Wdraw==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2886,8 +3067,6 @@
},
"node_modules/@inquirer/prompts": {
"version": "7.5.3",
- "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.5.3.tgz",
- "integrity": "sha512-8YL0WiV7J86hVAxrh3fE5mDCzcTDe1670unmJRz6ArDgN+DBK1a0+rbnNWp4DUB5rPMwqD5ZP6YHl9KK1mbZRg==",
"license": "MIT",
"dependencies": {
"@inquirer/checkbox": "^4.1.8",
@@ -2915,8 +3094,6 @@
},
"node_modules/@inquirer/rawlist": {
"version": "4.1.3",
- "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.3.tgz",
- "integrity": "sha512-7XrV//6kwYumNDSsvJIPeAqa8+p7GJh7H5kRuxirct2cgOcSWwwNGoXDRgpNFbY/MG2vQ4ccIWCi8+IXXyFMZA==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2937,8 +3114,6 @@
},
"node_modules/@inquirer/search": {
"version": "3.0.15",
- "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.15.tgz",
- "integrity": "sha512-YBMwPxYBrADqyvP4nNItpwkBnGGglAvCLVW8u4pRmmvOsHUtCAUIMbUrLX5B3tFL1/WsLGdQ2HNzkqswMs5Uaw==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2960,8 +3135,6 @@
},
"node_modules/@inquirer/select": {
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.2.3.tgz",
- "integrity": "sha512-OAGhXU0Cvh0PhLz9xTF/kx6g6x+sP+PcyTiLvCrewI99P3BBeexD+VbuwkNDvqGkk3y2h5ZiWLeRP7BFlhkUDg==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -2984,8 +3157,6 @@
},
"node_modules/@inquirer/type": {
"version": "3.0.7",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.7.tgz",
- "integrity": "sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -3001,8 +3172,6 @@
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
@@ -3018,8 +3187,6 @@
},
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -3030,8 +3197,6 @@
},
"node_modules/@isaacs/cliui/node_modules/ansi-styles": {
"version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -3042,14 +3207,10 @@
},
"node_modules/@isaacs/cliui/node_modules/emoji-regex": {
"version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"license": "MIT"
},
"node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
@@ -3065,8 +3226,6 @@
},
"node_modules/@isaacs/cliui/node_modules/strip-ansi": {
"version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
@@ -3080,8 +3239,6 @@
},
"node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.1.0",
@@ -3097,9 +3254,8 @@
},
"node_modules/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"camelcase": "^5.3.1",
"find-up": "^4.1.0",
@@ -3113,18 +3269,16 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
"version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
}
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
"version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@@ -3135,18 +3289,16 @@
},
"node_modules/@istanbuljs/schema": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/@jest/console": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.0.4.tgz",
- "integrity": "sha512-tMLCDvBJBwPqMm4OAiuKm2uF5y5Qe26KgcMn+nrDSWpEW+eeFmqA0iO4zJfL16GP7gE3bUUQ3hIuUJ22AqVRnw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "30.0.1",
"@types/node": "*",
@@ -3161,9 +3313,8 @@
},
"node_modules/@jest/console/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3177,9 +3328,8 @@
},
"node_modules/@jest/core": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.0.4.tgz",
- "integrity": "sha512-MWScSO9GuU5/HoWjpXAOBs6F/iobvK1XlioelgOM9St7S0Z5WTI9kjCQLPeo4eQRRYusyLW25/J7J5lbFkrYXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/console": "30.0.4",
"@jest/pattern": "30.0.1",
@@ -3224,9 +3374,8 @@
},
"node_modules/@jest/core/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3240,18 +3389,16 @@
},
"node_modules/@jest/diff-sequences": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
- "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/@jest/environment": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.4.tgz",
- "integrity": "sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/fake-timers": "30.0.4",
"@jest/types": "30.0.1",
@@ -3264,9 +3411,8 @@
},
"node_modules/@jest/environment-jsdom-abstract": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.0.4.tgz",
- "integrity": "sha512-pUKfqgr5Nki9kZ/3iV+ubDsvtPq0a0oNL6zqkKLM1tPQI8FBJeuWskvW1kzc5pOvqlgpzumYZveJ4bxhANY0hg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "30.0.4",
"@jest/fake-timers": "30.0.4",
@@ -3291,9 +3437,8 @@
},
"node_modules/@jest/expect": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.0.4.tgz",
- "integrity": "sha512-Z/DL7t67LBHSX4UzDyeYKqOxE/n7lbrrgEwWM3dGiH5Dgn35nk+YtgzKudmfIrBI8DRRrKYY5BCo3317HZV1Fw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"expect": "30.0.4",
"jest-snapshot": "30.0.4"
@@ -3304,9 +3449,8 @@
},
"node_modules/@jest/expect-utils": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.4.tgz",
- "integrity": "sha512-EgXecHDNfANeqOkcak0DxsoVI4qkDUsR7n/Lr2vtmTBjwLPBnnPOF71S11Q8IObWzxm2QgQoY6f9hzrRD3gHRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/get-type": "30.0.1"
},
@@ -3316,9 +3460,8 @@
},
"node_modules/@jest/fake-timers": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.4.tgz",
- "integrity": "sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "30.0.1",
"@sinonjs/fake-timers": "^13.0.0",
@@ -3333,18 +3476,16 @@
},
"node_modules/@jest/get-type": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz",
- "integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/@jest/globals": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.0.4.tgz",
- "integrity": "sha512-avyZuxEHF2EUhFF6NEWVdxkRRV6iXXcIES66DLhuLlU7lXhtFG/ySq/a8SRZmEJSsLkNAFX6z6mm8KWyXe9OEA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "30.0.4",
"@jest/expect": "30.0.4",
@@ -3357,9 +3498,8 @@
},
"node_modules/@jest/pattern": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
- "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"jest-regex-util": "30.0.1"
@@ -3370,9 +3510,8 @@
},
"node_modules/@jest/reporters": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.0.4.tgz",
- "integrity": "sha512-6ycNmP0JSJEEys1FbIzHtjl9BP0tOZ/KN6iMeAKrdvGmUsa1qfRdlQRUDKJ4P84hJ3xHw1yTqJt4fvPNHhyE+g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@bcoe/v8-coverage": "^0.2.3",
"@jest/console": "30.0.4",
@@ -3412,18 +3551,16 @@
},
"node_modules/@jest/reporters/node_modules/brace-expansion": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/@jest/reporters/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3437,9 +3574,8 @@
},
"node_modules/@jest/reporters/node_modules/glob": {
"version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
@@ -3457,9 +3593,8 @@
},
"node_modules/@jest/reporters/node_modules/minimatch": {
"version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -3472,9 +3607,8 @@
},
"node_modules/@jest/schemas": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz",
- "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sinclair/typebox": "^0.34.0"
},
@@ -3484,9 +3618,8 @@
},
"node_modules/@jest/snapshot-utils": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.0.4.tgz",
- "integrity": "sha512-BEpX8M/Y5lG7MI3fmiO+xCnacOrVsnbqVrcDZIT8aSGkKV1w2WwvRQxSWw5SIS8ozg7+h8tSj5EO1Riqqxcdag==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "30.0.1",
"chalk": "^4.1.2",
@@ -3499,9 +3632,8 @@
},
"node_modules/@jest/snapshot-utils/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3515,9 +3647,8 @@
},
"node_modules/@jest/source-map": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz",
- "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.25",
"callsites": "^3.1.0",
@@ -3529,9 +3660,8 @@
},
"node_modules/@jest/test-result": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.0.4.tgz",
- "integrity": "sha512-Mfpv8kjyKTHqsuu9YugB6z1gcdB3TSSOaKlehtVaiNlClMkEHY+5ZqCY2CrEE3ntpBMlstX/ShDAf84HKWsyIw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/console": "30.0.4",
"@jest/types": "30.0.1",
@@ -3544,9 +3674,8 @@
},
"node_modules/@jest/test-sequencer": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.0.4.tgz",
- "integrity": "sha512-bj6ePmqi4uxAE8EHE0Slmk5uBYd9Vd/PcVt06CsBxzH4bbA8nGsI1YbXl/NH+eii4XRtyrRx+Cikub0x8H4vDg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/test-result": "30.0.4",
"graceful-fs": "^4.2.11",
@@ -3559,9 +3688,8 @@
},
"node_modules/@jest/transform": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.0.4.tgz",
- "integrity": "sha512-atvy4hRph/UxdCIBp+UB2jhEA/jJiUeGZ7QPgBi9jUUKNgi3WEoMXGNG7zbbELG2+88PMabUNCDchmqgJy3ELg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.27.4",
"@jest/types": "30.0.1",
@@ -3585,9 +3713,8 @@
},
"node_modules/@jest/transform/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3601,9 +3728,8 @@
},
"node_modules/@jest/types": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz",
- "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/pattern": "30.0.1",
"@jest/schemas": "30.0.1",
@@ -3619,9 +3745,8 @@
},
"node_modules/@jest/types/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3635,9 +3760,7 @@
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -3649,26 +3772,20 @@
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/set-array": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/source-map": {
"version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3678,79 +3795,195 @@
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@lezer/common": {
- "version": "0.16.1",
- "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.16.1.tgz",
- "integrity": "sha512-qPmG7YTZ6lATyTOAWf8vXE+iRrt1NJd4cm2nJHK+v7X9TsOF6+HtuU/ctaZy2RCrluxDb89hI6KWQ5LfQGQWuA==",
- "peer": true
+ "node_modules/@js-sdsl/ordered-map": {
+ "version": "4.4.2",
+ "license": "MIT",
+ "optional": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/js-sdsl"
+ }
},
- "node_modules/@lezer/highlight": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-0.16.0.tgz",
- "integrity": "sha512-iE5f4flHlJ1g1clOStvXNLbORJoiW4Kytso6ubfYzHnaNo/eo5SKhxs4wv/rtvwZQeZrK3we8S9SyA7OGOoRKQ==",
- "peer": true,
+ "node_modules/@kurkle/color": {
+ "version": "0.3.4",
+ "license": "MIT"
+ },
+ "node_modules/@ldapjs/asn1": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/@ldapjs/attribute": {
+ "version": "1.0.0",
+ "license": "MIT",
"dependencies": {
- "@lezer/common": "^0.16.0"
+ "@ldapjs/asn1": "2.0.0",
+ "@ldapjs/protocol": "^1.2.1",
+ "process-warning": "^2.1.0"
}
},
- "node_modules/@lezer/lr": {
+ "node_modules/@ldapjs/change": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@ldapjs/asn1": "2.0.0",
+ "@ldapjs/attribute": "1.0.0"
+ }
+ },
+ "node_modules/@ldapjs/controls": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@ldapjs/asn1": "^1.2.0",
+ "@ldapjs/protocol": "^1.2.1"
+ }
+ },
+ "node_modules/@ldapjs/controls/node_modules/@ldapjs/asn1": {
+ "version": "1.2.0",
+ "license": "MIT"
+ },
+ "node_modules/@ldapjs/dn": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@ldapjs/asn1": "2.0.0",
+ "process-warning": "^2.1.0"
+ }
+ },
+ "node_modules/@ldapjs/filter": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "@ldapjs/asn1": "2.0.0",
+ "@ldapjs/protocol": "^1.2.1",
+ "process-warning": "^2.1.0"
+ }
+ },
+ "node_modules/@ldapjs/messages": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "@ldapjs/asn1": "^2.0.0",
+ "@ldapjs/attribute": "^1.0.0",
+ "@ldapjs/change": "^1.0.0",
+ "@ldapjs/controls": "^2.1.0",
+ "@ldapjs/dn": "^1.1.0",
+ "@ldapjs/filter": "^2.1.1",
+ "@ldapjs/protocol": "^1.2.1",
+ "process-warning": "^2.2.0"
+ }
+ },
+ "node_modules/@ldapjs/protocol": {
+ "version": "1.2.1",
+ "license": "MIT"
+ },
+ "node_modules/@lezer/common": {
+ "version": "0.16.1",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@lezer/highlight": {
+ "version": "0.16.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@lezer/common": "^0.16.0"
+ }
+ },
+ "node_modules/@lezer/lr": {
"version": "0.16.3",
- "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.16.3.tgz",
- "integrity": "sha512-pau7um4eAw94BEuuShUIeQDTf3k4Wt6oIUOYxMmkZgDHdqtIcxWND4LRxi8nI9KuT4I1bXQv67BCapkxt7Ywqw==",
+ "license": "MIT",
"peer": true,
"dependencies": {
"@lezer/common": "^0.16.0"
}
},
+ "node_modules/@mongodb-js/saslprep": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
"node_modules/@n1ru4l/push-pull-async-iterable-iterator": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-3.2.0.tgz",
- "integrity": "sha512-3fkKj25kEjsfObL6IlKPAlHYPq/oYwUkkQ03zsTTiDjD7vg/RxjdiLeCydqtxHZP0JgsXL3D/X5oAkMGzuUp/Q==",
+ "license": "MIT",
"engines": {
"node": ">=12"
}
},
- "node_modules/@napi-rs/wasm-runtime": {
- "version": "0.2.11",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz",
- "integrity": "sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "@emnapi/core": "^1.4.3",
- "@emnapi/runtime": "^1.4.3",
- "@tybys/wasm-util": "^0.9.0"
- }
- },
"node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1",
- "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
- "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"eslint-scope": "5.1.1"
}
},
+ "node_modules/@noble/hashes": {
+ "version": "1.7.1",
+ "license": "MIT",
+ "engines": {
+ "node": "^14.21.3 || >=16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/@node-rs/bcrypt": {
+ "version": "1.10.7",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
+ },
+ "optionalDependencies": {
+ "@node-rs/bcrypt-android-arm-eabi": "1.10.7",
+ "@node-rs/bcrypt-android-arm64": "1.10.7",
+ "@node-rs/bcrypt-darwin-arm64": "1.10.7",
+ "@node-rs/bcrypt-darwin-x64": "1.10.7",
+ "@node-rs/bcrypt-freebsd-x64": "1.10.7",
+ "@node-rs/bcrypt-linux-arm-gnueabihf": "1.10.7",
+ "@node-rs/bcrypt-linux-arm64-gnu": "1.10.7",
+ "@node-rs/bcrypt-linux-arm64-musl": "1.10.7",
+ "@node-rs/bcrypt-linux-x64-gnu": "1.10.7",
+ "@node-rs/bcrypt-linux-x64-musl": "1.10.7",
+ "@node-rs/bcrypt-wasm32-wasi": "1.10.7",
+ "@node-rs/bcrypt-win32-arm64-msvc": "1.10.7",
+ "@node-rs/bcrypt-win32-ia32-msvc": "1.10.7",
+ "@node-rs/bcrypt-win32-x64-msvc": "1.10.7"
+ }
+ },
+ "node_modules/@node-rs/bcrypt-win32-x64-msvc": {
+ "version": "1.10.7",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -3761,18 +3994,16 @@
},
"node_modules/@nodelib/fs.stat": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
},
"node_modules/@nodelib/fs.walk": {
"version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -3783,8 +4014,6 @@
},
"node_modules/@octokit/auth-token": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz",
- "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3793,8 +4022,6 @@
},
"node_modules/@octokit/core": {
"version": "7.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.2.tgz",
- "integrity": "sha512-ODsoD39Lq6vR6aBgvjTnA3nZGliknKboc9Gtxr7E4WDNqY24MxANKcuDQSF0jzapvGb3KWOEDrKfve4HoWGK+g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3812,15 +4039,11 @@
},
"node_modules/@octokit/core/node_modules/@octokit/openapi-types": {
"version": "25.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
- "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/core/node_modules/@octokit/types": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
- "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3829,8 +4052,6 @@
},
"node_modules/@octokit/endpoint": {
"version": "11.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.0.tgz",
- "integrity": "sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3843,15 +4064,11 @@
},
"node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": {
"version": "25.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
- "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/endpoint/node_modules/@octokit/types": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
- "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3860,8 +4077,6 @@
},
"node_modules/@octokit/graphql": {
"version": "9.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.1.tgz",
- "integrity": "sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3875,15 +4090,11 @@
},
"node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": {
"version": "25.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
- "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/graphql/node_modules/@octokit/types": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
- "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3892,14 +4103,11 @@
},
"node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "13.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.0.1.tgz",
- "integrity": "sha512-m1KvHlueScy4mQJWvFDCxFBTIdXS0K1SgFGLmqHyX90mZdCIv6gWBbKRhatxRjhGlONuTK/hztYdaqrTXcFZdQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3914,15 +4122,11 @@
},
"node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
"version": "25.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
- "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
- "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3931,8 +4135,6 @@
},
"node_modules/@octokit/plugin-retry": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.1.tgz",
- "integrity": "sha512-KUoYR77BjF5O3zcwDQHRRZsUvJwepobeqiSSdCJ8lWt27FZExzb0GgVxrhhfuyF6z2B2zpO0hN5pteni1sqWiw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3949,15 +4151,11 @@
},
"node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": {
"version": "25.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
- "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/plugin-retry/node_modules/@octokit/types": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
- "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3966,8 +4164,6 @@
},
"node_modules/@octokit/plugin-throttling": {
"version": "11.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.1.tgz",
- "integrity": "sha512-S+EVhy52D/272L7up58dr3FNSMXWuNZolkL4zMJBNIfIxyZuUcczsQAU4b5w6dewJXnKYVgSHSV5wxitMSW1kw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3983,15 +4179,11 @@
},
"node_modules/@octokit/plugin-throttling/node_modules/@octokit/openapi-types": {
"version": "25.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
- "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
- "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4000,8 +4192,6 @@
},
"node_modules/@octokit/request": {
"version": "10.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.2.tgz",
- "integrity": "sha512-iYj4SJG/2bbhh+iIpFmG5u49DtJ4lipQ+aPakjL9OKpsGY93wM8w06gvFbEQxcMsZcCvk5th5KkIm2m8o14aWA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4017,8 +4207,6 @@
},
"node_modules/@octokit/request-error": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.0.tgz",
- "integrity": "sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4030,15 +4218,11 @@
},
"node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": {
"version": "25.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
- "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/request-error/node_modules/@octokit/types": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
- "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4047,15 +4231,11 @@
},
"node_modules/@octokit/request/node_modules/@octokit/openapi-types": {
"version": "25.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
- "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/request/node_modules/@octokit/types": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
- "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4064,22 +4244,26 @@
},
"node_modules/@octokit/types": {
"version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
}
},
"node_modules/@one-ini/wasm": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
- "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw=="
+ "license": "MIT"
+ },
+ "node_modules/@opentelemetry/api": {
+ "version": "1.9.0",
+ "license": "Apache-2.0",
+ "optional": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
},
"node_modules/@parcel/watcher": {
"version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
- "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -4113,18 +4297,16 @@
"@parcel/watcher-win32-x64": "2.5.1"
}
},
- "node_modules/@parcel/watcher-android-arm64": {
+ "node_modules/@parcel/watcher-win32-x64": {
"version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
- "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
"cpu": [
- "arm64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "android"
+ "win32"
],
"engines": {
"node": ">= 10.0.0"
@@ -4134,262 +4316,210 @@
"url": "https://opencollective.com/parcel"
}
},
- "node_modules/@parcel/watcher-darwin-arm64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
- "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
+ "node_modules/@parse/fs-files-adapter": {
+ "version": "3.0.0",
+ "license": "MIT"
+ },
+ "node_modules/@parse/node-apn": {
+ "version": "6.5.0",
"license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "debug": "4.4.0",
+ "jsonwebtoken": "9.0.2",
+ "node-forge": "1.3.1",
+ "verror": "1.10.1"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">= 14"
}
},
- "node_modules/@parcel/watcher-darwin-x64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
- "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@parse/node-apn/node_modules/core-util-is": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/@parse/node-apn/node_modules/debug": {
+ "version": "4.4.0",
"license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
"engines": {
- "node": ">= 10.0.0"
+ "node": ">=6.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@parcel/watcher-freebsd-x64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
- "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@parse/node-apn/node_modules/verror": {
+ "version": "1.10.1",
"license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=0.6.0"
}
},
- "node_modules/@parcel/watcher-linux-arm-glibc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
- "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
+ "node_modules/@parse/node-gcm": {
+ "version": "1.0.2",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "debug": "^3.1.0",
+ "lodash": "^4.17.10",
+ "request": "2.88.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">= 4"
}
},
- "node_modules/@parcel/watcher-linux-arm-musl": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
- "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
- "cpu": [
- "arm"
- ],
- "dev": true,
+ "node_modules/@parse/node-gcm/node_modules/debug": {
+ "version": "3.2.7",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "dependencies": {
+ "ms": "^2.1.1"
}
},
- "node_modules/@parcel/watcher-linux-arm64-glibc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
- "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "node_modules/@parse/node-gcm/node_modules/punycode": {
+ "version": "1.4.1",
+ "license": "MIT"
+ },
+ "node_modules/@parse/node-gcm/node_modules/qs": {
+ "version": "6.5.3",
+ "license": "BSD-3-Clause",
"engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "node": ">=0.6"
}
},
- "node_modules/@parcel/watcher-linux-arm64-musl": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
- "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "node_modules/@parse/node-gcm/node_modules/request": {
+ "version": "2.88.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
"engines": {
- "node": ">= 10.0.0"
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@parse/node-gcm/node_modules/tough-cookie": {
+ "version": "2.4.3",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "psl": "^1.1.24",
+ "punycode": "^1.4.1"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=0.8"
}
},
- "node_modules/@parcel/watcher-linux-x64-glibc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
- "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@parse/push-adapter": {
+ "version": "6.11.0",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@parse/node-apn": "6.5.0",
+ "@parse/node-gcm": "1.0.2",
+ "expo-server-sdk": "3.14.0",
+ "firebase-admin": "13.2.0",
+ "npmlog": "7.0.1",
+ "parse": "6.0.0",
+ "web-push": "3.6.7"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": "18 || 20 || 22"
}
},
- "node_modules/@parcel/watcher-linux-x64-musl": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
- "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@parse/push-adapter/node_modules/@babel/runtime-corejs3": {
+ "version": "7.26.9",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "core-js-pure": "^3.30.2",
+ "regenerator-runtime": "^0.14.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@parcel/watcher-win32-arm64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
- "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
+ "node_modules/@parse/push-adapter/node_modules/crypto-js": {
+ "version": "4.2.0",
"license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "optional": true
+ },
+ "node_modules/@parse/push-adapter/node_modules/idb-keyval": {
+ "version": "6.2.1",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@parse/push-adapter/node_modules/parse": {
+ "version": "6.0.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime-corejs3": "7.26.9",
+ "idb-keyval": "6.2.1",
+ "react-native-crypto-js": "1.0.0",
+ "uuid": "10.0.0",
+ "ws": "8.18.1",
+ "xmlhttprequest": "1.8.0"
+ },
"engines": {
- "node": ">= 10.0.0"
+ "node": "18 || 19 || 20 || 22"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "optionalDependencies": {
+ "crypto-js": "4.2.0"
}
},
- "node_modules/@parcel/watcher-win32-ia32": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
- "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
- "cpu": [
- "ia32"
+ "node_modules/@parse/push-adapter/node_modules/uuid": {
+ "version": "10.0.0",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
],
- "dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "bin": {
+ "uuid": "dist/bin/uuid"
}
},
- "node_modules/@parcel/watcher-win32-x64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
- "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@parse/push-adapter/node_modules/ws": {
+ "version": "8.18.1",
"license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
"engines": {
- "node": ">= 10.0.0"
+ "node": ">=10.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
"license": "MIT",
"optional": true,
"engines": {
@@ -4398,9 +4528,8 @@
},
"node_modules/@pkgr/core": {
"version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.7.tgz",
- "integrity": "sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
},
@@ -4410,18 +4539,16 @@
},
"node_modules/@pnpm/config.env-replace": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz",
- "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12.22.0"
}
},
"node_modules/@pnpm/network.ca-file": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz",
- "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "4.2.10"
},
@@ -4431,15 +4558,13 @@
},
"node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": {
"version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/@pnpm/npm-conf": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz",
- "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@pnpm/config.env-replace": "^1.1.0",
"@pnpm/network.ca-file": "^1.0.1",
@@ -4451,17 +4576,58 @@
},
"node_modules/@popperjs/core": {
"version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
- "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==",
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "license": "BSD-3-Clause"
+ },
"node_modules/@puppeteer/browsers": {
"version": "2.10.5",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.5.tgz",
- "integrity": "sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -4469,7 +4635,7 @@
"extract-zip": "^2.0.1",
"progress": "^2.0.3",
"proxy-agent": "^6.5.0",
- "semver": "7.7.2",
+ "semver": "^7.7.2",
"tar-fs": "^3.0.8",
"yargs": "^17.7.2"
},
@@ -4482,8 +4648,7 @@
},
"node_modules/@reach/auto-id": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/auto-id/-/auto-id-0.17.0.tgz",
- "integrity": "sha512-ud8iPwF52RVzEmkHq1twuqGuPA+moreumUHdtgvU3sr3/15BNhwp3KyDLrKKSz0LP1r3V4pSdyF9MbYM8BoSjA==",
+ "license": "MIT",
"dependencies": {
"@reach/utils": "0.17.0",
"tslib": "^2.3.0"
@@ -4495,8 +4660,7 @@
},
"node_modules/@reach/combobox": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/combobox/-/combobox-0.17.0.tgz",
- "integrity": "sha512-2mYvU5agOBCQBMdlM4cri+P1BbNwp05P1OuDyc33xJSNiBG7BMy4+ZSHJ0X4fyle6rHwSgCAOCLOeWV1XUYjoQ==",
+ "license": "MIT",
"dependencies": {
"@reach/auto-id": "0.17.0",
"@reach/descendants": "0.17.0",
@@ -4514,8 +4678,7 @@
},
"node_modules/@reach/descendants": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/descendants/-/descendants-0.17.0.tgz",
- "integrity": "sha512-c7lUaBfjgcmKFZiAWqhG+VnXDMEhPkI4kAav/82XKZD6NVvFjsQOTH+v3tUkskrAPV44Yuch0mFW/u5Ntifr7Q==",
+ "license": "MIT",
"dependencies": {
"@reach/utils": "0.17.0",
"tslib": "^2.3.0"
@@ -4527,8 +4690,7 @@
},
"node_modules/@reach/dialog": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/dialog/-/dialog-0.17.0.tgz",
- "integrity": "sha512-AnfKXugqDTGbeG3c8xDcrQDE4h9b/vnc27Sa118oQSquz52fneUeX9MeFb5ZEiBJK8T5NJpv7QUTBIKnFCAH5A==",
+ "license": "MIT",
"dependencies": {
"@reach/portal": "0.17.0",
"@reach/utils": "0.17.0",
@@ -4544,8 +4706,7 @@
},
"node_modules/@reach/dropdown": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/dropdown/-/dropdown-0.17.0.tgz",
- "integrity": "sha512-qBTIGInhxtPHtdj4Pl2XZgZMz3e37liydh0xR3qc48syu7g71sL4nqyKjOzThykyfhA3Pb3/wFgsFJKGTSdaig==",
+ "license": "MIT",
"dependencies": {
"@reach/auto-id": "0.17.0",
"@reach/descendants": "0.17.0",
@@ -4560,8 +4721,7 @@
},
"node_modules/@reach/listbox": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/listbox/-/listbox-0.17.0.tgz",
- "integrity": "sha512-AMnH1P6/3VKy2V/nPb4Es441arYR+t4YRdh9jdcFVrCOD6y7CQrlmxsYjeg9Ocdz08XpdoEBHM3PKLJqNAUr7A==",
+ "license": "MIT",
"dependencies": {
"@reach/auto-id": "0.17.0",
"@reach/descendants": "0.17.0",
@@ -4577,8 +4737,7 @@
},
"node_modules/@reach/machine": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/machine/-/machine-0.17.0.tgz",
- "integrity": "sha512-9EHnuPgXzkbRENvRUzJvVvYt+C2jp7PGN0xon7ffmKoK8rTO6eA/bb7P0xgloyDDQtu88TBUXKzW0uASqhTXGA==",
+ "license": "MIT",
"dependencies": {
"@reach/utils": "0.17.0",
"@xstate/fsm": "1.4.0",
@@ -4591,8 +4750,7 @@
},
"node_modules/@reach/menu-button": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/menu-button/-/menu-button-0.17.0.tgz",
- "integrity": "sha512-YyuYVyMZKamPtivoEI6D0UEILYH3qZtg4kJzEAuzPmoR/aHN66NZO75Fx0gtjG1S6fZfbiARaCOZJC0VEiDOtQ==",
+ "license": "MIT",
"dependencies": {
"@reach/dropdown": "0.17.0",
"@reach/popover": "0.17.0",
@@ -4609,13 +4767,11 @@
},
"node_modules/@reach/observe-rect": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@reach/observe-rect/-/observe-rect-1.2.0.tgz",
- "integrity": "sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ=="
+ "license": "MIT"
},
"node_modules/@reach/popover": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/popover/-/popover-0.17.0.tgz",
- "integrity": "sha512-yYbBF4fMz4Ml4LB3agobZjcZ/oPtPsNv70ZAd7lEC2h7cvhF453pA+zOBGYTPGupKaeBvgAnrMjj7RnxDU5hoQ==",
+ "license": "MIT",
"dependencies": {
"@reach/portal": "0.17.0",
"@reach/rect": "0.17.0",
@@ -4630,8 +4786,7 @@
},
"node_modules/@reach/portal": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/portal/-/portal-0.17.0.tgz",
- "integrity": "sha512-+IxsgVycOj+WOeNPL2NdgooUdHPSY285wCtj/iWID6akyr4FgGUK7sMhRM9aGFyrGpx2vzr+eggbUmAVZwOz+A==",
+ "license": "MIT",
"dependencies": {
"@reach/utils": "0.17.0",
"tiny-warning": "^1.0.3",
@@ -4644,8 +4799,7 @@
},
"node_modules/@reach/rect": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/rect/-/rect-0.17.0.tgz",
- "integrity": "sha512-3YB7KA5cLjbLc20bmPkJ06DIfXSK06Cb5BbD2dHgKXjUkT9WjZaLYIbYCO8dVjwcyO3GCNfOmPxy62VsPmZwYA==",
+ "license": "MIT",
"dependencies": {
"@reach/observe-rect": "1.2.0",
"@reach/utils": "0.17.0",
@@ -4660,8 +4814,7 @@
},
"node_modules/@reach/tooltip": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/tooltip/-/tooltip-0.17.0.tgz",
- "integrity": "sha512-HP8Blordzqb/Cxg+jnhGmWQfKgypamcYLBPlcx6jconyV5iLJ5m93qipr1giK7MqKT2wlsKWy44ZcOrJ+Wrf8w==",
+ "license": "MIT",
"dependencies": {
"@reach/auto-id": "0.17.0",
"@reach/portal": "0.17.0",
@@ -4679,8 +4832,7 @@
},
"node_modules/@reach/utils": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/utils/-/utils-0.17.0.tgz",
- "integrity": "sha512-M5y8fCBbrWeIsxedgcSw6oDlAMQDkl5uv3VnMVJ7guwpf4E48Xlh1v66z/1BgN/WYe2y8mB/ilFD2nysEfdGeA==",
+ "license": "MIT",
"dependencies": {
"tiny-warning": "^1.0.3",
"tslib": "^2.3.0"
@@ -4692,8 +4844,7 @@
},
"node_modules/@reach/visually-hidden": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@reach/visually-hidden/-/visually-hidden-0.17.0.tgz",
- "integrity": "sha512-T6xF3Nv8vVnjVkGU6cm0+kWtvliLqPAo8PcZ+WxkKacZsaHTjaZb4v1PaCcyQHmuTNT/vtTVNOJLG0SjQOIb7g==",
+ "license": "MIT",
"dependencies": {
"prop-types": "^15.7.2",
"tslib": "^2.3.0"
@@ -4705,32 +4856,74 @@
},
"node_modules/@react-dnd/asap": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@react-dnd/asap/-/asap-4.0.0.tgz",
- "integrity": "sha512-0XhqJSc6pPoNnf8DhdsPHtUhRzZALVzYMTzRwV4VI6DJNJ/5xxfL9OQUwb8IH5/2x7lSf7nAZrnzUD+16VyOVQ=="
+ "license": "MIT"
},
"node_modules/@react-dnd/invariant": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@react-dnd/invariant/-/invariant-2.0.0.tgz",
- "integrity": "sha512-xL4RCQBCBDJ+GRwKTFhGUW8GXa4yoDfJrPbLblc3U09ciS+9ZJXJ3Qrcs/x2IODOdIE5kQxvMmE2UKyqUictUw=="
+ "license": "MIT"
},
"node_modules/@react-dnd/shallowequal": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz",
- "integrity": "sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg=="
+ "license": "MIT"
+ },
+ "node_modules/@redis/bloom": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/client": {
+ "version": "1.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "cluster-key-slot": "1.1.2",
+ "generic-pool": "3.9.0",
+ "yallist": "4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@redis/graph": {
+ "version": "1.1.1",
+ "license": "MIT",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/json": {
+ "version": "1.0.7",
+ "license": "MIT",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/search": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/time-series": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
},
"node_modules/@remix-run/router": {
"version": "1.23.0",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz",
- "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==",
+ "license": "MIT",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@saithodev/semantic-release-backmerge": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@saithodev/semantic-release-backmerge/-/semantic-release-backmerge-4.0.1.tgz",
- "integrity": "sha512-WDsU28YrXSLx0xny7FgFlEk8DCKGcj6OOhA+4Q9k3te1jJD1GZuqY8sbIkVQaw9cqJ7CT+fCZUN6QDad8JW4Dg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@semantic-release/error": "^3.0.0",
"aggregate-error": "^3.1.0",
@@ -4742,18 +4935,16 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/auth-token": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
- "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 18"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/core": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.1.tgz",
- "integrity": "sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^7.1.0",
@@ -4769,9 +4960,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/endpoint": {
"version": "9.0.6",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz",
- "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/types": "^13.1.0",
"universal-user-agent": "^6.0.0"
@@ -4782,9 +4972,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/graphql": {
"version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz",
- "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/request": "^8.4.1",
"@octokit/types": "^13.0.0",
@@ -4796,15 +4985,13 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/openapi-types": {
"version": "20.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz",
- "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-paginate-rest": {
"version": "9.2.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz",
- "integrity": "sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/types": "^12.6.0"
},
@@ -4817,18 +5004,16 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
"version": "12.6.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
- "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^20.0.0"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-retry": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.1.0.tgz",
- "integrity": "sha512-WrO3bvq4E1Xh1r2mT9w6SDFg01gFmP81nIG77+p/MqW1JeXXgL++6umim3t6x0Zj5pZm3rXAN+0HEjmmdhIRig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/request-error": "^5.0.0",
"@octokit/types": "^13.0.0",
@@ -4843,9 +5028,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-throttling": {
"version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.2.0.tgz",
- "integrity": "sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/types": "^12.2.0",
"bottleneck": "^2.15.3"
@@ -4859,18 +5043,16 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": {
"version": "12.6.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
- "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^20.0.0"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/request": {
"version": "8.4.1",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz",
- "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/endpoint": "^9.0.6",
"@octokit/request-error": "^5.1.1",
@@ -4883,9 +5065,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/request-error": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz",
- "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/types": "^13.1.0",
"deprecation": "^2.0.0",
@@ -4897,9 +5078,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/commit-analyzer": {
"version": "11.1.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-11.1.0.tgz",
- "integrity": "sha512-cXNTbv3nXR2hlzHjAMgbuiQVtvWHTlwwISt60B+4NZv01y/QRY7p2HcJm8Eh2StzcTJoNnflvKjHH/cjFS7d5g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"conventional-changelog-angular": "^7.0.0",
"conventional-commits-filter": "^4.0.0",
@@ -4918,9 +5098,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/github": {
"version": "9.2.6",
- "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.2.6.tgz",
- "integrity": "sha512-shi+Lrf6exeNZF+sBhK+P011LSbhmIAoUEgEY6SsxF8irJ+J2stwI5jkyDQ+4gzYyDImzV6LCKdYB9FXnQRWKA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@octokit/core": "^5.0.0",
"@octokit/plugin-paginate-rest": "^9.0.0",
@@ -4948,18 +5127,16 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/github/node_modules/@semantic-release/error": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
- "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/github/node_modules/aggregate-error": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
- "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -4973,9 +5150,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm": {
"version": "11.0.3",
- "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.3.tgz",
- "integrity": "sha512-KUsozQGhRBAnoVg4UMZj9ep436VEGwT536/jwSqB7vcEfA6oncCUU7UIYTRdLx7GvTtqn0kBjnkfLVkcnBa2YQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@semantic-release/error": "^4.0.0",
"aggregate-error": "^5.0.0",
@@ -5000,18 +5176,16 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm/node_modules/@semantic-release/error": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
- "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm/node_modules/aggregate-error": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
- "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -5025,9 +5199,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm/node_modules/execa": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
- "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^8.0.1",
@@ -5048,9 +5221,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm/node_modules/get-stream": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
- "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -5060,9 +5232,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/release-notes-generator": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-12.1.0.tgz",
- "integrity": "sha512-g6M9AjUKAZUZnxaJZnouNBeDNTCUrJ5Ltj+VJ60gJeDaRRahcHsry9HW8yKrnKkKNkx5lbWiEP1FPMqVNQz8Kg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"conventional-changelog-angular": "^7.0.0",
"conventional-changelog-writer": "^7.0.0",
@@ -5084,9 +5255,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz",
- "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -5096,9 +5266,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/ansi-escapes": {
"version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz",
- "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.16"
},
@@ -5108,15 +5277,13 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/before-after-hook": {
"version": "2.2.3",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
- "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/clean-stack": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
- "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "5.0.0"
},
@@ -5129,9 +5296,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/conventional-changelog-angular": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz",
- "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"compare-func": "^2.0.0"
},
@@ -5141,9 +5307,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/conventional-changelog-writer": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz",
- "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"conventional-commits-filter": "^4.0.0",
"handlebars": "^4.7.7",
@@ -5161,18 +5326,16 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/conventional-commits-filter": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz",
- "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/conventional-commits-parser": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz",
- "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-text-path": "^2.0.0",
"JSONStream": "^1.3.5",
@@ -5188,9 +5351,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/cosmiconfig": {
"version": "8.3.6",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
- "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"import-fresh": "^3.3.0",
"js-yaml": "^4.1.0",
@@ -5214,9 +5376,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/env-ci": {
"version": "10.0.0",
- "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-10.0.0.tgz",
- "integrity": "sha512-U4xcd/utDYFgMh0yWj07R1H6L5fwhVbmxBCpnL0DbVSDZVnsC82HONw0wxtxNkIAcua3KtbomQvIk5xFZGAQJw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"execa": "^8.0.0",
"java-properties": "^1.0.2"
@@ -5227,9 +5388,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/env-ci/node_modules/execa": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
- "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^8.0.1",
@@ -5250,9 +5410,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/env-ci/node_modules/get-stream": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
- "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -5262,9 +5421,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/escape-string-regexp": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
- "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5274,9 +5432,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/figures": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz",
- "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-unicode-supported": "^2.0.0"
},
@@ -5289,9 +5446,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/find-versions": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz",
- "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver-regex": "^4.0.5"
},
@@ -5304,9 +5460,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/get-stream": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -5316,9 +5471,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/globby": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz",
- "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sindresorhus/merge-streams": "^2.1.0",
"fast-glob": "^3.3.3",
@@ -5336,9 +5490,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/globby/node_modules/path-type": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz",
- "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -5348,27 +5501,24 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/human-signals": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
- "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=16.17.0"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/ignore": {
"version": "7.0.3",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz",
- "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/import-from-esm": {
"version": "1.3.4",
- "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz",
- "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.3.4",
"import-meta-resolve": "^4.0.0"
@@ -5379,9 +5529,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/indent-string": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
- "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5391,9 +5540,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/is-stream": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
- "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -5403,9 +5551,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/is-unicode-supported": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
- "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -5415,9 +5562,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/issue-parser": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz",
- "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lodash.capitalize": "^4.2.1",
"lodash.escaperegexp": "^4.1.2",
@@ -5431,9 +5577,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/marked": {
"version": "9.1.6",
- "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.6.tgz",
- "integrity": "sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==",
"dev": true,
+ "license": "MIT",
"bin": {
"marked": "bin/marked.js"
},
@@ -5443,9 +5588,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/marked-terminal": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-6.2.0.tgz",
- "integrity": "sha512-ubWhwcBFHnXsjYNsu+Wndpg0zhY4CahSpPlA70PlO0rR9r2sZpkyU+rkCsOWH+KMEkx847UpALON+HWgxowFtw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-escapes": "^6.2.0",
"cardinal": "^2.1.1",
@@ -5463,9 +5607,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/meow": {
"version": "12.1.1",
- "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
- "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16.10"
},
@@ -5475,12 +5618,11 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/mime": {
"version": "4.0.6",
- "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.6.tgz",
- "integrity": "sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A==",
"dev": true,
"funding": [
"https://github.com/sponsors/broofa"
],
+ "license": "MIT",
"bin": {
"mime": "bin/cli.js"
},
@@ -5490,9 +5632,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/mimic-fn": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
- "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5502,9 +5643,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/normalize-url": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz",
- "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.16"
},
@@ -5514,9 +5654,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/npm-run-path": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
- "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^4.0.0"
},
@@ -5529,9 +5668,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/onetime": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
- "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-fn": "^4.0.0"
},
@@ -5544,9 +5682,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/p-reduce": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz",
- "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5556,9 +5693,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/path-key": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
- "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5568,9 +5704,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/registry-auth-token": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz",
- "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@pnpm/npm-conf": "^2.1.0"
},
@@ -5580,9 +5715,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/semantic-release": {
"version": "22.0.12",
- "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-22.0.12.tgz",
- "integrity": "sha512-0mhiCR/4sZb00RVFJIUlMuiBkW3NMpVIW2Gse7noqEMoFGkvfPPAImEQbkBV8xga4KOPP4FdTRYuLLy32R1fPw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@semantic-release/commit-analyzer": "^11.0.0",
"@semantic-release/error": "^4.0.0",
@@ -5623,18 +5757,16 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/semantic-release/node_modules/@semantic-release/error": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
- "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/semantic-release/node_modules/aggregate-error": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
- "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -5648,9 +5780,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/semantic-release/node_modules/execa": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
- "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^8.0.1",
@@ -5671,9 +5802,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/semantic-release/node_modules/execa/node_modules/get-stream": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
- "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -5683,9 +5813,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -5695,9 +5824,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/slash": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
- "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.16"
},
@@ -5707,18 +5835,16 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/split2": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
- "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">= 10.x"
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/strip-final-newline": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
- "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5728,9 +5854,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/supports-hyperlinks": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz",
- "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0",
"supports-color": "^7.0.0"
@@ -5744,9 +5869,8 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/unicorn-magic": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
- "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -5756,30 +5880,26 @@
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/universal-user-agent": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
- "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/url-join": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
- "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
"node_modules/@sec-ant/readable-stream": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz",
- "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@semantic-release/changelog": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz",
- "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@semantic-release/error": "^3.0.0",
"aggregate-error": "^3.0.0",
@@ -5795,9 +5915,8 @@
},
"node_modules/@semantic-release/commit-analyzer": {
"version": "13.0.1",
- "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.1.tgz",
- "integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"conventional-changelog-angular": "^8.0.0",
"conventional-changelog-writer": "^8.0.0",
@@ -5817,18 +5936,16 @@
},
"node_modules/@semantic-release/error": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz",
- "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.17"
}
},
"node_modules/@semantic-release/git": {
"version": "10.0.1",
- "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-10.0.1.tgz",
- "integrity": "sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@semantic-release/error": "^3.0.0",
"aggregate-error": "^3.0.0",
@@ -5848,8 +5965,6 @@
},
"node_modules/@semantic-release/github": {
"version": "11.0.3",
- "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.3.tgz",
- "integrity": "sha512-T2fKUyFkHHkUNa5XNmcsEcDPuG23hwBKptfUVcFXDVG2cSjXXZYDOfVYwfouqbWo/8UefotLaoGfQeK+k3ep6A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5879,18 +5994,16 @@
},
"node_modules/@semantic-release/github/node_modules/@semantic-release/error": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
- "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@semantic-release/github/node_modules/aggregate-error": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
- "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -5904,9 +6017,8 @@
},
"node_modules/@semantic-release/github/node_modules/clean-stack": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
- "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "5.0.0"
},
@@ -5919,9 +6031,8 @@
},
"node_modules/@semantic-release/github/node_modules/escape-string-regexp": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
- "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5931,9 +6042,8 @@
},
"node_modules/@semantic-release/github/node_modules/globby": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz",
- "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sindresorhus/merge-streams": "^2.1.0",
"fast-glob": "^3.3.3",
@@ -5951,18 +6061,16 @@
},
"node_modules/@semantic-release/github/node_modules/ignore": {
"version": "7.0.3",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz",
- "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
},
"node_modules/@semantic-release/github/node_modules/indent-string": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
- "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5972,12 +6080,11 @@
},
"node_modules/@semantic-release/github/node_modules/mime": {
"version": "4.0.6",
- "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.6.tgz",
- "integrity": "sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A==",
"dev": true,
"funding": [
"https://github.com/sponsors/broofa"
],
+ "license": "MIT",
"bin": {
"mime": "bin/cli.js"
},
@@ -5987,9 +6094,8 @@
},
"node_modules/@semantic-release/github/node_modules/path-type": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz",
- "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -5999,9 +6105,8 @@
},
"node_modules/@semantic-release/github/node_modules/slash": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
- "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.16"
},
@@ -6011,9 +6116,8 @@
},
"node_modules/@semantic-release/github/node_modules/unicorn-magic": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
- "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -6023,18 +6127,16 @@
},
"node_modules/@semantic-release/github/node_modules/url-join": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
- "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
"node_modules/@semantic-release/npm": {
"version": "12.0.1",
- "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz",
- "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@semantic-release/error": "^4.0.0",
"aggregate-error": "^5.0.0",
@@ -6059,18 +6161,16 @@
},
"node_modules/@semantic-release/npm/node_modules/@semantic-release/error": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
- "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
- "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -6080,9 +6180,8 @@
},
"node_modules/@semantic-release/npm/node_modules/aggregate-error": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
- "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -6096,9 +6195,8 @@
},
"node_modules/@semantic-release/npm/node_modules/clean-stack": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
- "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "5.0.0"
},
@@ -6111,9 +6209,8 @@
},
"node_modules/@semantic-release/npm/node_modules/escape-string-regexp": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
- "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -6123,9 +6220,8 @@
},
"node_modules/@semantic-release/npm/node_modules/execa": {
"version": "9.5.2",
- "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz",
- "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sindresorhus/merge-streams": "^4.0.0",
"cross-spawn": "^7.0.3",
@@ -6149,9 +6245,8 @@
},
"node_modules/@semantic-release/npm/node_modules/figures": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz",
- "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-unicode-supported": "^2.0.0"
},
@@ -6164,9 +6259,8 @@
},
"node_modules/@semantic-release/npm/node_modules/get-stream": {
"version": "9.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz",
- "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sec-ant/readable-stream": "^0.4.1",
"is-stream": "^4.0.1"
@@ -6180,18 +6274,16 @@
},
"node_modules/@semantic-release/npm/node_modules/human-signals": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz",
- "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/@semantic-release/npm/node_modules/indent-string": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
- "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -6201,9 +6293,8 @@
},
"node_modules/@semantic-release/npm/node_modules/is-stream": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz",
- "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -6213,9 +6304,8 @@
},
"node_modules/@semantic-release/npm/node_modules/is-unicode-supported": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
- "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -6225,9 +6315,8 @@
},
"node_modules/@semantic-release/npm/node_modules/normalize-url": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz",
- "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.16"
},
@@ -6237,9 +6326,8 @@
},
"node_modules/@semantic-release/npm/node_modules/npm-run-path": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz",
- "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^4.0.0",
"unicorn-magic": "^0.3.0"
@@ -6253,9 +6341,8 @@
},
"node_modules/@semantic-release/npm/node_modules/parse-ms": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz",
- "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -6265,9 +6352,8 @@
},
"node_modules/@semantic-release/npm/node_modules/path-key": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
- "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -6277,9 +6363,8 @@
},
"node_modules/@semantic-release/npm/node_modules/pretty-ms": {
"version": "9.2.0",
- "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz",
- "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parse-ms": "^4.0.0"
},
@@ -6292,9 +6377,8 @@
},
"node_modules/@semantic-release/npm/node_modules/registry-auth-token": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz",
- "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@pnpm/npm-conf": "^2.1.0"
},
@@ -6304,9 +6388,8 @@
},
"node_modules/@semantic-release/npm/node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -6316,9 +6399,8 @@
},
"node_modules/@semantic-release/npm/node_modules/strip-final-newline": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
- "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -6328,9 +6410,8 @@
},
"node_modules/@semantic-release/npm/node_modules/unicorn-magic": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
- "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -6340,9 +6421,8 @@
},
"node_modules/@semantic-release/release-notes-generator": {
"version": "14.0.3",
- "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.3.tgz",
- "integrity": "sha512-XxAZRPWGwO5JwJtS83bRdoIhCiYIx8Vhr+u231pQAsdFIAbm19rSVJLdnBN+Avvk7CKvNQE/nJ4y7uqKH6WTiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"conventional-changelog-angular": "^8.0.0",
"conventional-changelog-writer": "^8.0.0",
@@ -6364,9 +6444,8 @@
},
"node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz",
- "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -6376,14 +6455,12 @@
},
"node_modules/@sinclair/typebox": {
"version": "0.34.37",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.37.tgz",
- "integrity": "sha512-2TRuQVgQYfy+EzHRTIvkhv2ADEouJ2xNS/Vq+W5EuuewBdOrvATvljZTxHWZSTYr2sTjTHpGvucaGAt67S2akw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@sindresorhus/is": {
"version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -6393,9 +6470,8 @@
},
"node_modules/@sindresorhus/merge-streams": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
- "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -6405,26 +6481,23 @@
},
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
- "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"type-detect": "4.0.8"
}
},
"node_modules/@sinonjs/fake-timers": {
"version": "13.0.5",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz",
- "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@sinonjs/commons": "^3.0.1"
}
},
"node_modules/@szmarczak/http-timer": {
"version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "license": "MIT",
"dependencies": {
"defer-to-connect": "^2.0.0"
},
@@ -6432,17 +6505,21 @@
"node": ">=10"
}
},
+ "node_modules/@tootallnate/once": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/@tootallnate/quickjs-emscripten": {
"version": "0.23.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
- "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
"dev": true,
"license": "MIT"
},
"node_modules/@ts-graphviz/adapter": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@ts-graphviz/adapter/-/adapter-2.0.6.tgz",
- "integrity": "sha512-kJ10lIMSWMJkLkkCG5gt927SnGZcBuG0s0HHswGzcHTgvtUe7yk5/3zTEr0bafzsodsOq5Gi6FhQeV775nC35Q==",
"dev": true,
"funding": [
{
@@ -6464,8 +6541,6 @@
},
"node_modules/@ts-graphviz/ast": {
"version": "2.0.7",
- "resolved": "https://registry.npmjs.org/@ts-graphviz/ast/-/ast-2.0.7.tgz",
- "integrity": "sha512-e6+2qtNV99UT6DJSoLbHfkzfyqY84aIuoV8Xlb9+hZAjgpum8iVHprGeAMQ4rF6sKUAxrmY8rfF/vgAwoPc3gw==",
"dev": true,
"funding": [
{
@@ -6487,8 +6562,6 @@
},
"node_modules/@ts-graphviz/common": {
"version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@ts-graphviz/common/-/common-2.1.5.tgz",
- "integrity": "sha512-S6/9+T6x8j6cr/gNhp+U2olwo1n0jKj/682QVqsh7yXWV6ednHYqxFw0ZsY3LyzT0N8jaZ6jQY9YD99le3cmvg==",
"dev": true,
"funding": [
{
@@ -6507,8 +6580,6 @@
},
"node_modules/@ts-graphviz/core": {
"version": "2.0.7",
- "resolved": "https://registry.npmjs.org/@ts-graphviz/core/-/core-2.0.7.tgz",
- "integrity": "sha512-w071DSzP94YfN6XiWhOxnLpYT3uqtxJBDYdh6Jdjzt+Ce6DNspJsPQgpC7rbts/B8tEkq0LHoYuIF/O5Jh5rPg==",
"dev": true,
"funding": [
{
@@ -6529,21 +6600,10 @@
"node": ">=18"
}
},
- "node_modules/@tybys/wasm-util": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz",
- "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
"node_modules/@types/babel__core": {
"version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
- "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.20.7",
"@babel/types": "^7.20.7",
@@ -6554,18 +6614,16 @@
},
"node_modules/@types/babel__generator": {
"version": "7.27.0",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
- "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.0.0"
}
},
"node_modules/@types/babel__template": {
"version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
- "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.1.0",
"@babel/types": "^7.0.0"
@@ -6573,17 +6631,30 @@
},
"node_modules/@types/babel__traverse": {
"version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz",
- "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.20.7"
}
},
+ "node_modules/@types/body-parser": {
+ "version": "1.19.6",
+ "license": "MIT",
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/busboy": {
+ "version": "1.5.4",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@types/cacheable-request": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
+ "license": "MIT",
"dependencies": {
"@types/http-cache-semantics": "*",
"@types/keyv": "*",
@@ -6591,10 +6662,20 @@
"@types/responselike": "*"
}
},
+ "node_modules/@types/caseless": {
+ "version": "0.12.5",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.38",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@types/eslint": {
"version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
- "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6604,8 +6685,6 @@
},
"node_modules/@types/eslint-scope": {
"version": "3.7.7",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
- "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6615,14 +6694,31 @@
},
"node_modules/@types/estree": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
- "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
- "dev": true
+ "license": "MIT"
+ },
+ "node_modules/@types/express": {
+ "version": "4.17.23",
+ "license": "MIT",
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.33",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "node_modules/@types/express-serve-static-core": {
+ "version": "4.19.6",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
},
"node_modules/@types/hoist-non-react-statics": {
"version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
- "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
+ "license": "MIT",
"dependencies": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
@@ -6630,39 +6726,37 @@
},
"node_modules/@types/http-cache-semantics": {
"version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
- "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/http-errors": {
+ "version": "2.0.5",
"license": "MIT"
},
"node_modules/@types/istanbul-lib-coverage": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
- "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "version": "3.0.3",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/istanbul-lib-coverage": "*"
}
},
"node_modules/@types/istanbul-reports": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
- "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/istanbul-lib-report": "*"
}
},
"node_modules/@types/jest": {
"version": "30.0.0",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz",
- "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"expect": "^30.0.0",
"pretty-format": "^30.0.0"
@@ -6670,9 +6764,8 @@
},
"node_modules/@types/jsdom": {
"version": "21.1.7",
- "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz",
- "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"@types/tough-cookie": "*",
@@ -6681,92 +6774,226 @@
},
"node_modules/@types/json-schema": {
"version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true
+ "license": "MIT"
+ },
+ "node_modules/@types/jsonwebtoken": {
+ "version": "9.0.10",
+ "license": "MIT",
+ "dependencies": {
+ "@types/ms": "*",
+ "@types/node": "*"
+ }
},
"node_modules/@types/keyv": {
"version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz",
- "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==",
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
+ "node_modules/@types/long": {
+ "version": "4.0.2",
+ "license": "MIT"
+ },
+ "node_modules/@types/mime": {
+ "version": "1.3.5",
+ "license": "MIT"
+ },
+ "node_modules/@types/ms": {
+ "version": "2.1.0",
+ "license": "MIT"
+ },
"node_modules/@types/node": {
"version": "22.14.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz",
- "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==",
"license": "MIT",
"dependencies": {
"undici-types": "~6.21.0"
}
},
+ "node_modules/@types/node-fetch": {
+ "version": "2.6.12",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "form-data": "^4.0.0"
+ }
+ },
+ "node_modules/@types/node-fetch/node_modules/form-data": {
+ "version": "4.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/@types/normalize-package-data": {
"version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
- "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/object-path": {
+ "version": "0.11.4",
+ "license": "MIT"
},
"node_modules/@types/prop-types": {
"version": "15.7.4",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
- "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
+ "license": "MIT"
+ },
+ "node_modules/@types/qs": {
+ "version": "6.14.0",
+ "license": "MIT"
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.7",
+ "license": "MIT"
},
"node_modules/@types/react": {
"version": "17.0.24",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.24.tgz",
- "integrity": "sha512-eIpyco99gTH+FTI3J7Oi/OH8MZoFMJuztNRimDOJwH4iGIsKV2qkGnk4M9VzlaVWeEEWLWSQRy0FEA0Kz218cg==",
+ "license": "MIT",
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
"csstype": "^3.0.2"
}
},
+ "node_modules/@types/request": {
+ "version": "2.48.12",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@types/caseless": "*",
+ "@types/node": "*",
+ "@types/tough-cookie": "*",
+ "form-data": "^2.5.0"
+ }
+ },
+ "node_modules/@types/request/node_modules/form-data": {
+ "version": "2.5.3",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
+ "mime-types": "^2.1.35",
+ "safe-buffer": "^5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/@types/request/node_modules/mime-db": {
+ "version": "1.52.0",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/@types/request/node_modules/mime-types": {
+ "version": "2.1.35",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/@types/request/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/@types/responselike": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/scheduler": {
"version": "0.16.2",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ "license": "MIT"
+ },
+ "node_modules/@types/send": {
+ "version": "0.17.5",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/serve-static": {
+ "version": "1.15.8",
+ "license": "MIT",
+ "dependencies": {
+ "@types/http-errors": "*",
+ "@types/node": "*",
+ "@types/send": "*"
+ }
},
"node_modules/@types/stack-utils": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
- "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/tough-cookie": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
- "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
- "dev": true
+ "version": "4.0.2",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/triple-beam": {
+ "version": "1.3.5",
+ "license": "MIT"
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.3",
+ "license": "MIT"
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "11.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "@types/webidl-conversions": "*"
+ }
},
"node_modules/@types/yargs": {
"version": "17.0.33",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
- "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
}
},
"node_modules/@types/yargs-parser": {
- "version": "20.2.1",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
- "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
- "dev": true
+ "version": "21.0.3",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/yauzl": {
"version": "2.10.3",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
- "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -6776,9 +7003,8 @@
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.27.0.tgz",
- "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.27.0",
"@typescript-eslint/visitor-keys": "8.27.0"
@@ -6793,9 +7019,8 @@
},
"node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types": {
"version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.27.0.tgz",
- "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -6806,9 +7031,8 @@
},
"node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys": {
"version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz",
- "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.27.0",
"eslint-visitor-keys": "^4.2.0"
@@ -6823,9 +7047,8 @@
},
"node_modules/@typescript-eslint/scope-manager/node_modules/eslint-visitor-keys": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -6835,8 +7058,6 @@
},
"node_modules/@typescript-eslint/types": {
"version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz",
- "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6849,8 +7070,6 @@
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz",
- "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6876,8 +7095,6 @@
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6886,8 +7103,6 @@
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
"version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -6902,8 +7117,6 @@
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz",
- "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6920,8 +7133,6 @@
},
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -6933,264 +7144,23 @@
},
"node_modules/@ungap/structured-clone": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
- "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
- "node_modules/@unrs/resolver-binding-android-arm-eabi": {
+ "node_modules/@unrs/resolver-binding-win32-x64-msvc": {
"version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.10.1.tgz",
- "integrity": "sha512-zohDKXT1Ok0yhbVGff4YAg9HUs5ietG5GpvJBPFSApZnGe7uf2cd26DRhKZbn0Be6xHUZrSzP+RAgMmzyc71EA==",
"cpu": [
- "arm"
+ "x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
- "android"
- ]
- },
- "node_modules/@unrs/resolver-binding-android-arm64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.10.1.tgz",
- "integrity": "sha512-tAN6k5UrTd4nicpA7s2PbjR/jagpDzAmvXFjbpTazUe5FRsFxVcBlS1F5Lzp5jtWU6bdiqRhSvd4X8rdpCffeA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@unrs/resolver-binding-darwin-arm64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.10.1.tgz",
- "integrity": "sha512-+FCsag8WkauI4dQ50XumCXdfvDCZEpMUnvZDsKMxfOisnEklpDFXc6ThY0WqybBYZbiwR5tWcFaZmI0G6b4vrg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@unrs/resolver-binding-darwin-x64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.10.1.tgz",
- "integrity": "sha512-qYKGGm5wk71ONcXTMZ0+J11qQeOAPz3nw6VtqrBUUELRyXFyvK8cHhHsLBFR4GHnilc2pgY1HTB2TvdW9wO26Q==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@unrs/resolver-binding-freebsd-x64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.10.1.tgz",
- "integrity": "sha512-hOHMAhbvIQ63gkpgeNsXcWPSyvXH7ZEyeg254hY0Lp/hX8NdW+FsUWq73g9946Pc/BrcVI/I3C1cmZ4RCX9bNw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.10.1.tgz",
- "integrity": "sha512-6ds7+zzHJgTDmpe0gmFcOTvSUhG5oZukkt+cCsSb3k4Uiz2yEQB4iCRITX2hBwSW+p8gAieAfecITjgqCkswXw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.10.1.tgz",
- "integrity": "sha512-P7A0G2/jW00diNJyFeq4W9/nxovD62Ay8CMP4UK9OymC7qO7rG1a8Upad68/bdfpIOn7KSp7Aj/6lEW3yyznAA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.10.1.tgz",
- "integrity": "sha512-Cg6xzdkrpltcTPO4At+A79zkC7gPDQIgosJmVV8M104ImB6KZi1MrNXgDYIAfkhUYjPzjNooEDFRAwwPadS7ZA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-arm64-musl": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.10.1.tgz",
- "integrity": "sha512-aNeg99bVkXa4lt+oZbjNRPC8ZpjJTKxijg/wILrJdzNyAymO2UC/HUK1UfDjt6T7U5p/mK24T3CYOi3/+YEQSA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.10.1.tgz",
- "integrity": "sha512-ylz5ojeXrkPrtnzVhpCO+YegG63/aKhkoTlY8PfMfBfLaUG8v6m6iqrL7sBUKdVBgOB4kSTUPt9efQdA/Y3Z/w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.10.1.tgz",
- "integrity": "sha512-xcWyhmJfXXOxK7lvE4+rLwBq+on83svlc0AIypfe6x4sMJR+S4oD7n9OynaQShfj2SufPw2KJAotnsNb+4nN2g==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.10.1.tgz",
- "integrity": "sha512-mW9JZAdOCyorgi1eLJr4gX7xS67WNG9XNPYj5P8VuttK72XNsmdw9yhOO4tDANMgiLXFiSFaiL1gEpoNtRPw/A==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.10.1.tgz",
- "integrity": "sha512-NZGKhBy6xkJ0k09cWNZz4DnhBcGlhDd3W+j7EYoNvf5TSwj2K6kbmfqTWITEgkvjsMUjm1wsrc4IJaH6VtjyHQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-x64-gnu": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.10.1.tgz",
- "integrity": "sha512-VsjgckJ0gNMw7p0d8In6uPYr+s0p16yrT2rvG4v2jUpEMYkpnfnCiALa9SWshbvlGjKQ98Q2x19agm3iFk8w8Q==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-x64-musl": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.10.1.tgz",
- "integrity": "sha512-idMnajMeejnaFi0Mx9UTLSYFDAOTfAEP7VjXNgxKApso3Eu2Njs0p2V95nNIyFi4oQVGFmIuCkoznAXtF/Zbmw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-wasm32-wasi": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.10.1.tgz",
- "integrity": "sha512-7jyhjIRNFjzlr8x5pth6Oi9hv3a7ubcVYm2GBFinkBQKcFhw4nIs5BtauSNtDW1dPIGrxF0ciynCZqzxMrYMsg==",
- "cpu": [
- "wasm32"
- ],
- "dev": true,
- "optional": true,
- "dependencies": {
- "@napi-rs/wasm-runtime": "^0.2.11"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.10.1.tgz",
- "integrity": "sha512-TY79+N+Gkoo7E99K+zmsKNeiuNJYlclZJtKqsHSls8We2iGhgxtletVsiBYie93MSTDRDMI8pkBZJlIJSZPrdA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.10.1.tgz",
- "integrity": "sha512-BAJN5PEPlEV+1m8+PCtFoKm3LQ1P57B4Z+0+efU0NzmCaGk7pUaOxuPgl+m3eufVeeNBKiPDltG0sSB9qEfCxw==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@unrs/resolver-binding-win32-x64-msvc": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.10.1.tgz",
- "integrity": "sha512-2v3erKKmmCyIVvvhI2nF15qEbdBpISTq44m9pyd5gfIJB1PN94oePTLWEd82XUbIbvKhv76xTSeUQSCOGesLeg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
+ "win32"
]
},
"node_modules/@vue/compiler-core": {
"version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz",
- "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7203,8 +7173,6 @@
},
"node_modules/@vue/compiler-core/node_modules/entities": {
"version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
@@ -7216,8 +7184,6 @@
},
"node_modules/@vue/compiler-dom": {
"version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz",
- "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7227,8 +7193,6 @@
},
"node_modules/@vue/compiler-sfc": {
"version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz",
- "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7245,8 +7209,6 @@
},
"node_modules/@vue/compiler-ssr": {
"version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz",
- "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7256,15 +7218,11 @@
},
"node_modules/@vue/shared": {
"version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz",
- "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/ast": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
- "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7274,29 +7232,21 @@
},
"node_modules/@webassemblyjs/floating-point-hex-parser": {
"version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
- "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-api-error": {
"version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
- "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-buffer": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
- "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-numbers": {
"version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
- "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7307,15 +7257,11 @@
},
"node_modules/@webassemblyjs/helper-wasm-bytecode": {
"version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
- "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-wasm-section": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
- "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7327,8 +7273,6 @@
},
"node_modules/@webassemblyjs/ieee754": {
"version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
- "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7337,8 +7281,6 @@
},
"node_modules/@webassemblyjs/leb128": {
"version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
- "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -7347,15 +7289,11 @@
},
"node_modules/@webassemblyjs/utf8": {
"version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
- "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/wasm-edit": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
- "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7371,8 +7309,6 @@
},
"node_modules/@webassemblyjs/wasm-gen": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
- "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7385,8 +7321,6 @@
},
"node_modules/@webassemblyjs/wasm-opt": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
- "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7398,8 +7332,6 @@
},
"node_modules/@webassemblyjs/wasm-parser": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
- "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7413,8 +7345,6 @@
},
"node_modules/@webassemblyjs/wast-printer": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
- "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7424,8 +7354,6 @@
},
"node_modules/@webpack-cli/configtest": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz",
- "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7438,8 +7366,6 @@
},
"node_modules/@webpack-cli/info": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz",
- "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7452,8 +7378,6 @@
},
"node_modules/@webpack-cli/serve": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz",
- "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7469,38 +7393,55 @@
}
}
},
+ "node_modules/@whatwg-node/promise-helpers": {
+ "version": "1.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.6.3"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
"node_modules/@xstate/fsm": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@xstate/fsm/-/fsm-1.4.0.tgz",
- "integrity": "sha512-uTHDeu2xI5E1IFwf37JFQM31RrH7mY7877RqPBS4ZqSNUwoLDuct8AhBWaXGnVizBAYyimVwgCyGa9z/NiRhXA=="
+ "license": "MIT"
},
"node_modules/@xtuc/ieee754": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
"dev": true,
"license": "BSD-3-Clause"
},
"node_modules/@xtuc/long": {
"version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/abbrev": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
- "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/abort-controller": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "event-target-shim": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6.5"
+ }
+ },
+ "node_modules/abstract-logging": {
+ "version": "2.0.1",
+ "license": "MIT"
+ },
"node_modules/accepts": {
"version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "license": "MIT",
"dependencies": {
"mime-types": "~2.1.34",
"negotiator": "0.6.3"
@@ -7511,16 +7452,14 @@
},
"node_modules/accepts/node_modules/mime-db": {
"version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/accepts/node_modules/mime-types": {
"version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
},
@@ -7530,15 +7469,11 @@
},
"node_modules/ace-builds": {
"version": "1.41.0",
- "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.41.0.tgz",
- "integrity": "sha512-tiEUfw7V/FpHuI4tG7KS+muOTMIuPh6zReBAD2Uqhe9t00tLeyVGxjXu0tSqz5OIPWy7/wvuJBVXAsNWx0rYvQ==",
"license": "BSD-3-Clause"
},
"node_modules/acorn": {
"version": "8.14.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
- "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
- "dev": true,
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -7548,19 +7483,26 @@
},
"node_modules/acorn-jsx": {
"version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
"license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
"node_modules/aggregate-error": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^2.0.0",
"indent-string": "^4.0.0"
@@ -7571,9 +7513,7 @@
},
"node_modules/ajv": {
"version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -7587,9 +7527,8 @@
},
"node_modules/ajv-formats": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ajv": "^8.0.0"
},
@@ -7604,9 +7543,8 @@
},
"node_modules/ajv-formats/node_modules/ajv": {
"version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -7620,23 +7558,19 @@
},
"node_modules/ajv-formats/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/ajv-keywords": {
"version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"ajv": "^6.9.1"
}
},
"node_modules/all-node-versions": {
"version": "13.0.1",
- "resolved": "https://registry.npmjs.org/all-node-versions/-/all-node-versions-13.0.1.tgz",
- "integrity": "sha512-5pG14FNgn5ClyGv8diB7uTcsmi2NWk9rDH+cGbVsqHjeqptegK0UfCsBA/vNUOZPNOPnYNzk31EM9OjJktld/g==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -7654,17 +7588,14 @@
},
"node_modules/all-node-versions/node_modules/path-exists": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
- "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
"node_modules/all-node-versions/node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
"engines": {
@@ -7676,8 +7607,6 @@
},
"node_modules/all-node-versions/node_modules/write-file-atomic": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz",
- "integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -7690,8 +7619,7 @@
},
"node_modules/ansi-escapes": {
"version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "license": "MIT",
"dependencies": {
"type-fest": "^0.21.3"
},
@@ -7704,8 +7632,7 @@
},
"node_modules/ansi-escapes/node_modules/type-fest": {
"version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -7715,16 +7642,14 @@
},
"node_modules/ansi-regex": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -7737,21 +7662,18 @@
},
"node_modules/ansicolors": {
"version": "0.3.2",
- "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
- "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/any-promise": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/anymatch": {
"version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -7762,27 +7684,33 @@
},
"node_modules/app-module-path": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz",
- "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==",
"dev": true,
"license": "BSD-2-Clause"
},
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "license": "ISC"
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "4.0.2",
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
"node_modules/argparse": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ "license": "Python-2.0"
},
"node_modules/argv-formatter": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz",
- "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/array-buffer-byte-length": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
- "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"is-array-buffer": "^3.0.5"
@@ -7796,20 +7724,17 @@
},
"node_modules/array-flatten": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ "license": "MIT"
},
"node_modules/array-ify": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
- "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/array-includes": {
"version": "3.1.8",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
- "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -7827,9 +7752,8 @@
},
"node_modules/array.prototype.findlast": {
"version": "1.2.5",
- "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
- "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -7847,9 +7771,8 @@
},
"node_modules/array.prototype.flatmap": {
"version": "1.3.3",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz",
- "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"define-properties": "^1.2.1",
@@ -7865,9 +7788,8 @@
},
"node_modules/array.prototype.tosorted": {
"version": "1.1.4",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz",
- "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -7881,9 +7803,8 @@
},
"node_modules/arraybuffer.prototype.slice": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
- "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.1",
"call-bind": "^1.0.8",
@@ -7900,33 +7821,51 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/arrify": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/asap": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+ "license": "MIT"
},
"node_modules/asn1": {
"version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": "~2.1.0"
}
},
+ "node_modules/asn1.js": {
+ "version": "5.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "node_modules/assert-options": {
+ "version": "0.8.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/assert-plus": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/ast-module-types": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-6.0.1.tgz",
- "integrity": "sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7935,8 +7874,6 @@
},
"node_modules/ast-types": {
"version": "0.13.4",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
- "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7948,33 +7885,34 @@
},
"node_modules/async": {
"version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lodash": "^4.17.14"
}
},
"node_modules/async-function": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
- "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "node_modules/async-retry": {
+ "version": "1.3.3",
+ "license": "MIT",
+ "dependencies": {
+ "retry": "0.13.1"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "license": "MIT"
},
"node_modules/available-typed-arrays": {
"version": "1.0.7",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
- "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"possible-typed-array-names": "^1.0.0"
},
@@ -7987,31 +7925,24 @@
},
"node_modules/aws-sign2": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "*"
}
},
"node_modules/aws4": {
"version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
+ "license": "MIT"
},
"node_modules/b4a": {
"version": "1.6.7",
- "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz",
- "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/babel-jest": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.0.4.tgz",
- "integrity": "sha512-UjG2j7sAOqsp2Xua1mS/e+ekddkSu3wpf4nZUSvXNHuVWdaOUXQ77+uyjJLDE9i0atm5x4kds8K9yb5lRsRtcA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/transform": "30.0.4",
"@types/babel__core": "^7.20.5",
@@ -8030,9 +7961,8 @@
},
"node_modules/babel-jest/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -8046,8 +7976,6 @@
},
"node_modules/babel-loader": {
"version": "10.0.0",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz",
- "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8063,8 +7991,6 @@
},
"node_modules/babel-loader/node_modules/find-up": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8080,8 +8006,6 @@
},
"node_modules/babel-loader/node_modules/locate-path": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8096,8 +8020,6 @@
},
"node_modules/babel-loader/node_modules/p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8112,8 +8034,6 @@
},
"node_modules/babel-loader/node_modules/p-locate": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8128,9 +8048,8 @@
},
"node_modules/babel-plugin-istanbul": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz",
- "integrity": "sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
"@istanbuljs/load-nyc-config": "^1.0.0",
@@ -8144,9 +8063,8 @@
},
"node_modules/babel-plugin-jest-hoist": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.1.tgz",
- "integrity": "sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/template": "^7.27.2",
"@babel/types": "^7.27.3",
@@ -8158,8 +8076,6 @@
},
"node_modules/babel-plugin-polyfill-corejs2": {
"version": "0.4.13",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz",
- "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8173,8 +8089,6 @@
},
"node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -8183,8 +8097,6 @@
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.11.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
- "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8197,8 +8109,6 @@
},
"node_modules/babel-plugin-polyfill-regenerator": {
"version": "0.6.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz",
- "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8210,9 +8120,8 @@
},
"node_modules/babel-preset-current-node-syntax": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz",
- "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-bigint": "^7.8.3",
@@ -8236,9 +8145,8 @@
},
"node_modules/babel-preset-jest": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.0.1.tgz",
- "integrity": "sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"babel-plugin-jest-hoist": "30.0.1",
"babel-preset-current-node-syntax": "^1.1.0"
@@ -8250,23 +8158,32 @@
"@babel/core": "^7.11.0"
}
},
+ "node_modules/backo2": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/backoff": {
+ "version": "2.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "precond": "0.2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/balanced-match": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ "license": "MIT"
},
"node_modules/bare-events": {
"version": "2.5.4",
- "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz",
- "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==",
"dev": true,
"license": "Apache-2.0",
"optional": true
},
"node_modules/bare-fs": {
"version": "4.1.5",
- "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.5.tgz",
- "integrity": "sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==",
"dev": true,
"license": "Apache-2.0",
"optional": true,
@@ -8289,8 +8206,6 @@
},
"node_modules/bare-os": {
"version": "3.6.1",
- "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz",
- "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==",
"dev": true,
"license": "Apache-2.0",
"optional": true,
@@ -8300,8 +8215,6 @@
},
"node_modules/bare-path": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
- "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
"dev": true,
"license": "Apache-2.0",
"optional": true,
@@ -8311,8 +8224,6 @@
},
"node_modules/bare-stream": {
"version": "2.6.5",
- "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz",
- "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==",
"dev": true,
"license": "Apache-2.0",
"optional": true,
@@ -8334,14 +8245,10 @@
},
"node_modules/base16": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz",
- "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA="
+ "license": "MIT"
},
"node_modules/base64-js": {
"version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -8355,13 +8262,13 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/basic-auth": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
- "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safe-buffer": "5.1.2"
},
@@ -8371,8 +8278,6 @@
},
"node_modules/basic-ftp": {
"version": "5.0.5",
- "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
- "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8381,17 +8286,13 @@
},
"node_modules/bcrypt-pbkdf": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"tweetnacl": "^0.14.3"
}
},
"node_modules/bcryptjs": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.2.tgz",
- "integrity": "sha512-k38b3XOZKv60C4E2hVsXTolJWfkGRMbILBIe2IBITXciy5bOsTKot5kDrf3ZfufQtQOUN5mXceUEpU1rTl9Uog==",
"license": "BSD-3-Clause",
"bin": {
"bcrypt": "bin/bcrypt"
@@ -8399,25 +8300,28 @@
},
"node_modules/before-after-hook": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz",
- "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/big.js": {
"version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/bignumber.js": {
+ "version": "9.3.0",
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/bl": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
@@ -8426,14 +8330,15 @@
},
"node_modules/bluebird": {
"version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/bn.js": {
+ "version": "4.12.2",
+ "license": "MIT"
},
"node_modules/body-parser": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz",
- "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==",
"license": "MIT",
"dependencies": {
"bytes": "^3.1.2",
@@ -8452,8 +8357,6 @@
},
"node_modules/body-parser/node_modules/iconv-lite": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -8464,8 +8367,6 @@
},
"node_modules/body-parser/node_modules/media-typer": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
- "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -8473,8 +8374,6 @@
},
"node_modules/body-parser/node_modules/mime-db": {
"version": "1.54.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
- "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -8482,8 +8381,6 @@
},
"node_modules/body-parser/node_modules/mime-types": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
- "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
"license": "MIT",
"dependencies": {
"mime-db": "^1.54.0"
@@ -8494,8 +8391,6 @@
},
"node_modules/body-parser/node_modules/qs": {
"version": "6.14.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
- "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.1.0"
@@ -8509,8 +8404,6 @@
},
"node_modules/body-parser/node_modules/type-is": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
- "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
"license": "MIT",
"dependencies": {
"content-type": "^1.0.5",
@@ -8523,15 +8416,12 @@
},
"node_modules/bottleneck": {
"version": "2.19.5",
- "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
- "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/brace-expansion": {
"version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -8539,9 +8429,8 @@
},
"node_modules/braces": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -8551,9 +8440,6 @@
},
"node_modules/browserslist": {
"version": "4.24.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
- "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -8584,17 +8470,21 @@
},
"node_modules/bser": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"node-int64": "^0.4.0"
}
},
+ "node_modules/bson": {
+ "version": "6.10.4",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=16.20.1"
+ }
+ },
"node_modules/buffer": {
"version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dev": true,
"funding": [
{
@@ -8610,6 +8500,7 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
@@ -8617,24 +8508,32 @@
},
"node_modules/buffer-crc32": {
"version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": "*"
}
},
+ "node_modules/buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "license": "BSD-3-Clause"
+ },
"node_modules/buffer-from": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/busboy": {
+ "version": "1.6.0",
+ "dependencies": {
+ "streamsearch": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.16.0"
+ }
},
"node_modules/bytes": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -8642,8 +8541,6 @@
},
"node_modules/cacheable-lookup": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz",
- "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8652,8 +8549,7 @@
},
"node_modules/cacheable-request": {
"version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
+ "license": "MIT",
"dependencies": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
@@ -8669,8 +8565,6 @@
},
"node_modules/cachedir": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz",
- "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8679,9 +8573,7 @@
},
"node_modules/call-bind": {
"version": "1.0.8",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
- "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.0",
"es-define-property": "^1.0.0",
@@ -8697,8 +8589,7 @@
},
"node_modules/call-bind-apply-helpers": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
- "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2"
@@ -8709,8 +8600,7 @@
},
"node_modules/call-bound": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
- "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.2",
"get-intrinsic": "^1.3.0"
@@ -8724,26 +8614,20 @@
},
"node_modules/callsites": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/camelcase": {
"version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001707",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz",
- "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -8762,9 +8646,8 @@
},
"node_modules/cardinal": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz",
- "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansicolors": "~0.3.2",
"redeyed": "~2.1.0"
@@ -8775,15 +8658,12 @@
},
"node_modules/caseless": {
"version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
+ "license": "Apache-2.0"
},
"node_modules/chalk": {
"version": "5.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
- "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
},
@@ -8793,23 +8673,36 @@
},
"node_modules/char-regex": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
- "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/chardet": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"license": "MIT"
},
+ "node_modules/chart.js": {
+ "version": "4.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "@kurkle/color": "^0.3.0"
+ },
+ "engines": {
+ "pnpm": ">=8"
+ }
+ },
+ "node_modules/chartjs-adapter-date-fns": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "chart.js": ">=2.8.0",
+ "date-fns": ">=2.0.0"
+ }
+ },
"node_modules/chokidar": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
- "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8824,17 +8717,14 @@
},
"node_modules/chrome-trace-event": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0"
}
},
"node_modules/chromium-bidi": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-5.1.0.tgz",
- "integrity": "sha512-9MSRhWRVoRPDG0TgzkHrshFSJJNZzfY5UFqUMuksg7zL1yoZIZ3jLB0YAgHclbiAxPI86pBnwDX1tbzoiV8aFw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -8846,9 +8736,7 @@
}
},
"node_modules/ci-info": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz",
- "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==",
+ "version": "4.3.0",
"dev": true,
"funding": [
{
@@ -8856,30 +8744,28 @@
"url": "https://github.com/sponsors/sibiraj-s"
}
],
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/cjs-module-lexer": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz",
- "integrity": "sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/clean-stack": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/cli-cursor": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"restore-cursor": "^3.1.0"
},
@@ -8889,9 +8775,8 @@
},
"node_modules/cli-highlight": {
"version": "2.1.11",
- "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
- "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"chalk": "^4.0.0",
"highlight.js": "^10.7.1",
@@ -8910,9 +8795,8 @@
},
"node_modules/cli-highlight/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -8926,24 +8810,21 @@
},
"node_modules/cli-highlight/node_modules/parse5": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
- "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cli-highlight/node_modules/y18n": {
"version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/cli-highlight/node_modules/yargs": {
"version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
@@ -8959,8 +8840,6 @@
},
"node_modules/cli-progress": {
"version": "3.12.0",
- "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz",
- "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8972,9 +8851,8 @@
},
"node_modules/cli-spinners": {
"version": "2.6.0",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz",
- "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
},
@@ -8984,9 +8862,8 @@
},
"node_modules/cli-table3": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
- "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"string-width": "^4.2.0"
},
@@ -8999,8 +8876,6 @@
},
"node_modules/cli-width": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
- "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
"license": "ISC",
"engines": {
"node": ">= 12"
@@ -9008,9 +8883,8 @@
},
"node_modules/cliui": {
"version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
@@ -9019,17 +8893,14 @@
},
"node_modules/clone": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/clone-deep": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9043,26 +8914,29 @@
},
"node_modules/clone-response": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "license": "MIT",
"dependencies": {
"mimic-response": "^1.0.0"
}
},
"node_modules/clsx": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
- "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
+ "node_modules/cluster-key-slot": {
+ "version": "1.1.2",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/co": {
"version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"iojs": ">= 1.0.0",
"node": ">= 0.12.0"
@@ -9070,13 +8944,11 @@
},
"node_modules/codemirror": {
"version": "5.65.9",
- "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.9.tgz",
- "integrity": "sha512-19Jox5sAKpusTDgqgKB5dawPpQcY+ipQK7xoEI+MVucEF9qqFaXpeqY1KaoyGBso/wHQoDa4HMMxMjdsS3Zzzw=="
+ "license": "MIT"
},
"node_modules/codemirror-graphql": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-2.0.0.tgz",
- "integrity": "sha512-4trIaV9LYo/yRMu3s5qf7ASrKQjcCGrVfqOwaFsdjjcG8koh93gCzZ+csMhe3n6A7lMLWEpPdFWBIepKGV7qQg==",
+ "license": "MIT",
"dependencies": {
"graphql-language-service": "^5.1.0"
},
@@ -9088,14 +8960,20 @@
},
"node_modules/collect-v8-coverage": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
- "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/color": {
+ "version": "3.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.3",
+ "color-string": "^1.6.0"
+ }
},
"node_modules/color-convert": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
},
@@ -9105,19 +8983,41 @@
},
"node_modules/color-name": {
"version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ "license": "MIT"
+ },
+ "node_modules/color-string": {
+ "version": "1.9.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "license": "ISC",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/color/node_modules/color-convert": {
+ "version": "1.9.3",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color/node_modules/color-name": {
+ "version": "1.1.3",
+ "license": "MIT"
},
"node_modules/colorette": {
"version": "2.0.19",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
- "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/colors-option": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/colors-option/-/colors-option-6.0.1.tgz",
- "integrity": "sha512-FsAlu5KTTN+W6Xc4NpxNAhl8iCKwVBzjL7Y2ZK6G9zMv50AfMDlU7Mi16lzaDK8Iwpoq/GfAXX+WrYx38gfSHA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9128,11 +9028,17 @@
"node": ">=18.18.0"
}
},
+ "node_modules/colorspace": {
+ "version": "1.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "color": "^3.1.3",
+ "text-hex": "1.0.x"
+ }
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
@@ -9142,8 +9048,6 @@
},
"node_modules/commander": {
"version": "13.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
- "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -9151,15 +9055,13 @@
},
"node_modules/commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/compare-func": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
- "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-ify": "^1.0.0",
"dot-prop": "^5.1.0"
@@ -9167,14 +9069,11 @@
},
"node_modules/concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
+ "license": "MIT"
},
"node_modules/config-chain": {
"version": "1.1.13",
- "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
- "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
+ "license": "MIT",
"dependencies": {
"ini": "^1.3.4",
"proto-list": "~1.2.1"
@@ -9182,16 +9081,17 @@
},
"node_modules/connect-flash": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz",
- "integrity": "sha1-2GMPJtlaf4UfmVax6MxnMvO2qjA=",
"engines": {
"node": ">= 0.4.0"
}
},
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "license": "ISC"
+ },
"node_modules/content-disposition": {
"version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "license": "MIT",
"dependencies": {
"safe-buffer": "5.2.1"
},
@@ -9201,8 +9101,6 @@
},
"node_modules/content-disposition/node_modules/safe-buffer": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
@@ -9216,21 +9114,20 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/content-type": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/conventional-changelog-angular": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz",
- "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"compare-func": "^2.0.0"
},
@@ -9240,9 +9137,8 @@
},
"node_modules/conventional-changelog-writer": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.1.tgz",
- "integrity": "sha512-hlqcy3xHred2gyYg/zXSMXraY2mjAYYo0msUCpK+BGyaVJMFCKWVXPIHiaacGO2GGp13kvHWXFhYmxT4QQqW3Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"conventional-commits-filter": "^5.0.0",
"handlebars": "^4.7.7",
@@ -9258,18 +9154,16 @@
},
"node_modules/conventional-commits-filter": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz",
- "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/conventional-commits-parser": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.1.0.tgz",
- "integrity": "sha512-5nxDo7TwKB5InYBl4ZC//1g9GRwB/F3TXOGR9hgUjMGfvSP4Vu5NkpNro2+1+TIEy1vwxApl5ircECr2ri5JIw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"meow": "^13.0.0"
},
@@ -9282,9 +9176,8 @@
},
"node_modules/convert-hrtime": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz",
- "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -9294,23 +9187,17 @@
},
"node_modules/convert-source-map": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true,
"license": "MIT"
},
"node_modules/cookie": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/cookie-session": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-2.1.0.tgz",
- "integrity": "sha512-u73BDmR8QLGcs+Lprs0cfbcAPKl2HnPcjpwRXT41sEV4DRJ2+W0vJEEZkG31ofkx+HZflA70siRIjiTdIodmOQ==",
"license": "MIT",
"dependencies": {
"cookies": "0.9.1",
@@ -9324,16 +9211,13 @@
},
"node_modules/cookie-session/node_modules/debug": {
"version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/cookie-session/node_modules/safe-buffer": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
@@ -9347,17 +9231,15 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/cookie-signature": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+ "license": "MIT"
},
"node_modules/cookies": {
"version": "0.9.1",
- "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz",
- "integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==",
"license": "MIT",
"dependencies": {
"depd": "~2.0.0",
@@ -9369,8 +9251,6 @@
},
"node_modules/cookies/node_modules/depd": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -9378,8 +9258,6 @@
},
"node_modules/copy-to-clipboard": {
"version": "3.3.3",
- "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz",
- "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==",
"license": "MIT",
"dependencies": {
"toggle-selection": "^1.0.6"
@@ -9387,8 +9265,6 @@
},
"node_modules/core-js": {
"version": "3.42.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.42.0.tgz",
- "integrity": "sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==",
"hasInstallScript": true,
"license": "MIT",
"funding": {
@@ -9398,8 +9274,6 @@
},
"node_modules/core-js-compat": {
"version": "3.41.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz",
- "integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9412,8 +9286,6 @@
},
"node_modules/core-js-pure": {
"version": "3.41.0",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.41.0.tgz",
- "integrity": "sha512-71Gzp96T9YPk63aUvE5Q5qP+DryB4ZloUZPSOebGM88VNw8VNfvdA7z6kGA8iGOTEzAomsRidp4jXSmUIJsL+Q==",
"hasInstallScript": true,
"license": "MIT",
"funding": {
@@ -9423,31 +9295,48 @@
},
"node_modules/core-util-is": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "license": "MIT",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
},
"node_modules/corser": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
- "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/cross-fetch": {
"version": "3.1.5",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
- "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
+ "license": "MIT",
"dependencies": {
"node-fetch": "2.6.7"
}
},
+ "node_modules/cross-inspect": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -9459,15 +9348,13 @@
},
"node_modules/crypto-js": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
- "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==",
+ "license": "MIT",
"optional": true
},
"node_modules/crypto-random-string": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz",
- "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"type-fest": "^1.0.1"
},
@@ -9480,9 +9367,8 @@
},
"node_modules/crypto-random-string/node_modules/type-fest": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -9492,8 +9378,7 @@
},
"node_modules/csrf": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.1.0.tgz",
- "integrity": "sha512-uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w==",
+ "license": "MIT",
"dependencies": {
"rndm": "1.2.0",
"tsscmp": "1.0.6",
@@ -9505,9 +9390,8 @@
},
"node_modules/css-loader": {
"version": "6.7.3",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz",
- "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"icss-utils": "^5.1.0",
"postcss": "^8.4.19",
@@ -9531,9 +9415,8 @@
},
"node_modules/cssesc": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true,
+ "license": "MIT",
"bin": {
"cssesc": "bin/cssesc"
},
@@ -9543,9 +9426,8 @@
},
"node_modules/cssstyle": {
"version": "4.6.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz",
- "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@asamuzakjp/css-color": "^3.2.0",
"rrweb-cssom": "^0.8.0"
@@ -9556,14 +9438,11 @@
},
"node_modules/csstype": {
"version": "3.0.9",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz",
- "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw=="
+ "license": "MIT"
},
"node_modules/csurf": {
"version": "1.11.0",
- "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.11.0.tgz",
- "integrity": "sha512-UCtehyEExKTxgiu8UHdGvHj4tnpE/Qctue03Giq5gPgMQ9cg/ciod5blZQ5a4uCEenNQjxyGuzygLdKUmee/bQ==",
- "deprecated": "Please use another csrf package",
+ "license": "MIT",
"dependencies": {
"cookie": "0.4.0",
"cookie-signature": "1.0.6",
@@ -9576,8 +9455,7 @@
},
"node_modules/csurf/node_modules/http-errors": {
"version": "1.7.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
- "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
+ "license": "MIT",
"dependencies": {
"depd": "~1.1.2",
"inherits": "2.0.4",
@@ -9591,9 +9469,7 @@
},
"node_modules/dashdash": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0"
},
@@ -9603,8 +9479,6 @@
},
"node_modules/data-uri-to-buffer": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
- "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -9613,9 +9487,8 @@
},
"node_modules/data-urls": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
- "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"whatwg-mimetype": "^4.0.0",
"whatwg-url": "^14.0.0"
@@ -9626,9 +9499,8 @@
},
"node_modules/data-urls/node_modules/tr46": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
- "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"punycode": "^2.3.1"
},
@@ -9638,18 +9510,24 @@
},
"node_modules/data-urls/node_modules/webidl-conversions": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=12"
}
},
+ "node_modules/data-urls/node_modules/whatwg-mimetype": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/data-urls/node_modules/whatwg-url": {
"version": "14.2.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
- "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tr46": "^5.1.0",
"webidl-conversions": "^7.0.0"
@@ -9660,9 +9538,8 @@
},
"node_modules/data-view-buffer": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
- "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"es-errors": "^1.3.0",
@@ -9677,9 +9554,8 @@
},
"node_modules/data-view-byte-length": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
- "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"es-errors": "^1.3.0",
@@ -9694,9 +9570,8 @@
},
"node_modules/data-view-byte-offset": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
- "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
@@ -9709,10 +9584,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/date-fns": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/kossnocorp"
+ }
+ },
"node_modules/debug": {
"version": "4.4.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -9728,22 +9609,19 @@
},
"node_modules/decamelize": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/decimal.js": {
"version": "10.5.0",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz",
- "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/decompress-response": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+ "license": "MIT",
"dependencies": {
"mimic-response": "^3.1.0"
},
@@ -9756,8 +9634,7 @@
},
"node_modules/decompress-response/node_modules/mimic-response": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -9767,9 +9644,8 @@
},
"node_modules/dedent": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz",
- "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"babel-plugin-macros": "^3.1.0"
},
@@ -9781,49 +9657,47 @@
},
"node_modules/deep-extend": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "license": "MIT",
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/deep-is": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "license": "MIT"
+ },
+ "node_modules/deepcopy": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "type-detect": "^4.0.8"
+ }
},
"node_modules/deepmerge": {
"version": "4.3.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/defaults": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clone": "^1.0.2"
}
},
"node_modules/defer-to-connect": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
+ "license": "MIT",
"engines": {
"node": ">=10"
}
},
"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==",
- "dev": true,
"license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0",
@@ -9839,9 +9713,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
@@ -9856,8 +9729,6 @@
},
"node_modules/degenerator": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
- "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9871,25 +9742,20 @@
},
"node_modules/delayed-stream": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/depd": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/dependency-tree": {
"version": "11.1.1",
- "resolved": "https://registry.npmjs.org/dependency-tree/-/dependency-tree-11.1.1.tgz",
- "integrity": "sha512-pnkCd8VGOq70EVaEQxDC9mZCjCwYj4yG4j8h+PEJswuWp+rdE6p8zbtVvWk+yPwaVimOjlhNi782U9K5KOU9MQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9907,8 +9773,6 @@
},
"node_modules/dependency-tree/node_modules/commander": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -9917,14 +9781,12 @@
},
"node_modules/deprecation": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
- "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/destroy": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
@@ -9932,8 +9794,6 @@
},
"node_modules/detect-libc": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
"dev": true,
"license": "Apache-2.0",
"optional": true,
@@ -9946,22 +9806,18 @@
},
"node_modules/detect-newline": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/detect-node-es": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
- "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
+ "license": "MIT"
},
"node_modules/detective-amd": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-6.0.1.tgz",
- "integrity": "sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9979,8 +9835,6 @@
},
"node_modules/detective-cjs": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-6.0.1.tgz",
- "integrity": "sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9993,8 +9847,6 @@
},
"node_modules/detective-es6": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-5.0.1.tgz",
- "integrity": "sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10006,8 +9858,6 @@
},
"node_modules/detective-postcss": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-7.0.1.tgz",
- "integrity": "sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10023,8 +9873,6 @@
},
"node_modules/detective-sass": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-6.0.1.tgz",
- "integrity": "sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10037,8 +9885,6 @@
},
"node_modules/detective-scss": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-5.0.1.tgz",
- "integrity": "sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10051,8 +9897,6 @@
},
"node_modules/detective-stylus": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-5.0.1.tgz",
- "integrity": "sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -10061,8 +9905,6 @@
},
"node_modules/detective-typescript": {
"version": "14.0.0",
- "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-14.0.0.tgz",
- "integrity": "sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10079,8 +9921,6 @@
},
"node_modules/detective-vue2": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/detective-vue2/-/detective-vue2-2.2.0.tgz",
- "integrity": "sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10101,26 +9941,21 @@
},
"node_modules/devtools-protocol": {
"version": "0.0.1439962",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1439962.tgz",
- "integrity": "sha512-jJF48UdryzKiWhJ1bLKr7BFWUQCEIT5uCNbDLqkQJBtkFxYzILJH44WN0PDKMIlGDN7Utb8vyUY85C3w4R/t2g==",
"dev": true,
"license": "BSD-3-Clause"
},
"node_modules/diff-match-patch": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
- "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
+ "license": "Apache-2.0"
},
"node_modules/dijkstrajs": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz",
- "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg=="
+ "license": "MIT"
},
"node_modules/dir-glob": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-type": "^4.0.0"
},
@@ -10130,8 +9965,7 @@
},
"node_modules/dnd-core": {
"version": "10.0.2",
- "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-10.0.2.tgz",
- "integrity": "sha512-PrxEjxF0+6Y1n1n1Z9hSWZ1tvnDXv9syL+BccV1r1RC08uWNsyetf8AnWmUF3NgYPwy0HKQJwTqGkZK+1NlaFA==",
+ "license": "MIT",
"dependencies": {
"@react-dnd/asap": "^4.0.0",
"@react-dnd/invariant": "^2.0.0",
@@ -10140,9 +9974,8 @@
},
"node_modules/dot-prop": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
- "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-obj": "^2.0.0"
},
@@ -10150,10 +9983,16 @@
"node": ">=8"
}
},
+ "node_modules/dset": {
+ "version": "3.1.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/dunder-proto": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
- "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"es-errors": "^1.3.0",
@@ -10165,18 +10004,16 @@
},
"node_modules/duplexer2": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"readable-stream": "^2.0.2"
}
},
"node_modules/duplexer2/node_modules/readable-stream": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -10187,26 +10024,39 @@
"util-deprecate": "~1.0.1"
}
},
+ "node_modules/duplexify": {
+ "version": "4.1.3",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "end-of-stream": "^1.4.1",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1",
+ "stream-shift": "^1.0.2"
+ }
+ },
"node_modules/eastasianwidth": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
"license": "MIT"
},
"node_modules/ecc-jsbn": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
}
},
+ "node_modules/ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
"node_modules/editorconfig": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
- "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==",
+ "license": "MIT",
"dependencies": {
"@one-ini/wasm": "0.1.1",
"commander": "^10.0.0",
@@ -10222,29 +10072,23 @@
},
"node_modules/editorconfig/node_modules/commander": {
"version": "10.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
- "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/ee-first": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ "license": "MIT"
},
"node_modules/electron-to-chromium": {
"version": "1.5.123",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.123.tgz",
- "integrity": "sha512-refir3NlutEZqlKaBLK0tzlVLe5P2wDKS7UQt/3SpibizgsRAPOsqQC3ffw1nlv3ze5gjRQZYHoPymgVZkplFA==",
- "dev": true,
"license": "ISC"
},
"node_modules/emittery": {
"version": "0.13.1",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
- "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -10254,28 +10098,27 @@
},
"node_modules/emoji-regex": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "license": "MIT"
},
"node_modules/emojilib": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz",
- "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/emojis-list": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
},
+ "node_modules/enabled": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
"node_modules/encodeurl": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -10283,16 +10126,13 @@
},
"node_modules/end-of-stream": {
"version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "license": "MIT",
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/enhanced-resolve": {
"version": "5.18.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
- "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10305,17 +10145,15 @@
},
"node_modules/entities": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "license": "BSD-2-Clause",
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/env-ci": {
"version": "11.1.0",
- "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.0.tgz",
- "integrity": "sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"execa": "^8.0.0",
"java-properties": "^1.0.2"
@@ -10326,9 +10164,8 @@
},
"node_modules/env-ci/node_modules/execa": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
- "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^8.0.1",
@@ -10349,9 +10186,8 @@
},
"node_modules/env-ci/node_modules/get-stream": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
- "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -10361,18 +10197,16 @@
},
"node_modules/env-ci/node_modules/human-signals": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
- "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=16.17.0"
}
},
"node_modules/env-ci/node_modules/is-stream": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
- "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -10382,9 +10216,8 @@
},
"node_modules/env-ci/node_modules/mimic-fn": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
- "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -10394,9 +10227,8 @@
},
"node_modules/env-ci/node_modules/npm-run-path": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
- "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^4.0.0"
},
@@ -10409,9 +10241,8 @@
},
"node_modules/env-ci/node_modules/onetime": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
- "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-fn": "^4.0.0"
},
@@ -10424,9 +10255,8 @@
},
"node_modules/env-ci/node_modules/path-key": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
- "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -10436,9 +10266,8 @@
},
"node_modules/env-ci/node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -10448,9 +10277,8 @@
},
"node_modules/env-ci/node_modules/strip-final-newline": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
- "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -10460,17 +10288,14 @@
},
"node_modules/env-paths": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
- "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/envinfo": {
"version": "7.14.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz",
- "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==",
"dev": true,
"license": "MIT",
"bin": {
@@ -10482,9 +10307,8 @@
},
"node_modules/environment": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
- "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -10492,20 +10316,22 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/err-code": {
+ "version": "2.0.3",
+ "license": "MIT"
+ },
"node_modules/error-ex": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
}
},
"node_modules/es-abstract": {
"version": "1.23.9",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz",
- "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.2",
"arraybuffer.prototype.slice": "^1.0.4",
@@ -10568,16 +10394,13 @@
},
"node_modules/es-define-property": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
- "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "license": "MIT",
"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==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -10585,9 +10408,8 @@
},
"node_modules/es-iterator-helpers": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz",
- "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
@@ -10612,14 +10434,12 @@
},
"node_modules/es-module-lexer": {
"version": "1.5.4",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz",
- "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/es-object-atoms": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
},
@@ -10629,9 +10449,7 @@
},
"node_modules/es-set-tostringtag": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
- "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.6",
@@ -10644,9 +10462,8 @@
},
"node_modules/es-shim-unscopables": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz",
- "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
},
@@ -10656,9 +10473,8 @@
},
"node_modules/es-to-primitive": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
- "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-callable": "^1.2.7",
"is-date-object": "^1.0.5",
@@ -10673,33 +10489,27 @@
},
"node_modules/escalade": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/escape-html": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"license": "MIT"
},
"node_modules/escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/escodegen": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
- "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esprima": "^4.0.1",
"estraverse": "^5.2.0",
@@ -10718,18 +10528,14 @@
},
"node_modules/escodegen/node_modules/estraverse": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
},
"node_modules/eslint": {
"version": "9.28.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.28.0.tgz",
- "integrity": "sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
@@ -10788,8 +10594,6 @@
},
"node_modules/eslint-plugin-jest": {
"version": "28.14.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.14.0.tgz",
- "integrity": "sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10814,9 +10618,8 @@
},
"node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": {
"version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.27.0.tgz",
- "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -10827,9 +10630,8 @@
},
"node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": {
"version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.27.0.tgz",
- "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.27.0",
"@typescript-eslint/visitor-keys": "8.27.0",
@@ -10853,9 +10655,8 @@
},
"node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": {
"version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.27.0.tgz",
- "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "8.27.0",
@@ -10876,9 +10677,8 @@
},
"node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": {
"version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz",
- "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.27.0",
"eslint-visitor-keys": "^4.2.0"
@@ -10893,18 +10693,16 @@
},
"node_modules/eslint-plugin-jest/node_modules/brace-expansion": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/eslint-plugin-jest/node_modules/eslint-visitor-keys": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -10914,9 +10712,8 @@
},
"node_modules/eslint-plugin-jest/node_modules/minimatch": {
"version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -10929,8 +10726,6 @@
},
"node_modules/eslint-plugin-react": {
"version": "7.37.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz",
- "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10962,9 +10757,8 @@
},
"node_modules/eslint-plugin-react/node_modules/doctrine": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
@@ -10974,18 +10768,16 @@
},
"node_modules/eslint-plugin-react/node_modules/estraverse": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
},
"node_modules/eslint-plugin-react/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -10995,9 +10787,8 @@
},
"node_modules/eslint-plugin-react/node_modules/resolve": {
"version": "2.0.0-next.5",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
- "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
@@ -11012,18 +10803,15 @@
},
"node_modules/eslint-plugin-react/node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/eslint-scope": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
@@ -11034,18 +10822,14 @@
},
"node_modules/eslint-visitor-keys": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=10"
}
},
"node_modules/eslint/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -11059,9 +10843,7 @@
},
"node_modules/eslint/node_modules/escape-string-regexp": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -11071,9 +10853,7 @@
},
"node_modules/eslint/node_modules/eslint-scope": {
"version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz",
- "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
- "dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@@ -11087,9 +10867,7 @@
},
"node_modules/eslint/node_modules/eslint-visitor-keys": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -11099,18 +10877,14 @@
},
"node_modules/eslint/node_modules/estraverse": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
},
"node_modules/eslint/node_modules/find-up": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -11124,9 +10898,7 @@
},
"node_modules/eslint/node_modules/glob-parent": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -11136,9 +10908,7 @@
},
"node_modules/eslint/node_modules/locate-path": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -11151,9 +10921,7 @@
},
"node_modules/eslint/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -11163,9 +10931,7 @@
},
"node_modules/eslint/node_modules/p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -11178,9 +10944,7 @@
},
"node_modules/eslint/node_modules/p-locate": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -11193,9 +10957,6 @@
},
"node_modules/espree": {
"version": "10.3.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
- "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
- "dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"acorn": "^8.14.0",
@@ -11211,9 +10972,6 @@
},
"node_modules/espree/node_modules/eslint-visitor-keys": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
- "dev": true,
"license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -11224,9 +10982,8 @@
},
"node_modules/esprima": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true,
+ "license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
"esvalidate": "bin/esvalidate.js"
@@ -11237,9 +10994,7 @@
},
"node_modules/esquery": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
- "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
- "dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -11249,18 +11004,14 @@
},
"node_modules/esquery/node_modules/estraverse": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
},
"node_modules/esrecurse": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -11270,67 +11021,62 @@
},
"node_modules/esrecurse/node_modules/estraverse": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
- "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
- "dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
},
"node_modules/estraverse": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
},
"node_modules/estree-walker": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true,
"license": "MIT"
},
"node_modules/esutils": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/etag": {
"version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
+ "node_modules/event-target-shim": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/eventemitter3": {
"version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/events": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.x"
}
},
"node_modules/execa": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^6.0.0",
@@ -11351,9 +11097,8 @@
},
"node_modules/execa/node_modules/get-stream": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -11363,18 +11108,16 @@
},
"node_modules/exit-x": {
"version": "0.2.2",
- "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz",
- "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/expect": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.4.tgz",
- "integrity": "sha512-dDLGjnP2cKbEppxVICxI/Uf4YemmGMPNy0QytCbfafbpYk9AFQsxb8Uyrxii0RPK7FWgLGlSem+07WirwS3cFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/expect-utils": "30.0.4",
"@jest/get-type": "30.0.1",
@@ -11387,10 +11130,18 @@
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
+ "node_modules/expo-server-sdk": {
+ "version": "3.14.0",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^2.6.0",
+ "promise-limit": "^2.7.0",
+ "promise-retry": "^2.0.1"
+ }
+ },
"node_modules/express": {
"version": "4.21.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
- "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
+ "license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
@@ -11432,10 +11183,21 @@
"url": "https://opencollective.com/express"
}
},
+ "node_modules/express-rate-limit": {
+ "version": "7.5.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/express-rate-limit"
+ },
+ "peerDependencies": {
+ "express": "^4.11 || 5 || ^5.0.0-beta.1"
+ }
+ },
"node_modules/express/node_modules/body-parser": {
"version": "1.20.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
- "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
@@ -11458,8 +11220,6 @@
},
"node_modules/express/node_modules/cookie": {
"version": "0.7.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
- "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -11467,8 +11227,6 @@
},
"node_modules/express/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -11476,8 +11234,6 @@
},
"node_modules/express/node_modules/depd": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -11485,14 +11241,10 @@
},
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/express/node_modules/raw-body": {
"version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
@@ -11506,8 +11258,6 @@
},
"node_modules/express/node_modules/safe-buffer": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
@@ -11521,31 +11271,26 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/express/node_modules/setprototypeof": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ "license": "ISC"
},
"node_modules/express/node_modules/statuses": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/extend": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
+ "license": "MIT"
},
"node_modules/external-editor": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
"license": "MIT",
"dependencies": {
"chardet": "^0.7.0",
@@ -11558,8 +11303,6 @@
},
"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==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -11579,17 +11322,20 @@
},
"node_modules/extsprintf": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true,
"engines": [
"node >=0.6.0"
- ]
+ ],
+ "license": "MIT"
+ },
+ "node_modules/farmhash-modern": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ }
},
"node_modules/fast-content-type-parse": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz",
- "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==",
"dev": true,
"funding": [
{
@@ -11605,21 +11351,17 @@
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ "license": "MIT"
},
"node_modules/fast-fifo": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
- "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
"dev": true,
"license": "MIT"
},
"node_modules/fast-glob": {
"version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -11633,55 +11375,73 @@
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "license": "MIT"
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "license": "MIT"
+ },
+ "node_modules/fast-xml-parser": {
+ "version": "4.5.3",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "strnum": "^1.1.1"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
},
"node_modules/fastest-levenshtein": {
"version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4.9.1"
}
},
"node_modules/fastq": {
"version": "1.19.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
- "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
},
+ "node_modules/faye-websocket": {
+ "version": "0.11.4",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "websocket-driver": ">=0.5.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/fb-watchman": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
- "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"bser": "2.1.1"
}
},
"node_modules/fbemitter": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz",
- "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==",
+ "license": "BSD-3-Clause",
"dependencies": {
"fbjs": "^3.0.0"
}
},
"node_modules/fbjs": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz",
- "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==",
+ "license": "MIT",
"dependencies": {
"cross-fetch": "^3.0.4",
"fbjs-css-vars": "^1.0.0",
@@ -11694,23 +11454,22 @@
},
"node_modules/fbjs-css-vars": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz",
- "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ=="
+ "license": "MIT"
},
"node_modules/fd-slicer": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"dev": true,
"license": "MIT",
"dependencies": {
"pend": "~1.2.0"
}
},
+ "node_modules/fecha": {
+ "version": "4.2.3",
+ "license": "MIT"
+ },
"node_modules/fetch-node-website": {
"version": "9.0.1",
- "resolved": "https://registry.npmjs.org/fetch-node-website/-/fetch-node-website-9.0.1.tgz",
- "integrity": "sha512-htQY+YRRFdMAxmQG8EpnVy32lQyXBjgFAvyfaaq7VCn53Py1gorggPMYAt1Zmp0AlNS1X/YnGt641RAkUbsETw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -11726,8 +11485,6 @@
},
"node_modules/fetch-node-website/node_modules/@sindresorhus/is": {
"version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz",
- "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11739,8 +11496,6 @@
},
"node_modules/fetch-node-website/node_modules/@szmarczak/http-timer": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz",
- "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11752,8 +11507,6 @@
},
"node_modules/fetch-node-website/node_modules/cacheable-request": {
"version": "10.2.14",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz",
- "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11771,8 +11524,6 @@
},
"node_modules/fetch-node-website/node_modules/figures": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz",
- "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11787,8 +11538,6 @@
},
"node_modules/fetch-node-website/node_modules/get-stream": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11800,8 +11549,6 @@
},
"node_modules/fetch-node-website/node_modules/got": {
"version": "13.0.0",
- "resolved": "https://registry.npmjs.org/got/-/got-13.0.0.tgz",
- "integrity": "sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11826,8 +11573,6 @@
},
"node_modules/fetch-node-website/node_modules/http2-wrapper": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz",
- "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11840,8 +11585,6 @@
},
"node_modules/fetch-node-website/node_modules/is-unicode-supported": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
- "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11853,8 +11596,6 @@
},
"node_modules/fetch-node-website/node_modules/lowercase-keys": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz",
- "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11866,8 +11607,6 @@
},
"node_modules/fetch-node-website/node_modules/mimic-response": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz",
- "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11879,8 +11618,6 @@
},
"node_modules/fetch-node-website/node_modules/normalize-url": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz",
- "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11892,8 +11629,6 @@
},
"node_modules/fetch-node-website/node_modules/p-cancelable": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
- "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11902,8 +11637,6 @@
},
"node_modules/fetch-node-website/node_modules/responselike": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
- "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11918,9 +11651,7 @@
},
"node_modules/file-entry-cache": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
- "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"flat-cache": "^4.0.0"
},
@@ -11928,10 +11659,15 @@
"node": ">=16.0.0"
}
},
+ "node_modules/file-stream-rotator": {
+ "version": "0.6.1",
+ "license": "MIT",
+ "dependencies": {
+ "moment": "^2.29.1"
+ }
+ },
"node_modules/filing-cabinet": {
"version": "5.0.3",
- "resolved": "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-5.0.3.tgz",
- "integrity": "sha512-PlPcMwVWg60NQkhvfoxZs4wEHjhlOO/y7OAm4sKM60o1Z9nttRY4mcdQxp/iZ+kg/Vv6Hw1OAaTbYVM9DA9pYg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11956,8 +11692,6 @@
},
"node_modules/filing-cabinet/node_modules/commander": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11966,9 +11700,8 @@
},
"node_modules/fill-range": {
"version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -11978,8 +11711,6 @@
},
"node_modules/filter-obj": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-6.1.0.tgz",
- "integrity": "sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11991,8 +11722,6 @@
},
"node_modules/finalhandler": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
- "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@@ -12009,8 +11738,6 @@
},
"node_modules/finalhandler/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -12018,14 +11745,10 @@
},
"node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/finalhandler/node_modules/statuses": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -12033,8 +11756,7 @@
},
"node_modules/find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -12045,9 +11767,8 @@
},
"node_modules/find-up-simple": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz",
- "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -12057,9 +11778,8 @@
},
"node_modules/find-versions": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz",
- "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver-regex": "^4.0.5",
"super-regex": "^1.0.0"
@@ -12071,10 +11791,42 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/firebase-admin": {
+ "version": "13.2.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@fastify/busboy": "^3.0.0",
+ "@firebase/database-compat": "^2.0.0",
+ "@firebase/database-types": "^1.0.6",
+ "@types/node": "^22.8.7",
+ "farmhash-modern": "^1.1.0",
+ "google-auth-library": "^9.14.2",
+ "jsonwebtoken": "^9.0.0",
+ "jwks-rsa": "^3.1.0",
+ "node-forge": "^1.3.1",
+ "uuid": "^11.0.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@google-cloud/firestore": "^7.11.0",
+ "@google-cloud/storage": "^7.14.0"
+ }
+ },
+ "node_modules/firebase-admin/node_modules/uuid": {
+ "version": "11.1.0",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
+ }
+ },
"node_modules/flat": {
"version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
"dev": true,
"license": "BSD-3-Clause",
"bin": {
@@ -12083,9 +11835,7 @@
},
"node_modules/flat-cache": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
- "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"flatted": "^3.2.9",
"keyv": "^4.5.4"
@@ -12096,14 +11846,11 @@
},
"node_modules/flatted": {
"version": "3.3.3",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
- "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
- "dev": true
+ "license": "ISC"
},
"node_modules/flux": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.1.tgz",
- "integrity": "sha512-emk4RCvJ8RzNP2lNpphKnG7r18q8elDYNAPx7xn+bDeOIo9FFfxEfIQ2y6YbQNmnsGD3nH1noxtLE64Puz1bRQ==",
+ "license": "BSD-3-Clause",
"dependencies": {
"fbemitter": "^3.0.0",
"fbjs": "^3.0.0"
@@ -12112,10 +11859,13 @@
"react": "^15.0.2 || ^16.0.0 || ^17.0.0"
}
},
+ "node_modules/fn.name": {
+ "version": "1.1.0",
+ "license": "MIT"
+ },
"node_modules/focus-lock": {
"version": "0.11.3",
- "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.3.tgz",
- "integrity": "sha512-4n0pYcPTa/uI7Q66BZna61nRT7lDhnuJ9PJr6wiDjx4uStg491ks41y7uOG+s0umaaa+hulNKSldU9aTg9/yVg==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.3"
},
@@ -12124,16 +11874,14 @@
}
},
"node_modules/follow-redirects": {
- "version": "1.15.6",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
- "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
- "dev": true,
+ "version": "1.15.9",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
+ "license": "MIT",
"engines": {
"node": ">=4.0"
},
@@ -12145,9 +11893,7 @@
},
"node_modules/for-each": {
"version": "0.3.5",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
- "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"is-callable": "^1.2.7"
},
@@ -12160,8 +11906,6 @@
},
"node_modules/foreground-child": {
"version": "3.3.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
"license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.6",
@@ -12176,8 +11920,6 @@
},
"node_modules/foreground-child/node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"license": "ISC",
"engines": {
"node": ">=14"
@@ -12188,18 +11930,14 @@
},
"node_modules/forever-agent": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "*"
}
},
"node_modules/form-data": {
"version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@@ -12211,8 +11949,6 @@
},
"node_modules/form-data-encoder": {
"version": "2.1.4",
- "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz",
- "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -12221,16 +11957,13 @@
},
"node_modules/forwarded": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/fresh": {
"version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -12238,9 +11971,8 @@
},
"node_modules/from2": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.1",
"readable-stream": "^2.0.0"
@@ -12248,9 +11980,8 @@
},
"node_modules/from2/node_modules/readable-stream": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -12261,11 +11992,17 @@
"util-deprecate": "~1.0.1"
}
},
+ "node_modules/fs-capacitor": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/fs-extra": {
"version": "11.3.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz",
- "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
@@ -12277,28 +12014,11 @@
},
"node_modules/fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
+ "license": "ISC"
},
"node_modules/function-bind": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -12306,9 +12026,8 @@
},
"node_modules/function-timeout": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz",
- "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -12318,9 +12037,8 @@
},
"node_modules/function.prototype.name": {
"version": "1.1.8",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
- "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
@@ -12336,28 +12054,166 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/functions-have-names": {
"version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/gauge": {
+ "version": "5.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^4.0.1",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/gauge/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/gaxios": {
+ "version": "6.7.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "extend": "^3.0.2",
+ "https-proxy-agent": "^7.0.1",
+ "is-stream": "^2.0.0",
+ "node-fetch": "^2.6.9",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/gaxios/node_modules/node-fetch": {
+ "version": "2.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/gaxios/node_modules/uuid": {
+ "version": "9.0.1",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/gcp-metadata": {
+ "version": "5.3.0",
+ "license": "Apache-2.0",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "gaxios": "^5.0.0",
+ "json-bigint": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/gcp-metadata/node_modules/gaxios": {
+ "version": "5.1.3",
+ "license": "Apache-2.0",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "extend": "^3.0.2",
+ "https-proxy-agent": "^5.0.0",
+ "is-stream": "^2.0.0",
+ "node-fetch": "^2.6.9"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/gcp-metadata/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/gcp-metadata/node_modules/node-fetch": {
+ "version": "2.7.0",
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/generic-pool": {
+ "version": "3.9.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/gensync": {
"version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/get-amd-module-type": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.1.tgz",
- "integrity": "sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -12370,16 +12226,14 @@
},
"node_modules/get-caller-file": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "license": "ISC",
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
},
"node_modules/get-intrinsic": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
@@ -12401,32 +12255,27 @@
},
"node_modules/get-nonce": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
- "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/get-own-enumerable-property-symbols": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
- "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
"dev": true,
"license": "ISC"
},
"node_modules/get-package-type": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/get-proto": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "license": "MIT",
"dependencies": {
"dunder-proto": "^1.0.1",
"es-object-atoms": "^1.0.0"
@@ -12437,8 +12286,7 @@
},
"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==",
+ "license": "MIT",
"dependencies": {
"pump": "^3.0.0"
},
@@ -12451,9 +12299,8 @@
},
"node_modules/get-symbol-description": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
- "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"es-errors": "^1.3.0",
@@ -12468,8 +12315,6 @@
},
"node_modules/get-uri": {
"version": "6.0.4",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz",
- "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -12483,18 +12328,15 @@
},
"node_modules/getpass": {
"version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0"
}
},
"node_modules/git-log-parser": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.1.tgz",
- "integrity": "sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argv-formatter": "~1.0.0",
"spawn-error-forwarder": "~1.0.0",
@@ -12506,9 +12348,6 @@
},
"node_modules/glob": {
"version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -12528,9 +12367,8 @@
},
"node_modules/glob-parent": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -12540,15 +12378,13 @@
},
"node_modules/glob-to-regexp": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/glob/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -12558,8 +12394,6 @@
},
"node_modules/global-cache-dir": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/global-cache-dir/-/global-cache-dir-6.0.1.tgz",
- "integrity": "sha512-HOOgvCW8le14HM0sTTvyYkTMRot7hq5ERIzNTUcDyZ4Vr9qF/IHUZeIcz4+v6vpwTFMqZ8QHKJYpXYRy/DSb6A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -12572,8 +12406,6 @@
},
"node_modules/global-cache-dir/node_modules/path-exists": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
- "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -12582,8 +12414,6 @@
},
"node_modules/globals": {
"version": "16.2.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz",
- "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -12595,9 +12425,8 @@
},
"node_modules/globalthis": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
- "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-properties": "^1.2.1",
"gopd": "^1.0.1"
@@ -12611,8 +12440,6 @@
},
"node_modules/gonzales-pe": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
- "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -12625,10 +12452,96 @@
"node": ">=0.6.0"
}
},
+ "node_modules/google-auth-library": {
+ "version": "9.15.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "base64-js": "^1.3.0",
+ "ecdsa-sig-formatter": "^1.0.11",
+ "gaxios": "^6.1.1",
+ "gcp-metadata": "^6.1.0",
+ "gtoken": "^7.0.0",
+ "jws": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/google-auth-library/node_modules/gcp-metadata": {
+ "version": "6.1.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "gaxios": "^6.1.1",
+ "google-logging-utils": "^0.0.2",
+ "json-bigint": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/google-gax": {
+ "version": "4.6.1",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@grpc/grpc-js": "^1.10.9",
+ "@grpc/proto-loader": "^0.7.13",
+ "@types/long": "^4.0.0",
+ "abort-controller": "^3.0.0",
+ "duplexify": "^4.0.0",
+ "google-auth-library": "^9.3.0",
+ "node-fetch": "^2.7.0",
+ "object-hash": "^3.0.0",
+ "proto3-json-serializer": "^2.0.2",
+ "protobufjs": "^7.3.2",
+ "retry-request": "^7.0.0",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/google-gax/node_modules/node-fetch": {
+ "version": "2.7.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/google-gax/node_modules/uuid": {
+ "version": "9.0.1",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/google-logging-utils": {
+ "version": "0.0.2",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/gopd": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -12638,8 +12551,7 @@
},
"node_modules/got": {
"version": "11.8.2",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz",
- "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==",
+ "license": "MIT",
"dependencies": {
"@sindresorhus/is": "^4.0.0",
"@szmarczak/http-timer": "^4.0.5",
@@ -12662,22 +12574,19 @@
},
"node_modules/got/node_modules/cacheable-lookup": {
"version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "license": "MIT",
"engines": {
"node": ">=10.6.0"
}
},
"node_modules/graceful-fs": {
"version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/graphiql": {
"version": "2.0.8",
- "resolved": "https://registry.npmjs.org/graphiql/-/graphiql-2.0.8.tgz",
- "integrity": "sha512-TQDU74+FQfh3fMX82b9z9t/CJkMwdY4/m4WJLbS7TcniXZnCL9Kbb904BCaS66VKGuFNMyAYBt3ekfAewJiCqg==",
+ "license": "MIT",
"dependencies": {
"@graphiql/react": "^0.13.2",
"@graphiql/toolkit": "^0.8.0",
@@ -12693,8 +12602,6 @@
},
"node_modules/graphql": {
"version": "16.11.0",
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.11.0.tgz",
- "integrity": "sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==",
"license": "MIT",
"engines": {
"node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
@@ -12702,8 +12609,7 @@
},
"node_modules/graphql-language-service": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/graphql-language-service/-/graphql-language-service-5.1.0.tgz",
- "integrity": "sha512-APffigZ/l2me6soek+Yq5Us3HBwmfw4vns4QoqsTePXkK3knVO8rn0uAC6PmTyglb1pmFFPbYaRIzW4wmcnnGQ==",
+ "license": "MIT",
"dependencies": {
"nullthrows": "^1.0.0",
"vscode-languageserver-types": "^3.17.1"
@@ -12715,55 +12621,118 @@
"graphql": "^15.5.0 || ^16.0.0"
}
},
- "node_modules/handlebars": {
- "version": "4.7.8",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
- "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.2",
- "source-map": "^0.6.1",
- "wordwrap": "^1.0.0"
- },
- "bin": {
- "handlebars": "bin/handlebars"
- },
+ "node_modules/graphql-list-fields": {
+ "version": "2.0.4",
+ "license": "MIT"
+ },
+ "node_modules/graphql-relay": {
+ "version": "0.10.2",
+ "license": "MIT",
"engines": {
- "node": ">=0.4.7"
+ "node": "^12.20.0 || ^14.15.0 || >= 15.9.0"
},
- "optionalDependencies": {
- "uglify-js": "^3.1.4"
+ "peerDependencies": {
+ "graphql": "^16.2.0"
}
},
- "node_modules/har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true,
+ "node_modules/graphql-tag": {
+ "version": "2.12.6",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "deprecated": "this library is no longer supported",
- "dev": true,
+ "node_modules/graphql-upload": {
+ "version": "15.0.2",
+ "license": "MIT",
"dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
+ "@types/busboy": "^1.5.0",
+ "@types/node": "*",
+ "@types/object-path": "^0.11.1",
+ "busboy": "^1.6.0",
+ "fs-capacitor": "^6.2.0",
+ "http-errors": "^2.0.0",
+ "object-path": "^0.11.8"
},
"engines": {
- "node": ">=6"
- }
- },
- "node_modules/has-bigints": {
+ "node": "^14.17.0 || ^16.0.0 || >= 18.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jaydenseric"
+ },
+ "peerDependencies": {
+ "@types/express": "^4.0.29",
+ "@types/koa": "^2.11.4",
+ "graphql": "^16.3.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/express": {
+ "optional": true
+ },
+ "@types/koa": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/gtoken": {
+ "version": "7.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "gaxios": "^6.0.0",
+ "jws": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/handlebars": {
+ "version": "4.7.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
+ },
+ "engines": {
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
+ }
+ },
+ "node_modules/har-schema": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/has-bigints": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
- "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -12773,18 +12742,13 @@
},
"node_modules/has-flag": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/has-property-descriptors": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0"
@@ -12795,9 +12759,8 @@
},
"node_modules/has-proto": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
- "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"dunder-proto": "^1.0.0"
},
@@ -12810,8 +12773,7 @@
},
"node_modules/has-symbols": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -12821,9 +12783,7 @@
},
"node_modules/has-tostringtag": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"has-symbols": "^1.0.3"
},
@@ -12834,10 +12794,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "license": "ISC"
+ },
"node_modules/hasown": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
@@ -12848,35 +12810,31 @@
},
"node_modules/he": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true,
+ "license": "MIT",
"bin": {
"he": "bin/he"
}
},
"node_modules/highlight.js": {
"version": "10.7.3",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
- "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": "*"
}
},
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "license": "BSD-3-Clause",
"dependencies": {
"react-is": "^16.7.0"
}
},
"node_modules/hook-std": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz",
- "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -12886,9 +12844,8 @@
},
"node_modules/hosted-git-info": {
"version": "7.0.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
- "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"lru-cache": "^10.0.1"
},
@@ -12896,11 +12853,15 @@
"node": "^16.14.0 || >=18.0.0"
}
},
+ "node_modules/hosted-git-info/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/html-encoding-sniffer": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
- "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"whatwg-encoding": "^2.0.0"
},
@@ -12908,21 +12869,40 @@
"node": ">=12"
}
},
+ "node_modules/html-entities": {
+ "version": "2.6.0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/mdevils"
+ },
+ {
+ "type": "patreon",
+ "url": "https://patreon.com/mdevils"
+ }
+ ],
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/html-escaper": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/http_ece": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
},
"node_modules/http-cache-semantics": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
- "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
+ "license": "BSD-2-Clause"
},
"node_modules/http-errors": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "license": "MIT",
"dependencies": {
"depd": "2.0.0",
"inherits": "2.0.4",
@@ -12936,38 +12916,37 @@
},
"node_modules/http-errors/node_modules/depd": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/http-errors/node_modules/setprototypeof": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ "license": "ISC"
},
"node_modules/http-errors/node_modules/statuses": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/http-errors/node_modules/toidentifier": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "license": "MIT",
"engines": {
"node": ">=0.6"
}
},
+ "node_modules/http-parser-js": {
+ "version": "0.5.10",
+ "license": "MIT"
+ },
"node_modules/http-proxy": {
"version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
@@ -12979,9 +12958,8 @@
},
"node_modules/http-proxy-agent": {
"version": "7.0.2",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.1.0",
"debug": "^4.3.4"
@@ -12992,17 +12970,14 @@
},
"node_modules/http-proxy-agent/node_modules/agent-base": {
"version": "7.1.3",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
- "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 14"
}
},
"node_modules/http-server": {
"version": "14.1.1",
- "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz",
- "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13029,8 +13004,6 @@
},
"node_modules/http-server/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13046,9 +13019,7 @@
},
"node_modules/http-signature": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@@ -13061,8 +13032,7 @@
},
"node_modules/http2-wrapper": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "license": "MIT",
"dependencies": {
"quick-lru": "^5.1.1",
"resolve-alpn": "^1.0.0"
@@ -13073,9 +13043,7 @@
},
"node_modules/https-proxy-agent": {
"version": "7.0.6",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
- "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.1.2",
"debug": "4"
@@ -13086,26 +13054,21 @@
},
"node_modules/https-proxy-agent/node_modules/agent-base": {
"version": "7.1.3",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
- "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 14"
}
},
"node_modules/human-signals": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=10.17.0"
}
},
"node_modules/husky": {
"version": "9.1.7",
- "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
- "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
"dev": true,
"license": "MIT",
"bin": {
@@ -13120,8 +13083,7 @@
},
"node_modules/iconv-lite": {
"version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
@@ -13131,9 +13093,8 @@
},
"node_modules/icss-utils": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "^10 || ^12 || >= 14"
},
@@ -13143,16 +13104,13 @@
},
"node_modules/idb-keyval": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.0.3.tgz",
- "integrity": "sha512-yh8V7CnE6EQMu9YDwQXhRxwZh4nv+8xm/HV4ZqK4IiYFJBWYGjJuykADJbSP+F/GDXUBwCSSNn/14IpGL81TuA==",
+ "license": "Apache-2.0",
"dependencies": {
"safari-14-idb-fix": "^3.0.0"
}
},
"node_modules/ieee754": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"dev": true,
"funding": [
{
@@ -13167,33 +13125,27 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "BSD-3-Clause"
},
"node_modules/ignore": {
"version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
},
"node_modules/immutable": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.2.tgz",
- "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==",
"license": "MIT"
},
"node_modules/immutable-devtools": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/immutable-devtools/-/immutable-devtools-0.1.5.tgz",
- "integrity": "sha512-bgQP4q+RiD1Oolw8c0sfNrCpShQIEdqJIGmPPrcG6efyJrX00hNzzM1noe3FsQdDwj2eQqL8JEtukCrwFQbt/w=="
+ "license": "BSD"
},
"node_modules/import-fresh": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -13207,18 +13159,15 @@
},
"node_modules/import-fresh/node_modules/resolve-from": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/import-from-esm": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz",
- "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.3.4",
"import-meta-resolve": "^4.0.0"
@@ -13229,9 +13178,8 @@
},
"node_modules/import-local": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
- "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pkg-dir": "^4.2.0",
"resolve-cwd": "^3.0.0"
@@ -13248,9 +13196,8 @@
},
"node_modules/import-meta-resolve": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
- "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
"dev": true,
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -13258,27 +13205,23 @@
},
"node_modules/imurmurhash": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.19"
}
},
"node_modules/indent-string": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/index-to-position": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.0.0.tgz",
- "integrity": "sha512-sCO7uaLVhRJ25vz1o8s9IFM3nVS4DkuQnyjMwiQPKvQuBYBDmb8H7zx8ki7nVh4HJQOdVWebyvLE0qt+clruxA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -13288,9 +13231,8 @@
},
"node_modules/inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
+ "license": "ISC",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -13298,18 +13240,14 @@
},
"node_modules/inherits": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "license": "ISC"
},
"node_modules/ini": {
"version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ "license": "ISC"
},
"node_modules/inquirer": {
"version": "12.6.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.6.3.tgz",
- "integrity": "sha512-eX9beYAjr1MqYsIjx1vAheXsRk1jbZRvHLcBu5nA9wX0rXR1IfCZLnVLp4Ym4mrhqmh7AuANwcdtgQ291fZDfQ==",
"license": "MIT",
"dependencies": {
"@inquirer/core": "^10.1.13",
@@ -13334,9 +13272,8 @@
},
"node_modules/internal-slot": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
- "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"hasown": "^2.0.2",
@@ -13348,18 +13285,20 @@
},
"node_modules/interpret": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
- "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.13.0"
}
},
+ "node_modules/intersect": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
"node_modules/into-stream": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz",
- "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"from2": "^2.3.0",
"p-is-promise": "^3.0.0"
@@ -13373,17 +13312,14 @@
},
"node_modules/invariant": {
"version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.0.0"
}
},
"node_modules/ip-address": {
"version": "9.0.5",
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
- "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"jsbn": "1.1.0",
@@ -13395,31 +13331,25 @@
},
"node_modules/ip-address/node_modules/jsbn": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
- "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/ip-address/node_modules/sprintf-js": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
- "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
- "dev": true,
+ "devOptional": true,
"license": "BSD-3-Clause"
},
"node_modules/ipaddr.js": {
"version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "license": "MIT",
"engines": {
"node": ">= 0.10"
}
},
"node_modules/is-array-buffer": {
"version": "3.0.5",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
- "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
@@ -13434,15 +13364,13 @@
},
"node_modules/is-arrayish": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-async-function": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
- "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"async-function": "^1.0.0",
"call-bound": "^1.0.3",
@@ -13459,9 +13387,8 @@
},
"node_modules/is-bigint": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
- "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-bigints": "^1.0.2"
},
@@ -13474,9 +13401,8 @@
},
"node_modules/is-boolean-object": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
- "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"has-tostringtag": "^1.0.2"
@@ -13490,9 +13416,7 @@
},
"node_modules/is-callable": {
"version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -13502,9 +13426,8 @@
},
"node_modules/is-core-module": {
"version": "2.16.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
},
@@ -13517,9 +13440,8 @@
},
"node_modules/is-data-view": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
- "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"get-intrinsic": "^1.2.6",
@@ -13534,9 +13456,8 @@
},
"node_modules/is-date-object": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
- "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"has-tostringtag": "^1.0.2"
@@ -13550,18 +13471,15 @@
},
"node_modules/is-extglob": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-finalizationregistry": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
- "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3"
},
@@ -13574,26 +13492,23 @@
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-generator-fn": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/is-generator-function": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz",
- "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"get-proto": "^1.0.0",
@@ -13609,9 +13524,7 @@
},
"node_modules/is-glob": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -13621,18 +13534,16 @@
},
"node_modules/is-interactive": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-map": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
- "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -13642,18 +13553,16 @@
},
"node_modules/is-number": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-number-object": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
- "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"has-tostringtag": "^1.0.2"
@@ -13667,18 +13576,16 @@
},
"node_modules/is-obj": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-plain-obj": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
- "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -13688,8 +13595,6 @@
},
"node_modules/is-plain-object": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"license": "MIT",
"dependencies": {
"isobject": "^3.0.1"
@@ -13700,23 +13605,24 @@
},
"node_modules/is-potential-custom-element-name": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-primitive": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz",
- "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/is-promise": {
+ "version": "4.0.0",
+ "license": "MIT"
+ },
"node_modules/is-regex": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
- "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"gopd": "^1.2.0",
@@ -13732,8 +13638,6 @@
},
"node_modules/is-regexp": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
- "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -13742,9 +13646,8 @@
},
"node_modules/is-set": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
- "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -13754,9 +13657,8 @@
},
"node_modules/is-shared-array-buffer": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
- "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3"
},
@@ -13769,9 +13671,7 @@
},
"node_modules/is-stream": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -13781,9 +13681,8 @@
},
"node_modules/is-string": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
- "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"has-tostringtag": "^1.0.2"
@@ -13797,9 +13696,8 @@
},
"node_modules/is-symbol": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
- "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"has-symbols": "^1.1.0",
@@ -13814,9 +13712,8 @@
},
"node_modules/is-text-path": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz",
- "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"text-extensions": "^2.0.0"
},
@@ -13826,9 +13723,7 @@
},
"node_modules/is-typed-array": {
"version": "1.1.15",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
- "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"which-typed-array": "^1.1.16"
},
@@ -13841,15 +13736,12 @@
},
"node_modules/is-typedarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
+ "license": "MIT"
},
"node_modules/is-unicode-supported": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -13859,15 +13751,11 @@
},
"node_modules/is-url": {
"version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
- "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
"dev": true,
"license": "MIT"
},
"node_modules/is-url-superb": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz",
- "integrity": "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -13879,9 +13767,8 @@
},
"node_modules/is-weakmap": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
- "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -13891,9 +13778,8 @@
},
"node_modules/is-weakref": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz",
- "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3"
},
@@ -13906,9 +13792,8 @@
},
"node_modules/is-weakset": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz",
- "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"get-intrinsic": "^1.2.6"
@@ -13922,34 +13807,28 @@
},
"node_modules/isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ "license": "ISC"
},
"node_modules/isobject": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/isstream": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
+ "license": "MIT"
},
"node_modules/issue-parser": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz",
- "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lodash.capitalize": "^4.2.1",
"lodash.escaperegexp": "^4.1.2",
@@ -13963,18 +13842,16 @@
},
"node_modules/istanbul-lib-coverage": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
- "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=8"
}
},
"node_modules/istanbul-lib-instrument": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
- "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@babel/core": "^7.23.9",
"@babel/parser": "^7.23.9",
@@ -13988,9 +13865,8 @@
},
"node_modules/istanbul-lib-report": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
- "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"istanbul-lib-coverage": "^3.0.0",
"make-dir": "^4.0.0",
@@ -14002,9 +13878,8 @@
},
"node_modules/istanbul-lib-source-maps": {
"version": "5.0.6",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
- "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.23",
"debug": "^4.1.1",
@@ -14016,9 +13891,8 @@
},
"node_modules/istanbul-reports": {
"version": "3.1.7",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
- "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"html-escaper": "^2.0.0",
"istanbul-lib-report": "^3.0.0"
@@ -14027,11 +13901,14 @@
"node": ">=8"
}
},
+ "node_modules/iterall": {
+ "version": "1.3.0",
+ "license": "MIT"
+ },
"node_modules/iterator.prototype": {
"version": "1.1.5",
- "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz",
- "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
"es-object-atoms": "^1.0.0",
@@ -14046,8 +13923,6 @@
},
"node_modules/jackspeak": {
"version": "3.4.3",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
- "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
@@ -14061,18 +13936,16 @@
},
"node_modules/java-properties": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz",
- "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6.0"
}
},
"node_modules/jest": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest/-/jest-30.0.4.tgz",
- "integrity": "sha512-9QE0RS4WwTj/TtTC4h/eFVmFAhGNVerSB9XpJh8sqaXlP73ILcPcZ7JWjjEtJJe2m8QyBLKKfPQuK+3F+Xij/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/core": "30.0.4",
"@jest/types": "30.0.1",
@@ -14096,9 +13969,8 @@
},
"node_modules/jest-changed-files": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.0.2.tgz",
- "integrity": "sha512-Ius/iRST9FKfJI+I+kpiDh8JuUlAISnRszF9ixZDIqJF17FckH5sOzKC8a0wd0+D+8em5ADRHA5V5MnfeDk2WA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"execa": "^5.1.1",
"jest-util": "30.0.2",
@@ -14110,9 +13982,8 @@
},
"node_modules/jest-changed-files/node_modules/p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -14125,9 +13996,8 @@
},
"node_modules/jest-circus": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.0.4.tgz",
- "integrity": "sha512-o6UNVfbXbmzjYgmVPtSQrr5xFZCtkDZGdTlptYvGFSN80RuOOlTe73djvMrs+QAuSERZWcHBNIOMH+OEqvjWuw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "30.0.4",
"@jest/expect": "30.0.4",
@@ -14156,9 +14026,8 @@
},
"node_modules/jest-circus/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14172,9 +14041,8 @@
},
"node_modules/jest-circus/node_modules/p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -14187,9 +14055,8 @@
},
"node_modules/jest-cli": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.0.4.tgz",
- "integrity": "sha512-3dOrP3zqCWBkjoVG1zjYJpD9143N9GUCbwaF2pFF5brnIgRLHmKcCIw+83BvF1LxggfMWBA0gxkn6RuQVuRhIQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/core": "30.0.4",
"@jest/test-result": "30.0.4",
@@ -14219,9 +14086,8 @@
},
"node_modules/jest-cli/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14235,9 +14101,8 @@
},
"node_modules/jest-config": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.0.4.tgz",
- "integrity": "sha512-3dzbO6sh34thAGEjJIW0fgT0GA0EVlkski6ZzMcbW6dzhenylXAE/Mj2MI4HonroWbkKc6wU6bLVQ8dvBSZ9lA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.27.4",
"@jest/get-type": "30.0.1",
@@ -14286,18 +14151,16 @@
},
"node_modules/jest-config/node_modules/brace-expansion": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/jest-config/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14311,9 +14174,8 @@
},
"node_modules/jest-config/node_modules/glob": {
"version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
@@ -14331,9 +14193,8 @@
},
"node_modules/jest-config/node_modules/minimatch": {
"version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -14346,9 +14207,8 @@
},
"node_modules/jest-diff": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.4.tgz",
- "integrity": "sha512-TSjceIf6797jyd+R64NXqicttROD+Qf98fex7CowmlSn7f8+En0da1Dglwr1AXxDtVizoxXYZBlUQwNhoOXkNw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/diff-sequences": "30.0.1",
"@jest/get-type": "30.0.1",
@@ -14361,9 +14221,8 @@
},
"node_modules/jest-diff/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14377,9 +14236,8 @@
},
"node_modules/jest-docblock": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.0.1.tgz",
- "integrity": "sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"detect-newline": "^3.1.0"
},
@@ -14389,9 +14247,8 @@
},
"node_modules/jest-each": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.0.2.tgz",
- "integrity": "sha512-ZFRsTpe5FUWFQ9cWTMguCaiA6kkW5whccPy9JjD1ezxh+mJeqmz8naL8Fl/oSbNJv3rgB0x87WBIkA5CObIUZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/get-type": "30.0.1",
"@jest/types": "30.0.1",
@@ -14405,9 +14262,8 @@
},
"node_modules/jest-each/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14421,9 +14277,8 @@
},
"node_modules/jest-environment-jsdom": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.0.4.tgz",
- "integrity": "sha512-9WmS3oyCLFgs6DUJSoMpVb+AbH62Y2Xecw3XClbRgj6/Z+VjNeSLjrhBgVvTZ40njZTWeDHv8unp+6M/z8ADDg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "30.0.4",
"@jest/environment-jsdom-abstract": "30.0.4",
@@ -14445,9 +14300,8 @@
},
"node_modules/jest-environment-node": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.4.tgz",
- "integrity": "sha512-p+rLEzC2eThXqiNh9GHHTC0OW5Ca4ZfcURp7scPjYBcmgpR9HG6750716GuUipYf2AcThU3k20B31USuiaaIEg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "30.0.4",
"@jest/fake-timers": "30.0.4",
@@ -14463,9 +14317,8 @@
},
"node_modules/jest-haste-map": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.0.2.tgz",
- "integrity": "sha512-telJBKpNLeCb4MaX+I5k496556Y2FiKR/QLZc0+MGBYl4k3OO0472drlV2LUe7c1Glng5HuAu+5GLYp//GpdOQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "30.0.1",
"@types/node": "*",
@@ -14487,9 +14340,8 @@
},
"node_modules/jest-leak-detector": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.0.2.tgz",
- "integrity": "sha512-U66sRrAYdALq+2qtKffBLDWsQ/XoNNs2Lcr83sc9lvE/hEpNafJlq2lXCPUBMNqamMECNxSIekLfe69qg4KMIQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/get-type": "30.0.1",
"pretty-format": "30.0.2"
@@ -14500,9 +14352,8 @@
},
"node_modules/jest-matcher-utils": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.4.tgz",
- "integrity": "sha512-ubCewJ54YzeAZ2JeHHGVoU+eDIpQFsfPQs0xURPWoNiO42LGJ+QGgfSf+hFIRplkZDkhH5MOvuxHKXRTUU3dUQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/get-type": "30.0.1",
"chalk": "^4.1.2",
@@ -14515,9 +14366,8 @@
},
"node_modules/jest-matcher-utils/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14531,9 +14381,8 @@
},
"node_modules/jest-message-util": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.2.tgz",
- "integrity": "sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
"@jest/types": "30.0.1",
@@ -14551,9 +14400,8 @@
},
"node_modules/jest-message-util/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14567,9 +14415,8 @@
},
"node_modules/jest-mock": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.2.tgz",
- "integrity": "sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "30.0.1",
"@types/node": "*",
@@ -14581,9 +14428,8 @@
},
"node_modules/jest-pnp-resolver": {
"version": "1.2.3",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
- "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
},
@@ -14598,18 +14444,16 @@
},
"node_modules/jest-regex-util": {
"version": "30.0.1",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz",
- "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/jest-resolve": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.0.2.tgz",
- "integrity": "sha512-q/XT0XQvRemykZsvRopbG6FQUT6/ra+XV6rPijyjT6D0msOyCvR2A5PlWZLd+fH0U8XWKZfDiAgrUNDNX2BkCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.1.2",
"graceful-fs": "^4.2.11",
@@ -14626,9 +14470,8 @@
},
"node_modules/jest-resolve-dependencies": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.4.tgz",
- "integrity": "sha512-EQBYow19B/hKr4gUTn+l8Z+YLlP2X0IoPyp0UydOtrcPbIOYzJ8LKdFd+yrbwztPQvmlBFUwGPPEzHH1bAvFAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jest-regex-util": "30.0.1",
"jest-snapshot": "30.0.4"
@@ -14639,9 +14482,8 @@
},
"node_modules/jest-resolve/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14655,9 +14497,8 @@
},
"node_modules/jest-runner": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.0.4.tgz",
- "integrity": "sha512-mxY0vTAEsowJwvFJo5pVivbCpuu6dgdXRmt3v3MXjBxFly7/lTk3Td0PaMyGOeNQUFmSuGEsGYqhbn7PA9OekQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/console": "30.0.4",
"@jest/environment": "30.0.4",
@@ -14688,9 +14529,8 @@
},
"node_modules/jest-runner/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14704,9 +14544,8 @@
},
"node_modules/jest-runner/node_modules/p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -14719,9 +14558,8 @@
},
"node_modules/jest-runner/node_modules/source-map-support": {
"version": "0.5.13",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
- "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
@@ -14729,9 +14567,8 @@
},
"node_modules/jest-runtime": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.0.4.tgz",
- "integrity": "sha512-tUQrZ8+IzoZYIHoPDQEB4jZoPyzBjLjq7sk0KVyd5UPRjRDOsN7o6UlvaGF8ddpGsjznl9PW+KRgWqCNO+Hn7w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "30.0.4",
"@jest/fake-timers": "30.0.4",
@@ -14762,18 +14599,16 @@
},
"node_modules/jest-runtime/node_modules/brace-expansion": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/jest-runtime/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14787,9 +14622,8 @@
},
"node_modules/jest-runtime/node_modules/glob": {
"version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
@@ -14807,9 +14641,8 @@
},
"node_modules/jest-runtime/node_modules/minimatch": {
"version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -14822,18 +14655,16 @@
},
"node_modules/jest-runtime/node_modules/strip-bom": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/jest-snapshot": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.0.4.tgz",
- "integrity": "sha512-S/8hmSkeUib8WRUq9pWEb5zMfsOjiYWDWzFzKnjX7eDyKKgimsu9hcmsUEg8a7dPAw8s/FacxsXquq71pDgPjQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.27.4",
"@babel/generator": "^7.27.5",
@@ -14863,9 +14694,8 @@
},
"node_modules/jest-snapshot/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14879,9 +14709,8 @@
},
"node_modules/jest-util": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.2.tgz",
- "integrity": "sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "30.0.1",
"@types/node": "*",
@@ -14896,9 +14725,8 @@
},
"node_modules/jest-util/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14912,9 +14740,8 @@
},
"node_modules/jest-util/node_modules/picomatch": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -14924,9 +14751,8 @@
},
"node_modules/jest-validate": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.0.2.tgz",
- "integrity": "sha512-noOvul+SFER4RIvNAwGn6nmV2fXqBq67j+hKGHKGFCmK4ks/Iy1FSrqQNBLGKlu4ZZIRL6Kg1U72N1nxuRCrGQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/get-type": "30.0.1",
"@jest/types": "30.0.1",
@@ -14941,9 +14767,8 @@
},
"node_modules/jest-validate/node_modules/camelcase": {
"version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -14953,9 +14778,8 @@
},
"node_modules/jest-validate/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14969,9 +14793,8 @@
},
"node_modules/jest-watcher": {
"version": "30.0.4",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.0.4.tgz",
- "integrity": "sha512-YESbdHDs7aQOCSSKffG8jXqOKFqw4q4YqR+wHYpR5GWEQioGvL0BfbcjvKIvPEM0XGfsfJrka7jJz3Cc3gI4VQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/test-result": "30.0.4",
"@jest/types": "30.0.1",
@@ -14988,9 +14811,8 @@
},
"node_modules/jest-watcher/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -15004,9 +14826,8 @@
},
"node_modules/jest-worker": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.0.2.tgz",
- "integrity": "sha512-RN1eQmx7qSLFA+o9pfJKlqViwL5wt+OL3Vff/A+/cPsmuw7NPwfgl33AP+/agRmHzPOFgXviRycR9kYwlcRQXg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"@ungap/structured-clone": "^1.3.0",
@@ -15020,9 +14841,8 @@
},
"node_modules/jest-worker/node_modules/supports-color": {
"version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -15033,10 +14853,15 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
+ "node_modules/jose": {
+ "version": "4.15.9",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/panva"
+ }
+ },
"node_modules/js-beautify": {
"version": "1.15.4",
- "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz",
- "integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==",
"license": "MIT",
"dependencies": {
"config-chain": "^1.1.13",
@@ -15056,8 +14881,6 @@
},
"node_modules/js-beautify/node_modules/brace-expansion": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@@ -15065,8 +14888,6 @@
},
"node_modules/js-beautify/node_modules/glob": {
"version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
@@ -15085,8 +14906,6 @@
},
"node_modules/js-beautify/node_modules/minimatch": {
"version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -15100,8 +14919,6 @@
},
"node_modules/js-cookie": {
"version": "3.0.5",
- "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
- "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
"license": "MIT",
"engines": {
"node": ">=14"
@@ -15109,14 +14926,11 @@
},
"node_modules/js-tokens": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ "license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -15126,15 +14940,12 @@
},
"node_modules/jsbn": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
+ "license": "MIT"
},
"node_modules/jsdom": {
"version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz",
- "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cssstyle": "^4.2.1",
"data-urls": "^5.0.0",
@@ -15171,9 +14982,8 @@
},
"node_modules/jsdom/node_modules/html-encoding-sniffer": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
- "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"whatwg-encoding": "^3.1.1"
},
@@ -15183,9 +14993,8 @@
},
"node_modules/jsdom/node_modules/iconv-lite": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -15195,9 +15004,8 @@
},
"node_modules/jsdom/node_modules/tough-cookie": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz",
- "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"tldts": "^6.1.32"
},
@@ -15207,9 +15015,8 @@
},
"node_modules/jsdom/node_modules/tr46": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
- "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"punycode": "^2.3.1"
},
@@ -15219,18 +15026,16 @@
},
"node_modules/jsdom/node_modules/webidl-conversions": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=12"
}
},
"node_modules/jsdom/node_modules/whatwg-encoding": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
- "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"iconv-lite": "0.6.3"
},
@@ -15238,11 +15043,18 @@
"node": ">=18"
}
},
+ "node_modules/jsdom/node_modules/whatwg-mimetype": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/jsdom/node_modules/whatwg-url": {
"version": "14.2.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
- "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tr46": "^5.1.0",
"webidl-conversions": "^7.0.0"
@@ -15253,9 +15065,6 @@
},
"node_modules/jsesc": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
- "dev": true,
"license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
@@ -15264,52 +15073,46 @@
"node": ">=6"
}
},
+ "node_modules/json-bigint": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "bignumber.js": "^9.0.0"
+ }
+ },
"node_modules/json-buffer": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
+ "license": "MIT"
},
"node_modules/json-parse-better-errors": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-schema": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
+ "license": "(AFL-2.1 OR BSD-3-Clause)"
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
+ "license": "MIT"
},
"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=",
- "dev": true
+ "license": "ISC"
},
"node_modules/json5": {
"version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
+ "license": "MIT",
"bin": {
"json5": "lib/cli.js"
},
@@ -15319,9 +15122,8 @@
},
"node_modules/jsonfile": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"universalify": "^2.0.0"
},
@@ -15331,18 +15133,16 @@
},
"node_modules/jsonparse": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
- "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
"dev": true,
"engines": [
"node >= 0.2.0"
- ]
+ ],
+ "license": "MIT"
},
"node_modules/JSONStream": {
"version": "1.3.5",
- "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
- "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
"dev": true,
+ "license": "(MIT OR Apache-2.0)",
"dependencies": {
"jsonparse": "^1.2.0",
"through": ">=2.2.7 <3"
@@ -15354,11 +15154,46 @@
"node": "*"
}
},
+ "node_modules/jsonwebtoken": {
+ "version": "9.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": ">=12",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/jsonwebtoken/node_modules/jwa": {
+ "version": "1.4.2",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-equal-constant-time": "^1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/jsonwebtoken/node_modules/jws": {
+ "version": "3.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "jwa": "^1.4.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
"node_modules/jsprim": {
"version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@@ -15371,17 +15206,15 @@
},
"node_modules/jssha": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jssha/-/jssha-3.2.0.tgz",
- "integrity": "sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==",
+ "license": "BSD-3-Clause",
"engines": {
"node": "*"
}
},
"node_modules/jsx-ast-utils": {
"version": "3.3.3",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
- "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-includes": "^3.1.5",
"object.assign": "^4.1.3"
@@ -15390,10 +15223,40 @@
"node": ">=4.0"
}
},
+ "node_modules/jwa": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-equal-constant-time": "^1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/jwks-rsa": {
+ "version": "3.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/express": "^4.17.20",
+ "@types/jsonwebtoken": "^9.0.4",
+ "debug": "^4.3.4",
+ "jose": "^4.15.4",
+ "limiter": "^1.1.5",
+ "lru-memoizer": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/jws": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "jwa": "^2.0.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
"node_modules/keygrip": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
- "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
"license": "MIT",
"dependencies": {
"tsscmp": "1.0.6"
@@ -15404,16 +15267,13 @@
},
"node_modules/keyv": {
"version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "license": "MIT",
"dependencies": {
"json-buffer": "3.0.1"
}
},
"node_modules/kind-of": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -15422,27 +15282,63 @@
},
"node_modules/klona": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
- "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
},
+ "node_modules/kuler": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/ldapjs": {
+ "version": "3.0.7",
+ "license": "MIT",
+ "dependencies": {
+ "@ldapjs/asn1": "^2.0.0",
+ "@ldapjs/attribute": "^1.0.0",
+ "@ldapjs/change": "^1.0.0",
+ "@ldapjs/controls": "^2.1.0",
+ "@ldapjs/dn": "^1.1.0",
+ "@ldapjs/filter": "^2.1.1",
+ "@ldapjs/messages": "^1.3.0",
+ "@ldapjs/protocol": "^1.2.1",
+ "abstract-logging": "^2.0.1",
+ "assert-plus": "^1.0.0",
+ "backoff": "^2.5.0",
+ "once": "^1.4.0",
+ "vasync": "^2.2.1",
+ "verror": "^1.10.1"
+ }
+ },
+ "node_modules/ldapjs/node_modules/core-util-is": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/ldapjs/node_modules/verror": {
+ "version": "1.10.1",
+ "license": "MIT",
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
"node_modules/leven": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/levn": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -15451,25 +15347,25 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/limiter": {
+ "version": "1.1.5"
+ },
"node_modules/lines-and-columns": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
- "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/linkify-it": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
- "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
+ "license": "MIT",
"dependencies": {
"uc.micro": "^1.0.1"
}
},
"node_modules/load-json-file": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.1.2",
"parse-json": "^4.0.0",
@@ -15482,9 +15378,8 @@
},
"node_modules/load-json-file/node_modules/parse-json": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1"
@@ -15495,18 +15390,16 @@
},
"node_modules/loader-runner": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.11.5"
}
},
"node_modules/loader-utils": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
@@ -15518,8 +15411,7 @@
},
"node_modules/locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -15529,84 +15421,98 @@
},
"node_modules/lodash": {
"version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
+ "license": "MIT"
},
"node_modules/lodash-es": {
"version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
- "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "optional": true
},
"node_modules/lodash.capitalize": {
"version": "4.2.1",
- "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz",
- "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.clonedeep": {
+ "version": "4.5.0",
+ "license": "MIT"
},
"node_modules/lodash.curry": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz",
- "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA="
+ "license": "MIT"
},
"node_modules/lodash.debounce": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"dev": true,
"license": "MIT"
},
"node_modules/lodash.escaperegexp": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
- "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.flow": {
"version": "3.5.0",
- "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz",
- "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o="
+ "license": "MIT"
},
"node_modules/lodash.get": {
"version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
+ "license": "MIT"
+ },
+ "node_modules/lodash.includes": {
+ "version": "4.3.0",
+ "license": "MIT"
+ },
+ "node_modules/lodash.isboolean": {
+ "version": "3.0.3",
+ "license": "MIT"
},
"node_modules/lodash.isequal": {
"version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
+ "license": "MIT"
+ },
+ "node_modules/lodash.isinteger": {
+ "version": "4.0.4",
+ "license": "MIT"
+ },
+ "node_modules/lodash.isnumber": {
+ "version": "3.0.3",
+ "license": "MIT"
},
"node_modules/lodash.isplainobject": {
"version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
- "dev": true
+ "license": "MIT"
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
- "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
- "dev": true
+ "license": "MIT"
},
"node_modules/lodash.merge": {
"version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
+ "license": "MIT"
+ },
+ "node_modules/lodash.once": {
+ "version": "4.1.1",
+ "license": "MIT"
+ },
+ "node_modules/lodash.sortby": {
+ "version": "4.7.0",
+ "license": "MIT"
},
"node_modules/lodash.uniqby": {
"version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
- "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/log-symbols": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
@@ -15620,9 +15526,8 @@
},
"node_modules/log-symbols/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -15634,10 +15539,46 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/logform": {
+ "version": "2.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@colors/colors": "1.6.0",
+ "@types/triple-beam": "^1.3.2",
+ "fecha": "^4.2.0",
+ "ms": "^2.1.1",
+ "safe-stable-stringify": "^2.3.1",
+ "triple-beam": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/logform/node_modules/@colors/colors": {
+ "version": "1.6.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/loglevel": {
+ "version": "1.9.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6.0"
+ },
+ "funding": {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/loglevel"
+ }
+ },
+ "node_modules/long": {
+ "version": "4.0.0",
+ "license": "Apache-2.0"
+ },
"node_modules/loose-envify": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "license": "MIT",
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
@@ -15647,21 +15588,38 @@
},
"node_modules/lowercase-keys": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
+ "version": "10.4.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/lru-memoizer": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "lodash.clonedeep": "^4.5.0",
+ "lru-cache": "6.0.0"
+ }
+ },
+ "node_modules/lru-memoizer/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
},
"node_modules/madge": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/madge/-/madge-8.0.0.tgz",
- "integrity": "sha512-9sSsi3TBPhmkTCIpVQF0SPiChj1L7Rq9kU2KDG1o6v2XH9cCw086MopjVCD+vuoL5v8S77DTbVopTO8OUiQpIw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15699,9 +15657,8 @@
},
"node_modules/madge/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -15715,17 +15672,14 @@
},
"node_modules/madge/node_modules/commander": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 10"
}
},
"node_modules/magic-string": {
"version": "0.30.17",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
- "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15734,9 +15688,8 @@
},
"node_modules/make-dir": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
- "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^7.5.3"
},
@@ -15749,17 +15702,15 @@
},
"node_modules/makeerror": {
"version": "1.0.12",
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
- "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"tmpl": "1.0.5"
}
},
"node_modules/markdown-it": {
"version": "12.3.2",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
- "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "~2.1.0",
@@ -15773,16 +15724,13 @@
},
"node_modules/markdown-it/node_modules/entities": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
- "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
+ "license": "BSD-2-Clause",
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/marked": {
"version": "15.0.12",
- "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz",
- "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==",
"dev": true,
"license": "MIT",
"bin": {
@@ -15794,9 +15742,8 @@
},
"node_modules/marked-terminal": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.3.0.tgz",
- "integrity": "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-escapes": "^7.0.0",
"ansi-regex": "^6.1.0",
@@ -15815,9 +15762,8 @@
},
"node_modules/marked-terminal/node_modules/ansi-escapes": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz",
- "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"environment": "^1.0.0"
},
@@ -15830,9 +15776,8 @@
},
"node_modules/marked-terminal/node_modules/ansi-regex": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -15842,9 +15787,8 @@
},
"node_modules/marked-terminal/node_modules/supports-hyperlinks": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz",
- "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0",
"supports-color": "^7.0.0"
@@ -15858,30 +15802,30 @@
},
"node_modules/math-intrinsics": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/mdurl": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
+ "license": "MIT"
},
"node_modules/media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "license": "MIT"
+ },
"node_modules/meow": {
"version": "13.2.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz",
- "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -15891,8 +15835,6 @@
},
"node_modules/merge-descriptors": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -15900,23 +15842,20 @@
},
"node_modules/merge-stream": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/merge2": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
},
"node_modules/meros": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/meros/-/meros-1.2.1.tgz",
- "integrity": "sha512-R2f/jxYqCAGI19KhAvaxSOxALBMkaXWH2a7rOyqQw+ZmizX5bKkEYWLzdhC+U82ZVVPVp6MCXe3EkVligh+12g==",
+ "license": "MIT",
"engines": {
"node": ">=13"
},
@@ -15931,17 +15870,15 @@
},
"node_modules/methods": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/micromatch": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -15952,8 +15889,7 @@
},
"node_modules/mime": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "license": "MIT",
"bin": {
"mime": "cli.js"
},
@@ -15963,16 +15899,14 @@
},
"node_modules/mime-db": {
"version": "1.49.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
- "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.32",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
- "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+ "license": "MIT",
"dependencies": {
"mime-db": "1.49.0"
},
@@ -15982,25 +15916,26 @@
},
"node_modules/mimic-fn": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/mimic-response": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
- "node_modules/minimatch": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
- "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
+ "node_modules/minimalistic-assert": {
+ "version": "1.0.1",
+ "license": "ISC"
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.1",
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -16013,21 +15948,17 @@
},
"node_modules/minimatch/node_modules/brace-expansion": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/minimist": {
"version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
+ "license": "MIT"
},
"node_modules/minipass": {
"version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
@@ -16035,16 +15966,13 @@
},
"node_modules/mitt": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
- "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
"dev": true,
"license": "MIT"
},
"node_modules/mkdirp": {
"version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"minimist": "^1.2.5"
},
@@ -16054,8 +15982,6 @@
},
"node_modules/module-definition": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-6.0.1.tgz",
- "integrity": "sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16071,8 +15997,6 @@
},
"node_modules/module-lookup-amd": {
"version": "9.0.4",
- "resolved": "https://registry.npmjs.org/module-lookup-amd/-/module-lookup-amd-9.0.4.tgz",
- "integrity": "sha512-DWJEuLVvjxh5b8wrvJC5wr2a7qo7pOWXIgdCBNazU416kcIyzO4drxvlqKhsHzYwxcC4cWuhoK+MiWCKCGnv7A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16090,23 +16014,112 @@
},
"node_modules/module-lookup-amd/node_modules/commander": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
}
},
+ "node_modules/moment": {
+ "version": "2.30.1",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "6.16.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@mongodb-js/saslprep": "^1.1.9",
+ "bson": "^6.10.3",
+ "mongodb-connection-string-url": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=16.20.1"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-providers": "^3.188.0",
+ "@mongodb-js/zstd": "^1.1.0 || ^2.0.0",
+ "gcp-metadata": "^5.2.0",
+ "kerberos": "^2.0.1",
+ "mongodb-client-encryption": ">=6.0.0 <7",
+ "snappy": "^7.2.2",
+ "socks": "^2.7.1"
+ },
+ "peerDependenciesMeta": {
+ "@aws-sdk/credential-providers": {
+ "optional": true
+ },
+ "@mongodb-js/zstd": {
+ "optional": true
+ },
+ "gcp-metadata": {
+ "optional": true
+ },
+ "kerberos": {
+ "optional": true
+ },
+ "mongodb-client-encryption": {
+ "optional": true
+ },
+ "snappy": {
+ "optional": true
+ },
+ "socks": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "3.0.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/whatwg-url": "^11.0.2",
+ "whatwg-url": "^14.1.0 || ^13.0.0"
+ }
+ },
+ "node_modules/mongodb-connection-string-url/node_modules/tr46": {
+ "version": "5.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": {
+ "version": "14.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "^5.1.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/ms": {
"version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ "license": "MIT"
+ },
+ "node_modules/mustache": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "bin": {
+ "mustache": "bin/mustache"
+ }
},
"node_modules/mute-stream": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
- "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
"license": "ISC",
"engines": {
"node": "^18.17.0 || >=20.5.0"
@@ -16114,9 +16127,8 @@
},
"node_modules/mz": {
"version": "2.7.0",
- "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
- "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
@@ -16125,8 +16137,6 @@
},
"node_modules/nanoid": {
"version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
"dev": true,
"funding": [
{
@@ -16144,9 +16154,8 @@
},
"node_modules/napi-postinstall": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.0.tgz",
- "integrity": "sha512-M7NqKyhODKV1gRLdkwE7pDsZP2/SC2a2vHkOYh9MCpKMbWVfyVfUw5MaH83Fv6XMjxr5jryUp3IDDL9rlxsTeA==",
"dev": true,
+ "license": "MIT",
"bin": {
"napi-postinstall": "lib/cli.js"
},
@@ -16159,53 +16168,47 @@
},
"node_modules/natural-compare": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
+ "license": "MIT"
},
"node_modules/negotiator": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/neo-async": {
"version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/nerf-dart": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz",
- "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/netmask": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
- "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4.0"
}
},
+ "node_modules/node-abort-controller": {
+ "version": "3.1.1",
+ "license": "MIT"
+ },
"node_modules/node-addon-api": {
"version": "7.1.1",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
- "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
"dev": true,
"license": "MIT",
"optional": true
},
"node_modules/node-emoji": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz",
- "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sindresorhus/is": "^4.6.0",
"char-regex": "^1.0.2",
@@ -16218,8 +16221,7 @@
},
"node_modules/node-fetch": {
"version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -16235,23 +16237,24 @@
}
}
},
+ "node_modules/node-forge": {
+ "version": "1.3.1",
+ "license": "(BSD-3-Clause OR GPL-2.0)",
+ "engines": {
+ "node": ">= 6.13.0"
+ }
+ },
"node_modules/node-int64": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/node-releases": {
"version": "2.0.19",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
- "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
- "dev": true,
"license": "MIT"
},
"node_modules/node-source-walk": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-7.0.1.tgz",
- "integrity": "sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16263,8 +16266,6 @@
},
"node_modules/nopt": {
"version": "7.2.1",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz",
- "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==",
"license": "ISC",
"dependencies": {
"abbrev": "^2.0.0"
@@ -16278,9 +16279,8 @@
},
"node_modules/normalize-package-data": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz",
- "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"hosted-git-info": "^7.0.0",
"semver": "^7.3.5",
@@ -16292,17 +16292,15 @@
},
"node_modules/normalize-path": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/normalize-url": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -16312,8 +16310,6 @@
},
"node_modules/npm": {
"version": "10.9.2",
- "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.2.tgz",
- "integrity": "sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==",
"bundleDependencies": [
"@isaacs/string-locale-compare",
"@npmcli/arborist",
@@ -16385,6 +16381,14 @@
"write-file-atomic"
],
"dev": true,
+ "license": "Artistic-2.0",
+ "workspaces": [
+ "docs",
+ "smoke-tests",
+ "mock-globals",
+ "mock-registry",
+ "workspaces/*"
+ ],
"dependencies": {
"@isaacs/string-locale-compare": "^1.1.0",
"@npmcli/arborist": "^8.0.0",
@@ -16465,9 +16469,8 @@
},
"node_modules/npm-run-path": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.0.0"
},
@@ -19075,11 +19078,23 @@
"inBundle": true,
"license": "ISC"
},
+ "node_modules/npmlog": {
+ "version": "7.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "are-we-there-yet": "^4.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^5.0.0",
+ "set-blocking": "^2.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
"node_modules/null-loader": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz",
- "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"loader-utils": "^2.0.0",
"schema-utils": "^3.0.0"
@@ -19097,9 +19112,8 @@
},
"node_modules/null-loader/node_modules/schema-utils": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -19115,36 +19129,37 @@
},
"node_modules/nullthrows": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
- "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw=="
+ "license": "MIT"
},
"node_modules/nwsapi": {
"version": "2.2.20",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz",
- "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/oauth-sign": {
"version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "*"
}
},
"node_modules/object-assign": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/object-inspect": {
"version": "1.13.4",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
- "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -19154,18 +19169,23 @@
},
"node_modules/object-keys": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
+ "node_modules/object-path": {
+ "version": "0.11.8",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.12.0"
+ }
+ },
"node_modules/object.assign": {
"version": "4.1.7",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
- "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
@@ -19183,9 +19203,8 @@
},
"node_modules/object.entries": {
"version": "1.1.9",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz",
- "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.4",
@@ -19198,9 +19217,8 @@
},
"node_modules/object.fromentries": {
"version": "2.0.8",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
- "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -19216,9 +19234,8 @@
},
"node_modules/object.values": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
- "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
@@ -19234,8 +19251,7 @@
},
"node_modules/on-finished": {
"version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "license": "MIT",
"dependencies": {
"ee-first": "1.1.1"
},
@@ -19245,25 +19261,29 @@
},
"node_modules/on-headers": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "license": "ISC",
"dependencies": {
"wrappy": "1"
}
},
+ "node_modules/one-time": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "fn.name": "1.x.x"
+ }
+ },
"node_modules/onetime": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-fn": "^2.1.0"
},
@@ -19276,18 +19296,15 @@
},
"node_modules/opener": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
- "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
"dev": true,
+ "license": "(WTFPL OR MIT)",
"bin": {
"opener": "bin/opener-bin.js"
}
},
"node_modules/optionator": {
"version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
@@ -19302,9 +19319,8 @@
},
"node_modules/ora": {
"version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"bl": "^4.1.0",
"chalk": "^4.1.0",
@@ -19325,9 +19341,8 @@
},
"node_modules/ora/node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -19341,8 +19356,6 @@
},
"node_modules/os-tmpdir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -19350,17 +19363,15 @@
},
"node_modules/otpauth": {
"version": "8.0.3",
- "resolved": "https://registry.npmjs.org/otpauth/-/otpauth-8.0.3.tgz",
- "integrity": "sha512-5abBweT/POpMdVuM0Zk/tvlTHw8Kc8606XX/w8QNLRBDib+FVpseAx12Z21/iVIeCrJOgCY1dBuLS057IOdybw==",
+ "license": "MIT",
"dependencies": {
"jssha": "~3.2.0"
}
},
"node_modules/own-keys": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
- "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"get-intrinsic": "^1.2.6",
"object-keys": "^1.1.1",
@@ -19375,17 +19386,15 @@
},
"node_modules/p-cancelable": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/p-each-series": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz",
- "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -19395,9 +19404,8 @@
},
"node_modules/p-filter": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz",
- "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-map": "^7.0.1"
},
@@ -19410,17 +19418,15 @@
},
"node_modules/p-is-promise": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz",
- "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/p-limit": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -19433,8 +19439,7 @@
},
"node_modules/p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -19444,9 +19449,8 @@
},
"node_modules/p-map": {
"version": "7.0.3",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz",
- "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -19456,25 +19460,21 @@
},
"node_modules/p-reduce": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz",
- "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/p-try": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/pac-proxy-agent": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz",
- "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -19493,8 +19493,6 @@
},
"node_modules/pac-proxy-agent/node_modules/agent-base": {
"version": "7.1.3",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
- "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -19503,8 +19501,6 @@
},
"node_modules/pac-resolver": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
- "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -19512,92 +19508,498 @@
"netmask": "^2.0.2"
},
"engines": {
- "node": ">= 14"
+ "node": ">= 14"
+ }
+ },
+ "node_modules/package-json": {
+ "version": "7.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "got": "^11.8.2",
+ "registry-auth-token": "^4.0.0",
+ "registry-url": "^5.0.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.1",
+ "license": "BlueOak-1.0.0"
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse": {
+ "version": "3.5.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/runtime": "7.18.0",
+ "@babel/runtime-corejs3": "7.17.8",
+ "idb-keyval": "6.0.3",
+ "react-native-crypto-js": "1.0.0",
+ "uuid": "3.4.0",
+ "ws": "8.6.0",
+ "xmlhttprequest": "1.8.0"
+ },
+ "optionalDependencies": {
+ "crypto-js": "4.1.1"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-ms": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-server": {
+ "version": "8.2.1",
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@apollo/server": "4.12.0",
+ "@babel/eslint-parser": "7.27.1",
+ "@graphql-tools/merge": "9.0.24",
+ "@graphql-tools/schema": "10.0.23",
+ "@graphql-tools/utils": "10.8.6",
+ "@parse/fs-files-adapter": "3.0.0",
+ "@parse/push-adapter": "6.11.0",
+ "bcryptjs": "3.0.2",
+ "commander": "13.1.0",
+ "cors": "2.8.5",
+ "deepcopy": "2.1.0",
+ "express": "5.1.0",
+ "express-rate-limit": "7.5.0",
+ "follow-redirects": "1.15.9",
+ "graphql": "16.11.0",
+ "graphql-list-fields": "2.0.4",
+ "graphql-relay": "0.10.2",
+ "graphql-tag": "2.12.6",
+ "graphql-upload": "15.0.2",
+ "intersect": "1.0.1",
+ "jsonwebtoken": "9.0.2",
+ "jwks-rsa": "3.2.0",
+ "ldapjs": "3.0.7",
+ "lodash": "4.17.21",
+ "lru-cache": "10.4.0",
+ "mime": "4.0.7",
+ "mongodb": "6.16.0",
+ "mustache": "4.2.0",
+ "otpauth": "9.4.0",
+ "parse": "6.1.1",
+ "path-to-regexp": "6.3.0",
+ "pg-monitor": "3.0.0",
+ "pg-promise": "11.13.0",
+ "pluralize": "8.0.0",
+ "punycode": "2.3.1",
+ "rate-limit-redis": "4.2.0",
+ "redis": "4.7.0",
+ "router": "2.2.0",
+ "semver": "7.7.2",
+ "subscriptions-transport-ws": "0.11.0",
+ "tv4": "1.3.0",
+ "uuid": "11.1.0",
+ "winston": "3.17.0",
+ "winston-daily-rotate-file": "5.0.0",
+ "ws": "8.18.2"
+ },
+ "bin": {
+ "parse-server": "bin/parse-server"
+ },
+ "engines": {
+ "node": ">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parse-server"
+ },
+ "optionalDependencies": {
+ "@node-rs/bcrypt": "1.10.7"
+ }
+ },
+ "node_modules/parse-server/node_modules/@babel/eslint-parser": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
+ "eslint-visitor-keys": "^2.1.0",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || >=14.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.11.0",
+ "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0"
+ }
+ },
+ "node_modules/parse-server/node_modules/@babel/eslint-parser/node_modules/semver": {
+ "version": "6.3.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/parse-server/node_modules/@babel/runtime-corejs3": {
+ "version": "7.27.0",
+ "license": "MIT",
+ "dependencies": {
+ "core-js-pure": "^3.30.2",
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/parse-server/node_modules/accepts": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "^3.0.0",
+ "negotiator": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/parse-server/node_modules/content-disposition": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/parse-server/node_modules/cookie": {
+ "version": "0.7.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/parse-server/node_modules/cookie-signature": {
+ "version": "1.2.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.6.0"
+ }
+ },
+ "node_modules/parse-server/node_modules/crypto-js": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/parse-server/node_modules/express": {
+ "version": "5.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "^2.0.0",
+ "body-parser": "^2.2.0",
+ "content-disposition": "^1.0.0",
+ "content-type": "^1.0.5",
+ "cookie": "^0.7.1",
+ "cookie-signature": "^1.2.1",
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "finalhandler": "^2.1.0",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "merge-descriptors": "^2.0.0",
+ "mime-types": "^3.0.0",
+ "on-finished": "^2.4.1",
+ "once": "^1.4.0",
+ "parseurl": "^1.3.3",
+ "proxy-addr": "^2.0.7",
+ "qs": "^6.14.0",
+ "range-parser": "^1.2.1",
+ "router": "^2.2.0",
+ "send": "^1.1.0",
+ "serve-static": "^2.2.0",
+ "statuses": "^2.0.1",
+ "type-is": "^2.0.1",
+ "vary": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/parse-server/node_modules/finalhandler": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "on-finished": "^2.4.1",
+ "parseurl": "^1.3.3",
+ "statuses": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/parse-server/node_modules/fresh": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/parse-server/node_modules/idb-keyval": {
+ "version": "6.2.1",
+ "license": "Apache-2.0"
+ },
+ "node_modules/parse-server/node_modules/media-typer": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/parse-server/node_modules/merge-descriptors": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-server/node_modules/mime": {
+ "version": "4.0.7",
+ "funding": [
+ "https://github.com/sponsors/broofa"
+ ],
+ "license": "MIT",
+ "bin": {
+ "mime": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/parse-server/node_modules/mime-db": {
+ "version": "1.54.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/parse-server/node_modules/mime-types": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/parse-server/node_modules/negotiator": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/parse-server/node_modules/otpauth": {
+ "version": "9.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "@noble/hashes": "1.7.1"
+ },
+ "funding": {
+ "url": "https://github.com/hectorm/otpauth?sponsor=1"
+ }
+ },
+ "node_modules/parse-server/node_modules/parse": {
+ "version": "6.1.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime-corejs3": "7.27.0",
+ "idb-keyval": "6.2.1",
+ "react-native-crypto-js": "1.0.0",
+ "uuid": "10.0.0",
+ "ws": "8.18.1",
+ "xmlhttprequest": "1.8.0"
+ },
+ "engines": {
+ "node": "18 || 19 || 20 || 22"
+ },
+ "optionalDependencies": {
+ "crypto-js": "4.2.0"
+ }
+ },
+ "node_modules/parse-server/node_modules/parse/node_modules/uuid": {
+ "version": "10.0.0",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/parse-server/node_modules/parse/node_modules/ws": {
+ "version": "8.18.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
- "node_modules/package-json": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-7.0.0.tgz",
- "integrity": "sha512-CHJqc94AA8YfSLHGQT3DbvSIuE12NLFekpM4n7LRrAd3dOJtA911+4xe9q6nC3/jcKraq7nNS9VxgtT0KC+diA==",
+ "node_modules/parse-server/node_modules/path-to-regexp": {
+ "version": "6.3.0",
+ "license": "MIT"
+ },
+ "node_modules/parse-server/node_modules/qs": {
+ "version": "6.14.0",
+ "license": "BSD-3-Clause",
"dependencies": {
- "got": "^11.8.2",
- "registry-auth-token": "^4.0.0",
- "registry-url": "^5.0.0",
- "semver": "^7.3.5"
+ "side-channel": "^1.1.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=0.6"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/package-json-from-dist": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
- "license": "BlueOak-1.0.0"
+ "node_modules/parse-server/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
},
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
+ "node_modules/parse-server/node_modules/send": {
+ "version": "1.2.0",
+ "license": "MIT",
"dependencies": {
- "callsites": "^3.0.0"
+ "debug": "^4.3.5",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "mime-types": "^3.0.1",
+ "ms": "^2.1.3",
+ "on-finished": "^2.4.1",
+ "range-parser": "^1.2.1",
+ "statuses": "^2.0.1"
},
"engines": {
- "node": ">=6"
+ "node": ">= 18"
}
},
- "node_modules/parse": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/parse/-/parse-3.5.1.tgz",
- "integrity": "sha512-uxkLVNfbqgZ/pStg/jIQGh09tOUkPZorzDIqz9vSFjZ3iIZzgvNk6VBbjXjcMWsR8LyFPOR1ROR6/y9Dedn3/w==",
+ "node_modules/parse-server/node_modules/serve-static": {
+ "version": "2.2.0",
+ "license": "MIT",
"dependencies": {
- "@babel/runtime": "7.18.0",
- "@babel/runtime-corejs3": "7.17.8",
- "idb-keyval": "6.0.3",
- "react-native-crypto-js": "1.0.0",
- "uuid": "3.4.0",
- "ws": "8.6.0",
- "xmlhttprequest": "1.8.0"
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "parseurl": "^1.3.3",
+ "send": "^1.2.0"
},
- "optionalDependencies": {
- "crypto-js": "4.1.1"
+ "engines": {
+ "node": ">= 18"
}
},
- "node_modules/parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
+ "node_modules/parse-server/node_modules/statuses": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/parse-server/node_modules/type-is": {
+ "version": "2.0.1",
+ "license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
+ "content-type": "^1.0.5",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">= 0.6"
}
},
- "node_modules/parse-ms": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
- "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==",
- "dev": true,
- "engines": {
- "node": ">=6"
+ "node_modules/parse-server/node_modules/uuid": {
+ "version": "11.1.0",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
}
},
"node_modules/parse/node_modules/@babel/runtime": {
"version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.0.tgz",
- "integrity": "sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg==",
+ "license": "MIT",
"dependencies": {
"regenerator-runtime": "^0.13.4"
},
@@ -19607,8 +20009,7 @@
},
"node_modules/parse/node_modules/@babel/runtime-corejs3": {
"version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.8.tgz",
- "integrity": "sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ==",
+ "license": "MIT",
"dependencies": {
"core-js-pure": "^3.20.2",
"regenerator-runtime": "^0.13.4"
@@ -19619,14 +20020,11 @@
},
"node_modules/parse/node_modules/regenerator-runtime": {
"version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
"license": "MIT"
},
"node_modules/parse/node_modules/ws": {
"version": "8.6.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
- "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
},
@@ -19645,9 +20043,8 @@
},
"node_modules/parse5": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
- "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"entities": "^6.0.0"
},
@@ -19657,24 +20054,21 @@
},
"node_modules/parse5-htmlparser2-tree-adapter": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
- "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parse5": "^6.0.1"
}
},
"node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/parse5/node_modules/entities": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
- "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
@@ -19684,8 +20078,6 @@
},
"node_modules/parseurl": {
"version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -19693,8 +20085,7 @@
},
"node_modules/passport": {
"version": "0.5.3",
- "resolved": "https://registry.npmjs.org/passport/-/passport-0.5.3.tgz",
- "integrity": "sha512-gGc+70h4gGdBWNsR3FuV3byLDY6KBTJAIExGFXTpQaYfbbcHCBlRRKx7RBQSpqEqc5Hh2qVzRs7ssvSfOpkUEA==",
+ "license": "MIT",
"dependencies": {
"passport-strategy": "1.x.x",
"pause": "0.0.1"
@@ -19709,8 +20100,6 @@
},
"node_modules/passport-local": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz",
- "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=",
"dependencies": {
"passport-strategy": "1.x.x"
},
@@ -19720,47 +20109,39 @@
},
"node_modules/passport-strategy": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
- "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/path-exists": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/path-key": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/path-parse": {
"version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/path-scurry": {
"version": "1.11.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
- "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
"license": "BlueOak-1.0.0",
"dependencies": {
"lru-cache": "^10.2.0",
@@ -19773,50 +20154,200 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "license": "ISC"
+ },
"node_modules/path-to-regexp": {
"version": "0.1.12",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
- "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="
+ "license": "MIT"
},
"node_modules/path-type": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/pause": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz",
- "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg=="
+ "version": "0.0.1"
},
"node_modules/pend": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"dev": true,
"license": "MIT"
},
"node_modules/performance-now": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
+ "license": "MIT"
+ },
+ "node_modules/pg": {
+ "version": "8.16.3",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "pg-connection-string": "^2.9.1",
+ "pg-pool": "^3.10.1",
+ "pg-protocol": "^1.10.3",
+ "pg-types": "2.2.0",
+ "pgpass": "1.0.5"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "optionalDependencies": {
+ "pg-cloudflare": "^1.2.7"
+ },
+ "peerDependencies": {
+ "pg-native": ">=3.0.1"
+ },
+ "peerDependenciesMeta": {
+ "pg-native": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/pg-cloudflare": {
+ "version": "1.2.7",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/pg-connection-string": {
+ "version": "2.9.1",
+ "license": "MIT"
+ },
+ "node_modules/pg-cursor": {
+ "version": "2.15.3",
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "pg": "^8"
+ }
+ },
+ "node_modules/pg-int8": {
+ "version": "1.0.1",
+ "license": "ISC",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/pg-minify": {
+ "version": "1.7.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/pg-monitor": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/pg-pool": {
+ "version": "3.10.1",
+ "license": "MIT",
+ "peerDependencies": {
+ "pg": ">=8.0"
+ }
+ },
+ "node_modules/pg-promise": {
+ "version": "11.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "assert-options": "0.8.2",
+ "pg": "8.14.1",
+ "pg-minify": "1.7.0",
+ "spex": "3.4.0"
+ },
+ "engines": {
+ "node": ">=14.0"
+ },
+ "peerDependencies": {
+ "pg-query-stream": "4.8.1"
+ }
+ },
+ "node_modules/pg-promise/node_modules/pg": {
+ "version": "8.14.1",
+ "license": "MIT",
+ "dependencies": {
+ "pg-connection-string": "^2.7.0",
+ "pg-pool": "^3.8.0",
+ "pg-protocol": "^1.8.0",
+ "pg-types": "^2.1.0",
+ "pgpass": "1.x"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "optionalDependencies": {
+ "pg-cloudflare": "^1.1.1"
+ },
+ "peerDependencies": {
+ "pg-native": ">=3.0.1"
+ },
+ "peerDependenciesMeta": {
+ "pg-native": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/pg-protocol": {
+ "version": "1.10.3",
+ "license": "MIT"
+ },
+ "node_modules/pg-query-stream": {
+ "version": "4.8.1",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "pg-cursor": "^2.13.1"
+ },
+ "peerDependencies": {
+ "pg": "^8"
+ }
+ },
+ "node_modules/pg-types": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "pg-int8": "1.0.1",
+ "postgres-array": "~2.0.0",
+ "postgres-bytea": "~1.0.0",
+ "postgres-date": "~1.0.4",
+ "postgres-interval": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pgpass": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "dependencies": {
+ "split2": "^4.1.0"
+ }
+ },
+ "node_modules/pgpass/node_modules/split2": {
+ "version": "4.2.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 10.x"
+ }
},
"node_modules/picocolors": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true,
"license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -19826,27 +20357,24 @@
},
"node_modules/pify": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/pirates": {
"version": "4.0.7",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
- "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
},
"node_modules/pkg-conf": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz",
- "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up": "^2.0.0",
"load-json-file": "^4.0.0"
@@ -19857,9 +20385,8 @@
},
"node_modules/pkg-conf/node_modules/find-up": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^2.0.0"
},
@@ -19869,9 +20396,8 @@
},
"node_modules/pkg-conf/node_modules/locate-path": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
@@ -19882,9 +20408,8 @@
},
"node_modules/pkg-conf/node_modules/p-limit": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^1.0.0"
},
@@ -19894,9 +20419,8 @@
},
"node_modules/pkg-conf/node_modules/p-locate": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^1.1.0"
},
@@ -19906,27 +20430,24 @@
},
"node_modules/pkg-conf/node_modules/p-try": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/pkg-conf/node_modules/path-exists": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/pkg-dir": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up": "^4.0.0"
},
@@ -19936,26 +20457,22 @@
},
"node_modules/pluralize": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/pngjs": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
- "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
+ "license": "MIT",
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/portfinder": {
"version": "1.0.28",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
- "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"async": "^2.6.2",
"debug": "^3.1.1",
@@ -19967,26 +20484,21 @@
},
"node_modules/portfinder/node_modules/debug": {
"version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/possible-typed-array-names": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
- "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/postcss": {
"version": "8.5.3",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
- "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
"dev": true,
"funding": [
{
@@ -20014,9 +20526,8 @@
},
"node_modules/postcss-modules-extract-imports": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
- "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "^10 || ^12 || >= 14"
},
@@ -20026,9 +20537,8 @@
},
"node_modules/postcss-modules-local-by-default": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
- "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"icss-utils": "^5.0.0",
"postcss-selector-parser": "^6.0.2",
@@ -20043,9 +20553,8 @@
},
"node_modules/postcss-modules-scope": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
- "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"postcss-selector-parser": "^6.0.4"
},
@@ -20058,9 +20567,8 @@
},
"node_modules/postcss-modules-values": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
- "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"icss-utils": "^5.0.0"
},
@@ -20073,9 +20581,8 @@
},
"node_modules/postcss-selector-parser": {
"version": "6.0.11",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
- "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -20086,14 +20593,11 @@
},
"node_modules/postcss-value-parser": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/postcss-values-parser": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-6.0.2.tgz",
- "integrity": "sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==",
"dev": true,
"license": "MPL-2.0",
"dependencies": {
@@ -20108,10 +20612,39 @@
"postcss": "^8.2.9"
}
},
+ "node_modules/postgres-array": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postgres-bytea": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postgres-date": {
+ "version": "1.0.7",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postgres-interval": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "xtend": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/precinct": {
"version": "12.2.0",
- "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.2.0.tgz",
- "integrity": "sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20140,27 +20673,27 @@
},
"node_modules/precinct/node_modules/commander": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
}
},
+ "node_modules/precond": {
+ "version": "0.2.3",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/prelude-ls": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/prettier": {
"version": "3.5.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
- "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
"dev": true,
"license": "MIT",
"bin": {
@@ -20175,9 +20708,8 @@
},
"node_modules/pretty-format": {
"version": "30.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz",
- "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/schemas": "30.0.1",
"ansi-styles": "^5.2.0",
@@ -20189,9 +20721,8 @@
},
"node_modules/pretty-format/node_modules/ansi-styles": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -20201,15 +20732,13 @@
},
"node_modules/pretty-format/node_modules/react-is": {
"version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
- "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/pretty-ms": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz",
- "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parse-ms": "^2.1.0"
},
@@ -20222,8 +20751,6 @@
},
"node_modules/prismjs": {
"version": "1.30.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
- "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -20231,14 +20758,15 @@
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/process-warning": {
+ "version": "2.3.2",
+ "license": "MIT"
},
"node_modules/progress": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -20247,16 +20775,36 @@
},
"node_modules/promise": {
"version": "7.3.1",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
- "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "license": "MIT",
"dependencies": {
"asap": "~2.0.3"
}
},
+ "node_modules/promise-limit": {
+ "version": "2.7.0",
+ "license": "ISC"
+ },
+ "node_modules/promise-retry": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "err-code": "^2.0.2",
+ "retry": "^0.12.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/promise-retry/node_modules/retry": {
+ "version": "0.12.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/prop-types": {
"version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -20265,13 +20813,50 @@
},
"node_modules/proto-list": {
"version": "1.2.4",
- "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
- "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA=="
+ "license": "ISC"
+ },
+ "node_modules/proto3-json-serializer": {
+ "version": "2.0.2",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "protobufjs": "^7.2.5"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/protobufjs": {
+ "version": "7.5.3",
+ "hasInstallScript": true,
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/protobufjs/node_modules/long": {
+ "version": "5.3.2",
+ "license": "Apache-2.0",
+ "optional": true
},
"node_modules/proxy-addr": {
"version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "license": "MIT",
"dependencies": {
"forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
@@ -20282,8 +20867,6 @@
},
"node_modules/proxy-agent": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz",
- "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20302,8 +20885,6 @@
},
"node_modules/proxy-agent/node_modules/agent-base": {
"version": "7.1.3",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
- "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -20312,8 +20893,6 @@
},
"node_modules/proxy-agent/node_modules/lru-cache": {
"version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
"dev": true,
"license": "ISC",
"engines": {
@@ -20322,21 +20901,16 @@
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"dev": true,
"license": "MIT"
},
"node_modules/psl": {
"version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
+ "license": "MIT"
},
"node_modules/pump": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -20344,17 +20918,13 @@
},
"node_modules/punycode": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/puppeteer": {
"version": "24.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.9.0.tgz",
- "integrity": "sha512-L0pOtALIx8rgDt24Y+COm8X52v78gNtBOW6EmUcEPci0TYD72SAuaXKqasRIx4JXxmg2Tkw5ySKcpPOwN8xXnQ==",
"dev": true,
"hasInstallScript": true,
"license": "Apache-2.0",
@@ -20375,8 +20945,6 @@
},
"node_modules/puppeteer-core": {
"version": "24.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.9.0.tgz",
- "integrity": "sha512-HFdCeH/wx6QPz8EncafbCqJBqaCG1ENW75xg3cLFMRUoqZDgByT6HSueiumetT2uClZxwqj0qS4qMVZwLHRHHw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -20393,9 +20961,8 @@
},
"node_modules/puppeteer/node_modules/cosmiconfig": {
"version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"env-paths": "^2.2.1",
"import-fresh": "^3.3.0",
@@ -20419,13 +20986,10 @@
},
"node_modules/pure-color": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz",
- "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4="
+ "license": "MIT"
},
"node_modules/pure-rand": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz",
- "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==",
"dev": true,
"funding": [
{
@@ -20436,12 +21000,11 @@
"type": "opencollective",
"url": "https://opencollective.com/fast-check"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/qrcode": {
"version": "1.5.4",
- "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz",
- "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==",
"license": "MIT",
"dependencies": {
"dijkstrajs": "^1.0.1",
@@ -20457,8 +21020,7 @@
},
"node_modules/qrcode/node_modules/cliui": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
@@ -20467,8 +21029,7 @@
},
"node_modules/qrcode/node_modules/wrap-ansi": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -20480,8 +21041,7 @@
},
"node_modules/qrcode/node_modules/yargs": {
"version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "license": "MIT",
"dependencies": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
@@ -20501,8 +21061,7 @@
},
"node_modules/qrcode/node_modules/yargs-parser": {
"version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "license": "ISC",
"dependencies": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
@@ -20513,8 +21072,6 @@
},
"node_modules/qs": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
- "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.0.6"
@@ -20528,8 +21085,6 @@
},
"node_modules/queue-microtask": {
"version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"dev": true,
"funding": [
{
@@ -20544,12 +21099,11 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/quick-lru": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
"license": "MIT",
"engines": {
"node": ">=10"
@@ -20560,23 +21114,18 @@
},
"node_modules/quote-unquote": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/quote-unquote/-/quote-unquote-1.0.0.tgz",
- "integrity": "sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==",
"dev": true,
"license": "MIT"
},
"node_modules/random-bytes": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
- "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/randombytes": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20585,17 +21134,23 @@
},
"node_modules/range-parser": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
+ "node_modules/rate-limit-redis": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ },
+ "peerDependencies": {
+ "express-rate-limit": ">= 6"
+ }
+ },
"node_modules/raw-body": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz",
- "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==",
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
@@ -20609,8 +21164,6 @@
},
"node_modules/raw-body/node_modules/iconv-lite": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -20621,8 +21174,7 @@
},
"node_modules/rc": {
"version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"dependencies": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
@@ -20635,16 +21187,14 @@
},
"node_modules/rc/node_modules/strip-json-comments": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react": {
"version": "16.14.0",
- "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
- "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
@@ -20656,8 +21206,6 @@
},
"node_modules/react-ace": {
"version": "14.0.1",
- "resolved": "https://registry.npmjs.org/react-ace/-/react-ace-14.0.1.tgz",
- "integrity": "sha512-z6YAZ20PNf/FqmYEic//G/UK6uw0rn21g58ASgHJHl9rfE4nITQLqthr9rHMVQK4ezwohJbp2dGrZpkq979PYQ==",
"license": "MIT",
"dependencies": {
"ace-builds": "^1.36.3",
@@ -20673,8 +21221,7 @@
},
"node_modules/react-base16-styling": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz",
- "integrity": "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=",
+ "license": "MIT",
"dependencies": {
"base16": "^1.0.0",
"lodash.curry": "^4.0.1",
@@ -20682,10 +21229,17 @@
"pure-color": "^1.2.0"
}
},
+ "node_modules/react-chartjs-2": {
+ "version": "5.3.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "chart.js": "^4.1.1",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/react-clientside-effect": {
"version": "1.2.6",
- "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz",
- "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.12.13"
},
@@ -20695,8 +21249,7 @@
},
"node_modules/react-dnd": {
"version": "10.0.2",
- "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-10.0.2.tgz",
- "integrity": "sha512-SC2Ymvntynhoqtf5zaFhZscm9xenCoMofilxPdlwUlaelAzmbl9fw82C4ZJ//+lNm3kWAKXjGDZg2/aWjKEAtg==",
+ "license": "MIT",
"dependencies": {
"@react-dnd/shallowequal": "^2.0.0",
"@types/hoist-non-react-statics": "^3.3.1",
@@ -20710,8 +21263,6 @@
},
"node_modules/react-dnd-html5-backend": {
"version": "16.0.1",
- "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-16.0.1.tgz",
- "integrity": "sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw==",
"license": "MIT",
"dependencies": {
"dnd-core": "^16.0.1"
@@ -20719,20 +21270,14 @@
},
"node_modules/react-dnd-html5-backend/node_modules/@react-dnd/asap": {
"version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@react-dnd/asap/-/asap-5.0.2.tgz",
- "integrity": "sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==",
"license": "MIT"
},
"node_modules/react-dnd-html5-backend/node_modules/@react-dnd/invariant": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@react-dnd/invariant/-/invariant-4.0.2.tgz",
- "integrity": "sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw==",
"license": "MIT"
},
"node_modules/react-dnd-html5-backend/node_modules/dnd-core": {
"version": "16.0.1",
- "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-16.0.1.tgz",
- "integrity": "sha512-HK294sl7tbw6F6IeuK16YSBUoorvHpY8RHO+9yFfaJyCDVb6n7PRcezrOEOa2SBCqiYpemh5Jx20ZcjKdFAVng==",
"license": "MIT",
"dependencies": {
"@react-dnd/asap": "^5.0.1",
@@ -20742,8 +21287,7 @@
},
"node_modules/react-dom": {
"version": "16.14.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
- "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
@@ -20756,8 +21300,6 @@
},
"node_modules/react-draggable": {
"version": "4.4.6",
- "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.6.tgz",
- "integrity": "sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==",
"license": "MIT",
"dependencies": {
"clsx": "^1.1.1",
@@ -20770,13 +21312,11 @@
},
"node_modules/react-fast-compare": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
- "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA=="
+ "license": "MIT"
},
"node_modules/react-focus-lock": {
"version": "2.9.1",
- "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.1.tgz",
- "integrity": "sha512-pSWOQrUmiKLkffPO6BpMXN7SNKXMsuOakl652IBuALAu1esk+IcpJyM+ALcYzPTTFz1rD0R54aB9A4HuP5t1Wg==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.0.0",
"focus-lock": "^0.11.2",
@@ -20797,8 +21337,7 @@
},
"node_modules/react-helmet": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz",
- "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==",
+ "license": "MIT",
"dependencies": {
"object-assign": "^4.1.1",
"prop-types": "^15.7.2",
@@ -20811,13 +21350,11 @@
},
"node_modules/react-is": {
"version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ "license": "MIT"
},
"node_modules/react-json-view": {
"version": "1.21.3",
- "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz",
- "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==",
+ "license": "MIT",
"dependencies": {
"flux": "^4.0.1",
"react-base16-styling": "^0.6.0",
@@ -20831,18 +21368,15 @@
},
"node_modules/react-lifecycles-compat": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
- "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
+ "license": "MIT"
},
"node_modules/react-native-crypto-js": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/react-native-crypto-js/-/react-native-crypto-js-1.0.0.tgz",
- "integrity": "sha512-FNbLuG/HAdapQoybeZSoes1PWdOj0w242gb+e1R0hicf3Gyj/Mf8M9NaED2AnXVOX01b2FXomwUiw1xP1K+8sA=="
+ "license": "MIT"
},
"node_modules/react-popper": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz",
- "integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==",
+ "license": "MIT",
"dependencies": {
"react-fast-compare": "^3.0.1",
"warning": "^4.0.2"
@@ -20855,8 +21389,7 @@
},
"node_modules/react-popper-tooltip": {
"version": "4.4.2",
- "resolved": "https://registry.npmjs.org/react-popper-tooltip/-/react-popper-tooltip-4.4.2.tgz",
- "integrity": "sha512-y48r0mpzysRTZAIh8m2kpZ8S1YPNqGtQPDrlXYSGvDS1c1GpG/NUXbsbIdfbhXfmSaRJuTcaT6N1q3CKuHRVbg==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@popperjs/core": "^2.11.5",
@@ -20869,8 +21402,7 @@
},
"node_modules/react-remove-scroll": {
"version": "2.5.5",
- "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
- "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
+ "license": "MIT",
"dependencies": {
"react-remove-scroll-bar": "^2.3.3",
"react-style-singleton": "^2.2.1",
@@ -20893,8 +21425,7 @@
},
"node_modules/react-remove-scroll-bar": {
"version": "2.3.4",
- "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz",
- "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==",
+ "license": "MIT",
"dependencies": {
"react-style-singleton": "^2.2.1",
"tslib": "^2.0.0"
@@ -20914,8 +21445,6 @@
},
"node_modules/react-resizable": {
"version": "3.0.5",
- "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-3.0.5.tgz",
- "integrity": "sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w==",
"license": "MIT",
"dependencies": {
"prop-types": "15.x",
@@ -20927,8 +21456,7 @@
},
"node_modules/react-router": {
"version": "6.30.1",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz",
- "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==",
+ "license": "MIT",
"dependencies": {
"@remix-run/router": "1.23.0"
},
@@ -20941,8 +21469,7 @@
},
"node_modules/react-router-dom": {
"version": "6.30.1",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz",
- "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==",
+ "license": "MIT",
"dependencies": {
"@remix-run/router": "1.23.0",
"react-router": "6.30.1"
@@ -20957,16 +21484,14 @@
},
"node_modules/react-side-effect": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz",
- "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==",
+ "license": "MIT",
"peerDependencies": {
"react": "^16.3.0 || ^17.0.0"
}
},
"node_modules/react-style-singleton": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
- "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "license": "MIT",
"dependencies": {
"get-nonce": "^1.0.0",
"invariant": "^2.2.4",
@@ -20987,9 +21512,8 @@
},
"node_modules/react-test-renderer": {
"version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz",
- "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
@@ -21002,8 +21526,7 @@
},
"node_modules/react-textarea-autosize": {
"version": "8.3.3",
- "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz",
- "integrity": "sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.10.2",
"use-composed-ref": "^1.0.0",
@@ -21018,9 +21541,8 @@
},
"node_modules/read-package-up": {
"version": "11.0.0",
- "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz",
- "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up-simple": "^1.0.0",
"read-pkg": "^9.0.0",
@@ -21035,9 +21557,8 @@
},
"node_modules/read-pkg": {
"version": "9.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz",
- "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/normalize-package-data": "^2.4.3",
"normalize-package-data": "^6.0.0",
@@ -21054,10 +21575,8 @@
},
"node_modules/read-pkg-up": {
"version": "11.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-11.0.0.tgz",
- "integrity": "sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==",
- "deprecated": "Renamed to read-package-up",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up-simple": "^1.0.0",
"read-pkg": "^9.0.0",
@@ -21072,9 +21591,8 @@
},
"node_modules/read-pkg/node_modules/parse-json": {
"version": "8.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.2.0.tgz",
- "integrity": "sha512-eONBZy4hm2AgxjNFd8a4nyDJnzUAH0g34xSQAwWEVGCjdZ4ZL7dKZBfq267GWP/JaS9zW62Xs2FeAdDvpHHJGQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.26.2",
"index-to-position": "^1.0.0",
@@ -21088,10 +21606,8 @@
}
},
"node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
+ "version": "3.6.2",
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -21103,8 +21619,6 @@
},
"node_modules/readdirp": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -21117,9 +21631,8 @@
},
"node_modules/rechoir": {
"version": "0.8.0",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
- "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"resolve": "^1.20.0"
},
@@ -21129,17 +21642,29 @@
},
"node_modules/redeyed": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz",
- "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"esprima": "~4.0.0"
}
},
+ "node_modules/redis": {
+ "version": "4.7.0",
+ "license": "MIT",
+ "workspaces": [
+ "./packages/*"
+ ],
+ "dependencies": {
+ "@redis/bloom": "1.2.0",
+ "@redis/client": "1.6.0",
+ "@redis/graph": "1.1.1",
+ "@redis/json": "1.0.7",
+ "@redis/search": "1.2.0",
+ "@redis/time-series": "1.1.0"
+ }
+ },
"node_modules/redux": {
"version": "4.2.1",
- "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
- "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.9.2"
@@ -21147,9 +21672,8 @@
},
"node_modules/reflect.getprototypeof": {
"version": "1.0.10",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
- "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"define-properties": "^1.2.1",
@@ -21169,15 +21693,11 @@
},
"node_modules/regenerate": {
"version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
"dev": true,
"license": "MIT"
},
"node_modules/regenerate-unicode-properties": {
"version": "10.2.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
- "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21189,15 +21709,12 @@
},
"node_modules/regenerator-runtime": {
"version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
"license": "MIT"
},
"node_modules/regexp.prototype.flags": {
"version": "1.5.4",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
- "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"define-properties": "^1.2.1",
@@ -21215,8 +21732,6 @@
},
"node_modules/regexpu-core": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
- "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21233,8 +21748,7 @@
},
"node_modules/registry-auth-token": {
"version": "4.2.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
- "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
+ "license": "MIT",
"dependencies": {
"rc": "^1.2.8"
},
@@ -21244,8 +21758,7 @@
},
"node_modules/registry-url": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
- "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
+ "license": "MIT",
"dependencies": {
"rc": "^1.2.8"
},
@@ -21255,15 +21768,11 @@
},
"node_modules/regjsgen": {
"version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
"dev": true,
"license": "MIT"
},
"node_modules/regjsparser": {
"version": "0.12.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
- "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -21275,8 +21784,6 @@
},
"node_modules/regjsparser/node_modules/jsesc": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
- "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
"dev": true,
"license": "MIT",
"bin": {
@@ -21288,10 +21795,8 @@
},
"node_modules/request": {
"version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -21320,10 +21825,8 @@
},
"node_modules/request-promise": {
"version": "4.2.5",
- "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz",
- "integrity": "sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==",
- "deprecated": "request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142",
"dev": true,
+ "license": "ISC",
"dependencies": {
"bluebird": "^3.5.0",
"request-promise-core": "1.1.3",
@@ -21339,9 +21842,8 @@
},
"node_modules/request-promise/node_modules/request-promise-core": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
- "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"lodash": "^4.17.15"
},
@@ -21354,39 +21856,33 @@
},
"node_modules/request/node_modules/qs": {
"version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.6"
}
},
"node_modules/require-directory": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/require-from-string": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/require-main-filename": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
+ "license": "ISC"
},
"node_modules/requirejs": {
"version": "2.3.7",
- "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.7.tgz",
- "integrity": "sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==",
"dev": true,
"license": "MIT",
"bin": {
@@ -21399,8 +21895,6 @@
},
"node_modules/requirejs-config-file": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/requirejs-config-file/-/requirejs-config-file-4.0.0.tgz",
- "integrity": "sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21413,14 +21907,11 @@
},
"node_modules/requires-port": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/resolve": {
"version": "1.22.10",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
- "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21440,14 +21931,12 @@
},
"node_modules/resolve-alpn": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
+ "license": "MIT"
},
"node_modules/resolve-cwd": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"resolve-from": "^5.0.0"
},
@@ -21457,8 +21946,6 @@
},
"node_modules/resolve-dependency-path": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dependency-path/-/resolve-dependency-path-4.0.1.tgz",
- "integrity": "sha512-YQftIIC4vzO9UMhO/sCgXukNyiwVRCVaxiWskCBy7Zpqkplm8kTAISZ8O1MoKW1ca6xzgLUBjZTcDgypXvXxiQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -21467,26 +21954,23 @@
},
"node_modules/resolve-from": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/responselike": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
- "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
+ "license": "MIT",
"dependencies": {
"lowercase-keys": "^2.0.0"
}
},
"node_modules/restore-cursor": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
@@ -21495,11 +21979,30 @@
"node": ">=8"
}
},
+ "node_modules/retry": {
+ "version": "0.13.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/retry-request": {
+ "version": "7.0.2",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@types/request": "^2.48.8",
+ "extend": "^3.0.2",
+ "teeny-request": "^9.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/reusify": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
"dev": true,
+ "license": "MIT",
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -21507,19 +22010,43 @@
},
"node_modules/rndm": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
- "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w="
+ "license": "MIT"
+ },
+ "node_modules/router": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "is-promise": "^4.0.0",
+ "parseurl": "^1.3.3",
+ "path-to-regexp": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/router/node_modules/depd": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/router/node_modules/path-to-regexp": {
+ "version": "8.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
},
"node_modules/rrweb-cssom": {
"version": "0.8.0",
- "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz",
- "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/run-async": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
- "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
"license": "MIT",
"engines": {
"node": ">=0.12.0"
@@ -21527,8 +22054,6 @@
},
"node_modules/run-parallel": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
"dev": true,
"funding": [
{
@@ -21544,14 +22069,13 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"queue-microtask": "^1.2.2"
}
},
"node_modules/rxjs": {
"version": "7.8.2",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
- "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
@@ -21559,14 +22083,12 @@
},
"node_modules/safari-14-idb-fix": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/safari-14-idb-fix/-/safari-14-idb-fix-3.0.0.tgz",
- "integrity": "sha512-eBNFLob4PMq8JA1dGyFn6G97q3/WzNtFK4RnzT1fnLq+9RyrGknzYiM/9B12MnKAxuj1IXr7UKYtTNtjyKMBog=="
+ "license": "Apache-2.0"
},
"node_modules/safe-array-concat": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
- "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.2",
@@ -21583,21 +22105,17 @@
},
"node_modules/safe-array-concat/node_modules/isarray": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/safe-buffer": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "license": "MIT"
},
"node_modules/safe-push-apply": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
- "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"isarray": "^2.0.5"
@@ -21611,15 +22129,13 @@
},
"node_modules/safe-push-apply/node_modules/isarray": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/safe-regex-test": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
- "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
@@ -21632,15 +22148,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/safe-stable-stringify": {
+ "version": "2.5.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/safer-buffer": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "license": "MIT"
},
"node_modules/sass": {
"version": "1.89.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.1.tgz",
- "integrity": "sha512-eMLLkl+qz7tx/0cJ9wI+w09GQ2zodTkcE/aVfywwdlRcI3EO19xGnbmJwg/JMIm+5MxVJ6outddLZ4Von4E++Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21660,9 +22180,8 @@
},
"node_modules/sass-loader": {
"version": "13.2.0",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz",
- "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"klona": "^2.0.4",
"neo-async": "^2.6.2"
@@ -21698,8 +22217,6 @@
},
"node_modules/sass-lookup": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/sass-lookup/-/sass-lookup-6.1.0.tgz",
- "integrity": "sha512-Zx+lVyoWqXZxHuYWlTA17Z5sczJ6braNT2C7rmClw+c4E7r/n911Zwss3h1uHI9reR5AgHZyNHF7c2+VIp5AUA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21715,8 +22232,6 @@
},
"node_modules/sass-lookup/node_modules/commander": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -21725,15 +22240,13 @@
},
"node_modules/sax": {
"version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/saxes": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
- "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"xmlchars": "^2.2.0"
},
@@ -21743,8 +22256,7 @@
},
"node_modules/scheduler": {
"version": "0.19.1",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
- "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
@@ -21752,8 +22264,6 @@
},
"node_modules/schema-utils": {
"version": "4.3.2",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
- "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21772,9 +22282,8 @@
},
"node_modules/schema-utils/node_modules/ajv": {
"version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -21788,9 +22297,8 @@
},
"node_modules/schema-utils/node_modules/ajv-keywords": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3"
},
@@ -21800,21 +22308,18 @@
},
"node_modules/schema-utils/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/secure-compare": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
- "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/semantic-release": {
"version": "24.2.3",
- "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.3.tgz",
- "integrity": "sha512-KRhQG9cUazPavJiJEFIJ3XAMjgfd0fcK3B+T26qOl8L0UG5aZUjeRfREO0KM5InGtYwxqiiytkJrbcYoLDEv0A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@semantic-release/commit-analyzer": "^13.0.0-beta.1",
"@semantic-release/error": "^4.0.0",
@@ -21855,18 +22360,16 @@
},
"node_modules/semantic-release/node_modules/@semantic-release/error": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
- "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
- "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -21876,9 +22379,8 @@
},
"node_modules/semantic-release/node_modules/aggregate-error": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
- "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -21892,9 +22394,8 @@
},
"node_modules/semantic-release/node_modules/clean-stack": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
- "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "5.0.0"
},
@@ -21907,9 +22408,8 @@
},
"node_modules/semantic-release/node_modules/cosmiconfig": {
"version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"env-paths": "^2.2.1",
"import-fresh": "^3.3.0",
@@ -21933,9 +22433,8 @@
},
"node_modules/semantic-release/node_modules/escape-string-regexp": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
- "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -21945,9 +22444,8 @@
},
"node_modules/semantic-release/node_modules/execa": {
"version": "9.5.2",
- "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz",
- "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sindresorhus/merge-streams": "^4.0.0",
"cross-spawn": "^7.0.3",
@@ -21971,9 +22469,8 @@
},
"node_modules/semantic-release/node_modules/execa/node_modules/get-stream": {
"version": "9.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz",
- "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sec-ant/readable-stream": "^0.4.1",
"is-stream": "^4.0.1"
@@ -21987,9 +22484,8 @@
},
"node_modules/semantic-release/node_modules/figures": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz",
- "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-unicode-supported": "^2.0.0"
},
@@ -22002,9 +22498,8 @@
},
"node_modules/semantic-release/node_modules/get-stream": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -22014,9 +22509,8 @@
},
"node_modules/semantic-release/node_modules/hosted-git-info": {
"version": "8.0.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.2.tgz",
- "integrity": "sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"lru-cache": "^10.0.1"
},
@@ -22026,18 +22520,16 @@
},
"node_modules/semantic-release/node_modules/human-signals": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz",
- "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/semantic-release/node_modules/indent-string": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
- "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -22047,9 +22539,8 @@
},
"node_modules/semantic-release/node_modules/is-stream": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz",
- "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -22059,9 +22550,8 @@
},
"node_modules/semantic-release/node_modules/is-unicode-supported": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
- "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -22069,11 +22559,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/semantic-release/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/semantic-release/node_modules/marked": {
"version": "12.0.2",
- "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz",
- "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==",
"dev": true,
+ "license": "MIT",
"bin": {
"marked": "bin/marked.js"
},
@@ -22083,9 +22577,8 @@
},
"node_modules/semantic-release/node_modules/npm-run-path": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz",
- "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^4.0.0",
"unicorn-magic": "^0.3.0"
@@ -22099,9 +22592,8 @@
},
"node_modules/semantic-release/node_modules/p-reduce": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz",
- "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -22111,9 +22603,8 @@
},
"node_modules/semantic-release/node_modules/parse-ms": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz",
- "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -22123,9 +22614,8 @@
},
"node_modules/semantic-release/node_modules/path-key": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
- "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -22135,9 +22625,8 @@
},
"node_modules/semantic-release/node_modules/pretty-ms": {
"version": "9.2.0",
- "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz",
- "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parse-ms": "^4.0.0"
},
@@ -22150,9 +22639,8 @@
},
"node_modules/semantic-release/node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -22162,9 +22650,8 @@
},
"node_modules/semantic-release/node_modules/strip-final-newline": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
- "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -22174,9 +22661,8 @@
},
"node_modules/semantic-release/node_modules/unicorn-magic": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
- "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -22186,8 +22672,6 @@
},
"node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -22198,9 +22682,8 @@
},
"node_modules/semver-diff": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz",
- "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^7.3.5"
},
@@ -22213,9 +22696,8 @@
},
"node_modules/semver-regex": {
"version": "4.0.5",
- "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz",
- "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -22225,8 +22707,6 @@
},
"node_modules/send": {
"version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@@ -22249,8 +22729,6 @@
},
"node_modules/send/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -22258,14 +22736,10 @@
},
"node_modules/send/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/send/node_modules/depd": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -22273,8 +22747,6 @@
},
"node_modules/send/node_modules/encodeurl": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -22282,8 +22754,6 @@
},
"node_modules/send/node_modules/statuses": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -22291,8 +22761,6 @@
},
"node_modules/serialize-javascript": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
- "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -22301,8 +22769,6 @@
},
"node_modules/serve-static": {
"version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
"license": "MIT",
"dependencies": {
"encodeurl": "~2.0.0",
@@ -22316,14 +22782,10 @@
},
"node_modules/set-blocking": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ "license": "ISC"
},
"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==",
- "dev": true,
"license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
@@ -22339,9 +22801,8 @@
},
"node_modules/set-function-name": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
- "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -22354,9 +22815,8 @@
},
"node_modules/set-proto": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz",
- "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"dunder-proto": "^1.0.1",
"es-errors": "^1.3.0",
@@ -22368,13 +22828,12 @@
},
"node_modules/set-value": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz",
- "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==",
"funding": [
"https://github.com/sponsors/jonschlinkert",
"https://paypal.me/jonathanschlinkert",
"https://jonschlinkert.dev/sponsor"
],
+ "license": "MIT",
"dependencies": {
"is-plain-object": "^2.0.4",
"is-primitive": "^3.0.1"
@@ -22385,18 +22844,50 @@
},
"node_modules/setimmediate": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+ "license": "MIT"
},
"node_modules/setprototypeof": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
+ "license": "ISC"
+ },
+ "node_modules/sha.js": {
+ "version": "2.4.12",
+ "license": "(MIT AND BSD-3-Clause)",
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "safe-buffer": "^5.2.1",
+ "to-buffer": "^1.2.0"
+ },
+ "bin": {
+ "sha.js": "bin.js"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/sha.js/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
},
"node_modules/shallow-clone": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -22408,8 +22899,7 @@
},
"node_modules/shebang-command": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -22419,16 +22909,14 @@
},
"node_modules/shebang-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/side-channel": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
- "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3",
@@ -22445,8 +22933,7 @@
},
"node_modules/side-channel-list": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
- "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3"
@@ -22460,8 +22947,7 @@
},
"node_modules/side-channel-map": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
- "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
@@ -22477,8 +22963,7 @@
},
"node_modules/side-channel-weakmap": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
- "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
@@ -22495,16 +22980,13 @@
},
"node_modules/signal-exit": {
"version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"dev": true,
"license": "ISC"
},
"node_modules/signale": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz",
- "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^2.3.2",
"figures": "^2.0.0",
@@ -22516,9 +22998,8 @@
},
"node_modules/signale/node_modules/ansi-styles": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -22528,9 +23009,8 @@
},
"node_modules/signale/node_modules/chalk": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -22542,24 +23022,21 @@
},
"node_modules/signale/node_modules/color-convert": {
"version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "1.1.3"
}
},
"node_modules/signale/node_modules/color-name": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/signale/node_modules/figures": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^1.0.5"
},
@@ -22569,18 +23046,16 @@
},
"node_modules/signale/node_modules/has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/signale/node_modules/supports-color": {
"version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -22588,11 +23063,21 @@
"node": ">=4"
}
},
+ "node_modules/simple-swizzle": {
+ "version": "0.2.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.3.1"
+ }
+ },
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
+ "version": "0.3.2",
+ "license": "MIT"
+ },
"node_modules/skin-tone": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz",
- "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"unicode-emoji-modifier-base": "^1.0.0"
},
@@ -22602,18 +23087,15 @@
},
"node_modules/slash": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/smart-buffer": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
- "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">= 6.0.0",
@@ -22622,9 +23104,7 @@
},
"node_modules/socks": {
"version": "2.8.4",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz",
- "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"ip-address": "^9.0.5",
@@ -22637,8 +23117,6 @@
},
"node_modules/socks-proxy-agent": {
"version": "8.0.5",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
- "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -22652,8 +23130,6 @@
},
"node_modules/socks-proxy-agent/node_modules/agent-base": {
"version": "7.1.3",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
- "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -22662,17 +23138,14 @@
},
"node_modules/source-map": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
@@ -22681,8 +23154,6 @@
},
"node_modules/source-map-support": {
"version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -22690,17 +23161,22 @@
"source-map": "^0.6.0"
}
},
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
"node_modules/spawn-error-forwarder": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz",
- "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/spdx-correct": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
@@ -22708,15 +23184,13 @@
},
"node_modules/spdx-exceptions": {
"version": "2.5.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
- "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
- "dev": true
+ "dev": true,
+ "license": "CC-BY-3.0"
},
"node_modules/spdx-expression-parse": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -22724,30 +23198,32 @@
},
"node_modules/spdx-license-ids": {
"version": "3.0.21",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz",
- "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==",
- "dev": true
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/spex": {
+ "version": "3.4.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
},
"node_modules/split2": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz",
- "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"through2": "~2.0.0"
}
},
"node_modules/sprintf-js": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/sshpk": {
"version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -22768,11 +23244,17 @@
"node": ">=0.10.0"
}
},
+ "node_modules/stack-trace": {
+ "version": "0.0.10",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/stack-utils": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
- "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^2.0.0"
},
@@ -22782,35 +23264,31 @@
},
"node_modules/stack-utils/node_modules/escape-string-regexp": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/statuses": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/stealthy-require": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/stream-combiner2": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
- "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"duplexer2": "~0.1.0",
"readable-stream": "^2.0.2"
@@ -22818,9 +23296,8 @@
},
"node_modules/stream-combiner2/node_modules/readable-stream": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -22831,20 +23308,35 @@
"util-deprecate": "~1.0.1"
}
},
+ "node_modules/stream-events": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "stubs": "^3.0.0"
+ }
+ },
+ "node_modules/stream-shift": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/stream-to-array": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz",
- "integrity": "sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==",
"dev": true,
"license": "MIT",
"dependencies": {
"any-promise": "^1.1.0"
}
},
+ "node_modules/streamsearch": {
+ "version": "1.1.0",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/streamx": {
"version": "2.22.0",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz",
- "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -22857,18 +23349,15 @@
},
"node_modules/string_decoder": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/string-length": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
- "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"char-regex": "^1.0.2",
"strip-ansi": "^6.0.0"
@@ -22879,8 +23368,7 @@
},
"node_modules/string-width": {
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -22893,8 +23381,6 @@
"node_modules/string-width-cjs": {
"name": "string-width",
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -22907,9 +23393,8 @@
},
"node_modules/string.prototype.matchall": {
"version": "4.0.12",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz",
- "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
@@ -22934,9 +23419,8 @@
},
"node_modules/string.prototype.repeat": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz",
- "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-properties": "^1.1.3",
"es-abstract": "^1.17.5"
@@ -22944,9 +23428,8 @@
},
"node_modules/string.prototype.trim": {
"version": "1.2.10",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
- "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.2",
@@ -22965,9 +23448,8 @@
},
"node_modules/string.prototype.trimend": {
"version": "1.0.9",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
- "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.2",
@@ -22983,9 +23465,8 @@
},
"node_modules/string.prototype.trimstart": {
"version": "1.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
- "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -23000,8 +23481,6 @@
},
"node_modules/stringify-object": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
- "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -23015,8 +23494,6 @@
},
"node_modules/stringify-object/node_modules/is-obj": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -23025,8 +23502,7 @@
},
"node_modules/strip-ansi": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -23037,8 +23513,6 @@
"node_modules/strip-ansi-cjs": {
"name": "strip-ansi",
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -23049,27 +23523,23 @@
},
"node_modules/strip-bom": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/strip-final-newline": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/strip-json-comments": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -23077,11 +23547,26 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/strnum": {
+ "version": "1.1.2",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/stubs": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/style-loader": {
"version": "3.3.1",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz",
- "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 12.13.0"
},
@@ -23095,14 +23580,11 @@
},
"node_modules/style-mod": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz",
- "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==",
+ "license": "MIT",
"peer": true
},
"node_modules/stylus-lookup": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-6.1.0.tgz",
- "integrity": "sha512-5QSwgxAzXPMN+yugy61C60PhoANdItfdjSEZR8siFwz7yL9jTmV0UBKDCfn3K8GkGB4g0Y9py7vTCX8rFu4/pQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -23117,19 +23599,53 @@
},
"node_modules/stylus-lookup/node_modules/commander": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
}
},
+ "node_modules/subscriptions-transport-ws": {
+ "version": "0.11.0",
+ "license": "MIT",
+ "dependencies": {
+ "backo2": "^1.0.2",
+ "eventemitter3": "^3.1.0",
+ "iterall": "^1.2.1",
+ "symbol-observable": "^1.0.4",
+ "ws": "^5.2.0 || ^6.0.0 || ^7.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^15.7.2 || ^16.0.0"
+ }
+ },
+ "node_modules/subscriptions-transport-ws/node_modules/eventemitter3": {
+ "version": "3.1.2",
+ "license": "MIT"
+ },
+ "node_modules/subscriptions-transport-ws/node_modules/ws": {
+ "version": "7.5.10",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/super-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz",
- "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"function-timeout": "^1.0.1",
"time-span": "^5.1.0"
@@ -23143,9 +23659,7 @@
},
"node_modules/supports-color": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -23155,9 +23669,8 @@
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -23167,8 +23680,6 @@
},
"node_modules/svg-prep": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/svg-prep/-/svg-prep-1.0.4.tgz",
- "integrity": "sha1-IJ0gOw12IC4e5BJpKDDPcSWIejI=",
"dev": true,
"dependencies": {
"commander": "^2.8.1",
@@ -23183,21 +23694,25 @@
},
"node_modules/svg-prep/node_modules/commander": {
"version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/symbol-observable": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
"node_modules/symbol-tree": {
"version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/synckit": {
"version": "0.11.8",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz",
- "integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@pkgr/core": "^0.2.4"
},
@@ -23210,22 +23725,18 @@
},
"node_modules/tabbable": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-4.0.0.tgz",
- "integrity": "sha512-H1XoH1URcBOa/rZZWxLxHCtOdVUEev+9vo5YdYhC9tCY4wnybX+VQrCYuy9ubkg69fCBxCONJOSLGfw0DWMffQ=="
+ "license": "MIT"
},
"node_modules/tapable": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/tar-fs": {
"version": "3.0.9",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz",
- "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -23239,8 +23750,6 @@
},
"node_modules/tar-stream": {
"version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -23249,20 +23758,89 @@
"streamx": "^2.15.0"
}
},
+ "node_modules/teeny-request": {
+ "version": "9.0.0",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "http-proxy-agent": "^5.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "node-fetch": "^2.6.9",
+ "stream-events": "^1.0.5",
+ "uuid": "^9.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/teeny-request/node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/teeny-request/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/teeny-request/node_modules/node-fetch": {
+ "version": "2.7.0",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/teeny-request/node_modules/uuid": {
+ "version": "9.0.1",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
"node_modules/temp-dir": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz",
- "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.16"
}
},
"node_modules/tempy": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz",
- "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-stream": "^3.0.0",
"temp-dir": "^3.0.0",
@@ -23278,9 +23856,8 @@
},
"node_modules/tempy/node_modules/is-stream": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
- "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -23290,9 +23867,8 @@
},
"node_modules/tempy/node_modules/type-fest": {
"version": "2.19.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
- "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=12.20"
},
@@ -23302,8 +23878,6 @@
},
"node_modules/terser": {
"version": "5.39.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz",
- "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -23321,8 +23895,6 @@
},
"node_modules/terser-webpack-plugin": {
"version": "5.3.14",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz",
- "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -23356,8 +23928,6 @@
},
"node_modules/terser-webpack-plugin/node_modules/jest-worker": {
"version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -23371,8 +23941,6 @@
},
"node_modules/terser-webpack-plugin/node_modules/supports-color": {
"version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -23387,16 +23955,13 @@
},
"node_modules/terser/node_modules/commander": {
"version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true,
"license": "MIT"
},
"node_modules/test-exclude": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"@istanbuljs/schema": "^0.1.2",
"glob": "^7.1.4",
@@ -23408,9 +23973,8 @@
},
"node_modules/test-exclude/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -23420,8 +23984,6 @@
},
"node_modules/text-decoder": {
"version": "1.2.3",
- "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
- "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -23430,9 +23992,8 @@
},
"node_modules/text-extensions": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz",
- "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -23440,20 +24001,22 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/text-hex": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
"node_modules/thenify": {
"version": "3.3.1",
- "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
- "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"any-promise": "^1.0.0"
}
},
"node_modules/thenify-all": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"thenify": ">= 3.1.0 < 4"
},
@@ -23463,15 +24026,13 @@
},
"node_modules/through": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/through2": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"readable-stream": "~2.3.6",
"xtend": "~4.0.1"
@@ -23479,9 +24040,8 @@
},
"node_modules/through2/node_modules/readable-stream": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -23494,9 +24054,8 @@
},
"node_modules/time-span": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz",
- "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"convert-hrtime": "^5.0.0"
},
@@ -23509,14 +24068,12 @@
},
"node_modules/tiny-warning": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
- "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ "license": "MIT"
},
"node_modules/tldts": {
"version": "6.1.86",
- "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz",
- "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tldts-core": "^6.1.86"
},
@@ -23526,14 +24083,11 @@
},
"node_modules/tldts-core": {
"version": "6.1.86",
- "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz",
- "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/tmp": {
"version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"license": "MIT",
"dependencies": {
"os-tmpdir": "~1.0.2"
@@ -23544,15 +24098,47 @@
},
"node_modules/tmpl": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
- "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/to-buffer": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "isarray": "^2.0.5",
+ "safe-buffer": "^5.2.1",
+ "typed-array-buffer": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/to-buffer/node_modules/isarray": {
+ "version": "2.0.5",
+ "license": "MIT"
+ },
+ "node_modules/to-buffer/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
},
"node_modules/to-regex-range": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
@@ -23562,22 +24148,19 @@
},
"node_modules/toggle-selection": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
- "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
+ "license": "MIT"
},
"node_modules/toidentifier": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+ "license": "MIT",
"engines": {
"node": ">=0.6"
}
},
"node_modules/tough-cookie": {
"version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
@@ -23588,14 +24171,12 @@
},
"node_modules/tr46": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ "license": "MIT"
},
"node_modules/traverse": {
"version": "0.6.8",
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz",
- "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -23603,10 +24184,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/triple-beam": {
+ "version": "1.4.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
"node_modules/ts-api-utils": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
- "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -23618,13 +24204,10 @@
},
"node_modules/ts-essentials": {
"version": "2.0.12",
- "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-2.0.12.tgz",
- "integrity": "sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w=="
+ "license": "MIT"
},
"node_modules/ts-graphviz": {
"version": "2.1.6",
- "resolved": "https://registry.npmjs.org/ts-graphviz/-/ts-graphviz-2.1.6.tgz",
- "integrity": "sha512-XyLVuhBVvdJTJr2FJJV2L1pc4MwSjMhcunRVgDE9k4wbb2ee7ORYnPewxMWUav12vxyfUM686MSGsqnVRIInuw==",
"dev": true,
"funding": [
{
@@ -23649,8 +24232,6 @@
},
"node_modules/tsconfig-paths": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
- "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -23664,32 +24245,26 @@
},
"node_modules/tslib": {
"version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"license": "0BSD"
},
"node_modules/tsscmp": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
- "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
+ "license": "MIT",
"engines": {
"node": ">=0.6.x"
}
},
"node_modules/tunnel": {
"version": "0.0.6",
- "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
- "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
}
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"safe-buffer": "^5.0.1"
},
@@ -23697,17 +24272,29 @@
"node": "*"
}
},
+ "node_modules/tv4": {
+ "version": "1.3.0",
+ "license": [
+ {
+ "type": "Public Domain",
+ "url": "http://geraintluff.github.io/tv4/LICENSE.txt"
+ },
+ {
+ "type": "MIT",
+ "url": "http://jsonary.com/LICENSE.txt"
+ }
+ ],
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
"node_modules/tweetnacl": {
"version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
+ "license": "Unlicense"
},
"node_modules/type-check": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -23717,18 +24304,15 @@
},
"node_modules/type-detect": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/type-fest": {
"version": "4.38.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.38.0.tgz",
- "integrity": "sha512-2dBz5D5ycHIoliLYLi0Q2V7KRaDlH0uWIvmk7TYlAg5slqwiPv1ezJdZm1QEM0xgk29oYWMCbIG7E6gHpvChlg==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=16"
},
@@ -23738,8 +24322,7 @@
},
"node_modules/type-is": {
"version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "license": "MIT",
"dependencies": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
@@ -23750,9 +24333,7 @@
},
"node_modules/typed-array-buffer": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
- "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"es-errors": "^1.3.0",
@@ -23764,9 +24345,8 @@
},
"node_modules/typed-array-byte-length": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
- "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"for-each": "^0.3.3",
@@ -23783,9 +24363,8 @@
},
"node_modules/typed-array-byte-offset": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
- "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.8",
@@ -23804,9 +24383,8 @@
},
"node_modules/typed-array-length": {
"version": "1.0.7",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
- "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"for-each": "^0.3.3",
@@ -23824,15 +24402,11 @@
},
"node_modules/typed-query-selector": {
"version": "2.12.0",
- "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz",
- "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==",
"dev": true,
"license": "MIT"
},
"node_modules/typescript": {
"version": "5.8.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
- "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -23845,8 +24419,6 @@
},
"node_modules/ua-parser-js": {
"version": "0.7.33",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
- "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==",
"funding": [
{
"type": "opencollective",
@@ -23857,20 +24429,19 @@
"url": "https://paypal.me/faisalman"
}
],
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/uc.micro": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
+ "license": "MIT"
},
"node_modules/uglify-js": {
"version": "3.19.3",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
- "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"optional": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
@@ -23881,8 +24452,7 @@
},
"node_modules/uid-safe": {
"version": "2.1.5",
- "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz",
- "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==",
+ "license": "MIT",
"dependencies": {
"random-bytes": "~1.0.0"
},
@@ -23892,9 +24462,8 @@
},
"node_modules/unbox-primitive": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
- "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"has-bigints": "^1.0.2",
@@ -23910,14 +24479,10 @@
},
"node_modules/undici-types": {
"version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
"license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
- "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -23926,17 +24491,14 @@
},
"node_modules/unicode-emoji-modifier-base": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz",
- "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/unicode-match-property-ecmascript": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -23949,8 +24511,6 @@
},
"node_modules/unicode-match-property-value-ecmascript": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
- "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -23959,8 +24519,6 @@
},
"node_modules/unicode-property-aliases-ecmascript": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
- "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -23969,9 +24527,8 @@
},
"node_modules/unicorn-magic": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
- "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -23981,8 +24538,6 @@
},
"node_modules/union": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
- "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
"dev": true,
"dependencies": {
"qs": "^6.4.0"
@@ -23993,9 +24548,8 @@
},
"node_modules/unique-string": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz",
- "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"crypto-random-string": "^4.0.0"
},
@@ -24008,34 +24562,29 @@
},
"node_modules/universal-user-agent": {
"version": "7.0.3",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz",
- "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==",
"dev": true,
"license": "ISC"
},
"node_modules/universalify": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/unpipe": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/unrs-resolver": {
"version": "1.10.1",
- "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.10.1.tgz",
- "integrity": "sha512-EFrL7Hw4kmhZdwWO3dwwFJo6hO3FXuQ6Bg8BK/faHZ9m1YxqBS31BNSTxklIQkxK/4LlV8zTYnPsIRLBzTzjCA==",
"dev": true,
"hasInstallScript": true,
+ "license": "MIT",
"dependencies": {
"napi-postinstall": "^0.3.0"
},
@@ -24066,9 +24615,6 @@
},
"node_modules/update-browserslist-db": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
- "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -24097,23 +24643,19 @@
},
"node_modules/uri-js": {
"version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/url-join": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
- "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/use-callback-ref": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
- "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.0"
},
@@ -24132,8 +24674,7 @@
},
"node_modules/use-composed-ref": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.1.0.tgz",
- "integrity": "sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg==",
+ "license": "MIT",
"dependencies": {
"ts-essentials": "^2.0.3"
},
@@ -24143,8 +24684,7 @@
},
"node_modules/use-isomorphic-layout-effect": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz",
- "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==",
+ "license": "MIT",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0"
},
@@ -24156,8 +24696,7 @@
},
"node_modules/use-latest": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.0.tgz",
- "integrity": "sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==",
+ "license": "MIT",
"dependencies": {
"use-isomorphic-layout-effect": "^1.0.0"
},
@@ -24172,8 +24711,7 @@
},
"node_modules/use-sidecar": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
- "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "license": "MIT",
"dependencies": {
"detect-node-es": "^1.1.0",
"tslib": "^2.0.0"
@@ -24193,32 +24731,26 @@
},
"node_modules/util-deprecate": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
+ "license": "MIT"
},
"node_modules/utils-merge": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "license": "MIT",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/uuid": {
"version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "license": "MIT",
"bin": {
"uuid": "bin/uuid"
}
},
"node_modules/v8-to-istanbul": {
"version": "9.3.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
- "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.12",
"@types/istanbul-lib-coverage": "^2.0.1",
@@ -24230,30 +24762,43 @@
},
"node_modules/validate-npm-package-license": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
}
},
+ "node_modules/value-or-promise": {
+ "version": "1.0.12",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/vary": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
+ "node_modules/vasync": {
+ "version": "2.2.1",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "verror": "1.10.0"
+ }
+ },
"node_modules/verror": {
"version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
"engines": [
"node >=0.6.0"
],
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
@@ -24262,26 +24807,21 @@
},
"node_modules/verror/node_modules/core-util-is": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
+ "license": "MIT"
},
"node_modules/vscode-languageserver-types": {
"version": "3.17.2",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz",
- "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA=="
+ "license": "MIT"
},
"node_modules/w3c-keyname": {
"version": "2.2.8",
- "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
- "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
+ "license": "MIT",
"peer": true
},
"node_modules/w3c-xmlserializer": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
- "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"xml-name-validator": "^5.0.0"
},
@@ -24291,35 +24831,31 @@
},
"node_modules/walkdir": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz",
- "integrity": "sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/walker": {
"version": "1.0.8",
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
- "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"makeerror": "1.0.12"
}
},
"node_modules/warning": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
- "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.0.0"
}
},
"node_modules/watchpack": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
- "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
@@ -24330,22 +24866,35 @@
},
"node_modules/wcwidth": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
"dev": true,
+ "license": "MIT",
"dependencies": {
"defaults": "^1.0.3"
}
},
+ "node_modules/web-push": {
+ "version": "3.6.7",
+ "license": "MPL-2.0",
+ "dependencies": {
+ "asn1.js": "^5.3.0",
+ "http_ece": "1.2.0",
+ "https-proxy-agent": "^7.0.0",
+ "jws": "^4.0.0",
+ "minimist": "^1.2.5"
+ },
+ "bin": {
+ "web-push": "src/cli.js"
+ },
+ "engines": {
+ "node": ">= 16"
+ }
+ },
"node_modules/webidl-conversions": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ "license": "BSD-2-Clause"
},
"node_modules/webpack": {
"version": "5.99.9",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.9.tgz",
- "integrity": "sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -24392,8 +24941,6 @@
},
"node_modules/webpack-cli": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz",
- "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -24435,8 +24982,6 @@
},
"node_modules/webpack-cli/node_modules/commander": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -24445,8 +24990,6 @@
},
"node_modules/webpack-merge": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz",
- "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -24460,18 +25003,35 @@
},
"node_modules/webpack-sources": {
"version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.13.0"
}
},
+ "node_modules/websocket-driver": {
+ "version": "0.7.4",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/websocket-extensions": {
+ "version": "0.1.4",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/whatwg-encoding": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
- "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"iconv-lite": "0.6.3"
},
@@ -24481,9 +25041,8 @@
},
"node_modules/whatwg-encoding/node_modules/iconv-lite": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -24492,18 +25051,15 @@
}
},
"node_modules/whatwg-mimetype": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
- "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
- "dev": true,
+ "version": "3.0.0",
+ "license": "MIT",
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
"node_modules/whatwg-url": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -24511,8 +25067,7 @@
},
"node_modules/which": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -24525,9 +25080,8 @@
},
"node_modules/which-boxed-primitive": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
- "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-bigint": "^1.1.0",
"is-boolean-object": "^1.2.1",
@@ -24544,9 +25098,8 @@
},
"node_modules/which-builtin-type": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
- "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"function.prototype.name": "^1.1.6",
@@ -24571,15 +25124,13 @@
},
"node_modules/which-builtin-type/node_modules/isarray": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/which-collection": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
- "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-map": "^2.0.3",
"is-set": "^2.0.3",
@@ -24595,14 +25146,11 @@
},
"node_modules/which-module": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+ "license": "ISC"
},
"node_modules/which-typed-array": {
"version": "1.1.19",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
- "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
- "dev": true,
+ "license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.8",
@@ -24619,33 +25167,93 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
"node_modules/wildcard": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
- "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
"dev": true,
"license": "MIT"
},
+ "node_modules/winston": {
+ "version": "3.17.0",
+ "license": "MIT",
+ "dependencies": {
+ "@colors/colors": "^1.6.0",
+ "@dabh/diagnostics": "^2.0.2",
+ "async": "^3.2.3",
+ "is-stream": "^2.0.0",
+ "logform": "^2.7.0",
+ "one-time": "^1.0.0",
+ "readable-stream": "^3.4.0",
+ "safe-stable-stringify": "^2.3.1",
+ "stack-trace": "0.0.x",
+ "triple-beam": "^1.3.0",
+ "winston-transport": "^4.9.0"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/winston-daily-rotate-file": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "file-stream-rotator": "^0.6.1",
+ "object-hash": "^3.0.0",
+ "triple-beam": "^1.4.1",
+ "winston-transport": "^4.7.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "peerDependencies": {
+ "winston": "^3"
+ }
+ },
+ "node_modules/winston-transport": {
+ "version": "4.9.0",
+ "license": "MIT",
+ "dependencies": {
+ "logform": "^2.7.0",
+ "readable-stream": "^3.6.2",
+ "triple-beam": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/winston/node_modules/@colors/colors": {
+ "version": "1.6.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/winston/node_modules/async": {
+ "version": "3.2.6",
+ "license": "MIT"
+ },
"node_modules/word-wrap": {
"version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/wordwrap": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
+ "devOptional": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -24661,8 +25269,6 @@
"node_modules/wrap-ansi-cjs": {
"name": "wrap-ansi",
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -24678,14 +25284,12 @@
},
"node_modules/wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "license": "ISC"
},
"node_modules/write-file-atomic": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
- "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
"signal-exit": "^4.0.1"
@@ -24696,9 +25300,8 @@
},
"node_modules/write-file-atomic/node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -24708,9 +25311,6 @@
},
"node_modules/ws": {
"version": "8.18.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz",
- "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -24730,18 +25330,16 @@
},
"node_modules/xml-name-validator": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
- "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=18"
}
},
"node_modules/xml2js": {
"version": "0.4.23",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
- "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
@@ -24752,45 +25350,41 @@
},
"node_modules/xmlbuilder": {
"version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4.0"
}
},
"node_modules/xmlchars": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/xmlhttprequest": {
"version": "1.8.0",
- "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
- "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=",
+ "license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/xtend": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.4"
}
},
"node_modules/y18n": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
+ "license": "ISC"
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "license": "ISC"
},
"node_modules/yaml": {
"version": "2.8.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
- "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
"dev": true,
"license": "ISC",
"bin": {
@@ -24802,9 +25396,8 @@
},
"node_modules/yargs": {
"version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dev": true,
+ "devOptional": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -24820,18 +25413,16 @@
},
"node_modules/yargs-parser": {
"version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/yargs/node_modules/cliui": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
+ "devOptional": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
@@ -24843,26 +25434,22 @@
},
"node_modules/yargs/node_modules/y18n": {
"version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
+ "devOptional": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/yargs/node_modules/yargs-parser": {
"version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true,
+ "devOptional": true,
+ "license": "ISC",
"engines": {
"node": ">=12"
}
},
"node_modules/yauzl": {
"version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -24872,9 +25459,7 @@
},
"node_modules/yocto-queue": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -24884,9 +25469,8 @@
},
"node_modules/yoctocolors": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz",
- "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -24896,8 +25480,6 @@
},
"node_modules/yoctocolors-cjs": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
- "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -24908,8 +25490,6 @@
},
"node_modules/zod": {
"version": "3.25.28",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.28.tgz",
- "integrity": "sha512-/nt/67WYKnr5by3YS7LroZJbtcCBurDKKPBPWWzaxvVCGuG/NOsiKkrjoOhI8mJ+SQUXEbUzeB3S+6XDUEEj7Q==",
"dev": true,
"license": "MIT",
"funding": {
diff --git a/package.json b/package.json
index 64bb633aca..9ce47100fc 100644
--- a/package.json
+++ b/package.json
@@ -39,13 +39,16 @@
"@babel/runtime-corejs3": "7.27.4",
"bcryptjs": "3.0.2",
"body-parser": "2.2.0",
+ "chart.js": "^4.5.0",
+ "chartjs-adapter-date-fns": "^3.0.0",
"commander": "13.1.0",
"connect-flash": "0.1.1",
"cookie-session": "2.1.0",
"copy-to-clipboard": "3.3.3",
"core-js": "3.42.0",
"csurf": "1.11.0",
- "express": "4.21.2",
+ "date-fns": "^4.1.0",
+ "express": "^4.21.2",
"fast-deep-equal": "3.1.3",
"graphiql": "2.0.8",
"graphql": "16.11.0",
@@ -56,6 +59,7 @@
"otpauth": "8.0.3",
"package-json": "7.0.0",
"parse": "3.5.1",
+ "parse-server": "^8.2.1",
"passport": "0.5.3",
"passport-local": "1.0.0",
"prismjs": "1.30.0",
@@ -63,6 +67,7 @@
"qrcode": "1.5.4",
"react": "16.14.0",
"react-ace": "14.0.1",
+ "react-chartjs-2": "^5.3.0",
"react-dnd": "10.0.2",
"react-dnd-html5-backend": "16.0.1",
"react-dom": "16.14.0",
@@ -142,7 +147,7 @@
"parse-dashboard": "./bin/parse-dashboard"
},
"engines": {
- "node": ">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"
+ "node": ">=20.8.1 <21.0.0 || >=22.12.0 <23.0.0"
},
"main": "Parse-Dashboard/app.js",
"jest": {
diff --git a/scripts/before_script.sh b/scripts/before_script.sh
index 06bda6d29f..bcb00ade20 100755
--- a/scripts/before_script.sh
+++ b/scripts/before_script.sh
@@ -1,8 +1,8 @@
-#!/bin/sh
-set -e
-set -x
-
-test -f Parse-Dashboard/public/bundles/dashboard.bundle.js
-test -f Parse-Dashboard/public/bundles/login.bundle.js
-test -f Parse-Dashboard/public/bundles/sprites.svg
-test -d Parse-Dashboard/public/bundles/img
+#!/bin/sh
+set -e
+set -x
+
+test -f Parse-Dashboard/public/bundles/dashboard.bundle.js
+test -f Parse-Dashboard/public/bundles/login.bundle.js
+test -f Parse-Dashboard/public/bundles/sprites.svg
+test -d Parse-Dashboard/public/bundles/img
diff --git a/src/components/AggregationPanel/AggregationPanel.scss b/src/components/AggregationPanel/AggregationPanel.scss
index 0cee53e290..7029abb275 100644
--- a/src/components/AggregationPanel/AggregationPanel.scss
+++ b/src/components/AggregationPanel/AggregationPanel.scss
@@ -21,19 +21,6 @@
font-size: 14px;
display: flex;
gap: 10px;
- align-items: center;
-
- .copyIcon {
- display: none;
- cursor: pointer;
- margin-left: 4px;
- color: inherit;
- opacity: 0.6;
- }
-
- &:hover .copyIcon {
- display: inline-block;
- }
}
.video {
@@ -119,13 +106,13 @@
align-items: center;
justify-content: space-between;
gap: 8px;
- border-left: 1px solid transparent;
+ border-left: 1px solid transparent;
background-color: $blue;
color: $white;
cursor: pointer;
padding-right: 4px;
-
- &.expanded {
+
+ &.expanded {
border-left-color: #e3e3ea;
}
}
@@ -169,7 +156,7 @@
}
.segmentContainer {
- border-left: 1px solid #e3e3ea;
+ border-left: 1px solid #e3e3ea;
border-bottom: 1px solid #e3e3ea;
margin-bottom: 16px;
- }
\ No newline at end of file
+}
diff --git a/src/components/AppBadge/AppBadge.scss b/src/components/AppBadge/AppBadge.scss
index 0bd41413cc..17713186af 100644
--- a/src/components/AppBadge/AppBadge.scss
+++ b/src/components/AppBadge/AppBadge.scss
@@ -1,30 +1,30 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.badge {
- @include DosisFont;
- display: inline-block;
- height: 26px;
- line-height: 26px;
- vertical-align: middle;
- text-align: center;
- border: 1px solid #768C97;
- color: #768C97;
- border-radius: 5px;
- font-size: 10px;
- letter-spacing: 4px;
- width: 60px;
- padding-left: 3px;
- float: right;
-}
-
-.prod {
- color: #00dc7c;
- border-color: #00dc7c;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.badge {
+ @include DosisFont;
+ display: inline-block;
+ height: 26px;
+ line-height: 26px;
+ vertical-align: middle;
+ text-align: center;
+ border: 1px solid #768C97;
+ color: #768C97;
+ border-radius: 5px;
+ font-size: 10px;
+ letter-spacing: 4px;
+ width: 60px;
+ padding-left: 3px;
+ float: right;
+}
+
+.prod {
+ color: #00dc7c;
+ border-color: #00dc7c;
+}
diff --git a/src/components/Autocomplete/Autocomplete.scss b/src/components/Autocomplete/Autocomplete.scss
index a2e2d3ad60..f0a20bb696 100644
--- a/src/components/Autocomplete/Autocomplete.scss
+++ b/src/components/Autocomplete/Autocomplete.scss
@@ -1,63 +1,63 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
- @import "stylesheets/globals.scss";
-
-.field {
- width: 100%;
- height: 56px;
- border-radius: 4px;
- position: relative;
- transition: 0.3s background-color ease-in-out, 0.3s box-shadow ease-in-out;
-}
-
-.field.dropdown input{
- border-radius: 5px 5px 0px 0px;
-}
-
-.field.active input + label {
- opacity: 1;
- font-size: 0.5em;
- color: #0e69a1;
-}
-
-.field.locked {
- pointer-events: none;
-}
-
-.field input {
- height: 40px;
-
- border: 1px solid $mainTextColor;
- border-radius: 5px;
- font-size: 14px;
- outline: none;
- vertical-align: top;
- line-height: normal;
- position: relative;
- font-weight: 400;
- transition: 0.3s background-color ease-in-out, 0.3s box-shadow ease-in-out,
- 0.1s padding ease-in-out;
- -webkit-appearance: none;
-}
-
-.field input + label {
- position: absolute;
- top: 6px;
- left: 26px;
- font-family: "Gotham SSm A", "Gotham SSm B", sans-serif;
- font-size: 14px;
- font-weight: 600;
- line-height: 24px;
- opacity: 0;
- pointer-events: none;
- transition: 0.1s all ease-in-out;
-}
-
-.field input + label.error {
- color: #ec392f;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+ @import "stylesheets/globals.scss";
+
+.field {
+ width: 100%;
+ height: 56px;
+ border-radius: 4px;
+ position: relative;
+ transition: 0.3s background-color ease-in-out, 0.3s box-shadow ease-in-out;
+}
+
+.field.dropdown input{
+ border-radius: 5px 5px 0px 0px;
+}
+
+.field.active input + label {
+ opacity: 1;
+ font-size: 0.5em;
+ color: #0e69a1;
+}
+
+.field.locked {
+ pointer-events: none;
+}
+
+.field input {
+ height: 40px;
+
+ border: 1px solid $mainTextColor;
+ border-radius: 5px;
+ font-size: 14px;
+ outline: none;
+ vertical-align: top;
+ line-height: normal;
+ position: relative;
+ font-weight: 400;
+ transition: 0.3s background-color ease-in-out, 0.3s box-shadow ease-in-out,
+ 0.1s padding ease-in-out;
+ -webkit-appearance: none;
+}
+
+.field input + label {
+ position: absolute;
+ top: 6px;
+ left: 26px;
+ font-family: "Gotham SSm A", "Gotham SSm B", sans-serif;
+ font-size: 14px;
+ font-weight: 600;
+ line-height: 24px;
+ opacity: 0;
+ pointer-events: none;
+ transition: 0.1s all ease-in-out;
+}
+
+.field input + label.error {
+ color: #ec392f;
}
\ No newline at end of file
diff --git a/src/components/BooleanEditor/BooleanEditor.scss b/src/components/BooleanEditor/BooleanEditor.scss
index f7ac24aed9..d13612ce2a 100644
--- a/src/components/BooleanEditor/BooleanEditor.scss
+++ b/src/components/BooleanEditor/BooleanEditor.scss
@@ -1,16 +1,16 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-.editor {
- background: white;
- white-space: nowrap;
- box-shadow: 0 1px 4px rgba(0,0,0,0.4);
-
- > *:first-child {
- margin: 6px 0;
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.editor {
+ background: white;
+ white-space: nowrap;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.4);
+
+ > *:first-child {
+ margin: 6px 0;
+ }
}
\ No newline at end of file
diff --git a/src/components/BrowserCell/BrowserCell.scss b/src/components/BrowserCell/BrowserCell.scss
index af7914205e..2832fdba6e 100644
--- a/src/components/BrowserCell/BrowserCell.scss
+++ b/src/components/BrowserCell/BrowserCell.scss
@@ -1,149 +1,149 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-.cell {
- display: inline-block;
- overflow: hidden;
- text-overflow: ellipsis;
- cursor: default;
- color: #0E69A1;
- height: 30px;
- line-height: 20px;
- padding: 5px;
- border-right: 1px solid #e3e3ea;
-}
-
-.empty {
- color: #7D929F;
-}
-
-.current {
- position: relative;
-
- &:after {
- position: absolute;
- pointer-events: none;
- content: '';
- border: 2px solid #555572;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- }
-}
-
-.leftBorder {
- position: relative;
-
- &:after {
- position: absolute;
- pointer-events: none;
- content: '';
- border-left: 2px solid #555572;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- }
-}
-
-.rightBorder {
- position: relative;
-
- &:after {
- position: absolute;
- pointer-events: none;
- content: '';
- border-right: 2px solid #555572;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- }
-}
-
-.topBorder {
- position: relative;
-
- &:after {
- position: absolute;
- pointer-events: none;
- content: '';
- border-top: 2px solid #555572;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- }
-}
-
-.bottomBorder {
- position: relative;
-
- &:after {
- position: absolute;
- pointer-events: none;
- content: '';
- border-bottom: 2px solid #555572;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- }
-}
-
-.selected {
- background-color: #e3effd;
-}
-
-.hasMore {
- height: auto;
- max-height: 25px;
- overflow-y: scroll;
- padding-right: 3px;
- & > li {
- margin-bottom: 2px;
- }
-}
-
-.removePadding {
- padding-right: 3px !important;
-}
-
-.hasMore::-webkit-scrollbar {
- -webkit-appearance: none!important;
- width: 6px!important;
-}
-
-.hasMore::-webkit-scrollbar-thumb {
- border-radius: 4px!important;
- background-color: rgba(0, 0, 0, .5)!important;
- box-shadow: 0 0 1px rgba(255, 255, 255, .5)!important;
-}
-.required {
- position: relative;
-
- &:after {
- position: absolute;
- pointer-events: none;
- content: '';
- border: 2px solid #ff395e;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- }
-}
-
-.readonly {
- color: #04263bd1;
-}
-
-.action {
- padding: 28px;
- border-style: solid;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.cell {
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ cursor: default;
+ color: #0E69A1;
+ height: 30px;
+ line-height: 20px;
+ padding: 5px;
+ border-right: 1px solid #e3e3ea;
+}
+
+.empty {
+ color: #7D929F;
+}
+
+.current {
+ position: relative;
+
+ &:after {
+ position: absolute;
+ pointer-events: none;
+ content: '';
+ border: 2px solid #555572;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
+}
+
+.leftBorder {
+ position: relative;
+
+ &:after {
+ position: absolute;
+ pointer-events: none;
+ content: '';
+ border-left: 2px solid #555572;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
+}
+
+.rightBorder {
+ position: relative;
+
+ &:after {
+ position: absolute;
+ pointer-events: none;
+ content: '';
+ border-right: 2px solid #555572;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
+}
+
+.topBorder {
+ position: relative;
+
+ &:after {
+ position: absolute;
+ pointer-events: none;
+ content: '';
+ border-top: 2px solid #555572;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
+}
+
+.bottomBorder {
+ position: relative;
+
+ &:after {
+ position: absolute;
+ pointer-events: none;
+ content: '';
+ border-bottom: 2px solid #555572;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
+}
+
+.selected {
+ background-color: #e3effd;
+}
+
+.hasMore {
+ height: auto;
+ max-height: 25px;
+ overflow-y: scroll;
+ padding-right: 3px;
+ & > li {
+ margin-bottom: 2px;
+ }
+}
+
+.removePadding {
+ padding-right: 3px !important;
+}
+
+.hasMore::-webkit-scrollbar {
+ -webkit-appearance: none!important;
+ width: 6px!important;
+}
+
+.hasMore::-webkit-scrollbar-thumb {
+ border-radius: 4px!important;
+ background-color: rgba(0, 0, 0, .5)!important;
+ box-shadow: 0 0 1px rgba(255, 255, 255, .5)!important;
+}
+.required {
+ position: relative;
+
+ &:after {
+ position: absolute;
+ pointer-events: none;
+ content: '';
+ border: 2px solid #ff395e;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
+}
+
+.readonly {
+ color: #04263bd1;
+}
+
+.action {
+ padding: 28px;
+ border-style: solid;
+}
diff --git a/src/components/BrowserFilter/BrowserFilter.scss b/src/components/BrowserFilter/BrowserFilter.scss
index 4fc6707712..a4d398bf6f 100644
--- a/src/components/BrowserFilter/BrowserFilter.scss
+++ b/src/components/BrowserFilter/BrowserFilter.scss
@@ -1,165 +1,165 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.wrap {
- display: inline-block;
-}
-
-.entry {
- height: 30px;
- padding: 8px;
-
- svg {
- fill: #66637A;
- }
-
- &:hover svg {
- fill: white;
- }
-
- &.disabled {
- cursor: not-allowed;
- color: #66637A;
-
- &:hover svg {
- fill: #66637A;
- }
- }
-}
-
-.entry.active {
- background: $blue;
- border-radius: 5px;
-
- svg {
- fill: white;
- }
-}
-
-.active .title, .active .body {
- background: $blue;
-}
-
-.title {
- background: #797691;
- padding: 8px;
- border-radius: 5px 5px 0 0;
-
- svg {
- fill: white;
- }
-}
-
-.entry, .title {
- @include NotoSansFont;
- position: relative;
- bottom: -4px;
- font-size: 14px;
- color: #ffffff;
- cursor: pointer;
-
- svg {
- vertical-align: top;
- margin-right: 6px;
- }
-
- span {
- display: inline-block;
- vertical-align: top;
- height: 14px;
- line-height: 14px;
- }
-}
-
-.objectPickerContent {
- .entry svg {
- fill: rgba(0, 0, 0, 0.3);
- }
-}
-
-.body {
- position: absolute;
- display: flex;
- flex-direction: column;
- max-height: 500px;
- overflow: hidden;
- top: 30px;
- right: 0;
- border-radius: 5px 0 5px 5px;
- background: #797691;
- width: 685px;
- font-size: 14px;
-}
-
-.footer {
- background: rgba(0,0,0,0.2);
- padding: 11px 16px;
- text-align: center;
- display: flex;
- justify-content: space-between;
- > button {
- margin-right: 10px;
-
- &:last-child {
- margin-right: 0;
- }
- }
-}
-
-.row {
- padding: 8px 15px;
-
- > * {
- margin-right: 10px;
-
- &:nth-last-child(2) {
- margin-right: 0;
- }
- }
-
- input {
- @include MonospaceFont;
- height: 30px;
- width: 140px;
- background: #343445;
- border: none;
- outline: none;
- border-radius: 5px;
- vertical-align: top;
- padding: 0 8px;
- color: white;
- font-size: 14px;
- }
-}
-
-.active .row input {
- background: #0E69A1;
-}
-
-.remove {
- @include buttonReset;
- display: inline-block;
- height: 14px;
- margin: 8px;
-}
-
-.date {
- display: inline-block;
- vertical-align: top;
-}
-
-.flex{
- display: flex;
- align-items: center;
-}
-
-.btnFlex{
- display: flex;
- gap: 12px;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.wrap {
+ display: inline-block;
+}
+
+.entry {
+ height: 30px;
+ padding: 8px;
+
+ svg {
+ fill: #66637A;
+ }
+
+ &:hover svg {
+ fill: white;
+ }
+
+ &.disabled {
+ cursor: not-allowed;
+ color: #66637A;
+
+ &:hover svg {
+ fill: #66637A;
+ }
+ }
+}
+
+.entry.active {
+ background: $blue;
+ border-radius: 5px;
+
+ svg {
+ fill: white;
+ }
+}
+
+.active .title, .active .body {
+ background: $blue;
+}
+
+.title {
+ background: #797691;
+ padding: 8px;
+ border-radius: 5px 5px 0 0;
+
+ svg {
+ fill: white;
+ }
+}
+
+.entry, .title {
+ @include NotoSansFont;
+ position: relative;
+ bottom: -4px;
+ font-size: 14px;
+ color: #ffffff;
+ cursor: pointer;
+
+ svg {
+ vertical-align: top;
+ margin-right: 6px;
+ }
+
+ span {
+ display: inline-block;
+ vertical-align: top;
+ height: 14px;
+ line-height: 14px;
+ }
+}
+
+.objectPickerContent {
+ .entry svg {
+ fill: rgba(0, 0, 0, 0.3);
+ }
+}
+
+.body {
+ position: absolute;
+ display: flex;
+ flex-direction: column;
+ max-height: 500px;
+ overflow: hidden;
+ top: 30px;
+ right: 0;
+ border-radius: 5px 0 5px 5px;
+ background: #797691;
+ width: 685px;
+ font-size: 14px;
+}
+
+.footer {
+ background: rgba(0,0,0,0.2);
+ padding: 11px 16px;
+ text-align: center;
+ display: flex;
+ justify-content: space-between;
+ > button {
+ margin-right: 10px;
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+}
+
+.row {
+ padding: 8px 15px;
+
+ > * {
+ margin-right: 10px;
+
+ &:nth-last-child(2) {
+ margin-right: 0;
+ }
+ }
+
+ input {
+ @include MonospaceFont;
+ height: 30px;
+ width: 140px;
+ background: #343445;
+ border: none;
+ outline: none;
+ border-radius: 5px;
+ vertical-align: top;
+ padding: 0 8px;
+ color: white;
+ font-size: 14px;
+ }
+}
+
+.active .row input {
+ background: #0E69A1;
+}
+
+.remove {
+ @include buttonReset;
+ display: inline-block;
+ height: 14px;
+ margin: 8px;
+}
+
+.date {
+ display: inline-block;
+ vertical-align: top;
+}
+
+.flex{
+ display: flex;
+ align-items: center;
+}
+
+.btnFlex{
+ display: flex;
+ gap: 12px;
}
\ No newline at end of file
diff --git a/src/components/BrowserMenu/BrowserMenu.scss b/src/components/BrowserMenu/BrowserMenu.scss
index 9c73ca3341..bb5b835750 100644
--- a/src/components/BrowserMenu/BrowserMenu.scss
+++ b/src/components/BrowserMenu/BrowserMenu.scss
@@ -1,116 +1,116 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.wrap {
- display: inline-block;
-}
-
-.entry {
- height: 30px;
- padding: 8px;
-
- svg {
- fill: #66637A;
- }
-
- &:hover {
- svg {
- fill: white;
- }
- }
-
- &.disabled {
- cursor: not-allowed;
- color: #66637A;
-
- &:hover svg {
- fill: #66637A;
- }
- }
-
- &.active {
- background: $orange;
- border-radius: 5px;
-
- svg {
- fill: white;
- }
- }
-}
-
-.title {
- background: #797592;
- padding: 8px;
- border-radius: 5px 5px 0 0;
-
- svg {
- fill: white;
- }
-
- &.active {
- background: $orange;
- border-radius: 5px;
- }
-}
-
-.entry, .title {
- @include NotoSansFont;
- position: relative;
- bottom: -4px;
- font-size: 14px;
- color: #ffffff;
- cursor: pointer;
-
- svg {
- vertical-align: top;
- margin-right: 4px;
- }
-
- span {
- vertical-align: top;
- height: 14px;
- line-height: 14px;
- }
-}
-
-.body {
- position: absolute;
- top: 30px;
- right: 0;
- border-radius: 5px 0 5px 5px;
- background: #797592;
- padding: 8px 0;
- font-size: 14px;
-}
-
-.item {
- padding: 4px 14px;
- white-space: nowrap;
- cursor: pointer;
- color: white;
-
- &:hover {
- background: $blue;
- }
-
- &.disabled {
- color: rgba(0,0,0,0.2);
- cursor: not-allowed;
-
- &:hover {
- background: none;
- }
- }
-}
-
-.separator {
- background: rgba(0,0,0,0.1);
- height: 1px;
- margin: 4px 0;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.wrap {
+ display: inline-block;
+}
+
+.entry {
+ height: 30px;
+ padding: 8px;
+
+ svg {
+ fill: #66637A;
+ }
+
+ &:hover {
+ svg {
+ fill: white;
+ }
+ }
+
+ &.disabled {
+ cursor: not-allowed;
+ color: #66637A;
+
+ &:hover svg {
+ fill: #66637A;
+ }
+ }
+
+ &.active {
+ background: $orange;
+ border-radius: 5px;
+
+ svg {
+ fill: white;
+ }
+ }
+}
+
+.title {
+ background: #797592;
+ padding: 8px;
+ border-radius: 5px 5px 0 0;
+
+ svg {
+ fill: white;
+ }
+
+ &.active {
+ background: $orange;
+ border-radius: 5px;
+ }
+}
+
+.entry, .title {
+ @include NotoSansFont;
+ position: relative;
+ bottom: -4px;
+ font-size: 14px;
+ color: #ffffff;
+ cursor: pointer;
+
+ svg {
+ vertical-align: top;
+ margin-right: 4px;
+ }
+
+ span {
+ vertical-align: top;
+ height: 14px;
+ line-height: 14px;
+ }
+}
+
+.body {
+ position: absolute;
+ top: 30px;
+ right: 0;
+ border-radius: 5px 0 5px 5px;
+ background: #797592;
+ padding: 8px 0;
+ font-size: 14px;
+}
+
+.item {
+ padding: 4px 14px;
+ white-space: nowrap;
+ cursor: pointer;
+ color: white;
+
+ &:hover {
+ background: $blue;
+ }
+
+ &.disabled {
+ color: rgba(0,0,0,0.2);
+ cursor: not-allowed;
+
+ &:hover {
+ background: none;
+ }
+ }
+}
+
+.separator {
+ background: rgba(0,0,0,0.1);
+ height: 1px;
+ margin: 4px 0;
+}
diff --git a/src/components/Button/Button.scss b/src/components/Button/Button.scss
index 6612992b9e..b559da7fb3 100644
--- a/src/components/Button/Button.scss
+++ b/src/components/Button/Button.scss
@@ -1,131 +1,131 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.button {
- @include DosisFont;
- @include buttonReset($bg: none, $border: 1px solid $blue, $padding: 0 16px);
- display: inline-block;
- height: 30px;
- line-height: 28px;
- outline: 0;
- text-decoration: none;
- text-align: center;
- border-radius: 5px;
- font-size: 14px;
-
- color: $blue;
-
- &:hover, &:focus {
- background-color: $blue;
- color: white;
- }
-}
-
-.primary {
- background-color: $blue;
- color: $white;
-
- &:hover, &:focus {
- background-color: $darkBlue;
- }
-}
-
-.green {
- color: $green;
- border-color: $green;
-
- &:hover, &:focus {
- background-color: $lightGreen;
- }
-
- &.primary {
- background-color: $green;
- color: $white;
-
- &:hover, &:focus {
- background-color: $darkGreen;
- }
- }
-}
-
-.red {
- color: $red;
- border-color: $red;
-
- &:hover, &:focus {
- background-color: $lightRed;
- }
-
- &.primary {
- background-color: $red;
- color: $white;
-
- &:hover, &:focus {
- background-color: $darkRed;
- }
- }
-}
-
-.white {
- color: $white;
- border-color: $white;
- line-height: 28px;
-
- &:hover, &:focus{
- background-color: $white;
- color: $blue;
- }
-
- &.primary {
- background-color: $white;
- color: $blue;
-
- &:hover, &:focus {
- background-color: $blue;
- border-color: $blue;
- color: white;
- }
- }
-
- &.disabled {
- background-color: transparent;
- border-color: white;
- opacity: 0.2;
- }
-}
-
-.progress {
- background-image: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.3));
- background-size: 40px 100%;
- background-repeat: no-repeat;
- cursor: wait;
- @include animation('progress-bg 0.5s infinite');
-}
-
-.disabled, .disabled.primary {
- background-color: #e0e0ea;
- border-color: #e0e0ea;
- color: white;
- cursor: default;
- &:hover{
- background-color: #e0e0ea;
- border-color: #e0e0ea;
- color: white;
- }
-}
-
-@include keyframes(progress-bg) {
- 0% {
- background-position: -40 0;
- }
- 100% {
- background-position: 150% 0;
- }
-}
-
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.button {
+ @include DosisFont;
+ @include buttonReset($bg: none, $border: 1px solid $blue, $padding: 0 16px);
+ display: inline-block;
+ height: 30px;
+ line-height: 28px;
+ outline: 0;
+ text-decoration: none;
+ text-align: center;
+ border-radius: 5px;
+ font-size: 14px;
+
+ color: $blue;
+
+ &:hover, &:focus {
+ background-color: $blue;
+ color: white;
+ }
+}
+
+.primary {
+ background-color: $blue;
+ color: $white;
+
+ &:hover, &:focus {
+ background-color: $darkBlue;
+ }
+}
+
+.green {
+ color: $green;
+ border-color: $green;
+
+ &:hover, &:focus {
+ background-color: $lightGreen;
+ }
+
+ &.primary {
+ background-color: $green;
+ color: $white;
+
+ &:hover, &:focus {
+ background-color: $darkGreen;
+ }
+ }
+}
+
+.red {
+ color: $red;
+ border-color: $red;
+
+ &:hover, &:focus {
+ background-color: $lightRed;
+ }
+
+ &.primary {
+ background-color: $red;
+ color: $white;
+
+ &:hover, &:focus {
+ background-color: $darkRed;
+ }
+ }
+}
+
+.white {
+ color: $white;
+ border-color: $white;
+ line-height: 28px;
+
+ &:hover, &:focus{
+ background-color: $white;
+ color: $blue;
+ }
+
+ &.primary {
+ background-color: $white;
+ color: $blue;
+
+ &:hover, &:focus {
+ background-color: $blue;
+ border-color: $blue;
+ color: white;
+ }
+ }
+
+ &.disabled {
+ background-color: transparent;
+ border-color: white;
+ opacity: 0.2;
+ }
+}
+
+.progress {
+ background-image: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.3));
+ background-size: 40px 100%;
+ background-repeat: no-repeat;
+ cursor: wait;
+ @include animation('progress-bg 0.5s infinite');
+}
+
+.disabled, .disabled.primary {
+ background-color: #e0e0ea;
+ border-color: #e0e0ea;
+ color: white;
+ cursor: default;
+ &:hover{
+ background-color: #e0e0ea;
+ border-color: #e0e0ea;
+ color: white;
+ }
+}
+
+@include keyframes(progress-bg) {
+ 0% {
+ background-position: -40 0;
+ }
+ 100% {
+ background-position: 150% 0;
+ }
+}
+
diff --git a/src/components/Calendar/Calendar.scss b/src/components/Calendar/Calendar.scss
index f178332267..83473aaee2 100644
--- a/src/components/Calendar/Calendar.scss
+++ b/src/components/Calendar/Calendar.scss
@@ -1,134 +1,134 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.calendar {
- background: white;
- color: $blue;
- width: 182px;
- height: auto;
-}
-
-.month {
- margin-bottom: 10px;
-
- button {
- @include buttonReset($border: 1px solid $blue);
- position: relative;
- display: inline-block;
- width: 14px;
- height: 14px;
- border-radius: 100%;
- opacity: 0.5;
- margin: 0 6px;
-
- &:hover {
- opacity: 1;
- }
-
- &:first-of-type {
- float: left;
-
- &:before {
- content: '';
- position: absolute;
- @include arrow('left', 8px, 4px, $blue);
- top: 2px;
- left: 4px;
- }
-
- &:after {
- content: '';
- position: absolute;
- @include arrow('left', 8px, 4px, white);
- top: 2px;
- left: 5px;
- }
- }
-
- &:last-of-type {
- float: right;
-
- &:before {
- content: '';
- position: absolute;
- @include arrow('right', 8px, 4px, $blue);
- top: 2px;
- left: 4px;
- }
-
- &:after {
- content: '';
- position: absolute;
- @include arrow('right', 8px, 4px, white);
- top: 2px;
- left: 3px;
- }
- }
- }
-
- div {
- font-size: 14px;
- text-align: center;
- }
-}
-
-.weekdays {
- opacity: 0.5;
- font-size: 12px;
- margin-bottom: 8px;
-
- span {
- display: inline-block;
- width: 26px;
- height: 13px;
- line-height: 13px;
- font-size: 13px;
- text-align: center;
- }
-}
-
-.days {
- span, button {
- @include buttonReset;
- display: inline-block;
- vertical-align: bottom;
- width: 26px;
- height: 20px;
- line-height: 20px;
- font-size: 12px;
- text-align: center;
- margin: 0;
- color: $blue;
- }
-
- .selected {
- color: white;
- background: $darkBlue;
- }
-}
-
-.shadeBefore {
- a {
- background: #efeff1;
- }
-
- .selected {
- background: $darkBlue;
- }
-
- .selected ~ button {
- background: white;
- }
-}
-
-.shadeAfter {
- .selected ~ button {
- background: #efeff1;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.calendar {
+ background: white;
+ color: $blue;
+ width: 182px;
+ height: auto;
+}
+
+.month {
+ margin-bottom: 10px;
+
+ button {
+ @include buttonReset($border: 1px solid $blue);
+ position: relative;
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ border-radius: 100%;
+ opacity: 0.5;
+ margin: 0 6px;
+
+ &:hover {
+ opacity: 1;
+ }
+
+ &:first-of-type {
+ float: left;
+
+ &:before {
+ content: '';
+ position: absolute;
+ @include arrow('left', 8px, 4px, $blue);
+ top: 2px;
+ left: 4px;
+ }
+
+ &:after {
+ content: '';
+ position: absolute;
+ @include arrow('left', 8px, 4px, white);
+ top: 2px;
+ left: 5px;
+ }
+ }
+
+ &:last-of-type {
+ float: right;
+
+ &:before {
+ content: '';
+ position: absolute;
+ @include arrow('right', 8px, 4px, $blue);
+ top: 2px;
+ left: 4px;
+ }
+
+ &:after {
+ content: '';
+ position: absolute;
+ @include arrow('right', 8px, 4px, white);
+ top: 2px;
+ left: 3px;
+ }
+ }
+ }
+
+ div {
+ font-size: 14px;
+ text-align: center;
+ }
+}
+
+.weekdays {
+ opacity: 0.5;
+ font-size: 12px;
+ margin-bottom: 8px;
+
+ span {
+ display: inline-block;
+ width: 26px;
+ height: 13px;
+ line-height: 13px;
+ font-size: 13px;
+ text-align: center;
+ }
+}
+
+.days {
+ span, button {
+ @include buttonReset;
+ display: inline-block;
+ vertical-align: bottom;
+ width: 26px;
+ height: 20px;
+ line-height: 20px;
+ font-size: 12px;
+ text-align: center;
+ margin: 0;
+ color: $blue;
+ }
+
+ .selected {
+ color: white;
+ background: $darkBlue;
+ }
+}
+
+.shadeBefore {
+ a {
+ background: #efeff1;
+ }
+
+ .selected {
+ background: $darkBlue;
+ }
+
+ .selected ~ button {
+ background: white;
+ }
+}
+
+.shadeAfter {
+ .selected ~ button {
+ background: #efeff1;
+ }
+}
diff --git a/src/components/CascadingView/CascadingView.scss b/src/components/CascadingView/CascadingView.scss
index ab55ff1050..91be54c4af 100644
--- a/src/components/CascadingView/CascadingView.scss
+++ b/src/components/CascadingView/CascadingView.scss
@@ -1,53 +1,53 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$arrowColor: #343445;
-
-.cascadingView, .contentContainer {
- position: relative;
-}
-
-.left {
- position: relative;
- width: auto;
- height: 100%;
-}
-
-.right {
- position: absolute;
- right: 20px;
- width: 15px;
- height: 15px;
- padding: 0;
-}
-
-.arrow {
- @include buttonReset;
-}
-
-.expanded {
- @include arrow('down', 12px, 10px, $arrowColor);
- content: '';
-}
-
-.collapsed {
- @include arrow('right', 12px, 10px, $arrowColor);
- content: '';
-}
-
-.childrenContainer {
- position: relative;
- padding: 15px 0px 15px 18px;
- background-color: $inputBackgroundColor;
-
- .children {
- border-left: 1px solid rgba(52, 52, 69, 0.2);
- padding-left: 14px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$arrowColor: #343445;
+
+.cascadingView, .contentContainer {
+ position: relative;
+}
+
+.left {
+ position: relative;
+ width: auto;
+ height: 100%;
+}
+
+.right {
+ position: absolute;
+ right: 20px;
+ width: 15px;
+ height: 15px;
+ padding: 0;
+}
+
+.arrow {
+ @include buttonReset;
+}
+
+.expanded {
+ @include arrow('down', 12px, 10px, $arrowColor);
+ content: '';
+}
+
+.collapsed {
+ @include arrow('right', 12px, 10px, $arrowColor);
+ content: '';
+}
+
+.childrenContainer {
+ position: relative;
+ padding: 15px 0px 15px 18px;
+ background-color: $inputBackgroundColor;
+
+ .children {
+ border-left: 1px solid rgba(52, 52, 69, 0.2);
+ padding-left: 14px;
+ }
+}
diff --git a/src/components/CategoryList/CategoryList.scss b/src/components/CategoryList/CategoryList.scss
index 867f4fa04f..3433114e39 100644
--- a/src/components/CategoryList/CategoryList.scss
+++ b/src/components/CategoryList/CategoryList.scss
@@ -1,106 +1,106 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.class_list {
- position: relative;
- margin-bottom: 5px;
- border-left: 1px solid #3e87b2;
-
- a {
- display: block;
- padding-left: 12px;
- height: 20px;
- line-height: 20px;
- color: #8fb9cf;
- font-size: 12px;
-
- &.active {
- color: white;
- }
-
- &:hover{
- color: white;
- }
-
- span {
- display: block;
-
- &:first-of-type {
- @include DosisFont;
- float: right;
- width: 50px;
- text-align: right;
- }
- &:last-of-type {
- margin-right: 50px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- }
- }
-}
-
-.highlight {
- position: absolute;
- width: 1px;
- height: 20px;
- background: white;
- transition: top 0.2s cubic-bezier(1, 0, 0, 1);
-}
-
-.separator {
- margin: 6px 0 6px 12px;
- background-color: #3e87b2;
- border: 0;
- height: 1px;
-}
-
-.close {
- font-size: 20px !important;
- font-weight: bold !important;
-}
-.expand {
- display: flex !important;
- align-items: center;
- cursor: pointer;
- width: 0px;
- margin-right: 20px;
- padding-left: 0px !important;
- &:after {
- @include arrow('down', 10px, 7px, #8fb9cf);
- content: '';
- margin-left: 10px;
- }
-}
-.link {
- display: flex;
- a {
- &:first-of-type {
- flex-grow: 1
- }
- }
-}
-
-.childLink {
- display: flex;
- a {
- &:first-of-type {
- flex-grow: 1;
- display: flex;
- }
- span {
- text-align: left !important;
- margin-left: 14px;
- display: flex;
- flex-grow: 1;
- margin-right: 0px !important;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.class_list {
+ position: relative;
+ margin-bottom: 5px;
+ border-left: 1px solid #3e87b2;
+
+ a {
+ display: block;
+ padding-left: 12px;
+ height: 20px;
+ line-height: 20px;
+ color: #8fb9cf;
+ font-size: 12px;
+
+ &.active {
+ color: white;
+ }
+
+ &:hover{
+ color: white;
+ }
+
+ span {
+ display: block;
+
+ &:first-of-type {
+ @include DosisFont;
+ float: right;
+ width: 50px;
+ text-align: right;
+ }
+ &:last-of-type {
+ margin-right: 50px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ }
+ }
+}
+
+.highlight {
+ position: absolute;
+ width: 1px;
+ height: 20px;
+ background: white;
+ transition: top 0.2s cubic-bezier(1, 0, 0, 1);
+}
+
+.separator {
+ margin: 6px 0 6px 12px;
+ background-color: #3e87b2;
+ border: 0;
+ height: 1px;
+}
+
+.close {
+ font-size: 20px !important;
+ font-weight: bold !important;
+}
+.expand {
+ display: flex !important;
+ align-items: center;
+ cursor: pointer;
+ width: 0px;
+ margin-right: 20px;
+ padding-left: 0px !important;
+ &:after {
+ @include arrow('down', 10px, 7px, #8fb9cf);
+ content: '';
+ margin-left: 10px;
+ }
+}
+.link {
+ display: flex;
+ a {
+ &:first-of-type {
+ flex-grow: 1
+ }
+ }
+}
+
+.childLink {
+ display: flex;
+ a {
+ &:first-of-type {
+ flex-grow: 1;
+ display: flex;
+ }
+ span {
+ text-align: left !important;
+ margin-left: 14px;
+ display: flex;
+ flex-grow: 1;
+ margin-right: 0px !important;
+ }
+ }
+}
diff --git a/src/components/Chart/Chart.scss b/src/components/Chart/Chart.scss
index cfb9db67bb..57a5a80b6d 100644
--- a/src/components/Chart/Chart.scss
+++ b/src/components/Chart/Chart.scss
@@ -1,118 +1,118 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.chart {
- position: relative;
- background: white;
- padding: 0 0 40px 40px;
-}
-
-.yAxis {
- position: absolute;
- left: 0;
- top: 0;
- bottom: 0;
- width: 40px;
-}
-
-.label {
- position: absolute;
- right: 10px;
- font-size: 10px;
- margin-top: -6px;
-}
-
-.tick {
- @include transform(translateX(-50%));
- position: absolute;
- bottom: 14px;
- font-size: 10px;
-}
-
-.grow {
- @include transform(scale(1));
- transition: transform 0.2s ease-out;
- -webkit-transition: -webkit-transform 0.2s ease-out;
-
- transform-origin: 50% 50%;
- -webkit-transform-origin: 50% 50%;
-
- &:hover {
- @include transform(scale(2));
- }
-}
-
-.popupWrap {
- position: absolute;
-}
-
-.popup {
- @include transform(translateY(-50%));
- position: absolute;
- border-radius: 5px;
- border: 1px solid $blue;
- background: white;
- padding: 8px 8px;
- text-align: center;
- min-width: 140px;
-}
-
-.popupLeft {
- right: 14px;
-
- &:before {
- @include arrow('right', 12px, 8px, inherit);
- content: '';
- position: absolute;
- right: -8px;
- top: 50%;
- margin-top: -6px;
- }
-
- &:after {
- @include arrow('right', 12px, 8px, white);
- content: '';
- position: absolute;
- right: -7px;
- top: 50%;
- margin-top: -6px;
- }
-}
-
-.popupRight {
- left: 14px;
-
- &:before {
- @include arrow('left', 12px, 8px, inherit);
- content: '';
- position: absolute;
- left: -8px;
- top: 50%;
- margin-top: -6px;
- }
-
- &:after {
- @include arrow('left', 12px, 8px, white);
- content: '';
- position: absolute;
- left: -7px;
- top: 50%;
- margin-top: -6px;
- }
-}
-
-.popupTime {
- white-space: nowrap;
- font-size: 10px;
- margin-bottom: 4px;
-}
-
-.popupValue {
- font-size: 12px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.chart {
+ position: relative;
+ background: white;
+ padding: 0 0 40px 40px;
+}
+
+.yAxis {
+ position: absolute;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ width: 40px;
+}
+
+.label {
+ position: absolute;
+ right: 10px;
+ font-size: 10px;
+ margin-top: -6px;
+}
+
+.tick {
+ @include transform(translateX(-50%));
+ position: absolute;
+ bottom: 14px;
+ font-size: 10px;
+}
+
+.grow {
+ @include transform(scale(1));
+ transition: transform 0.2s ease-out;
+ -webkit-transition: -webkit-transform 0.2s ease-out;
+
+ transform-origin: 50% 50%;
+ -webkit-transform-origin: 50% 50%;
+
+ &:hover {
+ @include transform(scale(2));
+ }
+}
+
+.popupWrap {
+ position: absolute;
+}
+
+.popup {
+ @include transform(translateY(-50%));
+ position: absolute;
+ border-radius: 5px;
+ border: 1px solid $blue;
+ background: white;
+ padding: 8px 8px;
+ text-align: center;
+ min-width: 140px;
+}
+
+.popupLeft {
+ right: 14px;
+
+ &:before {
+ @include arrow('right', 12px, 8px, inherit);
+ content: '';
+ position: absolute;
+ right: -8px;
+ top: 50%;
+ margin-top: -6px;
+ }
+
+ &:after {
+ @include arrow('right', 12px, 8px, white);
+ content: '';
+ position: absolute;
+ right: -7px;
+ top: 50%;
+ margin-top: -6px;
+ }
+}
+
+.popupRight {
+ left: 14px;
+
+ &:before {
+ @include arrow('left', 12px, 8px, inherit);
+ content: '';
+ position: absolute;
+ left: -8px;
+ top: 50%;
+ margin-top: -6px;
+ }
+
+ &:after {
+ @include arrow('left', 12px, 8px, white);
+ content: '';
+ position: absolute;
+ left: -7px;
+ top: 50%;
+ margin-top: -6px;
+ }
+}
+
+.popupTime {
+ white-space: nowrap;
+ font-size: 10px;
+ margin-bottom: 4px;
+}
+
+.popupValue {
+ font-size: 12px;
+}
diff --git a/src/components/ChartVisualization/ChartVisualization.react.js b/src/components/ChartVisualization/ChartVisualization.react.js
new file mode 100644
index 0000000000..acdfda2f98
--- /dev/null
+++ b/src/components/ChartVisualization/ChartVisualization.react.js
@@ -0,0 +1,651 @@
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+import PropTypes from 'lib/PropTypes';
+import React, { useMemo, useState } from 'react';
+import {
+ Chart as ChartJS,
+ CategoryScale,
+ LinearScale,
+ BarElement,
+ LineElement,
+ PointElement,
+ ArcElement,
+ Title,
+ Tooltip,
+ Legend,
+ TimeScale,
+} from 'chart.js';
+import { Bar, Line, Pie } from 'react-chartjs-2';
+import 'chartjs-adapter-date-fns';
+import styles from './ChartVisualization.scss';
+
+// Register necessary Chart.js components
+ChartJS.register(
+ CategoryScale,
+ LinearScale,
+ BarElement,
+ LineElement,
+ PointElement,
+ ArcElement,
+ Title,
+ Tooltip,
+ Legend,
+ TimeScale
+);
+
+// Utility functions for chart data processing
+const validateInputData = (selectedData, selectedCells, data) => {
+ if (!selectedData || selectedData.length === 0 || !selectedCells || !data || !Array.isArray(data)) {
+ return false;
+ }
+
+ const { rowStart, rowEnd, colStart } = selectedCells;
+
+ // Check if we have valid data and if indices are valid
+ if (rowStart === -1 || colStart === -1 || rowEnd >= data.length || rowStart < 0) {
+ return false;
+ }
+
+ // Check if all row indices are valid
+ for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {
+ if (!data[rowIndex] || !data[rowIndex].attributes) {
+ return false; // Inconsistent data, abort
+ }
+ }
+
+ return true;
+};
+
+const detectTimeSeriesData = (selectedCells, data, order, columns) => {
+ const { rowStart, rowEnd, colStart, colEnd } = selectedCells;
+ let isTimeSeries = false;
+ let dateColumnName = null;
+ let dateColumnIndex = -1;
+
+ // Look for any date column in the selection (not just the first)
+ if (colEnd > colStart && columns) {
+ for (let colIndex = colStart; colIndex <= colEnd; colIndex++) {
+ const columnName = order[colIndex]?.name;
+ if (!columnName) {
+ continue;
+ }
+
+ // Check the column type in the schema
+ const columnType = columns[columnName]?.type;
+ const isDateColumn = columnType === 'Date' ||
+ /^(date|time|created|updated|when|at)$/i.test(columnName) ||
+ columnName.toLowerCase().includes('date') ||
+ columnName.toLowerCase().includes('time');
+
+ if (isDateColumn) {
+ // Check if the column actually contains valid dates
+ let dateCount = 0;
+ const totalRows = Math.min(3, rowEnd - rowStart + 1); // Check up to 3 rows
+
+ for (let rowIndex = rowStart; rowIndex < rowStart + totalRows; rowIndex++) {
+ // Check if the index is valid before accessing
+ if (rowIndex >= data.length || !data[rowIndex] || !data[rowIndex].attributes) {
+ continue;
+ }
+ const value = data[rowIndex].attributes[columnName];
+ if (value instanceof Date ||
+ (typeof value === 'string' && !isNaN(Date.parse(value)) && new Date(value).getFullYear() > 1900)) {
+ dateCount++;
+ }
+ }
+
+ if (dateCount >= totalRows * 0.6) { // 60% must be valid dates
+ isTimeSeries = true;
+ dateColumnName = columnName;
+ dateColumnIndex = colIndex;
+ break; // Found a valid date column
+ }
+ }
+ }
+ }
+
+ return { isTimeSeries, dateColumnName, dateColumnIndex };
+};
+
+const processTimeSeriesData = (selectedCells, data, order, dateColumnName, dateColumnIndex) => {
+ const { rowStart, rowEnd, colStart, colEnd } = selectedCells;
+ const datasets = [];
+ let datasetIndex = 0;
+
+ // Create a dataset for each numeric column (except the date column)
+ for (let colIndex = colStart; colIndex <= colEnd; colIndex++) {
+ // Skip the date column
+ if (colIndex === dateColumnIndex) {
+ continue;
+ }
+
+ const columnName = order[colIndex]?.name;
+ if (!columnName) {
+ continue;
+ }
+
+ const dataPoints = [];
+
+ for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {
+ // Check if the index is valid
+ if (rowIndex >= data.length || !data[rowIndex] || !data[rowIndex].attributes) {
+ continue;
+ }
+ const timeValue = data[rowIndex].attributes[dateColumnName];
+ const numericValue = data[rowIndex].attributes[columnName];
+
+ if (timeValue && typeof numericValue === 'number' && !isNaN(numericValue)) {
+ dataPoints.push({
+ x: new Date(timeValue),
+ y: numericValue
+ });
+ }
+ }
+
+ if (dataPoints.length > 0) {
+ datasets.push({
+ label: columnName,
+ data: dataPoints,
+ borderColor: `hsl(${datasetIndex * 60}, 70%, 50%)`,
+ backgroundColor: `hsla(${datasetIndex * 60}, 70%, 50%, 0.1)`,
+ tension: 0.1
+ });
+ datasetIndex++;
+ }
+ }
+
+ return {
+ type: 'timeSeries',
+ datasets,
+ options: {
+ responsive: true,
+ maintainAspectRatio: false,
+ scales: {
+ x: {
+ type: 'time',
+ time: {
+ displayFormats: {
+ day: 'MMM dd',
+ hour: 'HH:mm'
+ }
+ },
+ title: {
+ display: true,
+ text: dateColumnName
+ }
+ },
+ y: {
+ title: {
+ display: true,
+ text: 'Value'
+ }
+ }
+ },
+ plugins: {
+ title: {
+ display: true,
+ text: 'Time Series Visualization'
+ },
+ legend: {
+ display: datasets.length > 1
+ }
+ }
+ }
+ };
+};
+
+const processNumericSeriesData = (selectedCells, data, order, columns, chartType) => {
+ const { rowStart, rowEnd, colStart, colEnd } = selectedCells;
+ const labels = [];
+ const dataPoints = [];
+
+ // If multiple columns, create separate datasets for each column
+ if (colEnd > colStart) {
+ const datasets = [];
+
+ for (let colIndex = colStart; colIndex <= colEnd; colIndex++) {
+ const columnName = order[colIndex]?.name;
+ if (!columnName) {
+ continue;
+ }
+
+ // Collect all values from this column
+ const columnValues = [];
+
+ for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {
+ // Check if the index is valid
+ if (rowIndex >= data.length || !data[rowIndex] || !data[rowIndex].attributes) {
+ continue;
+ }
+ const value = data[rowIndex].attributes[columnName];
+ if (typeof value === 'number' && !isNaN(value)) {
+ columnValues.push(value);
+ }
+ }
+
+ if (columnValues.length > 0) {
+ datasets.push({
+ label: columnName,
+ data: columnValues,
+ backgroundColor: `hsla(${(colIndex - colStart) * 60}, 70%, 60%, 0.8)`,
+ borderColor: `hsl(${(colIndex - colStart) * 60}, 70%, 50%)`,
+ borderWidth: 2,
+ borderRadius: chartType === 'bar' ? 4 : 0,
+ tension: chartType === 'line' ? 0.4 : 0
+ });
+ }
+ }
+
+ // Use labels from the first column (all should have the same number of rows)
+ for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {
+ labels.push(`Row ${rowIndex + 1}`);
+ }
+
+ return {
+ type: 'numberSeries',
+ data: {
+ labels,
+ datasets
+ },
+ options: {
+ responsive: true,
+ maintainAspectRatio: false,
+ interaction: {
+ intersect: false,
+ },
+ plugins: {
+ title: {
+ display: true,
+ text: 'Selected Data Visualization',
+ font: { size: 16, weight: 'bold' },
+ color: '#333'
+ },
+ legend: {
+ display: datasets.length > 1 // Show legend if multiple columns
+ },
+ tooltip: {
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
+ titleColor: '#fff',
+ bodyColor: '#fff',
+ borderColor: '#169cee',
+ borderWidth: 1
+ }
+ },
+ scales: {
+ y: {
+ beginAtZero: true,
+ title: { display: true, text: 'Value', font: { size: 14, weight: 'bold' }, color: '#555' },
+ grid: { color: 'rgba(0, 0, 0, 0.1)' },
+ ticks: { color: '#666' }
+ },
+ x: {
+ title: { display: true, text: 'Categories', font: { size: 14, weight: 'bold' }, color: '#555' },
+ grid: { color: 'rgba(0, 0, 0, 0.1)' },
+ ticks: { color: '#666' }
+ }
+ }
+ }
+ };
+ } else {
+ // Single column: use row indices as labels
+ const columnName = order[colStart]?.name;
+ if (columnName) {
+ for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {
+ // Check if the index is valid
+ if (rowIndex >= data.length || !data[rowIndex] || !data[rowIndex].attributes) {
+ continue;
+ }
+ labels.push(`Row ${rowIndex + 1}`);
+ const value = data[rowIndex].attributes[columnName];
+ dataPoints.push(typeof value === 'number' && !isNaN(value) ? value : 0);
+ }
+ }
+
+ if (labels.length === 0 || dataPoints.length === 0) {
+ return null;
+ }
+
+ return {
+ type: 'numberSeries',
+ data: {
+ labels,
+ datasets: [{
+ label: 'Selected Values',
+ data: dataPoints,
+ backgroundColor: chartType === 'bar'
+ ? dataPoints.map((_, index) => `hsla(${index * 360 / dataPoints.length}, 70%, 60%, 0.8)`)
+ : 'rgba(22, 156, 238, 0.7)',
+ borderColor: chartType === 'bar'
+ ? dataPoints.map((_, index) => `hsl(${index * 360 / dataPoints.length}, 70%, 50%)`)
+ : 'rgba(22, 156, 238, 1)',
+ borderWidth: 2,
+ borderRadius: chartType === 'bar' ? 4 : 0,
+ tension: chartType === 'line' ? 0.4 : 0
+ }]
+ },
+ options: {
+ responsive: true,
+ maintainAspectRatio: false,
+ interaction: {
+ intersect: false,
+ },
+ plugins: {
+ title: {
+ display: true,
+ text: 'Selected Data Visualization',
+ font: { size: 16, weight: 'bold' },
+ color: '#333'
+ },
+ legend: {
+ display: false // Single column doesn't need legend
+ },
+ tooltip: {
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
+ titleColor: '#fff',
+ bodyColor: '#fff',
+ borderColor: '#169cee',
+ borderWidth: 1
+ }
+ },
+ scales: {
+ y: {
+ beginAtZero: true,
+ title: { display: true, text: 'Value', font: { size: 14, weight: 'bold' }, color: '#555' },
+ grid: { color: 'rgba(0, 0, 0, 0.1)' },
+ ticks: { color: '#666' }
+ },
+ x: {
+ title: { display: true, text: 'Categories', font: { size: 14, weight: 'bold' }, color: '#555' },
+ grid: { color: 'rgba(0, 0, 0, 0.1)' },
+ ticks: { color: '#666' }
+ }
+ }
+ }
+ };
+ }
+};
+
+const ChartVisualization = ({
+ selectedData,
+ selectedCells,
+ data,
+ order,
+ columns
+}) => {
+ const [chartType, setChartType] = useState('bar');
+
+ // Process selected data to determine the type of visualization
+ const chartData = useMemo(() => {
+ if (!validateInputData(selectedData, selectedCells, data)) {
+ return null;
+ }
+
+ const timeSeriesInfo = detectTimeSeriesData(selectedCells, data, order, columns);
+
+ if (timeSeriesInfo.isTimeSeries) {
+ return processTimeSeriesData(selectedCells, data, order, timeSeriesInfo.dateColumnName, timeSeriesInfo.dateColumnIndex);
+ } else {
+ return processNumericSeriesData(selectedCells, data, order, columns, chartType);
+ }
+ }, [selectedData, selectedCells, data, order, columns, chartType]);
+
+ const renderChart = () => {
+ // Safety check to prevent crashes
+ if (!chartData) {
+ return null;
+ }
+
+ if (chartData.type === 'timeSeries') {
+ return (
+
+ );
+ } else {
+ // For number series, support bar, line and pie charts
+ if (chartType === 'pie') {
+ // For pie chart, verify if we have valid data
+ const values = chartData.data.datasets[0].data;
+ const labels = chartData.data.labels;
+
+ // Filter valid values (> 0) for pie chart
+ const validData = [];
+ const validLabels = [];
+ const validColors = [];
+
+ values.forEach((value, index) => {
+ if (value && value > 0) {
+ validData.push(value);
+ validLabels.push(labels[index]);
+ validColors.push(`hsl(${index * 360 / values.length}, 75%, 65%)`);
+ }
+ });
+
+ if (validData.length === 0) {
+ return No positive values for pie chart
;
+ }
+
+ const pieData = {
+ labels: validLabels,
+ datasets: [{
+ label: 'Values',
+ data: validData,
+ backgroundColor: validColors,
+ borderColor: validColors.map(color => color.replace('60%', '40%')),
+ borderWidth: 1
+ }]
+ };
+
+ const pieOptions = {
+ responsive: true,
+ maintainAspectRatio: false,
+ plugins: {
+ title: {
+ display: true,
+ text: 'Data Distribution',
+ font: {
+ size: 16,
+ weight: 'bold'
+ },
+ color: '#333'
+ },
+ legend: {
+ display: true,
+ position: 'right',
+ labels: {
+ padding: 20,
+ usePointStyle: true,
+ font: {
+ size: 12
+ }
+ }
+ },
+ tooltip: {
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
+ titleColor: '#fff',
+ bodyColor: '#fff',
+ borderColor: '#169cee',
+ borderWidth: 1,
+ callbacks: {
+ label: function(context) {
+ const label = context.label || '';
+ const value = context.parsed;
+ const total = context.dataset.data.reduce((a, b) => a + b, 0);
+ const percentage = Math.round((value / total) * 100);
+ return `${label}: ${value} (${percentage}%)`;
+ }
+ }
+ }
+ }
+ };
+
+ return (
+
+ );
+ } else {
+ // Bar ou Line Chart
+ const ChartComponent = chartType === 'bar' ? Bar : Line;
+
+ // Improve options for correct sizing
+ const enhancedOptions = {
+ ...chartData.options,
+ responsive: true,
+ maintainAspectRatio: false,
+ aspectRatio: 1.6,
+ layout: {
+ padding: {
+ top: 20,
+ right: 20,
+ bottom: 20,
+ left: 20
+ }
+ },
+ elements: {
+ bar: {
+ borderRadius: 4,
+ borderWidth: 0
+ },
+ line: {
+ borderWidth: 3,
+ tension: 0.4
+ },
+ point: {
+ radius: 5,
+ borderWidth: 2,
+ hoverRadius: 7
+ }
+ },
+ plugins: {
+ ...chartData.options.plugins,
+ title: {
+ display: true,
+ text: 'Selected Data Visualization',
+ position: 'top',
+ align: 'center',
+ font: {
+ size: 16,
+ weight: 'bold'
+ },
+ color: '#333',
+ padding: {
+ top: 10,
+ bottom: 20
+ }
+ },
+ tooltip: {
+ enabled: true,
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
+ titleColor: '#fff',
+ bodyColor: '#fff',
+ borderColor: '#169cee',
+ borderWidth: 1,
+ cornerRadius: 6,
+ displayColors: true
+ }
+ },
+ scales: {
+ ...chartData.options.scales,
+ x: {
+ ...chartData.options.scales.x,
+ grid: {
+ display: true,
+ color: 'rgba(0, 0, 0, 0.1)'
+ },
+ ticks: {
+ maxRotation: 45,
+ minRotation: 0,
+ font: {
+ size: 12
+ }
+ }
+ },
+ y: {
+ ...chartData.options.scales.y,
+ grid: {
+ display: true,
+ color: 'rgba(0, 0, 0, 0.1)'
+ },
+ ticks: {
+ font: {
+ size: 12
+ }
+ }
+ }
+ }
+ };
+
+ return (
+
+ );
+ }
+ }
+ };
+
+ // Add null check to prevent runtime errors
+ if (!chartData) {
+ return (
+
+
+
No valid data selected for charting.
+
Please select numeric or date columns to visualize.
+
+
+ );
+ }
+
+ return (
+
+
+ {chartData.type === 'numberSeries' && (
+
+ Chart Type:
+ setChartType(e.target.value)}
+ className={styles.select}
+ >
+ Bar Chart
+ Line Chart
+ Pie Chart
+
+
+ )}
+
+ {chartData.type === 'timeSeries' ? 'Time Series' : 'Number Series'} |
+ {selectedData.length} values selected
+
+
+
+ {renderChart()}
+
+
+ );
+};
+
+ChartVisualization.propTypes = {
+ selectedData: PropTypes.array.isRequired,
+ selectedCells: PropTypes.shape({
+ list: PropTypes.instanceOf(Set),
+ rowStart: PropTypes.number.isRequired,
+ rowEnd: PropTypes.number.isRequired,
+ colStart: PropTypes.number.isRequired,
+ colEnd: PropTypes.number.isRequired,
+ }).isRequired,
+ data: PropTypes.array.isRequired,
+ order: PropTypes.array.isRequired,
+ columns: PropTypes.object.isRequired
+};
+
+export default ChartVisualization;
diff --git a/src/components/ChartVisualization/ChartVisualization.scss b/src/components/ChartVisualization/ChartVisualization.scss
new file mode 100644
index 0000000000..32b35f64b4
--- /dev/null
+++ b/src/components/ChartVisualization/ChartVisualization.scss
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.chartVisualization {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ background: white;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
+ border-radius: 0px 0px 8px 8px;
+ overflow: hidden;
+ min-width: 600px;
+ min-height: 500px;
+ position: relative;
+ z-index: 1000;
+}
+
+.chartHeader {
+ background: linear-gradient(135deg, #169cee, #1976d2);
+ color: white;
+ padding: 20px 24px;
+ border-bottom: none;
+ box-shadow: 0 2px 8px rgba(22, 156, 238, 0.2);
+
+ .chartTitle {
+ margin: 0;
+ font-size: 18px;
+ font-weight: 600;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+
+ svg {
+ filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
+ }
+ }
+}
+
+.chartControls {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 16px 20px;
+ background: #f8f9fa;
+ border-bottom: 1px solid #e3e3ea;
+}
+
+.chartTypeSelector {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+
+ label {
+ font-weight: 500;
+ color: #555;
+ font-size: 14px;
+ }
+}
+
+.select {
+ padding: 8px 12px;
+ border: 1px solid #ddd;
+ border-radius: 6px;
+ background: white;
+ font-size: 14px;
+ color: #333;
+ cursor: pointer;
+ transition: border-color 0.2s ease;
+
+ &:focus {
+ outline: none;
+ border-color: #169cee;
+ box-shadow: 0 0 0 2px rgba(22, 156, 238, 0.1);
+ }
+
+ &:hover {
+ border-color: #169cee;
+ }
+}
+
+.chartInfo {
+ color: #666;
+ font-size: 13px;
+ font-weight: 500;
+ background: white;
+ padding: 6px 12px;
+ border-radius: 4px;
+ border: 1px solid #e0e0e0;
+}
+
+.chartContainer {
+ flex: 1;
+ position: relative;
+ min-height: 450px;
+ height: calc(100vh - 280px);
+ width: 100%;
+ padding: 20px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: white;
+
+ > div {
+ width: 100% !important;
+ height: 100% !important;
+ margin: 0 0;
+ display: flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ position: relative !important;
+ }
+
+ canvas {
+ width: 100% !important;
+ height: 100% !important;
+ border-radius: 8px;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
+ margin: 0 0;
+ position: relative !important;
+ }
+}
+
+// Responsive design
+@media (max-width: 1200px) {
+ .chartContainer {
+ max-width: 100%;
+ padding: 20px;
+
+ > div {
+ max-width: 100% !important;
+ min-width: 300px !important;
+ }
+ }
+}
+
+@media (max-width: 768px) {
+ .chartContainer {
+ min-height: 350px;
+ padding: 15px;
+ height: calc(100vh - 250px);
+
+ > div {
+ min-height: 300px !important;
+ min-width: 280px !important;
+ }
+ }
+
+ .chartHeader {
+ padding: 16px 20px;
+
+ .chartTitle {
+ font-size: 16px;
+ gap: 8px;
+ }
+ }
+
+ .chartControls {
+ padding: 12px 16px;
+ flex-direction: column;
+ gap: 12px;
+ align-items: flex-start;
+ }
+}
+
+@media (max-width: 480px) {
+ .chartContainer {
+ padding: 10px;
+ min-height: 300px;
+
+ > div {
+ min-height: 250px !important;
+ min-width: 250px !important;
+ }
+ }
+}
+
+.noData {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ min-height: 300px;
+ padding: 40px 20px;
+ text-align: center;
+ color: #666;
+ background: #f8f9fa;
+ border-radius: 8px;
+ margin: 20px;
+
+ p {
+ margin: 8px 0;
+ font-size: 16px;
+ line-height: 1.5;
+
+ &:first-child {
+ font-weight: 600;
+ color: #333;
+ font-size: 18px;
+ }
+ }
+}
diff --git a/src/components/Checkbox/Checkbox.scss b/src/components/Checkbox/Checkbox.scss
index 2e2b23a4d8..d21cf9ae45 100644
--- a/src/components/Checkbox/Checkbox.scss
+++ b/src/components/Checkbox/Checkbox.scss
@@ -1,57 +1,57 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.input {
- display: inline-block;
- cursor: pointer;
- height: 20px;
- line-height: 20px;
-}
-
-.checkbox {
- display: inline-block;
- height: 20px;
- width: 20px;
- padding: 3px;
- border-radius: 4px;
- background: white;
- vertical-align: middle;
- border: 1px solid $mainTextColor;
-
- svg {
- vertical-align: top;
- }
-}
-
-.minus {
- display: block;
- width: 12px;
- height: 4px;
- background: $blue;
- margin-top: 4px;
- border-radius: 2px;
-}
-
-.label {
- @include DosisFont;
- color: $mainTextColor;
- font-size: 14px;
- vertical-align: middle;
- margin-right: 6px;
-}
-
-.checked, .indeterminate {
- .checkbox {
- border-color: $blue;
- }
-
- .label {
- color: $blue;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.input {
+ display: inline-block;
+ cursor: pointer;
+ height: 20px;
+ line-height: 20px;
+}
+
+.checkbox {
+ display: inline-block;
+ height: 20px;
+ width: 20px;
+ padding: 3px;
+ border-radius: 4px;
+ background: white;
+ vertical-align: middle;
+ border: 1px solid $mainTextColor;
+
+ svg {
+ vertical-align: top;
+ }
+}
+
+.minus {
+ display: block;
+ width: 12px;
+ height: 4px;
+ background: $blue;
+ margin-top: 4px;
+ border-radius: 2px;
+}
+
+.label {
+ @include DosisFont;
+ color: $mainTextColor;
+ font-size: 14px;
+ vertical-align: middle;
+ margin-right: 6px;
+}
+
+.checked, .indeterminate {
+ .checkbox {
+ border-color: $blue;
+ }
+
+ .label {
+ color: $blue;
+ }
+}
diff --git a/src/components/Chip/Chip.scss b/src/components/Chip/Chip.scss
index 7d28e421a1..07443654a5 100644
--- a/src/components/Chip/Chip.scss
+++ b/src/components/Chip/Chip.scss
@@ -1,58 +1,58 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-
-.chip {
- display: inline-flex;
- flex-direction: row;
- background-color: #d5e5f2;
- border: none;
- cursor: pointer;
- height: 32px;
- outline: none;
- padding: 4px;
- margin: 4px;
- font-size: 14px;
- color: #0e69a1;
- font-family: "Open Sans", sans-serif;
- white-space: nowrap;
- align-items: center;
- border-radius: 8px;
- vertical-align: middle;
- text-decoration: none;
- justify-content: center;
-}
-
-.content {
- cursor: inherit;
- display: flex;
- align-items: center;
- user-select: none;
- white-space: nowrap;
- padding-left: 12px;
- padding-right: 12px;
-}
-
-.chip {
- svg {
- color: #999999;
- cursor: pointer;
- height: auto;
- margin: 20px 6px 0 -8px;
- fill: currentColor;
- width: 1em;
- height: 1em;
- display: inline-block;
- font-size: 16px;
- transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
- user-select: none;
- flex-shrink: 0;
- }
- svg:hover {
- color: red;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+
+.chip {
+ display: inline-flex;
+ flex-direction: row;
+ background-color: #d5e5f2;
+ border: none;
+ cursor: pointer;
+ height: 32px;
+ outline: none;
+ padding: 4px;
+ margin: 4px;
+ font-size: 14px;
+ color: #0e69a1;
+ font-family: "Open Sans", sans-serif;
+ white-space: nowrap;
+ align-items: center;
+ border-radius: 8px;
+ vertical-align: middle;
+ text-decoration: none;
+ justify-content: center;
+}
+
+.content {
+ cursor: inherit;
+ display: flex;
+ align-items: center;
+ user-select: none;
+ white-space: nowrap;
+ padding-left: 12px;
+ padding-right: 12px;
+}
+
+.chip {
+ svg {
+ color: #999999;
+ cursor: pointer;
+ height: auto;
+ margin: 20px 6px 0 -8px;
+ fill: currentColor;
+ width: 1em;
+ height: 1em;
+ display: inline-block;
+ font-size: 16px;
+ transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
+ user-select: none;
+ flex-shrink: 0;
+ }
+ svg:hover {
+ color: red;
+ }
+}
diff --git a/src/components/ChromeDatePicker/ChromeDatePicker.scss b/src/components/ChromeDatePicker/ChromeDatePicker.scss
index 284561f397..31c3a27748 100644
--- a/src/components/ChromeDatePicker/ChromeDatePicker.scss
+++ b/src/components/ChromeDatePicker/ChromeDatePicker.scss
@@ -1,71 +1,71 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$pickerHeight: 30px;
-
-.wrap {
- display: inline-block;
- vertical-align: top;
- height: $pickerHeight;
-}
-
-.chrome {
- display: inline-block;
- white-space: nowrap;
- cursor: pointer;
- font-size: 14px;
- height: $pickerHeight;
- border: 1px solid $blue;
- border-radius: 5px;
- padding: 6px 12px;
- color: $blue;
-
- span {
- display: inline-block;
- line-height: 18px;
- }
-
- svg {
- vertical-align: top;
- margin-left: 10px;
- }
-}
-
-.open .chrome {
- position: relative;
- background: white;
- border-top: none;
- padding-top: 7px;
- border-radius: 0 0 5px 5px;
-}
-
-.calendar {
- position: absolute;
- background: white;
- border: 1px solid $blue;
- bottom: 29px;
- left: 0;
- width: 204px;
- height: 192px;
- padding: 10px;
- border-radius: 5px 5px 5px 0;
-}
-
-.right {
- &.open {
- position: absolute;
- right: 0;
- }
-
- .calendar {
- left: auto;
- right: 0;
- border-radius: 5px 5px 0 5px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$pickerHeight: 30px;
+
+.wrap {
+ display: inline-block;
+ vertical-align: top;
+ height: $pickerHeight;
+}
+
+.chrome {
+ display: inline-block;
+ white-space: nowrap;
+ cursor: pointer;
+ font-size: 14px;
+ height: $pickerHeight;
+ border: 1px solid $blue;
+ border-radius: 5px;
+ padding: 6px 12px;
+ color: $blue;
+
+ span {
+ display: inline-block;
+ line-height: 18px;
+ }
+
+ svg {
+ vertical-align: top;
+ margin-left: 10px;
+ }
+}
+
+.open .chrome {
+ position: relative;
+ background: white;
+ border-top: none;
+ padding-top: 7px;
+ border-radius: 0 0 5px 5px;
+}
+
+.calendar {
+ position: absolute;
+ background: white;
+ border: 1px solid $blue;
+ bottom: 29px;
+ left: 0;
+ width: 204px;
+ height: 192px;
+ padding: 10px;
+ border-radius: 5px 5px 5px 0;
+}
+
+.right {
+ &.open {
+ position: absolute;
+ right: 0;
+ }
+
+ .calendar {
+ left: auto;
+ right: 0;
+ border-radius: 5px 5px 0 5px;
+ }
+}
diff --git a/src/components/ChromeDropdown/ChromeDropdown.scss b/src/components/ChromeDropdown/ChromeDropdown.scss
index 0e94a195bd..a0ffd1bf34 100644
--- a/src/components/ChromeDropdown/ChromeDropdown.scss
+++ b/src/components/ChromeDropdown/ChromeDropdown.scss
@@ -1,64 +1,64 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.dropdown {
- display: inline-block;
- vertical-align: top;
- height: 30px;
- text-align: left;
- white-space: nowrap;
- font-size: 14px;
-}
-
-.current, .menu {
- background: $purple;
- border-radius: 5px;
- color: white;
- cursor: pointer;
-
- &.blue {
- background: $darkBlue;
- }
-}
-
-.current {
- position: relative;
- height: 30px;
- line-height: 30px;
- padding: 0 30px 0 10px;
-
- div {
- overflow-x: hidden;
- text-overflow: ellipsis;
- }
-
- &:after {
- @include arrow('down', 12px, 8px, rgba(255,255,255,0.3));
- position: absolute;
- content: '';
- top: 12px;
- right: 10px;
- }
-}
-
-.menu {
- max-height: 360px;
- overflow-y: auto;
- font-size: 14px;
-
- div {
- height: 30px;
- line-height: 30px;
- padding: 0 10px;
-
- &:hover {
- background: rgba(255, 255, 255, 0.1);
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.dropdown {
+ display: inline-block;
+ vertical-align: top;
+ height: 30px;
+ text-align: left;
+ white-space: nowrap;
+ font-size: 14px;
+}
+
+.current, .menu {
+ background: $purple;
+ border-radius: 5px;
+ color: white;
+ cursor: pointer;
+
+ &.blue {
+ background: $darkBlue;
+ }
+}
+
+.current {
+ position: relative;
+ height: 30px;
+ line-height: 30px;
+ padding: 0 30px 0 10px;
+
+ div {
+ overflow-x: hidden;
+ text-overflow: ellipsis;
+ }
+
+ &:after {
+ @include arrow('down', 12px, 8px, rgba(255,255,255,0.3));
+ position: absolute;
+ content: '';
+ top: 12px;
+ right: 10px;
+ }
+}
+
+.menu {
+ max-height: 360px;
+ overflow-y: auto;
+ font-size: 14px;
+
+ div {
+ height: 30px;
+ line-height: 30px;
+ padding: 0 10px;
+
+ &:hover {
+ background: rgba(255, 255, 255, 0.1);
+ }
+ }
+}
diff --git a/src/components/CodeSnippet/CodeSnippet.css b/src/components/CodeSnippet/CodeSnippet.css
index 780ecb0981..de5f33a65b 100644
--- a/src/components/CodeSnippet/CodeSnippet.css
+++ b/src/components/CodeSnippet/CodeSnippet.css
@@ -1,204 +1,204 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-/**
- * prism.js default theme for JavaScript, CSS and HTML
- * Based on dabblet (http://dabblet.com)
- * @author Lea Verou
- */
-
-code[class*="language-"],
-pre[class*="language-"] {
- color: #555572;
- font-family: 'Source Code Pro', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
- font-size: 13px;
- direction: ltr;
- text-align: left;
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
- word-wrap: normal;
- line-height: 22px;
- -moz-tab-size: 4;
- -o-tab-size: 4;
- tab-size: 4;
- -webkit-hyphens: none;
- -moz-hyphens: none;
- -ms-hyphens: none;
- hyphens: none;
-}
-
-pre[class*="language-"]::-moz-selection,
-pre[class*="language-"]::-moz-selection,
-code[class*="language-"]::-moz-selection,
-code[class*="language-"]::-moz-selection {
- text-shadow: none;
- background: #b3d4fc;
-}
-
-pre[class*="language-"]::selection,
-pre[class*="language-"]::selection,
-code[class*="language-"]::selection,
-code[class*="language-"]::selection {
- text-shadow: none;
- background: #b3d4fc;
-}
-
-@media print {
- code[class*="language-"],
- pre[class*="language-"] {
- text-shadow: none;
- }
-}
-
-
-/* Code blocks */
-
-pre[class*="language-"] {
- padding: 1em;
- margin: .5em 0;
- overflow: auto;
-}
-
-:not(pre) > code[class*="language-"],
-pre[class*="language-"] {
- background: #FDFAFB;
-}
-
-
-/* Inline code */
-
-:not(pre) > code[class*="language-"] {
- padding: .1em;
- border-radius: .3em;
-}
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata {
- color: #a3a3c2;
-}
-
-.token.punctuation {
- color: #555572;
-}
-
-.namespace {
- opacity: .7;
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: #FF395E;
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: #00D275;
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string {
- color: #555572;
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: #169CEE;
-}
-
-.token.function {
- color: #FF395E;
-}
-
-.token.regex,
-.token.important,
-.token.variable {
- color: #F45530;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
-
-pre.line-numbers {
- position: relative;
- padding-left: 3.5em;
- counter-reset: linenumber;
- padding-top: 0px;
- padding-bottom: 20px;
-}
-
-pre.line-numbers:before {
- display: block;
- content: '';
- background: #66637A;
- height: 100%;
- width: 33px;
- position: absolute;
- left: 0;
-}
-
-pre.line-numbers > code {
- position: relative;
- top: 10px;
-}
-
-.line-numbers .line-numbers-rows {
- position: absolute;
- pointer-events: none;
- top: -14px;
- font-size: 100%;
- left: -3.8em;
- width: 3em;
- /* works for line-numbers below 1000 lines */
- padding-top: 10px;
- margin-bottom: 100px;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.line-numbers-rows > span {
- pointer-events: none;
- display: block;
- counter-increment: linenumber;
-}
-
-.line-numbers-rows > span:before {
- content: counter(linenumber);
- color: #343445;
- display: block;
- font-size: 10px;
- font-family: 'Dosis';
- padding-right: 0;
- text-align: center;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+
+code[class*="language-"],
+pre[class*="language-"] {
+ color: #555572;
+ font-family: 'Source Code Pro', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ font-size: 13px;
+ direction: ltr;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 22px;
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"]::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"]::-moz-selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"]::selection,
+code[class*="language-"]::selection,
+code[class*="language-"]::selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+
+@media print {
+ code[class*="language-"],
+ pre[class*="language-"] {
+ text-shadow: none;
+ }
+}
+
+
+/* Code blocks */
+
+pre[class*="language-"] {
+ padding: 1em;
+ margin: .5em 0;
+ overflow: auto;
+}
+
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background: #FDFAFB;
+}
+
+
+/* Inline code */
+
+:not(pre) > code[class*="language-"] {
+ padding: .1em;
+ border-radius: .3em;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: #a3a3c2;
+}
+
+.token.punctuation {
+ color: #555572;
+}
+
+.namespace {
+ opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+ color: #FF395E;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+ color: #00D275;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+ color: #555572;
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+ color: #169CEE;
+}
+
+.token.function {
+ color: #FF395E;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+ color: #F45530;
+}
+
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+
+.token.italic {
+ font-style: italic;
+}
+
+.token.entity {
+ cursor: help;
+}
+
+pre.line-numbers {
+ position: relative;
+ padding-left: 3.5em;
+ counter-reset: linenumber;
+ padding-top: 0px;
+ padding-bottom: 20px;
+}
+
+pre.line-numbers:before {
+ display: block;
+ content: '';
+ background: #66637A;
+ height: 100%;
+ width: 33px;
+ position: absolute;
+ left: 0;
+}
+
+pre.line-numbers > code {
+ position: relative;
+ top: 10px;
+}
+
+.line-numbers .line-numbers-rows {
+ position: absolute;
+ pointer-events: none;
+ top: -14px;
+ font-size: 100%;
+ left: -3.8em;
+ width: 3em;
+ /* works for line-numbers below 1000 lines */
+ padding-top: 10px;
+ margin-bottom: 100px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.line-numbers-rows > span {
+ pointer-events: none;
+ display: block;
+ counter-increment: linenumber;
+}
+
+.line-numbers-rows > span:before {
+ content: counter(linenumber);
+ color: #343445;
+ display: block;
+ font-size: 10px;
+ font-family: 'Dosis';
+ padding-right: 0;
+ text-align: center;
+}
diff --git a/src/components/ColumnsConfiguration/ColumnConfigurationItem.scss b/src/components/ColumnsConfiguration/ColumnConfigurationItem.scss
index bd0bf9347b..e5a1d1a6d2 100644
--- a/src/components/ColumnsConfiguration/ColumnConfigurationItem.scss
+++ b/src/components/ColumnsConfiguration/ColumnConfigurationItem.scss
@@ -1,29 +1,29 @@
-.columnConfigItem {
- padding: 8px 10px;
- display: flex;
- border-radius: 5px;
- cursor: grab;
-}
-
-.icon {
- display: flex;
- align-items: center;
- height: 24px;
-}
-
-.visibilityIcon {
- cursor: pointer;
- width: 30px;
-}
-
-.columnConfigItemName {
- text-overflow: ellipsis;
- overflow: hidden;
- line-height: 24px;
-}
-
-.columnIcon {
- width: auto;
- flex-grow: 1;
- justify-content: end;
+.columnConfigItem {
+ padding: 8px 10px;
+ display: flex;
+ border-radius: 5px;
+ cursor: grab;
+}
+
+.icon {
+ display: flex;
+ align-items: center;
+ height: 24px;
+}
+
+.visibilityIcon {
+ cursor: pointer;
+ width: 30px;
+}
+
+.columnConfigItemName {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ line-height: 24px;
+}
+
+.columnIcon {
+ width: auto;
+ flex-grow: 1;
+ justify-content: end;
}
\ No newline at end of file
diff --git a/src/components/ColumnsConfiguration/ColumnsConfiguration.scss b/src/components/ColumnsConfiguration/ColumnsConfiguration.scss
index c22e03aa48..b5d459e1d7 100644
--- a/src/components/ColumnsConfiguration/ColumnsConfiguration.scss
+++ b/src/components/ColumnsConfiguration/ColumnsConfiguration.scss
@@ -1,90 +1,90 @@
-@import 'stylesheets/globals.scss';
-
-.entry {
- display: inline-block;
- height: 14px;
- padding: 0 8px;
-
- svg {
- fill: #66637A;
- }
-
- &:hover svg {
- fill: white;
- }
-
- &.disabled {
- cursor: not-allowed;
- color: #66637A;
-
- &:hover svg {
- fill: #66637A;
- }
- }
-}
-
-.title {
- margin-top: -4px;
- background: #797691;
- padding: 4px 8px;
- border-radius: 5px 5px 0 0;
-
- svg {
- fill: white;
- }
-}
-
-.entry, .title {
- @include NotoSansFont;
- font-size: 14px;
- color: #ffffff;
- cursor: pointer;
-
- svg {
- vertical-align: middle;
- margin-right: 4px;
- }
-
- span {
- vertical-align: middle;
- line-height: 14px;
- }
-}
-
-.objectPickerContent {
- .entry svg {
- fill: rgba(0, 0, 0, 0.3);
- }
-}
-
-.body {
- color: white;
- position: absolute;
- top: 22px;
- right: 0;
- border-radius: 5px 0 5px 5px;
- background: #797691;
- width: 320px;
- font-size: 14px;
-
- .columnConfigContainer {
- max-height: calc(100vh - 180px);
- overflow: auto;
- margin: 10px;
- }
-}
-
-.footer {
- background: rgba(0,0,0,0.2);
- padding: 15px 20px;
- display: flex;
- justify-content: space-between;
-
- > a {
- margin-right: 10px;
-
- &:last-child {
- margin-right: 0;
- }
- }
+@import 'stylesheets/globals.scss';
+
+.entry {
+ display: inline-block;
+ height: 14px;
+ padding: 0 8px;
+
+ svg {
+ fill: #66637A;
+ }
+
+ &:hover svg {
+ fill: white;
+ }
+
+ &.disabled {
+ cursor: not-allowed;
+ color: #66637A;
+
+ &:hover svg {
+ fill: #66637A;
+ }
+ }
+}
+
+.title {
+ margin-top: -4px;
+ background: #797691;
+ padding: 4px 8px;
+ border-radius: 5px 5px 0 0;
+
+ svg {
+ fill: white;
+ }
+}
+
+.entry, .title {
+ @include NotoSansFont;
+ font-size: 14px;
+ color: #ffffff;
+ cursor: pointer;
+
+ svg {
+ vertical-align: middle;
+ margin-right: 4px;
+ }
+
+ span {
+ vertical-align: middle;
+ line-height: 14px;
+ }
+}
+
+.objectPickerContent {
+ .entry svg {
+ fill: rgba(0, 0, 0, 0.3);
+ }
+}
+
+.body {
+ color: white;
+ position: absolute;
+ top: 22px;
+ right: 0;
+ border-radius: 5px 0 5px 5px;
+ background: #797691;
+ width: 320px;
+ font-size: 14px;
+
+ .columnConfigContainer {
+ max-height: calc(100vh - 180px);
+ overflow: auto;
+ margin: 10px;
+ }
+}
+
+.footer {
+ background: rgba(0,0,0,0.2);
+ padding: 15px 20px;
+ display: flex;
+ justify-content: space-between;
+
+ > a {
+ margin-right: 10px;
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
}
\ No newline at end of file
diff --git a/src/components/ContextMenu/ContextMenu.scss b/src/components/ContextMenu/ContextMenu.scss
index 78278cd828..794a6df4b4 100644
--- a/src/components/ContextMenu/ContextMenu.scss
+++ b/src/components/ContextMenu/ContextMenu.scss
@@ -1,60 +1,60 @@
-@import 'stylesheets/globals.scss';
-
-.menu {
- position: absolute;
- font-size: 14px;
-
- ul {
- background: $purple;
- @include animation('fade-in .2s linear');
- opacity: 0;
- }
-
- li {
- height: 30px;
- line-height: 30px;
- color: $white;
- cursor: pointer;
- white-space: nowrap;
- padding: 0 30px 0 10px;
- span {
- color: #A2A6B1
- }
- }
-
- li:hover {
- background: rgba(255, 255, 255, 0.1);
- }
-
- .category {
- position: absolute;
-
- .item {
- width: 100%;
- &:after {
- @include arrow('right', 12px, 8px, rgba(255,255,255,0.3));
- position: absolute;
- content: '';
- margin-top: 10px;
- right: 10px;
- }
- }
-
- .body {
- left: 100%;
- position: absolute;
- }
-
- }
-}
-
-@include keyframes(fade-in) {
- 0% {
- // @include transform(scale(0.9));
- opacity: 0;
- }
- 100% {
- // @include transform(scale(1));
- opacity: 1;
- }
+@import 'stylesheets/globals.scss';
+
+.menu {
+ position: absolute;
+ font-size: 14px;
+
+ ul {
+ background: $purple;
+ @include animation('fade-in .2s linear');
+ opacity: 0;
+ }
+
+ li {
+ height: 30px;
+ line-height: 30px;
+ color: $white;
+ cursor: pointer;
+ white-space: nowrap;
+ padding: 0 30px 0 10px;
+ span {
+ color: #A2A6B1
+ }
+ }
+
+ li:hover {
+ background: rgba(255, 255, 255, 0.1);
+ }
+
+ .category {
+ position: absolute;
+
+ .item {
+ width: 100%;
+ &:after {
+ @include arrow('right', 12px, 8px, rgba(255,255,255,0.3));
+ position: absolute;
+ content: '';
+ margin-top: 10px;
+ right: 10px;
+ }
+ }
+
+ .body {
+ left: 100%;
+ position: absolute;
+ }
+
+ }
+}
+
+@include keyframes(fade-in) {
+ 0% {
+ // @include transform(scale(0.9));
+ opacity: 0;
+ }
+ 100% {
+ // @include transform(scale(1));
+ opacity: 1;
+ }
}
\ No newline at end of file
diff --git a/src/components/CreditCardInput/CreditCardInput.scss b/src/components/CreditCardInput/CreditCardInput.scss
index 590bdce1df..4b7e691aeb 100644
--- a/src/components/CreditCardInput/CreditCardInput.scss
+++ b/src/components/CreditCardInput/CreditCardInput.scss
@@ -1,28 +1,28 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.input {
- @include NotoSansFont;
- border: 0;
- outline: 0;
- background: $inputBackgroundColor;
- font-size: 16px;
- width: 100%;
- height: 80px;
- padding: 6px;
- text-align: center;
- vertical-align: top;
- resize: none;
-
- &:focus {
- @include placeholder {
- opacity: 0;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.input {
+ @include NotoSansFont;
+ border: 0;
+ outline: 0;
+ background: $inputBackgroundColor;
+ font-size: 16px;
+ width: 100%;
+ height: 80px;
+ padding: 6px;
+ text-align: center;
+ vertical-align: top;
+ resize: none;
+
+ &:focus {
+ @include placeholder {
+ opacity: 0;
+ }
+ }
+}
diff --git a/src/components/DataBrowserHeader/DataBrowserHeader.scss b/src/components/DataBrowserHeader/DataBrowserHeader.scss
index 2510ca6255..5ab9724752 100644
--- a/src/components/DataBrowserHeader/DataBrowserHeader.scss
+++ b/src/components/DataBrowserHeader/DataBrowserHeader.scss
@@ -1,73 +1,73 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.header {
- @include MonospaceFont;
- position: relative;
- display: block;
- white-space: nowrap;
- overflow: hidden;
- height: 30px;
- padding: 4px 6px 4px 2px;
- cursor: pointer;
- border-left: 4px solid transparent;
-}
-
-.name {
- color: white;
- font-size: 12px;
- height: 22px;
- line-height: 22px;
- margin-right: 8px;
- float: left;
- max-width: 100%;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.type {
- color: #A2A6B1;
- font-size: 10px;
- height: 22px;
- line-height: 22px;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.ascending {
- padding-right: 20px;
-
- &:after {
- @include arrow('up', 12px, 8px, #A2A6B1);
- content: '';
- position: absolute;
- top: 11px;
- right: 8px;
- }
-}
-
-.descending {
- padding-right: 20px;
-
- &:after {
- @include arrow('down', 12px, 8px, #A2A6B1);
- content: '';
- position: absolute;
- top: 11px;
- right: 8px;
- }
-}
-
-.over {
- border-left-color: $white;
-}
-
-.dragging {
- background: $blue;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.header {
+ @include MonospaceFont;
+ position: relative;
+ display: block;
+ white-space: nowrap;
+ overflow: hidden;
+ height: 30px;
+ padding: 4px 6px 4px 2px;
+ cursor: pointer;
+ border-left: 4px solid transparent;
+}
+
+.name {
+ color: white;
+ font-size: 12px;
+ height: 22px;
+ line-height: 22px;
+ margin-right: 8px;
+ float: left;
+ max-width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.type {
+ color: #A2A6B1;
+ font-size: 10px;
+ height: 22px;
+ line-height: 22px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.ascending {
+ padding-right: 20px;
+
+ &:after {
+ @include arrow('up', 12px, 8px, #A2A6B1);
+ content: '';
+ position: absolute;
+ top: 11px;
+ right: 8px;
+ }
+}
+
+.descending {
+ padding-right: 20px;
+
+ &:after {
+ @include arrow('down', 12px, 8px, #A2A6B1);
+ content: '';
+ position: absolute;
+ top: 11px;
+ right: 8px;
+ }
+}
+
+.over {
+ border-left-color: $white;
+}
+
+.dragging {
+ background: $blue;
+}
diff --git a/src/components/DataBrowserHeaderBar/DataBrowserHeaderBar.scss b/src/components/DataBrowserHeaderBar/DataBrowserHeaderBar.scss
index a69e8eba73..7332bc337e 100644
--- a/src/components/DataBrowserHeaderBar/DataBrowserHeaderBar.scss
+++ b/src/components/DataBrowserHeaderBar/DataBrowserHeaderBar.scss
@@ -1,109 +1,109 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.bar {
- position: sticky;
- z-index: 10;
- top: 0;
- left: 0;
- height: 0;
- background: #66637a;
- white-space: nowrap;
- display: inline-block;
- min-width: 100%;
- // to resolve rendering issue with retina displays
- -webkit-transform: translate3d(0,0,0);
-}
-
-.wrap {
- display: inline-block;
- vertical-align: top;
-}
-
-.addColumn {
- display: inline-block;
- height: 30px;
- vertical-align: top;
- padding: 0 25px;
-}
-
-.addColumnButton {
- @include buttonReset($bg: #343445);
- display: inline-block;
- height: 20px;
- width: 130px;
- text-align: center;
- line-height: 20px;
- margin-top: 5px;
- color: white;
- border-radius: 5px;
- vertical-align: top;
- font-size: 12px;
-}
-
-.check {
- line-height: 30px;
- height: 30px;
- vertical-align: top;
- text-align: center;
- width: 30px;
- background: rgb(114, 111, 133)
-}
-
-.handle {
- position: relative;
- display: inline-block;
- width: 8px;
- height: 30px;
- margin: 0 -4px;
- cursor: ew-resize;
-}
-
-.pickerPointer {
- .check {
- input {
- display: none;
- }
- }
-}
-
-.preventSort {
- :hover {
- cursor: not-allowed;
- }
-}
-
-.skeleton {
- position: absolute;
- width: 100%;
- height: 100%;
- top: 30px;
-}
-
-.skeletonRow {
- border-top: 1px solid #e3e3ea;
- border-bottom: 1px solid #e3e3ea;
- height: 30px;
- width:100%;
- vertical-align: middle;
- padding-left: 2px;
- margin-top: 30px;
- line-height: 31px;
- animation: skeleton-loading 1s linear infinite alternate;
-}
-
-@keyframes skeleton-loading {
- 0% {
- background-color:#ffffff;
- }
- 100% {
- background-color: #e3e3ea;
-
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.bar {
+ position: sticky;
+ z-index: 10;
+ top: 0;
+ left: 0;
+ height: 0;
+ background: #66637a;
+ white-space: nowrap;
+ display: inline-block;
+ min-width: 100%;
+ // to resolve rendering issue with retina displays
+ -webkit-transform: translate3d(0,0,0);
+}
+
+.wrap {
+ display: inline-block;
+ vertical-align: top;
+}
+
+.addColumn {
+ display: inline-block;
+ height: 30px;
+ vertical-align: top;
+ padding: 0 25px;
+}
+
+.addColumnButton {
+ @include buttonReset($bg: #343445);
+ display: inline-block;
+ height: 20px;
+ width: 130px;
+ text-align: center;
+ line-height: 20px;
+ margin-top: 5px;
+ color: white;
+ border-radius: 5px;
+ vertical-align: top;
+ font-size: 12px;
+}
+
+.check {
+ line-height: 30px;
+ height: 30px;
+ vertical-align: top;
+ text-align: center;
+ width: 30px;
+ background: rgb(114, 111, 133)
+}
+
+.handle {
+ position: relative;
+ display: inline-block;
+ width: 8px;
+ height: 30px;
+ margin: 0 -4px;
+ cursor: ew-resize;
+}
+
+.pickerPointer {
+ .check {
+ input {
+ display: none;
+ }
+ }
+}
+
+.preventSort {
+ :hover {
+ cursor: not-allowed;
+ }
+}
+
+.skeleton {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 30px;
+}
+
+.skeletonRow {
+ border-top: 1px solid #e3e3ea;
+ border-bottom: 1px solid #e3e3ea;
+ height: 30px;
+ width:100%;
+ vertical-align: middle;
+ padding-left: 2px;
+ margin-top: 30px;
+ line-height: 31px;
+ animation: skeleton-loading 1s linear infinite alternate;
+}
+
+@keyframes skeleton-loading {
+ 0% {
+ background-color:#ffffff;
+ }
+ 100% {
+ background-color: #e3e3ea;
+
+ }
+}
diff --git a/src/components/DatePicker/DatePicker.scss b/src/components/DatePicker/DatePicker.scss
index 6ea06810d8..79827f2d4d 100644
--- a/src/components/DatePicker/DatePicker.scss
+++ b/src/components/DatePicker/DatePicker.scss
@@ -1,33 +1,33 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.input {
- width: 100%;
- height: 80px;
- line-height: 80px;
- text-align: center;
- background: $inputBackgroundColor;
-}
-
-.placeholder {
- color: $secondaryTextColor;
-}
-
-.picker {
- border: 1px solid $blue;
- background: white;
-
- > * {
- margin: 10% auto 4% auto;
- }
-}
-
-.value {
- color: $blue;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.input {
+ width: 100%;
+ height: 80px;
+ line-height: 80px;
+ text-align: center;
+ background: $inputBackgroundColor;
+}
+
+.placeholder {
+ color: $secondaryTextColor;
+}
+
+.picker {
+ border: 1px solid $blue;
+ background: white;
+
+ > * {
+ margin: 10% auto 4% auto;
+ }
+}
+
+.value {
+ color: $blue;
}
\ No newline at end of file
diff --git a/src/components/DateRange/DateRange.scss b/src/components/DateRange/DateRange.scss
index f51cc0562a..e789a07cd7 100644
--- a/src/components/DateRange/DateRange.scss
+++ b/src/components/DateRange/DateRange.scss
@@ -1,80 +1,80 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$dateRangeHeight: 30px;
-
-.wrap {
- display: inline-block;
- vertical-align: top;
- height: $dateRangeHeight;
-}
-
-.range {
- display: inline-block;
- white-space: nowrap;
- cursor: pointer;
- font-size: 14px;
- height: $dateRangeHeight;
- border: 1px solid $blue;
- border-radius: 5px;
- padding: 6px 12px;
- color: $blue;
-
- span {
- display: inline-block;
- line-height: 18px;
- }
-
- svg {
- vertical-align: top;
- margin-left: 10px;
- }
-}
-
-.open .range {
- position: relative;
- background: white;
- border-top: none;
- padding-top: 7px;
- border-radius: 0 0 5px 5px;
-}
-
-.calendars {
- position: absolute;
- background: white;
- border: 1px solid $blue;
- bottom: 29px;
- left: 0;
- width: 406px;
- height: 192px;
- padding: 10px;
- border-radius: 5px 5px 5px 0;
-
- > * {
- display: inline-block;
- vertical-align: top;
-
- &:first-child {
- margin-right: 20px;
- }
- }
-}
-
-.right {
- &.open {
- position: absolute;
- right: 0;
- }
-
- .calendars {
- left: auto;
- right: 0;
- border-radius: 5px 5px 0 5px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$dateRangeHeight: 30px;
+
+.wrap {
+ display: inline-block;
+ vertical-align: top;
+ height: $dateRangeHeight;
+}
+
+.range {
+ display: inline-block;
+ white-space: nowrap;
+ cursor: pointer;
+ font-size: 14px;
+ height: $dateRangeHeight;
+ border: 1px solid $blue;
+ border-radius: 5px;
+ padding: 6px 12px;
+ color: $blue;
+
+ span {
+ display: inline-block;
+ line-height: 18px;
+ }
+
+ svg {
+ vertical-align: top;
+ margin-left: 10px;
+ }
+}
+
+.open .range {
+ position: relative;
+ background: white;
+ border-top: none;
+ padding-top: 7px;
+ border-radius: 0 0 5px 5px;
+}
+
+.calendars {
+ position: absolute;
+ background: white;
+ border: 1px solid $blue;
+ bottom: 29px;
+ left: 0;
+ width: 406px;
+ height: 192px;
+ padding: 10px;
+ border-radius: 5px 5px 5px 0;
+
+ > * {
+ display: inline-block;
+ vertical-align: top;
+
+ &:first-child {
+ margin-right: 20px;
+ }
+ }
+}
+
+.right {
+ &.open {
+ position: absolute;
+ right: 0;
+ }
+
+ .calendars {
+ left: auto;
+ right: 0;
+ border-radius: 5px 5px 0 5px;
+ }
+}
diff --git a/src/components/DateTimeEditor/DateTimeEditor.scss b/src/components/DateTimeEditor/DateTimeEditor.scss
index 86033493f5..4c62ecc8fc 100644
--- a/src/components/DateTimeEditor/DateTimeEditor.scss
+++ b/src/components/DateTimeEditor/DateTimeEditor.scss
@@ -1,22 +1,22 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.editor {
- box-shadow: 0 1px 4px rgba(0,0,0,0.4);
-
- > input {
- @include MonospaceFont;
- width: 100%;
- height: 30px;
- border: none;
- outline: none;
- padding: 0 4px;
- font-size: 12px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.editor {
+ box-shadow: 0 1px 4px rgba(0,0,0,0.4);
+
+ > input {
+ @include MonospaceFont;
+ width: 100%;
+ height: 30px;
+ border: none;
+ outline: none;
+ padding: 0 4px;
+ font-size: 12px;
+ }
+}
diff --git a/src/components/DateTimeInput/DateTimeInput.scss b/src/components/DateTimeInput/DateTimeInput.scss
index 3e1e8c55ce..90d1385e4d 100644
--- a/src/components/DateTimeInput/DateTimeInput.scss
+++ b/src/components/DateTimeInput/DateTimeInput.scss
@@ -1,20 +1,20 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.input {
- width: 100%;
- height: 80px;
- line-height: 80px;
- text-align: center;
- background: $inputBackgroundColor;
-}
-
-.placeholder {
- color: $secondaryTextColor;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.input {
+ width: 100%;
+ height: 80px;
+ line-height: 80px;
+ text-align: center;
+ background: $inputBackgroundColor;
+}
+
+.placeholder {
+ color: $secondaryTextColor;
+}
diff --git a/src/components/DateTimePicker/DateTimePicker.scss b/src/components/DateTimePicker/DateTimePicker.scss
index a6ebf54b64..241c8fe731 100644
--- a/src/components/DateTimePicker/DateTimePicker.scss
+++ b/src/components/DateTimePicker/DateTimePicker.scss
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.picker {
- border: 1px solid $blue;
- background: white;
-
- > *:first-child {
- margin: 10% auto 4% auto;
- }
-}
-
-.value {
- color: $lightBlue;
-
- strong {
- color: $blue;
- }
-}
-
-.time {
- margin: 0;
- padding: 12px;
- color: $blue;
- border-top: 1px solid $borderGrey;
- text-align: right;
-
- input {
- display: inline-block;
- width: 40px;
- height: 30px;
- border: 1px solid $blue;
- color: $blue;
- border-radius: 5px;
- outline: none;
- text-align: center;
- font-size: 12px;
- padding: 0;
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.picker {
+ border: 1px solid $blue;
+ background: white;
+
+ > *:first-child {
+ margin: 10% auto 4% auto;
+ }
+}
+
+.value {
+ color: $lightBlue;
+
+ strong {
+ color: $blue;
+ }
+}
+
+.time {
+ margin: 0;
+ padding: 12px;
+ color: $blue;
+ border-top: 1px solid $borderGrey;
+ text-align: right;
+
+ input {
+ display: inline-block;
+ width: 40px;
+ height: 30px;
+ border: 1px solid $blue;
+ color: $blue;
+ border-radius: 5px;
+ outline: none;
+ text-align: center;
+ font-size: 12px;
+ padding: 0;
+ }
}
\ No newline at end of file
diff --git a/src/components/DonutChart/DonutChart.scss b/src/components/DonutChart/DonutChart.scss
index b63a361870..67d6b8992f 100644
--- a/src/components/DonutChart/DonutChart.scss
+++ b/src/components/DonutChart/DonutChart.scss
@@ -1,76 +1,76 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.donutCenter {
- fill: $pushDetailsHeaderBackground;
-}
-
-.path {
- -webkit-transform: scale(1.0);
- transform: scale(1.0);
- transition: all 0.3s;
-
- &:hover {
- -webkit-transform: scale(1.1);
- transform: scale(1.1);
- transition: all 0.3s;
- }
-
- &:first-of-type {
- &:hover ~ .donutValue:first-of-type {
- opacity: 0;
- }
- &:hover ~ .donutValue:nth-of-type(1) {
- opacity: 1;
- }
- }
-
- &:nth-of-type(2) {
- &:hover ~ .donutValue:first-of-type {
- opacity: 0;
- }
- &:hover ~ .donutValue:nth-of-type(2) {
- opacity: 1;
- }
- }
-
- &:nth-of-type(3) {
- &:hover ~ .donutValue:first-of-type {
- opacity: 0;
- }
- &:hover ~ .donutValue:nth-of-type(3) {
- opacity: 1;
- }
- }
-
- &:nth-of-type(4) {
- &:hover ~ .donutValue:first-of-type {
- opacity: 0;
- }
- &:hover ~ .donutValue:nth-of-type(4) {
- opacity: 1;
- }
- }
-}
-
-.donutValue {
- opacity: 0;
- transition: opacity 0.2s ease;
- @include DosisFont;
- font-size: 22px;
- font-weight: 500;
- &:first-of-type {
- opacity: 1;
- }
-}
-
-.donutLabel{
- opacity: 0.5;
- font-weight: 500;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.donutCenter {
+ fill: $pushDetailsHeaderBackground;
+}
+
+.path {
+ -webkit-transform: scale(1.0);
+ transform: scale(1.0);
+ transition: all 0.3s;
+
+ &:hover {
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
+ transition: all 0.3s;
+ }
+
+ &:first-of-type {
+ &:hover ~ .donutValue:first-of-type {
+ opacity: 0;
+ }
+ &:hover ~ .donutValue:nth-of-type(1) {
+ opacity: 1;
+ }
+ }
+
+ &:nth-of-type(2) {
+ &:hover ~ .donutValue:first-of-type {
+ opacity: 0;
+ }
+ &:hover ~ .donutValue:nth-of-type(2) {
+ opacity: 1;
+ }
+ }
+
+ &:nth-of-type(3) {
+ &:hover ~ .donutValue:first-of-type {
+ opacity: 0;
+ }
+ &:hover ~ .donutValue:nth-of-type(3) {
+ opacity: 1;
+ }
+ }
+
+ &:nth-of-type(4) {
+ &:hover ~ .donutValue:first-of-type {
+ opacity: 0;
+ }
+ &:hover ~ .donutValue:nth-of-type(4) {
+ opacity: 1;
+ }
+ }
+}
+
+.donutValue {
+ opacity: 0;
+ transition: opacity 0.2s ease;
+ @include DosisFont;
+ font-size: 22px;
+ font-weight: 500;
+ &:first-of-type {
+ opacity: 1;
+ }
+}
+
+.donutLabel{
+ opacity: 0.5;
+ font-weight: 500;
+}
diff --git a/src/components/DraggableResizablePanel/DraggableResizablePanel.react.js b/src/components/DraggableResizablePanel/DraggableResizablePanel.react.js
new file mode 100644
index 0000000000..d423c26bd5
--- /dev/null
+++ b/src/components/DraggableResizablePanel/DraggableResizablePanel.react.js
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+import React, { useState, useRef, useEffect } from 'react';
+import { ResizableBox } from 'react-resizable';
+import Icon from 'components/Icon/Icon.react';
+import styles from './DraggableResizablePanel.scss';
+
+const DraggableResizablePanel = ({
+ children,
+ width = 400,
+ height = 400,
+ minWidth = 300,
+ maxWidth = 800,
+ minHeight = 300,
+ maxHeight = 600,
+ title = 'Panel',
+ onClose,
+ initialPosition = { x: 100, y: 100 }
+}) => {
+ const [position, setPosition] = useState(initialPosition);
+ const [size, setSize] = useState({ width, height });
+ const [isDragging, setIsDragging] = useState(false);
+ const [dragStart, setDragStart] = useState({ x: 0, y: 0 });
+ const panelRef = useRef(null);
+ const titleBarRef = useRef(null); const handleMouseDown = (e) => {
+ // Check if the click was on the title bar or its children
+ if (titleBarRef.current && (
+ e.target === titleBarRef.current ||
+ titleBarRef.current.contains(e.target)
+ )) {
+
+ // Check that the close button was not clicked
+ if (!e.target.closest('[data-close-button="true"]')) {
+ setIsDragging(true);
+ setDragStart({
+ x: e.clientX - position.x,
+ y: e.clientY - position.y
+ });
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ }
+ }; const handleMouseMove = (e) => {
+ if (isDragging) {
+ const newX = e.clientX - dragStart.x;
+ const newY = e.clientY - dragStart.y;
+
+ // Limit position to not go off screen
+ const maxX = window.innerWidth - size.width;
+ const maxY = window.innerHeight - size.height;
+
+ const newPosition = {
+ x: Math.max(0, Math.min(newX, maxX)),
+ y: Math.max(0, Math.min(newY, maxY))
+ };
+
+ setPosition(newPosition);
+ }
+ };
+
+ const handleMouseUp = () => {
+ setIsDragging(false);
+ };
+
+ const handleResize = (event, { size: newSize }) => {
+ setSize(newSize);
+ };
+
+ useEffect(() => {
+ if (isDragging) {
+ document.addEventListener('mousemove', handleMouseMove);
+ document.addEventListener('mouseup', handleMouseUp);
+ document.body.style.cursor = 'move';
+ document.body.style.userSelect = 'none';
+ } else {
+ document.removeEventListener('mousemove', handleMouseMove);
+ document.removeEventListener('mouseup', handleMouseUp);
+ document.body.style.cursor = '';
+ document.body.style.userSelect = '';
+ }
+
+ return () => {
+ document.removeEventListener('mousemove', handleMouseMove);
+ document.removeEventListener('mouseup', handleMouseUp);
+ document.body.style.cursor = '';
+ document.body.style.userSelect = '';
+ };
+ }, [isDragging, dragStart, position, size]);
+
+ return (
+
+
+
+ {/* Title bar */}
+
+
+
+ {title}
+
+
+
+
+
+
+
+
+ {/* Panel content */}
+
+ {children}
+
+
+
+
+ );
+};
+
+export default DraggableResizablePanel;
diff --git a/src/components/DraggableResizablePanel/DraggableResizablePanel.scss b/src/components/DraggableResizablePanel/DraggableResizablePanel.scss
new file mode 100644
index 0000000000..b71b5d229e
--- /dev/null
+++ b/src/components/DraggableResizablePanel/DraggableResizablePanel.scss
@@ -0,0 +1,188 @@
+.draggablePanel {
+ position: fixed;
+ z-index: 1000;
+ border-radius: 8px;
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
+ background: white;
+ border: 1px solid #e1e5e9;
+}
+
+.resizableContainer {
+ border-radius: 8px;
+ overflow: visible; // Change: allow handles to be visible outside the border
+
+ :global(.react-resizable-handle) {
+ position: absolute;
+ z-index: 1001;
+ opacity: 0;
+ transition: opacity 0.2s;
+ }
+
+ // Show handles when hovering over the window
+ &:hover :global(.react-resizable-handle) {
+ opacity: 1;
+ }
+
+ :global(.react-resizable-handle-se) {
+ bottom: -5px;
+ right: -5px;
+ width: 16px;
+ height: 16px;
+ cursor: se-resize;
+ border-radius: 50%;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
+ //background: #1f8ce6;
+ //border: 2px solid white;
+ }
+
+ :global(.react-resizable-handle-e) {
+ right: -4px;
+ top: 20%;
+ bottom: 20%;
+ width: 8px;
+ cursor: e-resize;
+ border-radius: 4px;
+ //background: #1f8ce6;
+ //border: 1px solid white;
+ }
+
+ :global(.react-resizable-handle-s) {
+ bottom: -4px;
+ left: 20%;
+ right: 20%;
+ height: 8px;
+ cursor: s-resize;
+ border-radius: 4px;
+ //background: #1f8ce6;
+ //border: 1px solid white;
+ }
+
+ :global(.react-resizable-handle-w) {
+ left: -4px;
+ top: 20%;
+ bottom: 20%;
+ width: 8px;
+ cursor: w-resize;
+ border-radius: 4px;
+ //background: #1f8ce6;
+ //border: 1px solid white;
+ }
+
+ :global(.react-resizable-handle-n) {
+ top: -4px;
+ left: 20%;
+ right: 20%;
+ height: 8px;
+ cursor: n-resize;
+ border-radius: 4px;
+ //background: #1f8ce6;
+ //border: 1px solid white;
+ }
+
+ :global(.react-resizable-handle-ne) {
+ top: -5px;
+ right: -5px;
+ width: 12px;
+ height: 12px;
+ cursor: ne-resize;
+ border-radius: 50%;
+ //background: #1f8ce6;
+ //border: 2px solid white;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
+ }
+
+ :global(.react-resizable-handle-nw) {
+ top: -5px;
+ left: -5px;
+ width: 12px;
+ height: 12px;
+ cursor: nw-resize;
+ border-radius: 50%;
+ //background: #1f8ce6;
+ //border: 2px solid white;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
+ }
+
+ :global(.react-resizable-handle-sw) {
+ bottom: -5px;
+ left: -5px;
+ width: 12px;
+ height: 12px;
+ cursor: sw-resize;
+ border-radius: 50%;
+ //background: #1f8ce6;
+ //border: 2px solid white;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
+ }
+}
+
+.panelContainer {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ background: white;
+ border-radius: 8px;
+}
+
+.titleBar {
+ background: linear-gradient(135deg, #1f8ce6 0%, #1470c7 100%);
+ color: white;
+ padding: 8px 12px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ cursor: move;
+ user-select: none;
+ border-radius: 8px 8px 0 0;
+ min-height: 32px;
+
+ &:hover {
+ background: linear-gradient(135deg, #1a7dd6 0%, #1260b7 100%);
+ }
+}
+
+.title {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ font-weight: 600;
+ font-size: 14px;
+
+ span {
+ margin: 0;
+ }
+}
+
+.controls {
+ display: flex;
+ align-items: center;
+ gap: 4px;
+}
+
+.closeButton {
+ background: transparent;
+ border: none;
+ color: white;
+ cursor: pointer;
+ padding: 4px;
+ border-radius: 4px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: background-color 0.2s;
+
+ &:hover {
+ background: rgba(255, 255, 255, 0.2);
+ }
+
+ &:active {
+ background: rgba(255, 255, 255, 0.3);
+ }
+}
+
+.content {
+ flex: 1;
+ overflow: auto;
+ border-radius: 0 0 8px 8px;
+}
diff --git a/src/components/Dropdown/Dropdown.scss b/src/components/Dropdown/Dropdown.scss
index 50ff4e70a3..38bc1c0671 100644
--- a/src/components/Dropdown/Dropdown.scss
+++ b/src/components/Dropdown/Dropdown.scss
@@ -1,92 +1,92 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.dropdown {
- position: relative;
- background: $inputBackgroundColor;
- font-size: 16px;
- height: 80px;
- width: 100%;
- overflow: hidden;
-}
-
-.dropdown, .menu {
- text-align: left;
- cursor: pointer;
- white-space: nowrap;
-}
-
-.menu {
- max-height: 215px;
- border: 1px solid $blue;
- background: white;
- overflow: auto;
-
- button {
- @include buttonReset;
- display: block;
- width: 100%;
- }
-
- .option {
- color: $blue;
- border-bottom: 1px solid $borderGrey;
-
- &:hover {
- background: rgba(0,0,0,0.1);
- }
- }
-
- > *:last-child .option {
- border-bottom: none;
- }
-}
-
-.current {
- text-align: center;
- height: 80px;
-
- &:not(.hideArrow){
- &:after {
- @include arrow('down', 12px, 8px, rgba(0,0,0,0.3));
- position: absolute;
- content: '';
- top: 36px;
- right: 20px;
- }
- }
-
- .option, .placeHolder {
- height: 80px;
- line-height: 80px;
- }
-
- .placeHolder {
- color: $secondaryTextColor
- }
-}
-
-.option {
- line-height: 50px;
- padding: 0 14px 0 14px;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.disabled {
- cursor: default;
-
- .current:after {
- display: none;
- }
-
- .option {
- padding: 0 14px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.dropdown {
+ position: relative;
+ background: $inputBackgroundColor;
+ font-size: 16px;
+ height: 80px;
+ width: 100%;
+ overflow: hidden;
+}
+
+.dropdown, .menu {
+ text-align: left;
+ cursor: pointer;
+ white-space: nowrap;
+}
+
+.menu {
+ max-height: 215px;
+ border: 1px solid $blue;
+ background: white;
+ overflow: auto;
+
+ button {
+ @include buttonReset;
+ display: block;
+ width: 100%;
+ }
+
+ .option {
+ color: $blue;
+ border-bottom: 1px solid $borderGrey;
+
+ &:hover {
+ background: rgba(0,0,0,0.1);
+ }
+ }
+
+ > *:last-child .option {
+ border-bottom: none;
+ }
+}
+
+.current {
+ text-align: center;
+ height: 80px;
+
+ &:not(.hideArrow){
+ &:after {
+ @include arrow('down', 12px, 8px, rgba(0,0,0,0.3));
+ position: absolute;
+ content: '';
+ top: 36px;
+ right: 20px;
+ }
+ }
+
+ .option, .placeHolder {
+ height: 80px;
+ line-height: 80px;
+ }
+
+ .placeHolder {
+ color: $secondaryTextColor
+ }
+}
+
+.option {
+ line-height: 50px;
+ padding: 0 14px 0 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.disabled {
+ cursor: default;
+
+ .current:after {
+ display: none;
+ }
+
+ .option {
+ padding: 0 14px;
+ }
+}
diff --git a/src/components/EmptyState/EmptyState.scss b/src/components/EmptyState/EmptyState.scss
index 8fddab4268..610c23bb00 100644
--- a/src/components/EmptyState/EmptyState.scss
+++ b/src/components/EmptyState/EmptyState.scss
@@ -1,34 +1,34 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.title {
- font-size: 46px;
- font-weight: 100;
- line-height: 55px;
- white-space: nowrap;
- margin-bottom: 45px;
-}
-
-.description {
- @include DosisFont;
- font-size: 16px;
- letter-spacing: 0.72px;
- line-height: 17px;
- margin-bottom: 12px;
-}
-
-.icon {
- width: 170px;
- height: 170px;
- margin: 0 auto 24px auto;
- border-radius: 100%;
- background: #f3f0f2;
- text-align: center;
- padding-top: 45px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.title {
+ font-size: 46px;
+ font-weight: 100;
+ line-height: 55px;
+ white-space: nowrap;
+ margin-bottom: 45px;
+}
+
+.description {
+ @include DosisFont;
+ font-size: 16px;
+ letter-spacing: 0.72px;
+ line-height: 17px;
+ margin-bottom: 12px;
+}
+
+.icon {
+ width: 170px;
+ height: 170px;
+ margin: 0 auto 24px auto;
+ border-radius: 100%;
+ background: #f3f0f2;
+ text-align: center;
+ padding-top: 45px;
+}
diff --git a/src/components/ExplorerActiveChartButton/ExplorerActiveChartButton.scss b/src/components/ExplorerActiveChartButton/ExplorerActiveChartButton.scss
index cf6c870e8f..7f0d11187d 100644
--- a/src/components/ExplorerActiveChartButton/ExplorerActiveChartButton.scss
+++ b/src/components/ExplorerActiveChartButton/ExplorerActiveChartButton.scss
@@ -1,75 +1,75 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.wrap {
- display: inline-block;
- vertical-align: top;
- height: 30px;
-}
-
-.button {
- width: 250px;
- height: 30px;
- position: relative;
-}
-
-.checkbox {
- display: inline-block;
- height: 20px;
- width: 20px;
- padding: 3px;
- border-radius: 4px;
- vertical-align: middle;
- cursor: pointer;
-
- svg {
- vertical-align: top;
- }
-}
-
-.rightArrow {
- @include arrow('down', 12px, 8px, $greyArrowColor);
- position: absolute;
- right: 0px;
- cursor: pointer;
-}
-
-.label {
- @include ellipsis;
- position: absolute;
- max-width: 200px;
- left: 30px;
- top: 8px;
-}
-
-.composerContainer {
- width: 700px;
- position: relative;
-}
-
-.callout {
- @include arrow('up', 20px, 10px, $explorerQueryBackgroundColor);
- width: 20px;
- height: 10px;
-}
-
-.right {
- position: absolute;
- right: 0;
-
- .button {
- margin-left: auto;
- margin-right: 0px;
- }
-
- .callout {
- margin-left: auto;
- }
-}
-
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.wrap {
+ display: inline-block;
+ vertical-align: top;
+ height: 30px;
+}
+
+.button {
+ width: 250px;
+ height: 30px;
+ position: relative;
+}
+
+.checkbox {
+ display: inline-block;
+ height: 20px;
+ width: 20px;
+ padding: 3px;
+ border-radius: 4px;
+ vertical-align: middle;
+ cursor: pointer;
+
+ svg {
+ vertical-align: top;
+ }
+}
+
+.rightArrow {
+ @include arrow('down', 12px, 8px, $greyArrowColor);
+ position: absolute;
+ right: 0px;
+ cursor: pointer;
+}
+
+.label {
+ @include ellipsis;
+ position: absolute;
+ max-width: 200px;
+ left: 30px;
+ top: 8px;
+}
+
+.composerContainer {
+ width: 700px;
+ position: relative;
+}
+
+.callout {
+ @include arrow('up', 20px, 10px, $explorerQueryBackgroundColor);
+ width: 20px;
+ height: 10px;
+}
+
+.right {
+ position: absolute;
+ right: 0;
+
+ .button {
+ margin-left: auto;
+ margin-right: 0px;
+ }
+
+ .callout {
+ margin-left: auto;
+ }
+}
+
diff --git a/src/components/ExplorerMenuButton/ExplorerMenuButton.scss b/src/components/ExplorerMenuButton/ExplorerMenuButton.scss
index f7b1ac73f1..97cdb19e8e 100644
--- a/src/components/ExplorerMenuButton/ExplorerMenuButton.scss
+++ b/src/components/ExplorerMenuButton/ExplorerMenuButton.scss
@@ -1,53 +1,53 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.wrap {
- display: inline-block;
- vertical-align: top;
- height: 30px;
-}
-
-.queryMenuContainer {
- width: 700px;
- position: relative;
-}
-
-.button {
- display: inline-block;
- height: 30px;
- width: 111px;
- border: 1px solid $mainTextColor;
- border-radius: 5px;
- line-height: 30px;
- text-align: center;
- padding: 0 16px;
- cursor: pointer;
-}
-
-.callout {
- @include arrow('up', 20px, 10px, $explorerQueryBackgroundColor);
- width: 20px;
- height: 10px;
-}
-
-.right {
- position: absolute;
- right: 0;
-
- .button {
- display: block;
- margin-left: auto;
- margin-right: 0px;
- }
-
- .callout {
- margin-left: auto;
- }
-}
-
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.wrap {
+ display: inline-block;
+ vertical-align: top;
+ height: 30px;
+}
+
+.queryMenuContainer {
+ width: 700px;
+ position: relative;
+}
+
+.button {
+ display: inline-block;
+ height: 30px;
+ width: 111px;
+ border: 1px solid $mainTextColor;
+ border-radius: 5px;
+ line-height: 30px;
+ text-align: center;
+ padding: 0 16px;
+ cursor: pointer;
+}
+
+.callout {
+ @include arrow('up', 20px, 10px, $explorerQueryBackgroundColor);
+ width: 20px;
+ height: 10px;
+}
+
+.right {
+ position: absolute;
+ right: 0;
+
+ .button {
+ display: block;
+ margin-left: auto;
+ margin-right: 0px;
+ }
+
+ .callout {
+ margin-left: auto;
+ }
+}
+
diff --git a/src/components/ExplorerQueryComposer/ExplorerQueryComposer.scss b/src/components/ExplorerQueryComposer/ExplorerQueryComposer.scss
index 9f72899e2c..00a6017b2c 100644
--- a/src/components/ExplorerQueryComposer/ExplorerQueryComposer.scss
+++ b/src/components/ExplorerQueryComposer/ExplorerQueryComposer.scss
@@ -1,161 +1,161 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$labelWidth: 100px;
-$placeholderColor: rgba(255, 255, 255, 0.5);
-
-.queryComposer {
- background-color: $explorerQueryBackgroundColor;
- border: 1px solid $explorerQueryBackgroundColor;
- border-radius: 5px;
- color: white;
-
- .queryComposerBox {
- border: 1px solid $explorerQueryBackgroundColor;
- width: 100%;
- padding: 10px 0;
- position: relative;
- background-color: $blue;
-
- .queryComposerLabel {
- height: 100%;
- background-color: $blue;
- }
- }
-
- .header {
- height: 60px;
- position: relative;
- }
-
- .footer {
- padding-top: 15px;
- height: 60px;
- position: relative;
- }
-}
-
-.headerView {
- display: table;
- width: 95%;
- padding-top: 10px;
-
- .headerLabel {
- display: table-cell;
- text-align: left;
- width: 100%;
-
- &.textInput {
- background: none;
- border: none;
- font-size: 1.3em;
- color: white;
-
- @include placeholder {
- color: $placeholderColor;
- }
- }
- }
-
- .headerButtonCell {
- display: table-cell;
- width: 40px;
- padding-left: 30px;
- }
-
- .headerButton {
- @include buttonReset;
- color: white;
-
- &.secondaryColor {
- color: $placeholderColor;
- }
- }
-}
-
-.boxContent {
- width: 95%;
- display: table;
- margin: 0 auto;
- table-layout: fixed;
-
- .formLabel {
- display: table-cell;
- width: $labelWidth;
- vertical-align: middle;
- }
-
- .filterInputStyle {
- width: 47%;
- margin-left: 2%
- }
-
- .halfBox {
- display: table;
- float: left;
- width: 48%;
- margin-right: 2%;
-
- &:last-child {
- width: 50%;
- margin-right: 0;
- }
- }
-
- .delWrapper {
- display: table-cell;
- vertical-align: middle;
- width: 24px;
- padding-left: 10px;
- }
-
- .del {
- @include buttonReset;
- color: #d8d8d8;
- font-size: 18px;
- line-height: 18px;
- }
-
- .twoButton {
- display: table-cell;
- float: left;
- width: 49%;
- margin-right: 2%;
-
- &:last-child {
- margin-right: 0;
- }
- }
-
- .actionButton {
- display: table-cell;
- width: auto;
- padding-right: 2%;
-
- &:last-child {
- padding-right: 0;
- }
- }
-}
-
-.formLabel {
- text-align: left;
- color: #fdfafb;
-}
-
-.formInput, .formInput > input {
- text-align: left;
- color: white;
- background-color: $darkBlue;
- height: 30px;
- border-color: transparent;
- border-radius: 5px;
- padding: 0 30px 0 10px;
- overflow: hidden;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$labelWidth: 100px;
+$placeholderColor: rgba(255, 255, 255, 0.5);
+
+.queryComposer {
+ background-color: $explorerQueryBackgroundColor;
+ border: 1px solid $explorerQueryBackgroundColor;
+ border-radius: 5px;
+ color: white;
+
+ .queryComposerBox {
+ border: 1px solid $explorerQueryBackgroundColor;
+ width: 100%;
+ padding: 10px 0;
+ position: relative;
+ background-color: $blue;
+
+ .queryComposerLabel {
+ height: 100%;
+ background-color: $blue;
+ }
+ }
+
+ .header {
+ height: 60px;
+ position: relative;
+ }
+
+ .footer {
+ padding-top: 15px;
+ height: 60px;
+ position: relative;
+ }
+}
+
+.headerView {
+ display: table;
+ width: 95%;
+ padding-top: 10px;
+
+ .headerLabel {
+ display: table-cell;
+ text-align: left;
+ width: 100%;
+
+ &.textInput {
+ background: none;
+ border: none;
+ font-size: 1.3em;
+ color: white;
+
+ @include placeholder {
+ color: $placeholderColor;
+ }
+ }
+ }
+
+ .headerButtonCell {
+ display: table-cell;
+ width: 40px;
+ padding-left: 30px;
+ }
+
+ .headerButton {
+ @include buttonReset;
+ color: white;
+
+ &.secondaryColor {
+ color: $placeholderColor;
+ }
+ }
+}
+
+.boxContent {
+ width: 95%;
+ display: table;
+ margin: 0 auto;
+ table-layout: fixed;
+
+ .formLabel {
+ display: table-cell;
+ width: $labelWidth;
+ vertical-align: middle;
+ }
+
+ .filterInputStyle {
+ width: 47%;
+ margin-left: 2%
+ }
+
+ .halfBox {
+ display: table;
+ float: left;
+ width: 48%;
+ margin-right: 2%;
+
+ &:last-child {
+ width: 50%;
+ margin-right: 0;
+ }
+ }
+
+ .delWrapper {
+ display: table-cell;
+ vertical-align: middle;
+ width: 24px;
+ padding-left: 10px;
+ }
+
+ .del {
+ @include buttonReset;
+ color: #d8d8d8;
+ font-size: 18px;
+ line-height: 18px;
+ }
+
+ .twoButton {
+ display: table-cell;
+ float: left;
+ width: 49%;
+ margin-right: 2%;
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+
+ .actionButton {
+ display: table-cell;
+ width: auto;
+ padding-right: 2%;
+
+ &:last-child {
+ padding-right: 0;
+ }
+ }
+}
+
+.formLabel {
+ text-align: left;
+ color: #fdfafb;
+}
+
+.formInput, .formInput > input {
+ text-align: left;
+ color: white;
+ background-color: $darkBlue;
+ height: 30px;
+ border-color: transparent;
+ border-radius: 5px;
+ padding: 0 30px 0 10px;
+ overflow: hidden;
+}
diff --git a/src/components/ExplorerQueryPicker/ExplorerQueryPicker.scss b/src/components/ExplorerQueryPicker/ExplorerQueryPicker.scss
index d546a85b6c..c135400a6e 100644
--- a/src/components/ExplorerQueryPicker/ExplorerQueryPicker.scss
+++ b/src/components/ExplorerQueryPicker/ExplorerQueryPicker.scss
@@ -1,56 +1,56 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.queryPicker {
- background-color: $explorerQueryBackgroundColor;
- border: 1px solid $explorerQueryBackgroundColor;
- border-radius: 5px;
-
- color: white;
-
- .queryContainer {
- background-color: white;
- color: black;
-
- .queryGroup {
- padding: 15px 0px 15px 15px;
- border: 1px solid #efefef;
- }
-
- .queryItem {
- padding-top: 8px;
- padding-bottom: 8px;
- }
-
- .queryLabel {
- @include buttonReset;
- color: $mainTextColor;
- }
- }
-
- .del {
- @include buttonReset;
- position: absolute;
- right: 24px;
- color: #d8d8d8;
- font-size: 18px;
- line-height: 18px;
- }
-
- .header {
- padding: 15px;
- height: 60px;
- position: relative;
- }
-
- .footer {
- height: 60px;
- position: relative;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.queryPicker {
+ background-color: $explorerQueryBackgroundColor;
+ border: 1px solid $explorerQueryBackgroundColor;
+ border-radius: 5px;
+
+ color: white;
+
+ .queryContainer {
+ background-color: white;
+ color: black;
+
+ .queryGroup {
+ padding: 15px 0px 15px 15px;
+ border: 1px solid #efefef;
+ }
+
+ .queryItem {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ }
+
+ .queryLabel {
+ @include buttonReset;
+ color: $mainTextColor;
+ }
+ }
+
+ .del {
+ @include buttonReset;
+ position: absolute;
+ right: 24px;
+ color: #d8d8d8;
+ font-size: 18px;
+ line-height: 18px;
+ }
+
+ .header {
+ padding: 15px;
+ height: 60px;
+ position: relative;
+ }
+
+ .footer {
+ height: 60px;
+ position: relative;
+ }
+}
diff --git a/src/components/Field/Field.scss b/src/components/Field/Field.scss
index 2978470710..74805255ac 100644
--- a/src/components/Field/Field.scss
+++ b/src/components/Field/Field.scss
@@ -1,57 +1,57 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.field {
- position: relative;
- border-style: solid;
- border-color: $borderGrey;
- border-width: 1px 1px 0 1px;
- min-height: 80px;
- background: white;
- display: flex;
-
- &:last-of-type {
- border-bottom-width: 1px;
- }
-
- > pre[class*="language-"] {
- border-radius: 5px;
- }
-}
-
-.left {
- display: flex;
- align-items: center;
-}
-
-.right {
- position: relative;
- min-height: 80px;
- text-align: right;
- padding: 0;
- background: #f6fafb;
- display: flex;
- justify-content: center;
- align-items: center;
- flex: 1
-}
-
-
-.header {
- min-height: 56px;
- height: 56px;
-
- .right {
- min-height: 56px;
- }
-
- & ~ .field {
- background: #f5f5f7;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.field {
+ position: relative;
+ border-style: solid;
+ border-color: $borderGrey;
+ border-width: 1px 1px 0 1px;
+ min-height: 80px;
+ background: white;
+ display: flex;
+
+ &:last-of-type {
+ border-bottom-width: 1px;
+ }
+
+ > pre[class*="language-"] {
+ border-radius: 5px;
+ }
+}
+
+.left {
+ display: flex;
+ align-items: center;
+}
+
+.right {
+ position: relative;
+ min-height: 80px;
+ text-align: right;
+ padding: 0;
+ background: #f6fafb;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex: 1
+}
+
+
+.header {
+ min-height: 56px;
+ height: 56px;
+
+ .right {
+ min-height: 56px;
+ }
+
+ & ~ .field {
+ background: #f5f5f7;
+ }
+}
diff --git a/src/components/Fieldset/Fieldset.scss b/src/components/Fieldset/Fieldset.scss
index ec322d4f90..8013c2b791 100644
--- a/src/components/Fieldset/Fieldset.scss
+++ b/src/components/Fieldset/Fieldset.scss
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.fieldset {
- margin: 40px 0;
-}
-
-.legend {
- text-align: center;
- font-size: 22px;
- line-height: 26px;
- font-weight: 700;
- color: $blue;
- margin-bottom: 4px;
-}
-
-.description {
- @include DosisFont;
- text-align: center;
- font-size: 14px;
- line-height: 16px;
- color: $mainTextColor;
- width: 500px;
- margin: 0 auto 16px auto;
-}
-
-.fields {
- width: 650px;
- margin: 0 auto;
-
- & > div:first-of-type {
- border-top-left-radius: 5px;
- border-top-right-radius: 5px;
- }
-
- & > div:last-of-type {
- border-bottom-left-radius: 5px;
- border-bottom-right-radius: 5px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.fieldset {
+ margin: 40px 0;
+}
+
+.legend {
+ text-align: center;
+ font-size: 22px;
+ line-height: 26px;
+ font-weight: 700;
+ color: $blue;
+ margin-bottom: 4px;
+}
+
+.description {
+ @include DosisFont;
+ text-align: center;
+ font-size: 14px;
+ line-height: 16px;
+ color: $mainTextColor;
+ width: 500px;
+ margin: 0 auto 16px auto;
+}
+
+.fields {
+ width: 650px;
+ margin: 0 auto;
+
+ & > div:first-of-type {
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+ }
+
+ & > div:last-of-type {
+ border-bottom-left-radius: 5px;
+ border-bottom-right-radius: 5px;
+ }
+}
diff --git a/src/components/FileEditor/FileEditor.scss b/src/components/FileEditor/FileEditor.scss
index 5a2faf2c3b..257e8e7e0e 100644
--- a/src/components/FileEditor/FileEditor.scss
+++ b/src/components/FileEditor/FileEditor.scss
@@ -1,48 +1,48 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.editor {
- background: white;
- white-space: nowrap;
- box-shadow: 0 1px 4px rgba(0,0,0,0.4);
- padding: 6px;
-}
-
-.delete, .upload, .download {
- @include DosisFont;
- display: block;
- cursor: pointer;
- color: white;
- height: 20px;
- line-height: 20px;
- font-size: 14px;
- text-align: center;
- border-radius: 5px;
-}
-
-.delete {
- background: $red;
-}
-
-.upload, .download {
- position: relative;
- overflow: hidden;
- background: $blue;
- margin-bottom: 6px;
-
- input {
- position: absolute;
- opacity: 0;
- top: 0;
- right: 0;
- bottom: 0;
- cursor: pointer;
- width: 100%;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.editor {
+ background: white;
+ white-space: nowrap;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.4);
+ padding: 6px;
+}
+
+.delete, .upload, .download {
+ @include DosisFont;
+ display: block;
+ cursor: pointer;
+ color: white;
+ height: 20px;
+ line-height: 20px;
+ font-size: 14px;
+ text-align: center;
+ border-radius: 5px;
+}
+
+.delete {
+ background: $red;
+}
+
+.upload, .download {
+ position: relative;
+ overflow: hidden;
+ background: $blue;
+ margin-bottom: 6px;
+
+ input {
+ position: absolute;
+ opacity: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ cursor: pointer;
+ width: 100%;
+ }
+}
diff --git a/src/components/FileInput/FileInput.scss b/src/components/FileInput/FileInput.scss
index 76984eb8e9..315f645097 100644
--- a/src/components/FileInput/FileInput.scss
+++ b/src/components/FileInput/FileInput.scss
@@ -1,95 +1,95 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.input {
- width: 100%;
- height: 80px;
- padding: 0 10%;
- background: $inputBackgroundColor;
- text-align: center;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.button {
- position: relative;
- display: inline-block;
- height: 30px;
- margin-top: 25px;
- padding: 0 16px;
- border: 1px solid $blue;
- border-radius: 5px;
- overflow: hidden;
- color: $blue;
- transition: background 0.5s, color 0.5s;
-
- &:hover {
- background: $blue;
- color: white;
- }
-
- input {
- position: absolute;
- opacity: 0;
- top: 0;
- right: 0;
- left: -100px;
- bottom: 0;
- cursor: pointer;
- }
-
- > span {
- line-height: 30px;
- }
-}
-
-.spinner {
- display: inline-block;
- width: 20px;
- height: 20px;
- border: .15em solid $blue;
- vertical-align: bottom;
- border-right-color: transparent;
- border-radius: 50%;
- @include animation('spinner-border .75s linear infinite');
-}
-
-.disabled, .disabled:hover {
- background: #e0e0ea;
- border-color: #e0e0ea;
- color: white;
-
- input {
- cursor: default;
- }
-}
-
-.withLabel {
- float: left;
- margin-right: 10px;
-}
-
-.label {
- display: block;
- line-height: 30px;
- color: $mainTextColor;
- margin-top: 25px;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-a.label {
- color: $blue;
-}
-
-@include keyframes(spinner-border) {
- 100% {
- @include transform(rotate(360deg));
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.input {
+ width: 100%;
+ height: 80px;
+ padding: 0 10%;
+ background: $inputBackgroundColor;
+ text-align: center;
+ overflow: hidden;
+ white-space: nowrap;
+}
+
+.button {
+ position: relative;
+ display: inline-block;
+ height: 30px;
+ margin-top: 25px;
+ padding: 0 16px;
+ border: 1px solid $blue;
+ border-radius: 5px;
+ overflow: hidden;
+ color: $blue;
+ transition: background 0.5s, color 0.5s;
+
+ &:hover {
+ background: $blue;
+ color: white;
+ }
+
+ input {
+ position: absolute;
+ opacity: 0;
+ top: 0;
+ right: 0;
+ left: -100px;
+ bottom: 0;
+ cursor: pointer;
+ }
+
+ > span {
+ line-height: 30px;
+ }
+}
+
+.spinner {
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ border: .15em solid $blue;
+ vertical-align: bottom;
+ border-right-color: transparent;
+ border-radius: 50%;
+ @include animation('spinner-border .75s linear infinite');
+}
+
+.disabled, .disabled:hover {
+ background: #e0e0ea;
+ border-color: #e0e0ea;
+ color: white;
+
+ input {
+ cursor: default;
+ }
+}
+
+.withLabel {
+ float: left;
+ margin-right: 10px;
+}
+
+.label {
+ display: block;
+ line-height: 30px;
+ color: $mainTextColor;
+ margin-top: 25px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+a.label {
+ color: $blue;
+}
+
+@include keyframes(spinner-border) {
+ 100% {
+ @include transform(rotate(360deg));
+ }
}
\ No newline at end of file
diff --git a/src/components/FileTree/FileTree.scss b/src/components/FileTree/FileTree.scss
index 13bc60823c..c0c2a2e444 100644
--- a/src/components/FileTree/FileTree.scss
+++ b/src/components/FileTree/FileTree.scss
@@ -1,50 +1,50 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-.directory, .file {
- color: #8fb9cf;
- height: 20px;
- line-height: 20px;
- font-size: 12px;
- cursor: pointer;
-}
-
-.directory {
- svg {
- vertical-align: middle;
- fill: #8fb9cf;
- margin-right: 6px;
- }
-
- > span {
- vertical-align: middle;
- }
-
- &:hover {
- color: white;
-
- svg {
- fill: white;
- }
- }
-}
-
-.contents {
- padding-left: 12px;
-}
-
-.file {
- display: block;
-
- &:hover {
- color: white;
- }
-}
-
-.current {
- color: white;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.directory, .file {
+ color: #8fb9cf;
+ height: 20px;
+ line-height: 20px;
+ font-size: 12px;
+ cursor: pointer;
+}
+
+.directory {
+ svg {
+ vertical-align: middle;
+ fill: #8fb9cf;
+ margin-right: 6px;
+ }
+
+ > span {
+ vertical-align: middle;
+ }
+
+ &:hover {
+ color: white;
+
+ svg {
+ fill: white;
+ }
+ }
+}
+
+.contents {
+ padding-left: 12px;
+}
+
+.file {
+ display: block;
+
+ &:hover {
+ color: white;
+ }
+}
+
+.current {
+ color: white;
+}
diff --git a/src/components/FlowFooter/FlowFooter.scss b/src/components/FlowFooter/FlowFooter.scss
index 98f670110e..413ef48a39 100644
--- a/src/components/FlowFooter/FlowFooter.scss
+++ b/src/components/FlowFooter/FlowFooter.scss
@@ -1,65 +1,65 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.footer {
- @include animation('footer-enter 0.5s cubic-bezier(0.165, 0.84, 0.44, 1)');
- position: fixed;
- left: 300px;
- right: 0;
- bottom: 0;
- background: #fbfbfc;
- border-top: 1px solid #555572;
- min-height: 49px;
- padding: 9px 11px;
- transition: left 0.5s ease-in;
-}
-
-@media (max-width: 980px) {
- .footer {
- left: 0;
- }
-}
-
-.right {
- float: right;
-
- & > * {
- margin-left: 11px;
- }
-}
-
-.content {
- color: $mainTextColor;
- font-size: 13px;
- line-height: 22px;
- vertical-align: bottom;
- margin: 5px 0 3px 0;
-
- strong {
- font-weight: 700;
- }
-
- &.error {
- color: $red;
-
- strong {
- font-weight: 700;
- color: $red;
- }
- }
-}
-
-@include keyframes(footer-enter) {
- 0% {
- @include transform(translate(0%, 100%));
- }
- 100% {
- @include transform(translate(0%, 0%));
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.footer {
+ @include animation('footer-enter 0.5s cubic-bezier(0.165, 0.84, 0.44, 1)');
+ position: fixed;
+ left: 300px;
+ right: 0;
+ bottom: 0;
+ background: #fbfbfc;
+ border-top: 1px solid #555572;
+ min-height: 49px;
+ padding: 9px 11px;
+ transition: left 0.5s ease-in;
+}
+
+@media (max-width: 980px) {
+ .footer {
+ left: 0;
+ }
+}
+
+.right {
+ float: right;
+
+ & > * {
+ margin-left: 11px;
+ }
+}
+
+.content {
+ color: $mainTextColor;
+ font-size: 13px;
+ line-height: 22px;
+ vertical-align: bottom;
+ margin: 5px 0 3px 0;
+
+ strong {
+ font-weight: 700;
+ }
+
+ &.error {
+ color: $red;
+
+ strong {
+ font-weight: 700;
+ color: $red;
+ }
+ }
+}
+
+@include keyframes(footer-enter) {
+ 0% {
+ @include transform(translate(0%, 100%));
+ }
+ 100% {
+ @include transform(translate(0%, 0%));
+ }
+}
diff --git a/src/components/FormButton/FormButton.scss b/src/components/FormButton/FormButton.scss
index d8eda95931..53eaea673f 100644
--- a/src/components/FormButton/FormButton.scss
+++ b/src/components/FormButton/FormButton.scss
@@ -1,16 +1,16 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.input {
- width: 100%;
- height: 80px;
- text-align: center;
- padding-top: 25px;
- background: $inputBackgroundColor;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.input {
+ width: 100%;
+ height: 80px;
+ text-align: center;
+ padding-top: 25px;
+ background: $inputBackgroundColor;
}
\ No newline at end of file
diff --git a/src/components/FormNote/FormNote.scss b/src/components/FormNote/FormNote.scss
index 73e028eaaf..2d2921557b 100644
--- a/src/components/FormNote/FormNote.scss
+++ b/src/components/FormNote/FormNote.scss
@@ -1,29 +1,29 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.note {
- color: white;
- font-size: 12px;
- text-align: center;
- line-height: 30px;
- min-height: 30px;
-}
-
-.blue {
- background: $blue;
-}
-.green {
- background: $green;
-}
-.orange {
- background: $orange;
-}
-.red {
- background: $red;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.note {
+ color: white;
+ font-size: 12px;
+ text-align: center;
+ line-height: 30px;
+ min-height: 30px;
+}
+
+.blue {
+ background: $blue;
+}
+.green {
+ background: $green;
+}
+.orange {
+ background: $orange;
+}
+.red {
+ background: $red;
+}
diff --git a/src/components/FormTable/FormTable.scss b/src/components/FormTable/FormTable.scss
index fcd5e21204..1ba2df6646 100644
--- a/src/components/FormTable/FormTable.scss
+++ b/src/components/FormTable/FormTable.scss
@@ -1,105 +1,105 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.table {
- text-align: left;
- white-space: nowrap;
- min-height: 80px;
- background: $formTableGrey;
-}
-
-.row {
- background: $formTableGrey;
- font-size: 12px;
- padding-bottom: 4px;
-}
-
-.title {
- @include ellipsis();
- display: inline-block;
- width: 100%;
- padding-right: 20px;
-}
-
-.header {
- position: relative;
- height: 30px;
- background: #e3ebef;
- line-height: 14px;
- font-size: 12px;
- padding: 9px 32px 9px 6px;
- margin-bottom: 4px;
-
- span {
- vertical-align: top;
- }
-}
-
-.indicator {
- display: inline-block;
- width: 12px;
- height: 12px;
- border-radius: 100%;
- margin-right: 10px;
- vertical-align: middle;
-
- &.blue {
- background: $blue;
- }
- &.green {
- background: $green;
- }
- &.orange {
- background: $orange;
- }
- &.red {
- background: $red;
- }
-}
-
-.del {
- @include buttonReset;
- position: absolute;
- top: 7px;
- right: 7px;
- color: $secondaryTextColor;
- font-size: 22px;
- line-height: 22px;
-}
-
-.info {
- @include ellipsis();
- padding: 4px 6px;
-}
-
-.label {
- @include DosisFont;
- display: inline-block;
- text-transform: uppercase;
- color: $secondaryTextColor;
- letter-spacing: 0.1em;
- font-size: 10px;
-
- &.blue {
- color: $blue;
- }
- &.green {
- color: $green;
- }
- &.orange {
- color: $orange;
- }
- &.red {
- color: $red;
- }
-}
-
-.din {
- @include DosisFont;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.table {
+ text-align: left;
+ white-space: nowrap;
+ min-height: 80px;
+ background: $formTableGrey;
+}
+
+.row {
+ background: $formTableGrey;
+ font-size: 12px;
+ padding-bottom: 4px;
+}
+
+.title {
+ @include ellipsis();
+ display: inline-block;
+ width: 100%;
+ padding-right: 20px;
+}
+
+.header {
+ position: relative;
+ height: 30px;
+ background: #e3ebef;
+ line-height: 14px;
+ font-size: 12px;
+ padding: 9px 32px 9px 6px;
+ margin-bottom: 4px;
+
+ span {
+ vertical-align: top;
+ }
+}
+
+.indicator {
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ border-radius: 100%;
+ margin-right: 10px;
+ vertical-align: middle;
+
+ &.blue {
+ background: $blue;
+ }
+ &.green {
+ background: $green;
+ }
+ &.orange {
+ background: $orange;
+ }
+ &.red {
+ background: $red;
+ }
+}
+
+.del {
+ @include buttonReset;
+ position: absolute;
+ top: 7px;
+ right: 7px;
+ color: $secondaryTextColor;
+ font-size: 22px;
+ line-height: 22px;
+}
+
+.info {
+ @include ellipsis();
+ padding: 4px 6px;
+}
+
+.label {
+ @include DosisFont;
+ display: inline-block;
+ text-transform: uppercase;
+ color: $secondaryTextColor;
+ letter-spacing: 0.1em;
+ font-size: 10px;
+
+ &.blue {
+ color: $blue;
+ }
+ &.green {
+ color: $green;
+ }
+ &.orange {
+ color: $orange;
+ }
+ &.red {
+ color: $red;
+ }
+}
+
+.din {
+ @include DosisFont;
+}
diff --git a/src/components/FourOhFour/FourOhFour.scss b/src/components/FourOhFour/FourOhFour.scss
index 209001b87c..37abaa1d3e 100644
--- a/src/components/FourOhFour/FourOhFour.scss
+++ b/src/components/FourOhFour/FourOhFour.scss
@@ -1,52 +1,52 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.fourOhFour {
- height: 100vh;
- background: #06283d;
- color: white;
- text-align: center;
-}
-
-.wrap {
- position: absolute;
- width: 100%;
- top: 50%;
- -webkit-transform: translateY(-50%);
- transform: translateY(-50%);
-}
-
-.error {
- @include DosisFont;
- font-size: 240px;
-}
-
-.emoji {
- position: relative;
- display: inline-block;
- top: 40px;
- background-image: url(sprite.png);
- width: 200px;
- height: 230px;
- background-size: 6000px;
- background-repeat: no-repeat;
-}
-
-.message {
- font-size: 28px;
-}
-
-.back {
- margin-top: 40px;
-
- button {
- @include buttonReset;
- color: #fff;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.fourOhFour {
+ height: 100vh;
+ background: #06283d;
+ color: white;
+ text-align: center;
+}
+
+.wrap {
+ position: absolute;
+ width: 100%;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+
+.error {
+ @include DosisFont;
+ font-size: 240px;
+}
+
+.emoji {
+ position: relative;
+ display: inline-block;
+ top: 40px;
+ background-image: url(sprite.png);
+ width: 200px;
+ height: 230px;
+ background-size: 6000px;
+ background-repeat: no-repeat;
+}
+
+.message {
+ font-size: 28px;
+}
+
+.back {
+ margin-top: 40px;
+
+ button {
+ @include buttonReset;
+ color: #fff;
+ }
+}
diff --git a/src/components/GeoPointEditor/GeoPointEditor.scss b/src/components/GeoPointEditor/GeoPointEditor.scss
index e4d8613a44..85b039ec74 100644
--- a/src/components/GeoPointEditor/GeoPointEditor.scss
+++ b/src/components/GeoPointEditor/GeoPointEditor.scss
@@ -1,29 +1,29 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.editor {
- position: absolute;
- top: 0;
- left: 0;
- box-shadow: 0 1px 4px rgba(0,0,0,0.4);
-
- input {
- @include MonospaceFont;
- width: 50%;
- height: 30px;
- border: none;
- outline: none;
- padding: 0 4px;
- font-size: 12px;
-
- &:first-child {
- border-right: 1px solid #e3e3ea;
- }
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.editor {
+ position: absolute;
+ top: 0;
+ left: 0;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.4);
+
+ input {
+ @include MonospaceFont;
+ width: 50%;
+ height: 30px;
+ border: none;
+ outline: none;
+ padding: 0 4px;
+ font-size: 12px;
+
+ &:first-child {
+ border-right: 1px solid #e3e3ea;
+ }
+ }
}
\ No newline at end of file
diff --git a/src/components/GeoPointInput/GeoPointInput.scss b/src/components/GeoPointInput/GeoPointInput.scss
index 3a38dd3447..f196ba930b 100644
--- a/src/components/GeoPointInput/GeoPointInput.scss
+++ b/src/components/GeoPointInput/GeoPointInput.scss
@@ -1,42 +1,42 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.geopoint {
- width: 100%;
- background: $inputBackgroundColor;
- height: 80px;
-}
-
-.labels {
- height: 30px;
-
- span {
- display: inline-block;
- width: 50%;
- height: 30px;
- line-height: 30px;
- text-align: center;
- color: $secondaryTextColor;
- font-size: 14px;
- }
-}
-
-.inputs {
- height: 50px;
-
- input {
- border: none;
- outline: none;
- background: none;
- height: 50px;
- width: 50%;
- font-size: 16px;
- text-align: center;
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.geopoint {
+ width: 100%;
+ background: $inputBackgroundColor;
+ height: 80px;
+}
+
+.labels {
+ height: 30px;
+
+ span {
+ display: inline-block;
+ width: 50%;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ color: $secondaryTextColor;
+ font-size: 14px;
+ }
+}
+
+.inputs {
+ height: 50px;
+
+ input {
+ border: none;
+ outline: none;
+ background: none;
+ height: 50px;
+ width: 50%;
+ font-size: 16px;
+ text-align: center;
+ }
}
\ No newline at end of file
diff --git a/src/components/InlineSubmitInput/InlineSubmitInput.scss b/src/components/InlineSubmitInput/InlineSubmitInput.scss
index 10f39b6472..429889a25a 100644
--- a/src/components/InlineSubmitInput/InlineSubmitInput.scss
+++ b/src/components/InlineSubmitInput/InlineSubmitInput.scss
@@ -1,33 +1,33 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.wrapper {
- background: $inputBackgroundColor;
- padding: 0px 5px;
-}
-
-.input_padded {
- padding-right: 50px;
-}
-
-.button {
- @include buttonReset($border: 1px solid #159cee, $padding: 0px 7px);
- position: absolute;
- top: 30px;
- right: 15px;
- height: 20px;
- line-height: 20px;
- outline: 0;
- text-decoration: none;
- text-align: center;
- border-radius: 5px;
- cursor: pointer;
- font-size: 10px;
- color: #159cee;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.wrapper {
+ background: $inputBackgroundColor;
+ padding: 0px 5px;
+}
+
+.input_padded {
+ padding-right: 50px;
+}
+
+.button {
+ @include buttonReset($border: 1px solid #159cee, $padding: 0px 7px);
+ position: absolute;
+ top: 30px;
+ right: 15px;
+ height: 20px;
+ line-height: 20px;
+ outline: 0;
+ text-decoration: none;
+ text-align: center;
+ border-radius: 5px;
+ cursor: pointer;
+ font-size: 10px;
+ color: #159cee;
+}
diff --git a/src/components/KeyField/KeyField.scss b/src/components/KeyField/KeyField.scss
index e1d325cfd6..c57800d8a7 100644
--- a/src/components/KeyField/KeyField.scss
+++ b/src/components/KeyField/KeyField.scss
@@ -1,18 +1,18 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.key {
- @include MonospaceFont;
- background: $inputBackgroundColor;
- width: 100%;
- height: 80px;
- line-height: 80px;
- font-size: 12px;
- text-align: center;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.key {
+ @include MonospaceFont;
+ background: $inputBackgroundColor;
+ width: 100%;
+ height: 80px;
+ line-height: 80px;
+ font-size: 12px;
+ text-align: center;
}
\ No newline at end of file
diff --git a/src/components/Label/Label.scss b/src/components/Label/Label.scss
index 2441ba42c0..1d296966d0 100644
--- a/src/components/Label/Label.scss
+++ b/src/components/Label/Label.scss
@@ -1,22 +1,22 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.label {
- font-size: 13px;
-}
-
-.text {
- font-weight: 700;
-}
-
-.description {
- margin-top: 2px;
- color: $secondaryTextColor;
- line-height: 13px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.label {
+ font-size: 13px;
+}
+
+.text {
+ font-weight: 700;
+}
+
+.description {
+ margin-top: 2px;
+ color: $secondaryTextColor;
+ line-height: 13px;
+}
diff --git a/src/components/Loader/Loader.scss b/src/components/Loader/Loader.scss
index f22dd5a7cb..67e264a08e 100644
--- a/src/components/Loader/Loader.scss
+++ b/src/components/Loader/Loader.scss
@@ -1,33 +1,33 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.loader {
- position: relative;
- display: block;
- width: 140px;
- height: 140px;
-
- div {
- position: absolute;
- width: 20px;
- height: 20px;
- border-radius: 100%;
- transform: translate(-50%, -50%);
-
- &:nth-child(3n) {
- background: $red;
- }
- &:nth-child(3n + 1) {
- background: $green;
- }
- &:nth-child(3n + 2) {
- background: $blue;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.loader {
+ position: relative;
+ display: block;
+ width: 140px;
+ height: 140px;
+
+ div {
+ position: absolute;
+ width: 20px;
+ height: 20px;
+ border-radius: 100%;
+ transform: translate(-50%, -50%);
+
+ &:nth-child(3n) {
+ background: $red;
+ }
+ &:nth-child(3n + 1) {
+ background: $green;
+ }
+ &:nth-child(3n + 2) {
+ background: $blue;
+ }
+ }
+}
diff --git a/src/components/LoaderContainer/LoaderContainer.scss b/src/components/LoaderContainer/LoaderContainer.scss
index 5d94d9c6d5..5c438d965f 100644
--- a/src/components/LoaderContainer/LoaderContainer.scss
+++ b/src/components/LoaderContainer/LoaderContainer.scss
@@ -1,25 +1,25 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-.loaderContainer {
- position: relative;
- .loaderParent {
- visibility: hidden;
- background: rgba(255, 255, 255, 0.7);
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- &.visible {
- visibility: visible;
- }
- &.solid {
- background: white;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.loaderContainer {
+ position: relative;
+ .loaderParent {
+ visibility: hidden;
+ background: rgba(255, 255, 255, 0.7);
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ &.visible {
+ visibility: visible;
+ }
+ &.solid {
+ background: white;
+ }
+ }
+}
diff --git a/src/components/LoaderDots/LoaderDots.scss b/src/components/LoaderDots/LoaderDots.scss
index 46051982f4..ba254c1683 100644
--- a/src/components/LoaderDots/LoaderDots.scss
+++ b/src/components/LoaderDots/LoaderDots.scss
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$dotSize: 8px;
-
-.loaderDots {
- span {
- @include animation-name(blink);
- @include animation-duration(1.4s);
- @include animation-iteration-count(infinite);
- @include animation-fill-mode(both);
-
- display: inline-block;
- width: $dotSize;
- height: $dotSize;
- border-radius: $dotSize;
- background-color: black;
- margin: 4px;
-
- &:nth-child(2) {
- @include animation-delay(0.2s);
- }
-
- &:nth-child(3) {
- @include animation-delay(0.4s);
- }
- }
-}
-
-@include keyframes(blink) {
- 0% {
- opacity: 0.2;
- }
- 20% {
- opacity: 1;
- }
- 100% {
- opacity: 0.2;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$dotSize: 8px;
+
+.loaderDots {
+ span {
+ @include animation-name(blink);
+ @include animation-duration(1.4s);
+ @include animation-iteration-count(infinite);
+ @include animation-fill-mode(both);
+
+ display: inline-block;
+ width: $dotSize;
+ height: $dotSize;
+ border-radius: $dotSize;
+ background-color: black;
+ margin: 4px;
+
+ &:nth-child(2) {
+ @include animation-delay(0.2s);
+ }
+
+ &:nth-child(3) {
+ @include animation-delay(0.4s);
+ }
+ }
+}
+
+@include keyframes(blink) {
+ 0% {
+ opacity: 0.2;
+ }
+ 20% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 0.2;
+ }
+}
diff --git a/src/components/LogView/LogView.scss b/src/components/LogView/LogView.scss
index 6b3c6e6db6..2c4000f058 100644
--- a/src/components/LogView/LogView.scss
+++ b/src/components/LogView/LogView.scss
@@ -1,12 +1,12 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.view {
- background: $logViewBackgroundColor;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.view {
+ background: $logViewBackgroundColor;
+}
diff --git a/src/components/LogView/LogViewEntry.scss b/src/components/LogView/LogViewEntry.scss
index f9a12b41a9..0c80969f27 100644
--- a/src/components/LogView/LogViewEntry.scss
+++ b/src/components/LogView/LogViewEntry.scss
@@ -1,47 +1,47 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.entry {
- @include MonospaceFont;
- font-size: 14px;
- list-style: none;
- margin-bottom: 15px;
-
- &.error {
- color: red;
- }
-
- .content {
- white-space: pre-wrap;
- }
-
- .time {
- color: green;
- }
-
- //TODO: handle keywords that should be highlighted - use global vars for colors
- .highlight {
-
- &.error {
- color: red;
- }
-
- &.info {
- color: purple;
- }
-
- &.warning {
- color: orange;
- }
-
- &.success {
- color: green;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.entry {
+ @include MonospaceFont;
+ font-size: 14px;
+ list-style: none;
+ margin-bottom: 15px;
+
+ &.error {
+ color: red;
+ }
+
+ .content {
+ white-space: pre-wrap;
+ }
+
+ .time {
+ color: green;
+ }
+
+ //TODO: handle keywords that should be highlighted - use global vars for colors
+ .highlight {
+
+ &.error {
+ color: red;
+ }
+
+ &.info {
+ color: purple;
+ }
+
+ &.warning {
+ color: orange;
+ }
+
+ &.success {
+ color: green;
+ }
+ }
+}
diff --git a/src/components/LoginForm/LoginForm.scss b/src/components/LoginForm/LoginForm.scss
index 1481175028..4a4b5de800 100644
--- a/src/components/LoginForm/LoginForm.scss
+++ b/src/components/LoginForm/LoginForm.scss
@@ -1,79 +1,79 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.login {
- position: absolute;
- top: 50%;
- left: 50%;
- margin-left: -175px;
- text-align: center;
- width: 350px;
-}
-
-.form {
- margin-top: 30px;
-}
-
-.header {
- height: 50px;
- line-height: 50px;
- border-radius: 5px 5px 0 0;
- color: $blue;
- font-size: 16px;
- font-weight: 700;
- text-align: center;
- background: white;
- border-bottom: 1px solid #e0e0e1;
-}
-
-.footer {
- @include NotoSansFont;
- position: relative;
- height: 40px;
- padding: 10px 0;
- width: 100%;
- background: white;
- border-radius: 0 0 5px 5px;
- color: #c1c0c9;
- font-size: 12px;
- text-align: center;
-
- a {
- color: #c1c0c9;
-
- &:hover {
- color: $mainTextColor;
- }
- }
-}
-
-.submit {
- @include NotoSansFont;
- display: block;
- background: $green;
- height: 42px;
- width: 100%;
- font-size: 16px;
- line-height: 42px;
- border-radius: 5px;
- color: white;
- margin-top: 15px;
- outline: none;
- border: none;
- cursor: pointer;
-
- &:hover, &:focus {
- background: $darkGreen;
- }
-
- &:disabled {
- background: #dadada;
- cursor: default;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.login {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-left: -175px;
+ text-align: center;
+ width: 350px;
+}
+
+.form {
+ margin-top: 30px;
+}
+
+.header {
+ height: 50px;
+ line-height: 50px;
+ border-radius: 5px 5px 0 0;
+ color: $blue;
+ font-size: 16px;
+ font-weight: 700;
+ text-align: center;
+ background: white;
+ border-bottom: 1px solid #e0e0e1;
+}
+
+.footer {
+ @include NotoSansFont;
+ position: relative;
+ height: 40px;
+ padding: 10px 0;
+ width: 100%;
+ background: white;
+ border-radius: 0 0 5px 5px;
+ color: #c1c0c9;
+ font-size: 12px;
+ text-align: center;
+
+ a {
+ color: #c1c0c9;
+
+ &:hover {
+ color: $mainTextColor;
+ }
+ }
+}
+
+.submit {
+ @include NotoSansFont;
+ display: block;
+ background: $green;
+ height: 42px;
+ width: 100%;
+ font-size: 16px;
+ line-height: 42px;
+ border-radius: 5px;
+ color: white;
+ margin-top: 15px;
+ outline: none;
+ border: none;
+ cursor: pointer;
+
+ &:hover, &:focus {
+ background: $darkGreen;
+ }
+
+ &:disabled {
+ background: #dadada;
+ cursor: default;
+ }
+}
diff --git a/src/components/LoginRow/LoginRow.scss b/src/components/LoginRow/LoginRow.scss
index efa339ad99..7f0b66fe33 100644
--- a/src/components/LoginRow/LoginRow.scss
+++ b/src/components/LoginRow/LoginRow.scss
@@ -1,53 +1,53 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-.row {
- display: block;
- position: relative;
- height: 50px;
- border-bottom: 1px solid #e0e0e1;
-}
-
-.label {
- width: 110px;
- background: #f9f9fa;
- font-size: 13px;
- font-weight: 700;
- height: 49px;
- line-height: 49px;
- float: left;
- padding: 0 0 0 20px;
- text-align: left;
-}
-
-.input {
- margin-left: 110px;
- height: 49px;
- background: #f0f4f6;
-
- input {
- display: block;
- border: none;
- outline: none;
- background: transparent;
- height: 49px;
- line-height: 49px;
- padding: 0 6px;
- width: 100%;
- font-size: 13px;
-
- &:focus {
- background: rgba(6,40,61,0.1);
- }
- }
-}
-
-.extra {
- position: absolute;
- top: 0;
- right: 0;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.row {
+ display: block;
+ position: relative;
+ height: 50px;
+ border-bottom: 1px solid #e0e0e1;
+}
+
+.label {
+ width: 110px;
+ background: #f9f9fa;
+ font-size: 13px;
+ font-weight: 700;
+ height: 49px;
+ line-height: 49px;
+ float: left;
+ padding: 0 0 0 20px;
+ text-align: left;
+}
+
+.input {
+ margin-left: 110px;
+ height: 49px;
+ background: #f0f4f6;
+
+ input {
+ display: block;
+ border: none;
+ outline: none;
+ background: transparent;
+ height: 49px;
+ line-height: 49px;
+ padding: 0 6px;
+ width: 100%;
+ font-size: 13px;
+
+ &:focus {
+ background: rgba(6,40,61,0.1);
+ }
+ }
+}
+
+.extra {
+ position: absolute;
+ top: 0;
+ right: 0;
+}
diff --git a/src/components/Modal/Modal.scss b/src/components/Modal/Modal.scss
index 171c32e4cf..7e283fceb1 100644
--- a/src/components/Modal/Modal.scss
+++ b/src/components/Modal/Modal.scss
@@ -1,101 +1,101 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.modal {
- @include modalAnimation();
- position: absolute;
- top: 50%;
- left: 50%;
- width: 540px;
- background: white;
- border-radius: 5px;
- overflow: hidden;
- transition: width 0.5s cubic-bezier(1, 0, 0, 1);
-
- > *:not(:first-child):not(:last-child) {
- border-color: $borderGrey;
- border-width: 0 0 1px 0;
- }
-}
-
-.header {
- height: 90px;
- position: relative;
- transition: background 0.3s ease;
-}
-
-.title {
- position: absolute;
- font-size: 22px;
- font-weight: 500;
- color: white;
- left: 28px;
-}
-
-.subtitle {
- @include DosisFont;
- position: absolute;
- font-size: 14px;
- color: white;
- top: 52px;
- left: 28px;
-}
-
-.icon {
- position: absolute;
- top: 19px;
- right: 28px;
- width: 52px;
- height: 52px;
- text-align: center;
- border-radius: 100%;
- background: rgba(0, 0, 0, 0.3);
- svg{
- position: relative;
- top: 50%;
- @include transform(translateY(-50%));
- }
-}
-
-.danger {
- .header {
- background: $red;
- }
-}
-
-.info {
- .header {
- background: $blue;
- }
-}
-
-.valid {
- .header {
- background: $green;
- }
-}
-
-.footer {
- padding: 17px 28px;
-
- > * {
- margin: 0 12px 0 0;
-
- &:last-child {
- margin-right: 0;
- }
- }
-}
-
-.textModal {
- text-align: center;
- padding: 17px 55px 0 55px;
-}
-
-@include modalKeyframes();
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.modal {
+ @include modalAnimation();
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 540px;
+ background: white;
+ border-radius: 5px;
+ overflow: hidden;
+ transition: width 0.5s cubic-bezier(1, 0, 0, 1);
+
+ > *:not(:first-child):not(:last-child) {
+ border-color: $borderGrey;
+ border-width: 0 0 1px 0;
+ }
+}
+
+.header {
+ height: 90px;
+ position: relative;
+ transition: background 0.3s ease;
+}
+
+.title {
+ position: absolute;
+ font-size: 22px;
+ font-weight: 500;
+ color: white;
+ left: 28px;
+}
+
+.subtitle {
+ @include DosisFont;
+ position: absolute;
+ font-size: 14px;
+ color: white;
+ top: 52px;
+ left: 28px;
+}
+
+.icon {
+ position: absolute;
+ top: 19px;
+ right: 28px;
+ width: 52px;
+ height: 52px;
+ text-align: center;
+ border-radius: 100%;
+ background: rgba(0, 0, 0, 0.3);
+ svg{
+ position: relative;
+ top: 50%;
+ @include transform(translateY(-50%));
+ }
+}
+
+.danger {
+ .header {
+ background: $red;
+ }
+}
+
+.info {
+ .header {
+ background: $blue;
+ }
+}
+
+.valid {
+ .header {
+ background: $green;
+ }
+}
+
+.footer {
+ padding: 17px 28px;
+
+ > * {
+ margin: 0 12px 0 0;
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+}
+
+.textModal {
+ text-align: center;
+ padding: 17px 55px 0 55px;
+}
+
+@include modalKeyframes();
diff --git a/src/components/MoneyInput/MoneyInput.scss b/src/components/MoneyInput/MoneyInput.scss
index 21b1a6cf87..821808cae1 100644
--- a/src/components/MoneyInput/MoneyInput.scss
+++ b/src/components/MoneyInput/MoneyInput.scss
@@ -1,29 +1,29 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.moneyInput {
- @include DosisFont;
- border: 0;
- outline: 0;
- background: $inputBackgroundColor;
- font-size: 22px;
- width: 100%;
- padding: 6px;
- vertical-align: top;
- resize: none;
- height: 80px;
- color: $green;
- text-align: center;
-
- &:focus {
- @include placeholder {
- opacity: 0;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.moneyInput {
+ @include DosisFont;
+ border: 0;
+ outline: 0;
+ background: $inputBackgroundColor;
+ font-size: 22px;
+ width: 100%;
+ padding: 6px;
+ vertical-align: top;
+ resize: none;
+ height: 80px;
+ color: $green;
+ text-align: center;
+
+ &:focus {
+ @include placeholder {
+ opacity: 0;
+ }
+ }
+}
diff --git a/src/components/MultiSelect/MultiSelect.scss b/src/components/MultiSelect/MultiSelect.scss
index ded409926e..e824d8a8de 100644
--- a/src/components/MultiSelect/MultiSelect.scss
+++ b/src/components/MultiSelect/MultiSelect.scss
@@ -1,137 +1,137 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import "stylesheets/globals.scss";
-
-.dropdown {
- position: relative;
- background: $inputBackgroundColor;
- font-size: 16px;
- width: 100%;
- overflow: hidden;
-}
-
-.dropdown,
-.menu {
- text-align: left;
- cursor: pointer;
- white-space: nowrap;
-}
-
-.menu {
- max-height: 200px;
- border: 1px solid $blue;
- background: white;
- overflow: auto;
-
- > *:last-child .option {
- border-bottom: none;
- }
-}
-
-.current {
- text-align: center;
- min-height: 80px;
- white-space: normal;
- padding: 20px;
- line-height: 40px;
-}
-
-.option {
- position: relative;
- height: 48px;
- line-height: 50px;
- padding: 0 50px 0 14px;
- color: $blue;
- border-bottom: 1px solid $borderGrey;
- overflow: hidden;
- text-overflow: ellipsis;
-
- &:hover {
- background: rgba(0, 0, 0, 0.1);
-
- .unchecked {
- background: white;
- }
- }
-}
-
-.option.disabled {
- &:hover {
- background: white;
- cursor: default;
- }
-}
-
-.checked,
-.unchecked {
- position: absolute;
- width: 32px;
- height: 32px;
- border-radius: 100%;
- top: 8px;
- right: 8px;
-}
-
-.unchecked {
- background: #e0e0ea;
-}
-.checked {
- background: #00dc7c;
-
- svg {
- position: absolute;
- top: 6px;
- left: 6px;
- }
-}
-
-.current.placeholder {
- color: $secondaryTextColor;
- text-align: center;
-}
-
-.dropdown.dense {
- background: none;
-}
-
-.dropdown.dense {
- background: none;
-}
-.dense {
- .checked,
- .unchecked {
- position: absolute;
- width: 18px;
- height: 18px;
- border-radius: 100%;
- top: 4px;
- right: 4px;
- }
- .checked {
- svg {
- position: absolute;
- top: 2px;
- left: 2px;
- font-size: small;
- }
- }
-
- .current {
- text-align: center;
- min-height: 50px;
- height: 100%;
- padding: 0px;
- line-height: 48px;
- }
-
- .option {
- height: 30px;
- line-height: 32px;
- padding: 0 50px 0 14px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import "stylesheets/globals.scss";
+
+.dropdown {
+ position: relative;
+ background: $inputBackgroundColor;
+ font-size: 16px;
+ width: 100%;
+ overflow: hidden;
+}
+
+.dropdown,
+.menu {
+ text-align: left;
+ cursor: pointer;
+ white-space: nowrap;
+}
+
+.menu {
+ max-height: 200px;
+ border: 1px solid $blue;
+ background: white;
+ overflow: auto;
+
+ > *:last-child .option {
+ border-bottom: none;
+ }
+}
+
+.current {
+ text-align: center;
+ min-height: 80px;
+ white-space: normal;
+ padding: 20px;
+ line-height: 40px;
+}
+
+.option {
+ position: relative;
+ height: 48px;
+ line-height: 50px;
+ padding: 0 50px 0 14px;
+ color: $blue;
+ border-bottom: 1px solid $borderGrey;
+ overflow: hidden;
+ text-overflow: ellipsis;
+
+ &:hover {
+ background: rgba(0, 0, 0, 0.1);
+
+ .unchecked {
+ background: white;
+ }
+ }
+}
+
+.option.disabled {
+ &:hover {
+ background: white;
+ cursor: default;
+ }
+}
+
+.checked,
+.unchecked {
+ position: absolute;
+ width: 32px;
+ height: 32px;
+ border-radius: 100%;
+ top: 8px;
+ right: 8px;
+}
+
+.unchecked {
+ background: #e0e0ea;
+}
+.checked {
+ background: #00dc7c;
+
+ svg {
+ position: absolute;
+ top: 6px;
+ left: 6px;
+ }
+}
+
+.current.placeholder {
+ color: $secondaryTextColor;
+ text-align: center;
+}
+
+.dropdown.dense {
+ background: none;
+}
+
+.dropdown.dense {
+ background: none;
+}
+.dense {
+ .checked,
+ .unchecked {
+ position: absolute;
+ width: 18px;
+ height: 18px;
+ border-radius: 100%;
+ top: 4px;
+ right: 4px;
+ }
+ .checked {
+ svg {
+ position: absolute;
+ top: 2px;
+ left: 2px;
+ font-size: small;
+ }
+ }
+
+ .current {
+ text-align: center;
+ min-height: 50px;
+ height: 100%;
+ padding: 0px;
+ line-height: 48px;
+ }
+
+ .option {
+ height: 30px;
+ line-height: 32px;
+ padding: 0 50px 0 14px;
+ }
+}
diff --git a/src/components/NumberEditor/NumberEditor.scss b/src/components/NumberEditor/NumberEditor.scss
index 094e4d694b..39901b2c4d 100644
--- a/src/components/NumberEditor/NumberEditor.scss
+++ b/src/components/NumberEditor/NumberEditor.scss
@@ -1,25 +1,25 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.editor {
- position: absolute;
- top: 0;
- left: 0;
- box-shadow: 0 1px 4px rgba(0,0,0,0.4);
-
- input {
- @include MonospaceFont;
- width: 100%;
- height: 30px;
- border: none;
- outline: none;
- padding: 0 4px;
- font-size: 12px;
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.editor {
+ position: absolute;
+ top: 0;
+ left: 0;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.4);
+
+ input {
+ @include MonospaceFont;
+ width: 100%;
+ height: 30px;
+ border: none;
+ outline: none;
+ padding: 0 4px;
+ font-size: 12px;
+ }
}
\ No newline at end of file
diff --git a/src/components/PasswordStrength/PasswordStrength.scss b/src/components/PasswordStrength/PasswordStrength.scss
index c40723f91f..b56b838697 100644
--- a/src/components/PasswordStrength/PasswordStrength.scss
+++ b/src/components/PasswordStrength/PasswordStrength.scss
@@ -1,67 +1,67 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.strength {
- position: relative;
- width: 5px;
- cursor: pointer;
-}
-
-.grey, .red, .yellow, .green {
- width: 5px;
- height: 5px;
- border-radius: 5px;
- margin-bottom: 3px;
- transition: background 0.3s cubic-bezier(0.175,0.885,0.32,1.275);
-}
-
-.grey {
- background: #babaca;
-}
-
-.red {
- background: $red;
-}
-
-.yellow {
- background: $yellow;
-}
-
-.green {
- background: $green;
-}
-
-.tip {
- position: absolute;
- padding: 6px;
- border-radius: 5px;
- background: rgba(0,0,0,0.7);
- color: white;
- font-size: 13px;
- top: -36px;
- left: -99999px;
- opacity: 0;
- transition: opacity 0.3s ease;
- white-space: nowrap;
-
- &:after {
- @include arrow('down', 7px, 5px, rgba(0,0,0,0.7));
- content: '';
- position: absolute;
- bottom: -5px;
- left: 6px;
- }
-}
-
-.strength:hover {
- .tip {
- left: -6px;
- opacity: 1;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.strength {
+ position: relative;
+ width: 5px;
+ cursor: pointer;
+}
+
+.grey, .red, .yellow, .green {
+ width: 5px;
+ height: 5px;
+ border-radius: 5px;
+ margin-bottom: 3px;
+ transition: background 0.3s cubic-bezier(0.175,0.885,0.32,1.275);
+}
+
+.grey {
+ background: #babaca;
+}
+
+.red {
+ background: $red;
+}
+
+.yellow {
+ background: $yellow;
+}
+
+.green {
+ background: $green;
+}
+
+.tip {
+ position: absolute;
+ padding: 6px;
+ border-radius: 5px;
+ background: rgba(0,0,0,0.7);
+ color: white;
+ font-size: 13px;
+ top: -36px;
+ left: -99999px;
+ opacity: 0;
+ transition: opacity 0.3s ease;
+ white-space: nowrap;
+
+ &:after {
+ @include arrow('down', 7px, 5px, rgba(0,0,0,0.7));
+ content: '';
+ position: absolute;
+ bottom: -5px;
+ left: 6px;
+ }
+}
+
+.strength:hover {
+ .tip {
+ left: -6px;
+ opacity: 1;
+ }
+}
diff --git a/src/components/PermissionsDialog/PermissionsDialog.scss b/src/components/PermissionsDialog/PermissionsDialog.scss
index 9bfd2837a1..b265498410 100644
--- a/src/components/PermissionsDialog/PermissionsDialog.scss
+++ b/src/components/PermissionsDialog/PermissionsDialog.scss
@@ -1,360 +1,360 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
- @import 'stylesheets/globals.scss';
-
- $labelWidth: 330px;
- $colWidth: 82px;
- $writeColWidth: 92px;
- $addFieldColWidth: 118px;
- $deleteColWidth: 44px;
-
- $sumReadColsWidth: calc(3 * #{$colWidth});
- $sumWriteColsWidth: calc(3 * #{$writeColWidth});
-
- $permissionsDialogWidth: calc(#{$labelWidth} + (2 * #{$colWidth}) + #{$deleteColWidth});
- $permissionsDialogMaxWidth: calc(#{$labelWidth} + #{$sumReadColsWidth} + #{$sumWriteColsWidth} + #{$addFieldColWidth} + #{$deleteColWidth});
-
- $simplePointerWriteWidth: calc( #{$colWidth} + #{$addFieldColWidth});
- $pointerWriteWidth: calc( #{$sumWriteColsWidth} + #{$addFieldColWidth});
-
- $clpDialogWidth: calc(#{$permissionsDialogWidth} + #{$addFieldColWidth});
-
- .dialog {
- @include modalAnimation();
- position: absolute;
- top: 50%;
- left: 50%;
- width: $permissionsDialogWidth;
- background: white;
- border-radius: 5px;
- overflow: hidden;
- transition: width 0.3s 0.15s ease-out;
- }
-
- .clp{
- width: $clpDialogWidth;
-
- .level{
- width: $clpDialogWidth;
- }
- // 118px for add field in CLP only
- .fourth {
- width: $addFieldColWidth;
- }
- }
-
- .clp.advanced{
- .fourth {
- width: $colWidth;
- }
- }
-
- .header {
- height: 50px;
- background: $blue;
- position: relative;
- color: #ffffff;
- line-height: 50px;
- font-size: 16px;
- text-align: center;
-
- .settings {
- position: absolute;
- top: 15px;
- right: 15px;
- cursor: pointer;
-
- svg {
- fill: #0E69A1;
- vertical-align: top;
- }
-
- &:hover svg {
- fill: #094367;
- }
- }
-
- .arrow {
- position: absolute;
- @include arrow('up', 12px, 6px, #0E69A1);
- top: 44px;
- right: 19px;
- }
- }
-
-
- .level {
- height: 50px;
- width: $permissionsDialogWidth; // width: 658px;
- background: #0E69A1;
- position: relative;
- color: white;
- transition: width 0.3s 0.15s ease-out;
-
- > div {
- margin: 0;
- position: absolute;
- top: 10px;
- right: 10px;
- }
-
- > span {
- display: inline-block;
- font-size: 12;
- height: 50px;
- line-height: 50px;
- padding-left: 20px;
- }
- }
-
- .tableWrap {
- height: 300px;
- overflow-y: auto;
- overflow-x: hidden;
- }
-
- .second, .third, .fourth {
- width: $colWidth;
- }
- .fifth, .sixth, .seventh {
- width: $writeColWidth;
- }
- .eighth {
- width: $addFieldColWidth;
- }
- .nineth {
- width: $deleteColWidth;
- }
-
- .table {
- position: relative;
- min-height:300px;
-
- .overlay {
- position: absolute;
- top: 0;
- bottom: 0;
- pointer-events: none;
- background: rgba(0,0,40,0.03);
-
- &.second {
- left: $labelWidth;
- }
- &.fourth {
- left: calc(#{$labelWidth} + (2 * #{$colWidth}));
- }
- &.sixth {
- left: calc(#{$labelWidth} + #{$sumReadColsWidth} + #{$writeColWidth});
- }
- &.eighth {
- left: calc(#{$labelWidth} + #{$sumReadColsWidth} + #{$sumWriteColsWidth});
- }
- }
- }
-
- .footer {
- position: relative;
- height: 51px;
- border-top: 1px solid #e3e3ea;
-
- .details {
- font-size: 12px;
- padding-left: 20px;
-
- a {
- color: $blue;
- }
- }
-
- .actions {
- float: right;
- padding: 10px 15px;
-
- button {
- margin-left: 10px;
- }
- }
- }
-
- .headers {
- overflow: hidden;
- transition: height .3s cubic-bezier(0.645,0.045,0.355,1) .5s;
- background: #56AEE3;
- height: 0;
- padding-left: $labelWidth;
- text-align: center;
- color: white;
- font-size: 12px;
-
- div {
- float: left;
- border-left: 1px solid white;
- height: 20px;
- line-height: 20px;
- vertical-align: top;
- }
- }
-
- .readHeader {
- width: $sumReadColsWidth;
- }
-
- .writeHeader {
- width: $sumWriteColsWidth;
- }
-
- .addHeader {
- width: $addFieldColWidth;
- border-right: 1px solid white;
- }
-
- .advanced {
- width: $permissionsDialogMaxWidth;
-
- .level {
- width: $permissionsDialogMaxWidth;
- }
-
- .headers {
- height: 20px;
- }
- }
-
- .row {
- display: flex;
- min-height: 50px;
- height: 100%;
- vertical-align: middle;
- font-size: 15px;
- border-bottom: 1px solid #e3e3ea;
- white-space: nowrap;
-
- &:nth-child(odd) {
- background: rgba(14, 105, 161, 0.03);
- }
- }
-
- .row.public {
- background: rgba(22, 156, 238, 0.18);
- border-bottom: 1px solid #0E69A1;
- color: $blue;
- }
-
-
- .label {
- display: inline-flex;
- width: $labelWidth;
- padding: 0 20px;
- flex-direction: column;
- align-self: center;
-}
-
- .check {
- display: inline-flex;
- flex-direction: column;
- align-self: center;
- text-align: center;
-
- > svg {
- fill: $blue;
- vertical-align: middle;
- align-self: center;
- }
- }
-
- .pointerRead {
- display: inline-block;
- width: $sumReadColsWidth;
- padding: 5px 10px;
- }
-
- .pointerWrite {
- width: $simplePointerWriteWidth;
- padding: 0px 10px;
- display: inline-block;
- }
-
- .checkboxWrap {
- position: relative;
- vertical-align: top;
- border: 1px solid #e3e3ea;
- height: 40px;
- line-height: 40px;
- text-align: center;
- border-radius: 5px;
- background: white;
- }
-
- .entry {
- height: 30px;
- width: 290px;
- border: 1px solid $mainTextColor;
- border-radius: 5px;
- font-size: 14px;
- outline: none;
- padding: 0 6px;
- margin: 10px 0 0 20px;
- vertical-align: top;
- }
-
- .error {
- border-color: $red;
- color: $red;
- }
-
- .delete {
- display: inline-block;
- vertical-align: top;
- width: 32px;
- height: 50px;
- padding-top: 15px;
- text-align: right;
-
- button {
- @include buttonReset;
- }
-
- svg {
- vertical-align: top;
- cursor: pointer;
- fill: #C1C7CD;
-
- &:hover {
- fill: $red;
- }
- }
- }
-
- .pillHolder{
- max-width: 100px;
- position: relative;
- display: inline-block;
- top: 5px;
- }
-
- .pillType{
- width: auto;
- display: inline-flex;
- height: 20;
- padding: 2px 8px 0 8px;
-}
-
-.prefix {
- color: #0E69A1;
-}
-
-.hint{
- color: $secondaryTextColor;
- font-size: 0.8em;
-}
-
-.selectable{
- user-select: text;
-}
-
- @include modalKeyframes();
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+ @import 'stylesheets/globals.scss';
+
+ $labelWidth: 330px;
+ $colWidth: 82px;
+ $writeColWidth: 92px;
+ $addFieldColWidth: 118px;
+ $deleteColWidth: 44px;
+
+ $sumReadColsWidth: calc(3 * #{$colWidth});
+ $sumWriteColsWidth: calc(3 * #{$writeColWidth});
+
+ $permissionsDialogWidth: calc(#{$labelWidth} + (2 * #{$colWidth}) + #{$deleteColWidth});
+ $permissionsDialogMaxWidth: calc(#{$labelWidth} + #{$sumReadColsWidth} + #{$sumWriteColsWidth} + #{$addFieldColWidth} + #{$deleteColWidth});
+
+ $simplePointerWriteWidth: calc( #{$colWidth} + #{$addFieldColWidth});
+ $pointerWriteWidth: calc( #{$sumWriteColsWidth} + #{$addFieldColWidth});
+
+ $clpDialogWidth: calc(#{$permissionsDialogWidth} + #{$addFieldColWidth});
+
+ .dialog {
+ @include modalAnimation();
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: $permissionsDialogWidth;
+ background: white;
+ border-radius: 5px;
+ overflow: hidden;
+ transition: width 0.3s 0.15s ease-out;
+ }
+
+ .clp{
+ width: $clpDialogWidth;
+
+ .level{
+ width: $clpDialogWidth;
+ }
+ // 118px for add field in CLP only
+ .fourth {
+ width: $addFieldColWidth;
+ }
+ }
+
+ .clp.advanced{
+ .fourth {
+ width: $colWidth;
+ }
+ }
+
+ .header {
+ height: 50px;
+ background: $blue;
+ position: relative;
+ color: #ffffff;
+ line-height: 50px;
+ font-size: 16px;
+ text-align: center;
+
+ .settings {
+ position: absolute;
+ top: 15px;
+ right: 15px;
+ cursor: pointer;
+
+ svg {
+ fill: #0E69A1;
+ vertical-align: top;
+ }
+
+ &:hover svg {
+ fill: #094367;
+ }
+ }
+
+ .arrow {
+ position: absolute;
+ @include arrow('up', 12px, 6px, #0E69A1);
+ top: 44px;
+ right: 19px;
+ }
+ }
+
+
+ .level {
+ height: 50px;
+ width: $permissionsDialogWidth; // width: 658px;
+ background: #0E69A1;
+ position: relative;
+ color: white;
+ transition: width 0.3s 0.15s ease-out;
+
+ > div {
+ margin: 0;
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ }
+
+ > span {
+ display: inline-block;
+ font-size: 12;
+ height: 50px;
+ line-height: 50px;
+ padding-left: 20px;
+ }
+ }
+
+ .tableWrap {
+ height: 300px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ }
+
+ .second, .third, .fourth {
+ width: $colWidth;
+ }
+ .fifth, .sixth, .seventh {
+ width: $writeColWidth;
+ }
+ .eighth {
+ width: $addFieldColWidth;
+ }
+ .nineth {
+ width: $deleteColWidth;
+ }
+
+ .table {
+ position: relative;
+ min-height:300px;
+
+ .overlay {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ pointer-events: none;
+ background: rgba(0,0,40,0.03);
+
+ &.second {
+ left: $labelWidth;
+ }
+ &.fourth {
+ left: calc(#{$labelWidth} + (2 * #{$colWidth}));
+ }
+ &.sixth {
+ left: calc(#{$labelWidth} + #{$sumReadColsWidth} + #{$writeColWidth});
+ }
+ &.eighth {
+ left: calc(#{$labelWidth} + #{$sumReadColsWidth} + #{$sumWriteColsWidth});
+ }
+ }
+ }
+
+ .footer {
+ position: relative;
+ height: 51px;
+ border-top: 1px solid #e3e3ea;
+
+ .details {
+ font-size: 12px;
+ padding-left: 20px;
+
+ a {
+ color: $blue;
+ }
+ }
+
+ .actions {
+ float: right;
+ padding: 10px 15px;
+
+ button {
+ margin-left: 10px;
+ }
+ }
+ }
+
+ .headers {
+ overflow: hidden;
+ transition: height .3s cubic-bezier(0.645,0.045,0.355,1) .5s;
+ background: #56AEE3;
+ height: 0;
+ padding-left: $labelWidth;
+ text-align: center;
+ color: white;
+ font-size: 12px;
+
+ div {
+ float: left;
+ border-left: 1px solid white;
+ height: 20px;
+ line-height: 20px;
+ vertical-align: top;
+ }
+ }
+
+ .readHeader {
+ width: $sumReadColsWidth;
+ }
+
+ .writeHeader {
+ width: $sumWriteColsWidth;
+ }
+
+ .addHeader {
+ width: $addFieldColWidth;
+ border-right: 1px solid white;
+ }
+
+ .advanced {
+ width: $permissionsDialogMaxWidth;
+
+ .level {
+ width: $permissionsDialogMaxWidth;
+ }
+
+ .headers {
+ height: 20px;
+ }
+ }
+
+ .row {
+ display: flex;
+ min-height: 50px;
+ height: 100%;
+ vertical-align: middle;
+ font-size: 15px;
+ border-bottom: 1px solid #e3e3ea;
+ white-space: nowrap;
+
+ &:nth-child(odd) {
+ background: rgba(14, 105, 161, 0.03);
+ }
+ }
+
+ .row.public {
+ background: rgba(22, 156, 238, 0.18);
+ border-bottom: 1px solid #0E69A1;
+ color: $blue;
+ }
+
+
+ .label {
+ display: inline-flex;
+ width: $labelWidth;
+ padding: 0 20px;
+ flex-direction: column;
+ align-self: center;
+}
+
+ .check {
+ display: inline-flex;
+ flex-direction: column;
+ align-self: center;
+ text-align: center;
+
+ > svg {
+ fill: $blue;
+ vertical-align: middle;
+ align-self: center;
+ }
+ }
+
+ .pointerRead {
+ display: inline-block;
+ width: $sumReadColsWidth;
+ padding: 5px 10px;
+ }
+
+ .pointerWrite {
+ width: $simplePointerWriteWidth;
+ padding: 0px 10px;
+ display: inline-block;
+ }
+
+ .checkboxWrap {
+ position: relative;
+ vertical-align: top;
+ border: 1px solid #e3e3ea;
+ height: 40px;
+ line-height: 40px;
+ text-align: center;
+ border-radius: 5px;
+ background: white;
+ }
+
+ .entry {
+ height: 30px;
+ width: 290px;
+ border: 1px solid $mainTextColor;
+ border-radius: 5px;
+ font-size: 14px;
+ outline: none;
+ padding: 0 6px;
+ margin: 10px 0 0 20px;
+ vertical-align: top;
+ }
+
+ .error {
+ border-color: $red;
+ color: $red;
+ }
+
+ .delete {
+ display: inline-block;
+ vertical-align: top;
+ width: 32px;
+ height: 50px;
+ padding-top: 15px;
+ text-align: right;
+
+ button {
+ @include buttonReset;
+ }
+
+ svg {
+ vertical-align: top;
+ cursor: pointer;
+ fill: #C1C7CD;
+
+ &:hover {
+ fill: $red;
+ }
+ }
+ }
+
+ .pillHolder{
+ max-width: 100px;
+ position: relative;
+ display: inline-block;
+ top: 5px;
+ }
+
+ .pillType{
+ width: auto;
+ display: inline-flex;
+ height: 20;
+ padding: 2px 8px 0 8px;
+}
+
+.prefix {
+ color: #0E69A1;
+}
+
+.hint{
+ color: $secondaryTextColor;
+ font-size: 0.8em;
+}
+
+.selectable{
+ user-select: text;
+}
+
+ @include modalKeyframes();
diff --git a/src/components/Pill/Pill.scss b/src/components/Pill/Pill.scss
index 91744f68d1..70908271c9 100644
--- a/src/components/Pill/Pill.scss
+++ b/src/components/Pill/Pill.scss
@@ -1,60 +1,60 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.pill {
- @include MonospaceFont;
- position: relative;
- display: inline-block;
- color: #0E69A1;
- height: 20px;
- line-height: 20px;
- border-radius: 10px;
- font-size: 11px;
- width: 100%;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- & a {
- position: absolute;
- right: 0;
- height: 20px;
- width: 20px;
- background: #d6e5f2;
- border-radius: 50%;
- margin-left: 5px;
- & svg {
- transform: rotate(316deg);
- }
- }
- & .pillText {
- position: absolute;
- left: 0;
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- width: 75%;
- }
-}
-
-.content {
- width: 80%;
- text-overflow: ellipsis;
- overflow: hidden;
- text-align: left;
- height: 100%;
- white-space: nowrap;
-}
-
-.iconAction {
- cursor: pointer;
-}
-
-.disableIconAction {
- cursor: initial;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.pill {
+ @include MonospaceFont;
+ position: relative;
+ display: inline-block;
+ color: #0E69A1;
+ height: 20px;
+ line-height: 20px;
+ border-radius: 10px;
+ font-size: 11px;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ & a {
+ position: absolute;
+ right: 0;
+ height: 20px;
+ width: 20px;
+ background: #d6e5f2;
+ border-radius: 50%;
+ margin-left: 5px;
+ & svg {
+ transform: rotate(316deg);
+ }
+ }
+ & .pillText {
+ position: absolute;
+ left: 0;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ width: 75%;
+ }
+}
+
+.content {
+ width: 80%;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ text-align: left;
+ height: 100%;
+ white-space: nowrap;
+}
+
+.iconAction {
+ cursor: pointer;
+}
+
+.disableIconAction {
+ cursor: initial;
+}
diff --git a/src/components/PlatformCard/PlatformCard.scss b/src/components/PlatformCard/PlatformCard.scss
index b530faf64e..9130412ba9 100644
--- a/src/components/PlatformCard/PlatformCard.scss
+++ b/src/components/PlatformCard/PlatformCard.scss
@@ -1,38 +1,38 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.card {
- width: 200px;
- height: 80px;
- background-color: $lightGrey;
- border-radius: 5px;
- padding: 10px;
- display: table;
- table-layout: fixed;
-}
-
-.left {
- display: table-cell;
- width: 50px;
- vertical-align: middle;
-}
-
-.right {
- display: table-cell;
- padding-left: 20px;
- vertical-align: middle;
-}
-
-.name {
- color: $platformCardTextColor;
-}
-
-.subtitle {
- color: $platformCardSecondaryTextColor;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.card {
+ width: 200px;
+ height: 80px;
+ background-color: $lightGrey;
+ border-radius: 5px;
+ padding: 10px;
+ display: table;
+ table-layout: fixed;
+}
+
+.left {
+ display: table-cell;
+ width: 50px;
+ vertical-align: middle;
+}
+
+.right {
+ display: table-cell;
+ padding-left: 20px;
+ vertical-align: middle;
+}
+
+.name {
+ color: $platformCardTextColor;
+}
+
+.subtitle {
+ color: $platformCardSecondaryTextColor;
+}
diff --git a/src/components/Popover/Popover.scss b/src/components/Popover/Popover.scss
index 265b247faa..881b3f666c 100644
--- a/src/components/Popover/Popover.scss
+++ b/src/components/Popover/Popover.scss
@@ -1,47 +1,47 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.popover_wrapper, .fixed_wrapper {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
- pointer-events: none;
- z-index: 100; // This is just +1 z-index of Sidebar
-
- & > div {
- position: absolute;
- pointer-events: all;
- }
-}
-
-.transition{
- @include animation('fade-in .2s linear');
- opacity: 1;
-}
-
-.popover_wrapper {
- position: absolute;
-}
-
-.fixed_wrapper {
- position: fixed;
-}
-
-.popoverLayer {
- cursor: pointer;
-}
-
-
-@include keyframes(fade-in) {
- 0% {
- opacity: 0;
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.popover_wrapper, .fixed_wrapper {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ pointer-events: none;
+ z-index: 100; // This is just +1 z-index of Sidebar
+
+ & > div {
+ position: absolute;
+ pointer-events: all;
+ }
+}
+
+.transition{
+ @include animation('fade-in .2s linear');
+ opacity: 1;
+}
+
+.popover_wrapper {
+ position: absolute;
+}
+
+.fixed_wrapper {
+ position: fixed;
+}
+
+.popoverLayer {
+ cursor: pointer;
+}
+
+
+@include keyframes(fade-in) {
+ 0% {
+ opacity: 0;
+ }
}
\ No newline at end of file
diff --git a/src/components/ProtectedFieldsDialog/ProtectedFieldsDialog.scss b/src/components/ProtectedFieldsDialog/ProtectedFieldsDialog.scss
index 32ad443596..708ba04ce6 100644
--- a/src/components/ProtectedFieldsDialog/ProtectedFieldsDialog.scss
+++ b/src/components/ProtectedFieldsDialog/ProtectedFieldsDialog.scss
@@ -1,240 +1,240 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import "stylesheets/globals.scss";
-
-$labelWidth: 440px;
-$fieldsWidth: 480px;
-
-$deleteColWidth: 44px;
-
-$entryMargin: 20px;
-$entryWidth: calc(#{$labelWidth} - #{$entryMargin}* 2);
-
-$permissionsDialogWidth: calc(
- #{$labelWidth} + #{$fieldsWidth} + #{$deleteColWidth}
-);
-
-.dialog {
- @include modalAnimation();
- position: absolute;
- top: 50%;
- left: 50%;
- width: $permissionsDialogWidth;
- background: white;
- border-radius: 5px;
- overflow: hidden;
- transition: width 0.3s 0.15s ease-out;
-}
-
-.header {
- height: 50px;
- background: $blue;
- position: relative;
- color: #ffffff;
- line-height: 50px;
- font-size: 16px;
- text-align: center;
-}
-
-.level {
- height: 50px;
- width: $permissionsDialogWidth; // width: 658px;
- background: #0e69a1;
- position: relative;
- color: white;
- transition: width 0.3s 0.15s ease-out;
-
- > div {
- margin: 0;
- position: absolute;
- top: 10px;
- right: 10px;
- }
-
- > span {
- display: inline-block;
- font-size: 12;
- height: 50px;
- line-height: 50px;
- padding-left: 20px;
- }
-}
-
-.tableWrap {
- height: 450px;
- overflow-y: auto;
- overflow-x: hidden;
-}
-
-.second {
- width: #{$fieldsWidth};
-}
-
-.table {
- position: relative;
- min-height: 450px;
-
- .overlay {
- position: absolute;
- top: 0;
- bottom: 0;
- pointer-events: none;
- background: rgba(0, 0, 40, 0.03);
-
- &.second {
- left: $labelWidth;
- }
- }
-}
-
-.footer {
- position: relative;
- height: 51px;
- border-top: 1px solid #e3e3ea;
-
- .details {
- font-size: 12px;
- padding-left: 20px;
-
- a {
- color: $blue;
- }
- }
-
- .actions {
- float: right;
- padding: 10px 15px;
-
- button {
- margin-left: 10px;
- }
- }
-}
-
-.multiselect {
- display: inline-block;
- width: #{$fieldsWidth};
-}
-
-.row {
- display: flex;
- min-height: 50px;
- height: 100%;
- vertical-align: middle;
- font-size: 15px;
- border-bottom: 1px solid #e3e3ea;
- white-space: nowrap;
-
- &:nth-child(odd) {
- background: rgba(14, 105, 161, 0.03);
- }
-}
-
-.row.public {
- background: rgba(22, 156, 238, 0.18);
- border-bottom: 1px solid #0e69a1;
- color: $blue;
-}
-
-.label {
- display: inline-flex;
- width: $labelWidth;
- padding: 0 20px;
- flex-direction: column;
- align-self: center;
-}
-
-.entry {
- height: 30px;
- width: $entryWidth;
- border: 1px solid $mainTextColor;
- border-radius: 5px;
- font-size: 14px;
- outline: none;
- padding: 0 6px;
- margin: 10px $entryMargin;
- vertical-align: top;
-}
-
-.error {
- border-color: $red;
- color: $red;
- overflow: hidden;
- white-space: normal;
-}
-
-.delete {
- display: inline-block;
- vertical-align: top;
- width: 32px;
- height: 50px;
- padding-top: 15px;
- text-align: right;
-
- button {
- @include buttonReset;
- }
-
- svg {
- vertical-align: top;
- cursor: pointer;
- fill: #c1c7cd;
-
- &:hover {
- fill: $red;
- }
- }
-}
-
-.pillHolder {
- max-width: 200px;
- overflow: hidden;
- display: inline-flex;
- align-self: center;
- padding-left: 4px;
-}
-
-.pillType {
- width: auto;
- display: inline-flex;
- height: 20;
- padding: 2px 8px 0 8px;
-}
-
-.multiselect {
- .pillType {
- visibility: collapse;
- display: none;
- top: 5px;
- }
-}
-
-.hint {
- color: $secondaryTextColor;
- font-size: 0.8em;
-}
-.selectable {
- user-select: text;
-}
-.prefix {
- color: #0e69a1;
-}
-
-.suggestions {
- margin-left: -19px;
- width: $entryWidth;
- margin-top: -24px;
-}
-
-.entry input {
- width: $entryWidth !important;
- padding: 0 6px;
- margin: 10px 20px;
-}
-
-@include modalKeyframes();
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import "stylesheets/globals.scss";
+
+$labelWidth: 440px;
+$fieldsWidth: 480px;
+
+$deleteColWidth: 44px;
+
+$entryMargin: 20px;
+$entryWidth: calc(#{$labelWidth} - #{$entryMargin}* 2);
+
+$permissionsDialogWidth: calc(
+ #{$labelWidth} + #{$fieldsWidth} + #{$deleteColWidth}
+);
+
+.dialog {
+ @include modalAnimation();
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: $permissionsDialogWidth;
+ background: white;
+ border-radius: 5px;
+ overflow: hidden;
+ transition: width 0.3s 0.15s ease-out;
+}
+
+.header {
+ height: 50px;
+ background: $blue;
+ position: relative;
+ color: #ffffff;
+ line-height: 50px;
+ font-size: 16px;
+ text-align: center;
+}
+
+.level {
+ height: 50px;
+ width: $permissionsDialogWidth; // width: 658px;
+ background: #0e69a1;
+ position: relative;
+ color: white;
+ transition: width 0.3s 0.15s ease-out;
+
+ > div {
+ margin: 0;
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ }
+
+ > span {
+ display: inline-block;
+ font-size: 12;
+ height: 50px;
+ line-height: 50px;
+ padding-left: 20px;
+ }
+}
+
+.tableWrap {
+ height: 450px;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
+.second {
+ width: #{$fieldsWidth};
+}
+
+.table {
+ position: relative;
+ min-height: 450px;
+
+ .overlay {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ pointer-events: none;
+ background: rgba(0, 0, 40, 0.03);
+
+ &.second {
+ left: $labelWidth;
+ }
+ }
+}
+
+.footer {
+ position: relative;
+ height: 51px;
+ border-top: 1px solid #e3e3ea;
+
+ .details {
+ font-size: 12px;
+ padding-left: 20px;
+
+ a {
+ color: $blue;
+ }
+ }
+
+ .actions {
+ float: right;
+ padding: 10px 15px;
+
+ button {
+ margin-left: 10px;
+ }
+ }
+}
+
+.multiselect {
+ display: inline-block;
+ width: #{$fieldsWidth};
+}
+
+.row {
+ display: flex;
+ min-height: 50px;
+ height: 100%;
+ vertical-align: middle;
+ font-size: 15px;
+ border-bottom: 1px solid #e3e3ea;
+ white-space: nowrap;
+
+ &:nth-child(odd) {
+ background: rgba(14, 105, 161, 0.03);
+ }
+}
+
+.row.public {
+ background: rgba(22, 156, 238, 0.18);
+ border-bottom: 1px solid #0e69a1;
+ color: $blue;
+}
+
+.label {
+ display: inline-flex;
+ width: $labelWidth;
+ padding: 0 20px;
+ flex-direction: column;
+ align-self: center;
+}
+
+.entry {
+ height: 30px;
+ width: $entryWidth;
+ border: 1px solid $mainTextColor;
+ border-radius: 5px;
+ font-size: 14px;
+ outline: none;
+ padding: 0 6px;
+ margin: 10px $entryMargin;
+ vertical-align: top;
+}
+
+.error {
+ border-color: $red;
+ color: $red;
+ overflow: hidden;
+ white-space: normal;
+}
+
+.delete {
+ display: inline-block;
+ vertical-align: top;
+ width: 32px;
+ height: 50px;
+ padding-top: 15px;
+ text-align: right;
+
+ button {
+ @include buttonReset;
+ }
+
+ svg {
+ vertical-align: top;
+ cursor: pointer;
+ fill: #c1c7cd;
+
+ &:hover {
+ fill: $red;
+ }
+ }
+}
+
+.pillHolder {
+ max-width: 200px;
+ overflow: hidden;
+ display: inline-flex;
+ align-self: center;
+ padding-left: 4px;
+}
+
+.pillType {
+ width: auto;
+ display: inline-flex;
+ height: 20;
+ padding: 2px 8px 0 8px;
+}
+
+.multiselect {
+ .pillType {
+ visibility: collapse;
+ display: none;
+ top: 5px;
+ }
+}
+
+.hint {
+ color: $secondaryTextColor;
+ font-size: 0.8em;
+}
+.selectable {
+ user-select: text;
+}
+.prefix {
+ color: #0e69a1;
+}
+
+.suggestions {
+ margin-left: -19px;
+ width: $entryWidth;
+ margin-top: -24px;
+}
+
+.entry input {
+ width: $entryWidth !important;
+ padding: 0 6px;
+ margin: 10px 20px;
+}
+
+@include modalKeyframes();
diff --git a/src/components/PushAudienceDialog/InstallationCondition.scss b/src/components/PushAudienceDialog/InstallationCondition.scss
index e26306414a..509b93aa4c 100644
--- a/src/components/PushAudienceDialog/InstallationCondition.scss
+++ b/src/components/PushAudienceDialog/InstallationCondition.scss
@@ -1,51 +1,51 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.conditionInput {
- float: left;
- width: 210px;
- border-right: 2px solid white;
-}
-
-//custom label
-.description {
- margin-top: 2px;
- color: $pink;
- @include buttonReset;
-}
-
-.valueInput {
- width: 198px;
- border-right: 0;
-}
-
-.date {
- input {
- position: relative;
- background: #f6fafb;
- font-size: 16px;
- height: 80px;
- width: 100%;
- overflow: hidden;
- border: 0;
- padding: 0 5px;
- }
-}
-
-.empty {
- position: relative;
- background: #B0B1B1;
- font-size: 30px;
- line-height: 80px;
- text-align: center;
- height: 80px;
- width: 100%;
- overflow: hidden;
- cursor: not-allowed;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.conditionInput {
+ float: left;
+ width: 210px;
+ border-right: 2px solid white;
+}
+
+//custom label
+.description {
+ margin-top: 2px;
+ color: $pink;
+ @include buttonReset;
+}
+
+.valueInput {
+ width: 198px;
+ border-right: 0;
+}
+
+.date {
+ input {
+ position: relative;
+ background: #f6fafb;
+ font-size: 16px;
+ height: 80px;
+ width: 100%;
+ overflow: hidden;
+ border: 0;
+ padding: 0 5px;
+ }
+}
+
+.empty {
+ position: relative;
+ background: #B0B1B1;
+ font-size: 30px;
+ line-height: 80px;
+ text-align: center;
+ height: 80px;
+ width: 100%;
+ overflow: hidden;
+ cursor: not-allowed;
+}
diff --git a/src/components/PushAudienceDialog/PushAudienceDialog.scss b/src/components/PushAudienceDialog/PushAudienceDialog.scss
index d539690445..abdfd9c323 100644
--- a/src/components/PushAudienceDialog/PushAudienceDialog.scss
+++ b/src/components/PushAudienceDialog/PushAudienceDialog.scss
@@ -1,62 +1,62 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.addConditions {
- text-align: center;
- padding: 25px 20px;
- border-style: solid;
- border-color: $borderGrey;
- border-width: 1px 1px 0 1px;
-
- &.nonEmptyConditions {
- padding: 4px;
- a {
- border: none;
- }
- }
-}
-
-.footer {
- padding: 17px 28px;
- text-align: right;
-
- &:nth-child(2) {
- text-align: center;
- }
-
- > * {
- margin: 0 12px 0 0;
-
- &:last-child {
- margin-right: 0;
- }
- }
-}
-
-.audienceSize {
- float: left;
- text-align: left;
-
- .audienceSizeText {
- font-weight: 700;
- font-size: 10px;
- letter-spacing: 1.6px;
- color: $secondaryTextColor;
- }
-
- .audienceSizeDescription {
- margin-top: 2px;
- color: $blue;
- }
-}
-
-.filter {
- max-height: 50vh;
- overflow-y: scroll;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.addConditions {
+ text-align: center;
+ padding: 25px 20px;
+ border-style: solid;
+ border-color: $borderGrey;
+ border-width: 1px 1px 0 1px;
+
+ &.nonEmptyConditions {
+ padding: 4px;
+ a {
+ border: none;
+ }
+ }
+}
+
+.footer {
+ padding: 17px 28px;
+ text-align: right;
+
+ &:nth-child(2) {
+ text-align: center;
+ }
+
+ > * {
+ margin: 0 12px 0 0;
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+}
+
+.audienceSize {
+ float: left;
+ text-align: left;
+
+ .audienceSizeText {
+ font-weight: 700;
+ font-size: 10px;
+ letter-spacing: 1.6px;
+ color: $secondaryTextColor;
+ }
+
+ .audienceSizeDescription {
+ margin-top: 2px;
+ color: $blue;
+ }
+}
+
+.filter {
+ max-height: 50vh;
+ overflow-y: scroll;
+}
diff --git a/src/components/PushAudiencesSelector/PushAudiencesOption.scss b/src/components/PushAudiencesSelector/PushAudiencesOption.scss
index 00a49117b3..3f5166e24c 100644
--- a/src/components/PushAudiencesSelector/PushAudiencesOption.scss
+++ b/src/components/PushAudiencesSelector/PushAudiencesOption.scss
@@ -1,109 +1,109 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-//select width values are hardcoded
-//current usecase is fixed width container
-.row {
- width: 100%;
- display: block;
- padding: 15px 20px;
- cursor: pointer;
- float: left;
- .radiobutton {
- float: left;
- margin-right: 10px;
- }
- &:nth-child(even) {
- background: #f2f6f8;
- }
- &:nth-child(odd) {
- background: #fbfbfc;
- }
- &:hover {
- background: #EAEAEA;
- }
- &.everyone {
- .audienceInfo {
- margin-top: 7px;
- }
- }
- .cell {
- display: inline-block;
- margin-top: 7px;
- }
- .col1 {
- width: 50%;
- float: left;
- margin-top: 0;
- }
- .col2 {
- width: 20%;
- margin-top: 7px;
- }
- .input {
- margin-right: 12px;
- position: relative;
- top: -2px;
- }
-
- .audienceInfo {
- margin-left: 30px;
-
- .headline {
- font-size: 14px;
- }
-
- .subline {
- font-size: 12px;
- }
-
- .shortInfo {
- @include ellipsis();
- margin-right: 5px;
- max-width: 190px;
- float: left;
- }
-
- .longInfo {
- overflow: hidden;
- margin: 10px 10px 0 0;
-
- .platformInfo {
- float: left;
- }
-
- .installationInfo {
- float: right;
- width: 175px;
- }
-
- .detailsHeaderListItem {
- color: $secondaryTextColor;
- }
- }
-
- .moreDetails {
- @include buttonReset;
- color: $blue;
-
- &.hideMoreDetails {
- display: none;
- }
- }
- }
-
- ul, li {
- list-style: none;
- }
-
- .icon {
- position: relative;
- top: -2px;
- display: inline-block;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+//select width values are hardcoded
+//current usecase is fixed width container
+.row {
+ width: 100%;
+ display: block;
+ padding: 15px 20px;
+ cursor: pointer;
+ float: left;
+ .radiobutton {
+ float: left;
+ margin-right: 10px;
+ }
+ &:nth-child(even) {
+ background: #f2f6f8;
+ }
+ &:nth-child(odd) {
+ background: #fbfbfc;
+ }
+ &:hover {
+ background: #EAEAEA;
+ }
+ &.everyone {
+ .audienceInfo {
+ margin-top: 7px;
+ }
+ }
+ .cell {
+ display: inline-block;
+ margin-top: 7px;
+ }
+ .col1 {
+ width: 50%;
+ float: left;
+ margin-top: 0;
+ }
+ .col2 {
+ width: 20%;
+ margin-top: 7px;
+ }
+ .input {
+ margin-right: 12px;
+ position: relative;
+ top: -2px;
+ }
+
+ .audienceInfo {
+ margin-left: 30px;
+
+ .headline {
+ font-size: 14px;
+ }
+
+ .subline {
+ font-size: 12px;
+ }
+
+ .shortInfo {
+ @include ellipsis();
+ margin-right: 5px;
+ max-width: 190px;
+ float: left;
+ }
+
+ .longInfo {
+ overflow: hidden;
+ margin: 10px 10px 0 0;
+
+ .platformInfo {
+ float: left;
+ }
+
+ .installationInfo {
+ float: right;
+ width: 175px;
+ }
+
+ .detailsHeaderListItem {
+ color: $secondaryTextColor;
+ }
+ }
+
+ .moreDetails {
+ @include buttonReset;
+ color: $blue;
+
+ &.hideMoreDetails {
+ display: none;
+ }
+ }
+ }
+
+ ul, li {
+ list-style: none;
+ }
+
+ .icon {
+ position: relative;
+ top: -2px;
+ display: inline-block;
+ }
+}
diff --git a/src/components/PushAudiencesSelector/PushAudiencesSelector.scss b/src/components/PushAudiencesSelector/PushAudiencesSelector.scss
index f88b63cef5..6d28489ac2 100644
--- a/src/components/PushAudiencesSelector/PushAudiencesSelector.scss
+++ b/src/components/PushAudiencesSelector/PushAudiencesSelector.scss
@@ -1,38 +1,38 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-.container {
- position: relative;
- width: 100%;
- overflow: hidden;
- min-height: 200px;
- .header {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- color: white;
- background: #66637A;
- padding: 8px 20px 6px 20px;
- font-size: 14px;
- }
- .body {
- padding-top: 31px;
- max-height: 400px;
- overflow: auto;
- }
- .cell {
- display: inline-block;
- }
- .col1 {
- width: 50%;
- }
- .col2 {
- width: 20%;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+.container {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+ min-height: 200px;
+ .header {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ color: white;
+ background: #66637A;
+ padding: 8px 20px 6px 20px;
+ font-size: 14px;
+ }
+ .body {
+ padding-top: 31px;
+ max-height: 400px;
+ overflow: auto;
+ }
+ .cell {
+ display: inline-block;
+ }
+ .col1 {
+ width: 50%;
+ }
+ .col2 {
+ width: 20%;
+ }
+}
diff --git a/src/components/PushExperimentDropdown/PushExperimentDropdown.scss b/src/components/PushExperimentDropdown/PushExperimentDropdown.scss
index d64e02df49..11f7661c31 100644
--- a/src/components/PushExperimentDropdown/PushExperimentDropdown.scss
+++ b/src/components/PushExperimentDropdown/PushExperimentDropdown.scss
@@ -1,112 +1,112 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.dropdown {
- display: inline-block;
- vertical-align: top;
- height: 32px;
- text-align: left;
- white-space: nowrap;
- font-size: 14px;
- margin-right: 10px;
-
- &:nth-last-child(2) {
- margin-right: 0;
- }
-}
-
-.current, .menu {
- background: $white;
- border-radius: $borderRadiusConst;
- border: 1px solid $blue;
- color: $blue;
- cursor: pointer;
-
- &.red {
- border-color: $red;
- }
-
- &.green {
- border-color: $green;
- }
-
- &.blueGreen {
- border-color: $blueGreen;
- }
-
- &.darkPurple {
- border-color: $darkPurple;
- }
-}
-
-.current {
- position: relative;
- height: 30px;
- line-height: 30px;
- padding: 0 30px 0 10px;
-
- div {
- overflow-x: hidden;
- text-overflow: ellipsis;
- }
-
- &:after {
- @include arrow('down', 12px, 8px, $blue);
- position: absolute;
- content: '';
- top: 12px;
- right: 10px;
- }
-
- &.green {
- color: $green;
- &:after {
- @include arrow('down', 12px, 8px, $green);
- }
- }
-
- &.red {
- color: $red;
- &:after {
- @include arrow('down', 12px, 8px, $red);
- }
- }
-
- &.blueGreen {
- color: $blueGreen;
- &:after {
- @include arrow('down', 12px, 8px, $blueGreen);
- }
- }
-
- &.darkPurple {
- color: $darkPurple;
- &:after {
- @include arrow('down', 12px, 8px, $darkPurple);
- }
- }
-}
-
-.menu {
- max-height: 360px;
- overflow-y: auto;
- font-size: 14px;
- border: 1px solid $blue;
-
- div {
- height: 30px;
- line-height: 30px;
- padding: 0 10px;
-
- &:hover {
- background: rgba($blue, 0.1);
- color: $white;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.dropdown {
+ display: inline-block;
+ vertical-align: top;
+ height: 32px;
+ text-align: left;
+ white-space: nowrap;
+ font-size: 14px;
+ margin-right: 10px;
+
+ &:nth-last-child(2) {
+ margin-right: 0;
+ }
+}
+
+.current, .menu {
+ background: $white;
+ border-radius: $borderRadiusConst;
+ border: 1px solid $blue;
+ color: $blue;
+ cursor: pointer;
+
+ &.red {
+ border-color: $red;
+ }
+
+ &.green {
+ border-color: $green;
+ }
+
+ &.blueGreen {
+ border-color: $blueGreen;
+ }
+
+ &.darkPurple {
+ border-color: $darkPurple;
+ }
+}
+
+.current {
+ position: relative;
+ height: 30px;
+ line-height: 30px;
+ padding: 0 30px 0 10px;
+
+ div {
+ overflow-x: hidden;
+ text-overflow: ellipsis;
+ }
+
+ &:after {
+ @include arrow('down', 12px, 8px, $blue);
+ position: absolute;
+ content: '';
+ top: 12px;
+ right: 10px;
+ }
+
+ &.green {
+ color: $green;
+ &:after {
+ @include arrow('down', 12px, 8px, $green);
+ }
+ }
+
+ &.red {
+ color: $red;
+ &:after {
+ @include arrow('down', 12px, 8px, $red);
+ }
+ }
+
+ &.blueGreen {
+ color: $blueGreen;
+ &:after {
+ @include arrow('down', 12px, 8px, $blueGreen);
+ }
+ }
+
+ &.darkPurple {
+ color: $darkPurple;
+ &:after {
+ @include arrow('down', 12px, 8px, $darkPurple);
+ }
+ }
+}
+
+.menu {
+ max-height: 360px;
+ overflow-y: auto;
+ font-size: 14px;
+ border: 1px solid $blue;
+
+ div {
+ height: 30px;
+ line-height: 30px;
+ padding: 0 10px;
+
+ &:hover {
+ background: rgba($blue, 0.1);
+ color: $white;
+ }
+ }
+}
diff --git a/src/components/PushOpenRate/PushOpenRate.scss b/src/components/PushOpenRate/PushOpenRate.scss
index 0a50ad0709..c880f5ffd4 100644
--- a/src/components/PushOpenRate/PushOpenRate.scss
+++ b/src/components/PushOpenRate/PushOpenRate.scss
@@ -1,74 +1,74 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.wrapper {
- width: 320px;
- text-align: center;
- padding: 10px;
- margin: 0 auto;
-
- .title {
- height: 20px;
- }
-
- .percent {
- height: 160px;
- width: 160px;
- border-radius: 80px;
- border: 3px solid;
- margin: 10px auto;
-
- .rate {
- @include DosisFont;
- font-size: 40px;
- font-weight: 100;
- padding: 38px 0 0 0;
- vertical-align: baseline;
- }
- }
-
- .count_wrap {
- color: $mainTextColor;
-
- .count {
- font-size: 30px;
- @include DosisFont;
- }
- }
-}
-
-.blue {
- color: $blue;
- background: white;
-}
-
-.blue_inv {
- color: white;
- background: $blue;
-}
-
-.pink {
- color: $pink;
- background: white;
-}
-
-.pink_inv {
- color: white;
- background: $pink;
-}
-
-.yellow {
- color: $yellow;
- background: white;
-}
-
-.yellow_inv {
- color: white;
- background: $yellow;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.wrapper {
+ width: 320px;
+ text-align: center;
+ padding: 10px;
+ margin: 0 auto;
+
+ .title {
+ height: 20px;
+ }
+
+ .percent {
+ height: 160px;
+ width: 160px;
+ border-radius: 80px;
+ border: 3px solid;
+ margin: 10px auto;
+
+ .rate {
+ @include DosisFont;
+ font-size: 40px;
+ font-weight: 100;
+ padding: 38px 0 0 0;
+ vertical-align: baseline;
+ }
+ }
+
+ .count_wrap {
+ color: $mainTextColor;
+
+ .count {
+ font-size: 30px;
+ @include DosisFont;
+ }
+ }
+}
+
+.blue {
+ color: $blue;
+ background: white;
+}
+
+.blue_inv {
+ color: white;
+ background: $blue;
+}
+
+.pink {
+ color: $pink;
+ background: white;
+}
+
+.pink_inv {
+ color: white;
+ background: $pink;
+}
+
+.yellow {
+ color: $yellow;
+ background: white;
+}
+
+.yellow_inv {
+ color: white;
+ background: $yellow;
+}
diff --git a/src/components/PushPreview/PushPreview.scss b/src/components/PushPreview/PushPreview.scss
index 80f20b0ccf..0d0377f7f7 100644
--- a/src/components/PushPreview/PushPreview.scss
+++ b/src/components/PushPreview/PushPreview.scss
@@ -1,309 +1,309 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.wrap {
- width: 650px;
- height: 404px;
- border-radius: 5px;
- border: 1px solid $borderGrey;
- background: #fbfbfc;
-}
-
-.left {
- float: left;
- width: 325px;
- max-height: 404px;
- overflow-y: auto;
-}
-
-.right {
- margin-left: 325px;
- position: relative;
-}
-
-.section {
- padding: 16px 20px;
- border-bottom: 1px solid $borderGrey;
-
- &:last-child {
- border-bottom: none;
- }
-}
-
-.title {
- @include DosisFont;
- font-size: 11px;
- text-transform: uppercase;
- letter-spacing: 2px;
- color: rgba(85, 85, 114, 0.63);
-}
-
-.row {
- font-size: 13px;
- margin: 6px 0;
- min-height: 16px;
-}
-
-.rowLabel {
- float: left;
- font-weight: 700;
- width: 100px;
-}
-
-.rowContent {
- margin-left: 100px;
- word-break: break-word;
-}
-
-.preview {
- width: 323px;
- height: 402px;
- border-radius: 0 5px 5px 0;
- background-color: #F2F6F8;
-}
-
-.noPreview {
- width: 325px;
- height: 404px;
- background-color: #F2F6F8;
- text-align: center;
- font-size: 18px;
- padding-top: 100px;
-}
-
-.typeSelect {
- position: absolute;
- top: 15px;
- left: 0;
- width: 100%;
- text-align: center;
-}
-
-.testSelect {
- position: absolute;
- bottom: 15px;
- left: 0;
- width: 100%;
- text-align: center;
-}
-
-.ios {
- background-image: url(iphone.jpg);
- background-size: 325px auto;
- font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', sans-serif;
- color: white;
-
- .time {
- position: absolute;
- top: 165px;
- width: 100%;
- font-size: 55px;
- text-align: center;
- }
-
- .date {
- position: absolute;
- top: 230px;
- width: 100%;
- font-size: 12px;
- text-align: center;
- }
-
- .messageBox {
- position: absolute;
- top: 256px;
- width: 218px;
- left: 55px;
- padding-left: 20px;
- }
-
- .appIcon {
- position: absolute;
- left: 0;
- top: 0;
- width: 13px;
- height: 13px;
- border-radius: 3px;
- background: $blue;
- }
-
- .appName {
- display: inline-block;
- vertical-align: top;
- font-size: 10px;
- line-height: 14px;
- margin-right: 9px;
- }
-
- .notifTime {
- display: inline-block;
- vertical-align: top;
- font-size: 8px;
- line-height: 16px;
- }
-
- .message {
- position: absolute;
- top: 16px;
- left: 20px;
- right: 0;
- font-size: 10px;
- height: 38px;
- overflow: hidden;
- }
-}
-
-.android {
- background-image: url(android.jpg);
- background-size: 325px auto;
- font-family: 'Roboto', 'Helvetica Neue', 'Arial', sans-serif;
-
- .time {
- position: absolute;
- top: 180px;
- width: 100%;
- color: white;
- font-size: 60px;
- text-align: center;
- }
-
- .date {
- position: absolute;
- top: 250px;
- width: 100%;
- font-size: 8px;
- letter-spacing: 2px;
- text-transform: uppercase;
- color: white;
- text-align: center;
- }
-
- .messageBox {
- position: absolute;
- top: 285px;
- width: 208px;
- left: 56px;
- background: white;
- box-shadow: 0px 1px 1px rgba(0,0,0,0.24);
- padding: 20px 10px 0 40px;
- min-height: 38px;
- max-height: 47px;
- overflow: hidden;
- }
-
- .appIcon {
- position: absolute;
- left: 7px;
- top: 7px;
- width: 24px;
- height: 24px;
- border-radius: 12px;
- background: $blue;
- }
-
- .appName {
- position: absolute;
- top: 7px;
- left: 40px;
- color: black;
- font-size: 10px;
- }
-
- .notifTime {
- position: absolute;
- top: 9px;
- right: 6px;
- color: rgba(0,0,0,0.5);
- font-size: 8px;
- }
-
- .message {
- color: rgba(0,0,0,0.5);
- font-size: 10px;
- }
-}
-
-.osx {
- background-image: url(laptop.jpg);
- background-size: 325px auto;
- font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', sans-serif;
- color: #555252;
-
- .time, .date {
- display: none;
- }
-
- .messageBox {
- position: absolute;
- left: 24px;
- top: 114px;
- width: 240px;
- height: 47px;
- background: #f0f0f0;
- border-radius: 4px;
- box-shadow: 0 0 4px rgba(0,0,0,0.3);
- padding: 4px 6px 4px 36px;
- }
-
- .appIcon {
- position: absolute;
- width: 24px;
- height: 24px;
- top: 6px;
- left: 5px;
- background: $blue;
- }
-
- .appName {
- font-size: 10px;
- margin-bottom: 2px;
- }
-
- .message {
- font-size: 9px;
- height: 24px;
- overflow: hidden;
- }
-}
-
-.windows {
- background-image: url(windowsphone.jpg);
- background-size: 325px auto;
- font-family: 'Arial', sans-serif;
- color: white;
-
- .date, .appName {
- display: none;
- }
-
- .time {
- font-size: 10px;
- position: absolute;
- top: 120px;
- right: 50px;
- }
-
- .message {
- position: absolute;
- top: 134px;
- left: 50px;
- right: 50px;
- font-size: 11px;
- white-space: nowrap;
- overflow: hidden;
- }
-}
-
-.fade {
- position: absolute;
- bottom: 0;
- width: 100%;
- height: 100px;
- background-image: linear-gradient(rgba(251, 251, 252, 0), rgba(251, 251, 252, 0.7) 50%, rgba(251, 251, 252, 1) 90%);
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.wrap {
+ width: 650px;
+ height: 404px;
+ border-radius: 5px;
+ border: 1px solid $borderGrey;
+ background: #fbfbfc;
+}
+
+.left {
+ float: left;
+ width: 325px;
+ max-height: 404px;
+ overflow-y: auto;
+}
+
+.right {
+ margin-left: 325px;
+ position: relative;
+}
+
+.section {
+ padding: 16px 20px;
+ border-bottom: 1px solid $borderGrey;
+
+ &:last-child {
+ border-bottom: none;
+ }
+}
+
+.title {
+ @include DosisFont;
+ font-size: 11px;
+ text-transform: uppercase;
+ letter-spacing: 2px;
+ color: rgba(85, 85, 114, 0.63);
+}
+
+.row {
+ font-size: 13px;
+ margin: 6px 0;
+ min-height: 16px;
+}
+
+.rowLabel {
+ float: left;
+ font-weight: 700;
+ width: 100px;
+}
+
+.rowContent {
+ margin-left: 100px;
+ word-break: break-word;
+}
+
+.preview {
+ width: 323px;
+ height: 402px;
+ border-radius: 0 5px 5px 0;
+ background-color: #F2F6F8;
+}
+
+.noPreview {
+ width: 325px;
+ height: 404px;
+ background-color: #F2F6F8;
+ text-align: center;
+ font-size: 18px;
+ padding-top: 100px;
+}
+
+.typeSelect {
+ position: absolute;
+ top: 15px;
+ left: 0;
+ width: 100%;
+ text-align: center;
+}
+
+.testSelect {
+ position: absolute;
+ bottom: 15px;
+ left: 0;
+ width: 100%;
+ text-align: center;
+}
+
+.ios {
+ background-image: url(iphone.jpg);
+ background-size: 325px auto;
+ font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', sans-serif;
+ color: white;
+
+ .time {
+ position: absolute;
+ top: 165px;
+ width: 100%;
+ font-size: 55px;
+ text-align: center;
+ }
+
+ .date {
+ position: absolute;
+ top: 230px;
+ width: 100%;
+ font-size: 12px;
+ text-align: center;
+ }
+
+ .messageBox {
+ position: absolute;
+ top: 256px;
+ width: 218px;
+ left: 55px;
+ padding-left: 20px;
+ }
+
+ .appIcon {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 13px;
+ height: 13px;
+ border-radius: 3px;
+ background: $blue;
+ }
+
+ .appName {
+ display: inline-block;
+ vertical-align: top;
+ font-size: 10px;
+ line-height: 14px;
+ margin-right: 9px;
+ }
+
+ .notifTime {
+ display: inline-block;
+ vertical-align: top;
+ font-size: 8px;
+ line-height: 16px;
+ }
+
+ .message {
+ position: absolute;
+ top: 16px;
+ left: 20px;
+ right: 0;
+ font-size: 10px;
+ height: 38px;
+ overflow: hidden;
+ }
+}
+
+.android {
+ background-image: url(android.jpg);
+ background-size: 325px auto;
+ font-family: 'Roboto', 'Helvetica Neue', 'Arial', sans-serif;
+
+ .time {
+ position: absolute;
+ top: 180px;
+ width: 100%;
+ color: white;
+ font-size: 60px;
+ text-align: center;
+ }
+
+ .date {
+ position: absolute;
+ top: 250px;
+ width: 100%;
+ font-size: 8px;
+ letter-spacing: 2px;
+ text-transform: uppercase;
+ color: white;
+ text-align: center;
+ }
+
+ .messageBox {
+ position: absolute;
+ top: 285px;
+ width: 208px;
+ left: 56px;
+ background: white;
+ box-shadow: 0px 1px 1px rgba(0,0,0,0.24);
+ padding: 20px 10px 0 40px;
+ min-height: 38px;
+ max-height: 47px;
+ overflow: hidden;
+ }
+
+ .appIcon {
+ position: absolute;
+ left: 7px;
+ top: 7px;
+ width: 24px;
+ height: 24px;
+ border-radius: 12px;
+ background: $blue;
+ }
+
+ .appName {
+ position: absolute;
+ top: 7px;
+ left: 40px;
+ color: black;
+ font-size: 10px;
+ }
+
+ .notifTime {
+ position: absolute;
+ top: 9px;
+ right: 6px;
+ color: rgba(0,0,0,0.5);
+ font-size: 8px;
+ }
+
+ .message {
+ color: rgba(0,0,0,0.5);
+ font-size: 10px;
+ }
+}
+
+.osx {
+ background-image: url(laptop.jpg);
+ background-size: 325px auto;
+ font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', sans-serif;
+ color: #555252;
+
+ .time, .date {
+ display: none;
+ }
+
+ .messageBox {
+ position: absolute;
+ left: 24px;
+ top: 114px;
+ width: 240px;
+ height: 47px;
+ background: #f0f0f0;
+ border-radius: 4px;
+ box-shadow: 0 0 4px rgba(0,0,0,0.3);
+ padding: 4px 6px 4px 36px;
+ }
+
+ .appIcon {
+ position: absolute;
+ width: 24px;
+ height: 24px;
+ top: 6px;
+ left: 5px;
+ background: $blue;
+ }
+
+ .appName {
+ font-size: 10px;
+ margin-bottom: 2px;
+ }
+
+ .message {
+ font-size: 9px;
+ height: 24px;
+ overflow: hidden;
+ }
+}
+
+.windows {
+ background-image: url(windowsphone.jpg);
+ background-size: 325px auto;
+ font-family: 'Arial', sans-serif;
+ color: white;
+
+ .date, .appName {
+ display: none;
+ }
+
+ .time {
+ font-size: 10px;
+ position: absolute;
+ top: 120px;
+ right: 50px;
+ }
+
+ .message {
+ position: absolute;
+ top: 134px;
+ left: 50px;
+ right: 50px;
+ font-size: 11px;
+ white-space: nowrap;
+ overflow: hidden;
+ }
+}
+
+.fade {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ height: 100px;
+ background-image: linear-gradient(rgba(251, 251, 252, 0), rgba(251, 251, 252, 0.7) 50%, rgba(251, 251, 252, 1) 90%);
+}
diff --git a/src/components/RadioButton/RadioButton.scss b/src/components/RadioButton/RadioButton.scss
index e6115e5ea1..bd65c46db9 100644
--- a/src/components/RadioButton/RadioButton.scss
+++ b/src/components/RadioButton/RadioButton.scss
@@ -1,58 +1,58 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-.radiobutton {
- display: inline-block;
- margin-right: 12px;
- input[type=radio] {
- opacity: 0;
- width: 0;
- height: 0;
- padding: 0;
- margin: 0;
- position: absolute;
- }
- span {
- position: relative;
- display: inline-block;
- width: 20px;
- height: 20px;
- background: #d0d0d0;
- border-radius: 10px;
- cursor: pointer;
- top: 4px;
-
- &:hover {
- background: #b0b0b0;
- }
-
- &:after {
- position: absolute;
- content: '';
- width: 0;
- height: 0;
- border-radius: 100%;
- background: white;
-
- top: 50%;
- left: 50%;
- @include transform(translate(-50%, -50%));
-
- transition: all 0.2s cubic-bezier(0, 0, 0.74, 2.2);
- }
- }
-
- input:checked + span {
- background: #5298fc;
-
- &:after {
- width: 8px;
- height: 8px;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+.radiobutton {
+ display: inline-block;
+ margin-right: 12px;
+ input[type=radio] {
+ opacity: 0;
+ width: 0;
+ height: 0;
+ padding: 0;
+ margin: 0;
+ position: absolute;
+ }
+ span {
+ position: relative;
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ background: #d0d0d0;
+ border-radius: 10px;
+ cursor: pointer;
+ top: 4px;
+
+ &:hover {
+ background: #b0b0b0;
+ }
+
+ &:after {
+ position: absolute;
+ content: '';
+ width: 0;
+ height: 0;
+ border-radius: 100%;
+ background: white;
+
+ top: 50%;
+ left: 50%;
+ @include transform(translate(-50%, -50%));
+
+ transition: all 0.2s cubic-bezier(0, 0, 0.74, 2.2);
+ }
+ }
+
+ input:checked + span {
+ background: #5298fc;
+
+ &:after {
+ width: 8px;
+ height: 8px;
+ }
+ }
+}
diff --git a/src/components/Range/Range.scss b/src/components/Range/Range.scss
index fb9b0a9118..ba5ded3515 100644
--- a/src/components/Range/Range.scss
+++ b/src/components/Range/Range.scss
@@ -1,74 +1,74 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-@mixin rangeTrack {
- background-color: #e0e0ea;
- width: 100%;
- height: 10px;
- border-radius: 5px;
- outline: none;
-}
-
-@mixin rangeThumb {
- background-color: #fdfafb;
- width: 24px;
- height: 24px;
- border-radius: 12px;
- box-shadow: 0 1px 4px rgba(0,0,0,0.12);
- cursor: pointer;
-}
-
-.range {
- display: inline-block;
- position: relative;
- height: 30px;
- padding: 10px 0;
-
- input[type=range] {
- @include rangeTrack;
- -webkit-appearance: none;
- vertical-align: top;
- }
- ::-moz-range-track {
- -moz-appearance: none;
- opacity: 0;
- }
-
- input[type=range]::-webkit-slider-thumb {
- @include rangeThumb;
- -webkit-appearance: none;
- }
- ::-moz-range-thumb {
- @include rangeThumb;
- }
-}
-
-.tracker {
- @include DosisFont;
- @include transform(translateX(-50%));
- position: absolute;
- background: $orange;
- color: white;
- font-size: 11px;
- border-radius: 4px;
- height: 18px;
- line-height: 18px;
- padding: 0 6px;
- top: -21px;
- white-space: nowrap;
-
- &:after {
- @include arrow('down', 8, 5, inherit);
- content: '';
- position: absolute;
- top: 18px;
- left: 50%;
- margin-left: -3px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+@mixin rangeTrack {
+ background-color: #e0e0ea;
+ width: 100%;
+ height: 10px;
+ border-radius: 5px;
+ outline: none;
+}
+
+@mixin rangeThumb {
+ background-color: #fdfafb;
+ width: 24px;
+ height: 24px;
+ border-radius: 12px;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.12);
+ cursor: pointer;
+}
+
+.range {
+ display: inline-block;
+ position: relative;
+ height: 30px;
+ padding: 10px 0;
+
+ input[type=range] {
+ @include rangeTrack;
+ -webkit-appearance: none;
+ vertical-align: top;
+ }
+ ::-moz-range-track {
+ -moz-appearance: none;
+ opacity: 0;
+ }
+
+ input[type=range]::-webkit-slider-thumb {
+ @include rangeThumb;
+ -webkit-appearance: none;
+ }
+ ::-moz-range-thumb {
+ @include rangeThumb;
+ }
+}
+
+.tracker {
+ @include DosisFont;
+ @include transform(translateX(-50%));
+ position: absolute;
+ background: $orange;
+ color: white;
+ font-size: 11px;
+ border-radius: 4px;
+ height: 18px;
+ line-height: 18px;
+ padding: 0 6px;
+ top: -21px;
+ white-space: nowrap;
+
+ &:after {
+ @include arrow('down', 8, 5, inherit);
+ content: '';
+ position: absolute;
+ top: 18px;
+ left: 50%;
+ margin-left: -3px;
+ }
+}
diff --git a/src/components/SaveButton/SaveButton.scss b/src/components/SaveButton/SaveButton.scss
index 1ac0eecbe0..ebbc4010cc 100644
--- a/src/components/SaveButton/SaveButton.scss
+++ b/src/components/SaveButton/SaveButton.scss
@@ -1,31 +1,31 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.shake {
- @include transform(translateX(0));
- @include animation('shake 0.6s');
-}
-
-@include keyframes (shake) {
- 0% {
- @include transform(translateX(-5px));
- }
- 20% {
- @include transform(translateX(5px));
- }
- 40% {
- @include transform(translateX(-5px));
- }
- 60% {
- @include transform(translateX(5px));
- }
- 80% {
- @include transform(translateX(-5px));
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.shake {
+ @include transform(translateX(0));
+ @include animation('shake 0.6s');
+}
+
+@include keyframes (shake) {
+ 0% {
+ @include transform(translateX(-5px));
+ }
+ 20% {
+ @include transform(translateX(5px));
+ }
+ 40% {
+ @include transform(translateX(-5px));
+ }
+ 60% {
+ @include transform(translateX(5px));
+ }
+ 80% {
+ @include transform(translateX(-5px));
+ }
+}
diff --git a/src/components/ScrollHint/ScrollHint.scss b/src/components/ScrollHint/ScrollHint.scss
index 96ffb54834..3f3764667a 100644
--- a/src/components/ScrollHint/ScrollHint.scss
+++ b/src/components/ScrollHint/ScrollHint.scss
@@ -1,32 +1,32 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-.scrollHint.active::before{
- content: 'β²β±';
- color: rgb(116, 214, 249);
- position: absolute;
- opacity: 0.8;
- text-shadow: 0 0 .5rem rgba(0,0,0,0.5);
- width: 6rem;
- font-size: 1rem;
- height: 2rem;
- line-height: 2rem;
- text-align: center;
- bottom: 2rem;
- margin-left: -3rem;
- left: 50%;
- animation: bounce 1s ease infinite;
- }
-
- @keyframes bounce {
- 50% {
- transform: translateY(-50%);
- }
- 100% {
- transform: translateY(0);
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.scrollHint.active::before{
+ content: 'β²β±';
+ color: rgb(116, 214, 249);
+ position: absolute;
+ opacity: 0.8;
+ text-shadow: 0 0 .5rem rgba(0,0,0,0.5);
+ width: 6rem;
+ font-size: 1rem;
+ height: 2rem;
+ line-height: 2rem;
+ text-align: center;
+ bottom: 2rem;
+ margin-left: -3rem;
+ left: 50%;
+ animation: bounce 1s ease infinite;
+ }
+
+ @keyframes bounce {
+ 50% {
+ transform: translateY(-50%);
+ }
+ 100% {
+ transform: translateY(0);
+ }
}
\ No newline at end of file
diff --git a/src/components/SegmentSelect/SegmentSelect.scss b/src/components/SegmentSelect/SegmentSelect.scss
index bc29c4efa0..896d4428d1 100644
--- a/src/components/SegmentSelect/SegmentSelect.scss
+++ b/src/components/SegmentSelect/SegmentSelect.scss
@@ -1,39 +1,39 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.row {
- display: inline-block;
- height: 24px;
-
- a {
- @include DosisFont;
- display: inline-block;
- height: 24px;
- line-height: 24px;
- padding: 0 12px;
- font-size: 12px;
- border-style: solid;
- border-color: $blue;
- border-width: 1px 0 1px 1px;
- color: $blue;
-
- &:first-child {
- border-radius: 5px 0 0 5px;
- }
- &:last-child {
- border-radius: 0 5px 5px 0;
- border-right-width: 1px;
- }
-
- &.current {
- background: $blue;
- color: white;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.row {
+ display: inline-block;
+ height: 24px;
+
+ a {
+ @include DosisFont;
+ display: inline-block;
+ height: 24px;
+ line-height: 24px;
+ padding: 0 12px;
+ font-size: 12px;
+ border-style: solid;
+ border-color: $blue;
+ border-width: 1px 0 1px 1px;
+ color: $blue;
+
+ &:first-child {
+ border-radius: 5px 0 0 5px;
+ }
+ &:last-child {
+ border-radius: 0 5px 5px 0;
+ border-right-width: 1px;
+ }
+
+ &.current {
+ background: $blue;
+ color: white;
+ }
+ }
+}
diff --git a/src/components/Sidebar/Sidebar.scss b/src/components/Sidebar/Sidebar.scss
index a051af435f..187f4901ab 100644
--- a/src/components/Sidebar/Sidebar.scss
+++ b/src/components/Sidebar/Sidebar.scss
@@ -1,415 +1,415 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$headerHeight: 48px;
-$menuSectionHeight: 24px;
-$sidebarMenuItemHeight: 48px;
-$footerHeight: 36px;
-
-.sidebar {
- position: fixed;
- width: 300px;
- top: 0;
- left: 0;
- bottom: 0;
- background: #0c5582;
- color: #fff;
- z-index: 100;
-
- &.collapsed {
- left: 0;
- width: 54px;
-
- .section_header > svg {
- margin: 0;
- }
-
- .pinContainer > svg {
- fill: white;
- }
- }
-}
-
-.content {
- position: absolute;
- overflow-y: auto;
- top: $headerHeight;
- right: 0;
- bottom: 36px;
- left: 0;
-}
-
-.apps + .content {
- top: $headerHeight + $sidebarMenuItemHeight;
-}
-
-.footer {
- @include DosisFont;
- position: absolute;
- background: #05283c;
- padding: 10px 0;
- text-align: center;
- bottom: 0;
- left: 0;
- right: 0;
-
- a {
- color: white;
- text-decoration: none;
- border-right: 1px solid #385261;
- font-size: 13px;
- padding: 0 12px;
- vertical-align: top;
-
-
- &:first-child {
- padding-left: 0;
- }
- &:last-child {
- padding-right: 0;
- border: none;
- }
- }
-}
-
-.header {
- background: #05283c;
- height: $headerHeight;
- padding: 10px 14px;
-
- :global(.icon) {
- width: 28px;
- height: 28px;
- float: left;
- }
-}
-
-.currentApp, .menuRow {
- @include ellipsis();
- display: block;
- background: #094162;
- height: $sidebarMenuItemHeight;
- padding: 10px 14px;
-
- color: white;
- font-size: 18px;
- font-weight: 700;
- line-height: 30px;
-}
-
-.menuRow {
- cursor: pointer;
- border-bottom: 1px solid #0c5582;
-
- > *:first-child {
- display: inline-block;
- max-width: 200px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
-
- > *:not(:first-child) {
- float: right;
- }
-}
-
-.currentApp {
- position: relative;
- display: flex;
- justify-content: space-between;
- align-items: center;
-
- .appNameContainer {
- display: flex;
- align-items: center;
- cursor: pointer;
-
- .currentAppName {
- overflow: hidden;
- text-overflow: ellipsis;
- max-width: 215px;
- }
-
- &:after {
- @include arrow('down', 10px, 7px, #132B39);
- content: '';
- margin-left: 10px;
- }
-
- &:hover {
- &:after {
- border-top-color: white;
- }
- }
- }
-}
-
-.sidebarPin {
- cursor: pointer;
- height: 30px;
- width: 30px;
- padding: 6px;
-}
-
-.appsMenu {
- overflow: auto;
- background: #094162;
- width: 300px;
-
- .menuRow:hover {
- background: #0c5582;
- }
-
- .currentApp {
- .currentAppName {
- &:after {
- @include arrow('up', 10px, 7px, #132B39);
- }
-
- &:hover {
- &:after {
- border-bottom-color: white;
- }
- }
- }
- }
-
- .appListContainer {
- overflow-y: auto;
- height: calc(100vh - #{$headerHeight} - #{$menuSectionHeight} - #{$sidebarMenuItemHeight} - #{$footerHeight});
- }
-}
-
-.menuSection {
- @include DosisFont;
- height: $menuSectionHeight;
- line-height: 24px;
- background: #0c5582;
- color: #84A5BC;
- text-transform: uppercase;
- letter-spacing: 2px;
- font-size: 8px;
- padding: 0 14px;
- border-bottom: 1px solid #094162;
-}
-
-.createApp {
- @include DosisFont;
- display: block;
- background: $blue;
- color: white;
- width: 91%;
- height: 30px;
- line-height: 30px;
- border-radius: 5px;
- text-align: center;
- margin: 12px auto;
- font-size: 12px;
-
- &:hover {
- background: #0c5582;
- }
-}
-
-.section {
- background: #0c5582;
-
- :global(.icon) {
- margin-right: 14px;
- }
-}
-
-.active {
- background: #159cee;
-
- .section_header{
- font-weight: 700;
- &:hover{
- background: #159cee;
- }
- }
-}
-
-.section_header {
- display: block;
- height: $sidebarMenuItemHeight;
- font-size: 18px;
- line-height: 28px;
- padding: 12px 14px;
- color: white;
-
- &:hover{
- background-color: #0D5E91;
- }
-
- > span {
- vertical-align: top;
- @include DosisFont;
- }
-
- > svg {
- margin-right: 14px;
- }
-}
-
-.section_contents {
- background: #0e69a0;
- padding: 16px 14px 16px 50px;
-}
-
-.subitem {
- position: relative;
- height: 28px;
- line-height: 28px;
- font-size: 16px;
- font-weight: 700;
- color: white;
-}
-
-a.subitem {
- color: #8fb9cf;
- font-weight: 400;
- display: inline-block;
- width: 100%;
-
- &:hover {
- color: white;
- }
-}
-
-.action {
- @include DosisFont;
- position: absolute;
- font-size: 12px;
- font-weight: 400;
- padding: 0 8px;
- line-height: 20px;
- top: 4px;
- right: 0px;
- background: #0c5987;
- color: white;
- border-radius: 3px;
-
- &:hover {
- background: #094162;
- }
-}
-
-.logo {
- float: left;
-}
-
-.version {
- @include DosisFont;
- position: relative;
- width: 75px;
- height: 100%;
- font-size: 10px;
- display: flex;
- align-items: center;
- float: left;
- margin-left: 6px;
- white-space: nowrap;
- color: white;
-
- > *:first-child {
- position: absolute;
- letter-spacing: 2px;
- line-height: 12px;
- text-transform: uppercase;
- }
-
- > *:first-child {
- transition: all 0.4s 0.16s cubic-bezier(0.77, 0, 0.175, 1);
- }
-}
-
-.more {
- display: flex;
- justify-content: center;
- align-items: center;
- svg {
- fill: #0C5582;
- transition: fill 0.2s ease-in;
- margin-right: 4px;
- }
-
- &:hover {
- svg {
- fill: $blue;
- }
- }
-}
-
-.popup {
- position: absolute;
- bottom: 4px;
- left: -183px;
- background: white;
- width: 200px;
- border-radius: 5px;
-
- &:after {
- @include arrow('down', 12px, 6px, #ffffff);
- content: '';
- position: absolute;
- bottom: -6px;
- right: 94px;
- }
-
- a {
- @include NotoSansFont;
- display: block;
- height: 40px;
- line-height: 41px;
- font-size: 13px;
- text-align: center;
- border-bottom: 1px solid #e0e0ea;
- color: $mainTextColor;
- padding-right: 8px;
- &:hover{
- background-color: darken(white,4%)
- }
-
- &:first-child {
- border-radius: 5px 5px 5px 5px;
- }
-
- &:last-child {
- border-bottom: 0;
- border-radius: 5px 5px 5px 5px;
- }
-
- .emoji{
- padding-left: 4px;
- padding-right: 2px;
- }
- }
-}
-
-.pinContainer {
- height: 48px;
- display: flex;
- justify-content: center;
- align-items: center;
- background-color: #094162;
-
- svg {
- cursor: pointer;
- height: 40px;
- width: 40px;
- padding: 10px 10px 10px 10px;
- fill: #132B39;
-
- &:hover {
- fill: white;
- }
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$headerHeight: 48px;
+$menuSectionHeight: 24px;
+$sidebarMenuItemHeight: 48px;
+$footerHeight: 36px;
+
+.sidebar {
+ position: fixed;
+ width: 300px;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ background: #0c5582;
+ color: #fff;
+ z-index: 100;
+
+ &.collapsed {
+ left: 0;
+ width: 54px;
+
+ .section_header > svg {
+ margin: 0;
+ }
+
+ .pinContainer > svg {
+ fill: white;
+ }
+ }
+}
+
+.content {
+ position: absolute;
+ overflow-y: auto;
+ top: $headerHeight;
+ right: 0;
+ bottom: 36px;
+ left: 0;
+}
+
+.apps + .content {
+ top: $headerHeight + $sidebarMenuItemHeight;
+}
+
+.footer {
+ @include DosisFont;
+ position: absolute;
+ background: #05283c;
+ padding: 10px 0;
+ text-align: center;
+ bottom: 0;
+ left: 0;
+ right: 0;
+
+ a {
+ color: white;
+ text-decoration: none;
+ border-right: 1px solid #385261;
+ font-size: 13px;
+ padding: 0 12px;
+ vertical-align: top;
+
+
+ &:first-child {
+ padding-left: 0;
+ }
+ &:last-child {
+ padding-right: 0;
+ border: none;
+ }
+ }
+}
+
+.header {
+ background: #05283c;
+ height: $headerHeight;
+ padding: 10px 14px;
+
+ :global(.icon) {
+ width: 28px;
+ height: 28px;
+ float: left;
+ }
+}
+
+.currentApp, .menuRow {
+ @include ellipsis();
+ display: block;
+ background: #094162;
+ height: $sidebarMenuItemHeight;
+ padding: 10px 14px;
+
+ color: white;
+ font-size: 18px;
+ font-weight: 700;
+ line-height: 30px;
+}
+
+.menuRow {
+ cursor: pointer;
+ border-bottom: 1px solid #0c5582;
+
+ > *:first-child {
+ display: inline-block;
+ max-width: 200px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ > *:not(:first-child) {
+ float: right;
+ }
+}
+
+.currentApp {
+ position: relative;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ .appNameContainer {
+ display: flex;
+ align-items: center;
+ cursor: pointer;
+
+ .currentAppName {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 215px;
+ }
+
+ &:after {
+ @include arrow('down', 10px, 7px, #132B39);
+ content: '';
+ margin-left: 10px;
+ }
+
+ &:hover {
+ &:after {
+ border-top-color: white;
+ }
+ }
+ }
+}
+
+.sidebarPin {
+ cursor: pointer;
+ height: 30px;
+ width: 30px;
+ padding: 6px;
+}
+
+.appsMenu {
+ overflow: auto;
+ background: #094162;
+ width: 300px;
+
+ .menuRow:hover {
+ background: #0c5582;
+ }
+
+ .currentApp {
+ .currentAppName {
+ &:after {
+ @include arrow('up', 10px, 7px, #132B39);
+ }
+
+ &:hover {
+ &:after {
+ border-bottom-color: white;
+ }
+ }
+ }
+ }
+
+ .appListContainer {
+ overflow-y: auto;
+ height: calc(100vh - #{$headerHeight} - #{$menuSectionHeight} - #{$sidebarMenuItemHeight} - #{$footerHeight});
+ }
+}
+
+.menuSection {
+ @include DosisFont;
+ height: $menuSectionHeight;
+ line-height: 24px;
+ background: #0c5582;
+ color: #84A5BC;
+ text-transform: uppercase;
+ letter-spacing: 2px;
+ font-size: 8px;
+ padding: 0 14px;
+ border-bottom: 1px solid #094162;
+}
+
+.createApp {
+ @include DosisFont;
+ display: block;
+ background: $blue;
+ color: white;
+ width: 91%;
+ height: 30px;
+ line-height: 30px;
+ border-radius: 5px;
+ text-align: center;
+ margin: 12px auto;
+ font-size: 12px;
+
+ &:hover {
+ background: #0c5582;
+ }
+}
+
+.section {
+ background: #0c5582;
+
+ :global(.icon) {
+ margin-right: 14px;
+ }
+}
+
+.active {
+ background: #159cee;
+
+ .section_header{
+ font-weight: 700;
+ &:hover{
+ background: #159cee;
+ }
+ }
+}
+
+.section_header {
+ display: block;
+ height: $sidebarMenuItemHeight;
+ font-size: 18px;
+ line-height: 28px;
+ padding: 12px 14px;
+ color: white;
+
+ &:hover{
+ background-color: #0D5E91;
+ }
+
+ > span {
+ vertical-align: top;
+ @include DosisFont;
+ }
+
+ > svg {
+ margin-right: 14px;
+ }
+}
+
+.section_contents {
+ background: #0e69a0;
+ padding: 16px 14px 16px 50px;
+}
+
+.subitem {
+ position: relative;
+ height: 28px;
+ line-height: 28px;
+ font-size: 16px;
+ font-weight: 700;
+ color: white;
+}
+
+a.subitem {
+ color: #8fb9cf;
+ font-weight: 400;
+ display: inline-block;
+ width: 100%;
+
+ &:hover {
+ color: white;
+ }
+}
+
+.action {
+ @include DosisFont;
+ position: absolute;
+ font-size: 12px;
+ font-weight: 400;
+ padding: 0 8px;
+ line-height: 20px;
+ top: 4px;
+ right: 0px;
+ background: #0c5987;
+ color: white;
+ border-radius: 3px;
+
+ &:hover {
+ background: #094162;
+ }
+}
+
+.logo {
+ float: left;
+}
+
+.version {
+ @include DosisFont;
+ position: relative;
+ width: 75px;
+ height: 100%;
+ font-size: 10px;
+ display: flex;
+ align-items: center;
+ float: left;
+ margin-left: 6px;
+ white-space: nowrap;
+ color: white;
+
+ > *:first-child {
+ position: absolute;
+ letter-spacing: 2px;
+ line-height: 12px;
+ text-transform: uppercase;
+ }
+
+ > *:first-child {
+ transition: all 0.4s 0.16s cubic-bezier(0.77, 0, 0.175, 1);
+ }
+}
+
+.more {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ svg {
+ fill: #0C5582;
+ transition: fill 0.2s ease-in;
+ margin-right: 4px;
+ }
+
+ &:hover {
+ svg {
+ fill: $blue;
+ }
+ }
+}
+
+.popup {
+ position: absolute;
+ bottom: 4px;
+ left: -183px;
+ background: white;
+ width: 200px;
+ border-radius: 5px;
+
+ &:after {
+ @include arrow('down', 12px, 6px, #ffffff);
+ content: '';
+ position: absolute;
+ bottom: -6px;
+ right: 94px;
+ }
+
+ a {
+ @include NotoSansFont;
+ display: block;
+ height: 40px;
+ line-height: 41px;
+ font-size: 13px;
+ text-align: center;
+ border-bottom: 1px solid #e0e0ea;
+ color: $mainTextColor;
+ padding-right: 8px;
+ &:hover{
+ background-color: darken(white,4%)
+ }
+
+ &:first-child {
+ border-radius: 5px 5px 5px 5px;
+ }
+
+ &:last-child {
+ border-bottom: 0;
+ border-radius: 5px 5px 5px 5px;
+ }
+
+ .emoji{
+ padding-left: 4px;
+ padding-right: 2px;
+ }
+ }
+}
+
+.pinContainer {
+ height: 48px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-color: #094162;
+
+ svg {
+ cursor: pointer;
+ height: 40px;
+ width: 40px;
+ padding: 10px 10px 10px 10px;
+ fill: #132B39;
+
+ &:hover {
+ fill: white;
+ }
+ }
}
\ No newline at end of file
diff --git a/src/components/SliderWrap/SliderWrap.scss b/src/components/SliderWrap/SliderWrap.scss
index a9ef97c403..76f9a5b35d 100644
--- a/src/components/SliderWrap/SliderWrap.scss
+++ b/src/components/SliderWrap/SliderWrap.scss
@@ -1,16 +1,16 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-.slider {
- overflow: hidden;
- transition: all 0.5s cubic-bezier(1, 0, 0, 1);
-}
-
-.metrics {
- width: 100%;
- display: inline-block;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.slider {
+ overflow: hidden;
+ transition: all 0.5s cubic-bezier(1, 0, 0, 1);
+}
+
+.metrics {
+ width: 100%;
+ display: inline-block;
+}
diff --git a/src/components/SlowQueriesFilter/SlowQueriesFilter.scss b/src/components/SlowQueriesFilter/SlowQueriesFilter.scss
index 11dd19436a..2ff88ade84 100644
--- a/src/components/SlowQueriesFilter/SlowQueriesFilter.scss
+++ b/src/components/SlowQueriesFilter/SlowQueriesFilter.scss
@@ -1,109 +1,109 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.wrap {
- display: inline-block;
-}
-
-.entry {
- height: 30px;
- padding: 8px;
-
- svg {
- fill: #66637A;
- }
-
- &:hover svg {
- fill: white;
- }
-}
-
-.entry.active {
- background: $blue;
- border-radius: 5px;
-
- svg {
- fill: white;
- }
-}
-
-.active .title, .active .body {
- background: $blue;
-}
-
-.title {
- background: #797691;
- padding: 8px;
- border-radius: 5px 5px 0 0;
-
- svg {
- fill: white;
- }
-}
-
-.entry, .title {
- @include DosisFont;
- position: relative;
- bottom: -4px;
- font-size: 14px;
- color: #ffffff;
- cursor: pointer;
-
- svg {
- vertical-align: top;
- margin-right: 6px;
- }
-
- span {
- display: inline-block;
- vertical-align: top;
- height: 14px;
- line-height: 14px;
- }
-}
-
-.body {
- position: absolute;
- top: 30px;
- right: 0;
- border-radius: 5px 0 5px 5px;
- background: #797691;
- width: 470px;
- font-size: 14px;
-}
-
-.row {
- padding: 8px 15px;
-
- > * {
- margin-right: 10px;
-
- &:nth-last-child(1) {
- margin-right: 0;
- }
- }
-
- input {
- @include MonospaceFont;
- height: 30px;
- width: 140px;
- background: #343445;
- border: none;
- outline: none;
- border-radius: 5px;
- vertical-align: top;
- padding: 0 8px;
- color: white;
- font-size: 14px;
- }
-}
-
-.active .row input {
- background: #0E69A1;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.wrap {
+ display: inline-block;
+}
+
+.entry {
+ height: 30px;
+ padding: 8px;
+
+ svg {
+ fill: #66637A;
+ }
+
+ &:hover svg {
+ fill: white;
+ }
+}
+
+.entry.active {
+ background: $blue;
+ border-radius: 5px;
+
+ svg {
+ fill: white;
+ }
+}
+
+.active .title, .active .body {
+ background: $blue;
+}
+
+.title {
+ background: #797691;
+ padding: 8px;
+ border-radius: 5px 5px 0 0;
+
+ svg {
+ fill: white;
+ }
+}
+
+.entry, .title {
+ @include DosisFont;
+ position: relative;
+ bottom: -4px;
+ font-size: 14px;
+ color: #ffffff;
+ cursor: pointer;
+
+ svg {
+ vertical-align: top;
+ margin-right: 6px;
+ }
+
+ span {
+ display: inline-block;
+ vertical-align: top;
+ height: 14px;
+ line-height: 14px;
+ }
+}
+
+.body {
+ position: absolute;
+ top: 30px;
+ right: 0;
+ border-radius: 5px 0 5px 5px;
+ background: #797691;
+ width: 470px;
+ font-size: 14px;
+}
+
+.row {
+ padding: 8px 15px;
+
+ > * {
+ margin-right: 10px;
+
+ &:nth-last-child(1) {
+ margin-right: 0;
+ }
+ }
+
+ input {
+ @include MonospaceFont;
+ height: 30px;
+ width: 140px;
+ background: #343445;
+ border: none;
+ outline: none;
+ border-radius: 5px;
+ vertical-align: top;
+ padding: 0 8px;
+ color: white;
+ font-size: 14px;
+ }
+}
+
+.active .row input {
+ background: #0E69A1;
+}
diff --git a/src/components/StatusIndicator/StatusIndicator.scss b/src/components/StatusIndicator/StatusIndicator.scss
index 0a19b982da..a45605f171 100644
--- a/src/components/StatusIndicator/StatusIndicator.scss
+++ b/src/components/StatusIndicator/StatusIndicator.scss
@@ -1,49 +1,49 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.status {
- @include DosisFont;
- display: inline-block;
- font-size: 14px;
- letter-spacing: 0.1em;
- text-transform: uppercase;
-
- &:before {
- content: '';
- display: inline-block;
- width: 11px;
- height: 11px;
- border-radius: 100%;
- margin-right: 8px;
- }
-}
-
-.blue {
- color: $blue;
-
- &:before {
- background: $blue;
- }
-}
-
-.red {
- color: $red;
-
- &:before {
- background: $red;
- }
-}
-
-.green {
- color: $green;
-
- &:before {
- background: $green;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.status {
+ @include DosisFont;
+ display: inline-block;
+ font-size: 14px;
+ letter-spacing: 0.1em;
+ text-transform: uppercase;
+
+ &:before {
+ content: '';
+ display: inline-block;
+ width: 11px;
+ height: 11px;
+ border-radius: 100%;
+ margin-right: 8px;
+ }
+}
+
+.blue {
+ color: $blue;
+
+ &:before {
+ background: $blue;
+ }
+}
+
+.red {
+ color: $red;
+
+ &:before {
+ background: $red;
+ }
+}
+
+.green {
+ color: $green;
+
+ &:before {
+ background: $green;
+ }
+}
diff --git a/src/components/StringEditor/StringEditor.scss b/src/components/StringEditor/StringEditor.scss
index 680f0ab6f8..c7e947a0ef 100644
--- a/src/components/StringEditor/StringEditor.scss
+++ b/src/components/StringEditor/StringEditor.scss
@@ -1,45 +1,45 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.editor {
- position: absolute;
- top: 0;
- left: 0;
- box-shadow: 0 1px 4px rgba(0,0,0,0.4);
-
- input {
- @include MonospaceFont;
- width: 100%;
- height: 30px;
- border: none;
- outline: none;
- padding: 0 4px;
- font-size: 12px;
- }
-
- &.readonly {
- box-shadow: 0px 0px 2px 1px rgb(0 0 0 / 20%);
- }
-
- input:disabled {
- background-color: #f2f2f2;
- color: #666;
- }
-
- textarea {
- @include MonospaceFont;
- width: 200px;
- height: 93px;
- font-size: 12px;
- padding: 4px;
- resize: none;
- border: none;
- outline: none;
- }
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.editor {
+ position: absolute;
+ top: 0;
+ left: 0;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.4);
+
+ input {
+ @include MonospaceFont;
+ width: 100%;
+ height: 30px;
+ border: none;
+ outline: none;
+ padding: 0 4px;
+ font-size: 12px;
+ }
+
+ &.readonly {
+ box-shadow: 0px 0px 2px 1px rgb(0 0 0 / 20%);
+ }
+
+ input:disabled {
+ background-color: #f2f2f2;
+ color: #666;
+ }
+
+ textarea {
+ @include MonospaceFont;
+ width: 200px;
+ height: 93px;
+ font-size: 12px;
+ padding: 4px;
+ resize: none;
+ border: none;
+ outline: none;
+ }
}
\ No newline at end of file
diff --git a/src/components/SuggestionsList/SuggestionsList.scss b/src/components/SuggestionsList/SuggestionsList.scss
index b0662a7f3f..5e332e2902 100644
--- a/src/components/SuggestionsList/SuggestionsList.scss
+++ b/src/components/SuggestionsList/SuggestionsList.scss
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.suggestions {
- border: 1px solid $mainTextColor;
- border-top-width: 0;
- list-style: none;
- max-height: 143px;
- overflow-y: auto;
- -moz-box-shadow: 0px 0px 0px #666, 0px 4px 8px #666;
- -webkit-box-shadow: 0px 0px 0px #666, 0px 4px 8px #666;
- box-shadow:0px 0px 0px #666, 0px 4px 8px #666;
-}
-
-.suggestions li {
- background: white;
- padding-left: 10px;
- font-family:"Open Sans", sans-serif;
-}
-
-.active,
-.suggestions li:hover {
- color: #0e69a1;
- cursor: pointer;
- font-weight: 500;
- background: rgba(255, 255, 255, 0.1) !important;
-}
-
-.suggestions li:not(:last-of-type) {
- border-bottom: 1px solid #999;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.suggestions {
+ border: 1px solid $mainTextColor;
+ border-top-width: 0;
+ list-style: none;
+ max-height: 143px;
+ overflow-y: auto;
+ -moz-box-shadow: 0px 0px 0px #666, 0px 4px 8px #666;
+ -webkit-box-shadow: 0px 0px 0px #666, 0px 4px 8px #666;
+ box-shadow:0px 0px 0px #666, 0px 4px 8px #666;
+}
+
+.suggestions li {
+ background: white;
+ padding-left: 10px;
+ font-family:"Open Sans", sans-serif;
+}
+
+.active,
+.suggestions li:hover {
+ color: #0e69a1;
+ cursor: pointer;
+ font-weight: 500;
+ background: rgba(255, 255, 255, 0.1) !important;
+}
+
+.suggestions li:not(:last-of-type) {
+ border-bottom: 1px solid #999;
}
\ No newline at end of file
diff --git a/src/components/Table/Table.scss b/src/components/Table/Table.scss
index 9b67b7a142..97571c220f 100644
--- a/src/components/Table/Table.scss
+++ b/src/components/Table/Table.scss
@@ -1,51 +1,51 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.header {
- display: inline-block;
- color: white;
- font-size: 14px;
- line-height: 30px;
- padding: 0 16px;
- background: #66637A;
- height: 30px;
-}
-
-
-//common table styles that can be imported
-
-.table {
- background: #fdfafb;
- width: 100%;
- text-align: left;
-}
-
-.head {
- color: white;
- font-size: 14px;
- line-height: 30px;
- padding: 0 16px;
- background: #66637A;
- height: 30px;
-}
-
-.tr {
- background: #fdfafb;
- border-bottom: 1px solid $borderGrey;
-
- &:nth-child(2n) {
- background: #f4f5f7;
- }
-}
-
-.td {
- line-height: 30px;
- padding: 10px 16px;
- max-width: 0;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.header {
+ display: inline-block;
+ color: white;
+ font-size: 14px;
+ line-height: 30px;
+ padding: 0 16px;
+ background: #66637A;
+ height: 30px;
+}
+
+
+//common table styles that can be imported
+
+.table {
+ background: #fdfafb;
+ width: 100%;
+ text-align: left;
+}
+
+.head {
+ color: white;
+ font-size: 14px;
+ line-height: 30px;
+ padding: 0 16px;
+ background: #66637A;
+ height: 30px;
+}
+
+.tr {
+ background: #fdfafb;
+ border-bottom: 1px solid $borderGrey;
+
+ &:nth-child(2n) {
+ background: #f4f5f7;
+ }
+}
+
+.td {
+ line-height: 30px;
+ padding: 10px 16px;
+ max-width: 0;
+}
diff --git a/src/components/TextInput/TextInput.example.scss b/src/components/TextInput/TextInput.example.scss
index 75f84832a6..cb17e8c49b 100644
--- a/src/components/TextInput/TextInput.example.scss
+++ b/src/components/TextInput/TextInput.example.scss
@@ -1,16 +1,16 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-//example of how to fix height alignment of placeholder text
-.textarea_wrap textarea:not(.monospace) {
- @include placeholder {
- line-height: 200px;
- top: 0%;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+//example of how to fix height alignment of placeholder text
+.textarea_wrap textarea:not(.monospace) {
+ @include placeholder {
+ line-height: 200px;
+ top: 0%;
+ }
+}
diff --git a/src/components/TextInput/TextInput.scss b/src/components/TextInput/TextInput.scss
index 1b05ca6025..f2410faa6b 100644
--- a/src/components/TextInput/TextInput.scss
+++ b/src/components/TextInput/TextInput.scss
@@ -1,43 +1,43 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.text_input {
- @include NotoSansFont;
- border: 0;
- outline: 0;
- background: $inputBackgroundColor;
- font-size: 16px;
- width: 100%;
- padding: 6px;
- vertical-align: top;
- resize: vertical;
-
- &:focus {
- @include placeholder {
- opacity: 0;
- }
- }
-}
-
-input.monospace, textarea.monospace {
- @include MonospaceFont;
-}
-
-input.text_input {
- text-align: center;
-}
-
-textarea.text_input:not(.monospace) {
- @include placeholder {
- text-align: center;
- position: relative;
- top: 50%;
- line-height: 9px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.text_input {
+ @include NotoSansFont;
+ border: 0;
+ outline: 0;
+ background: $inputBackgroundColor;
+ font-size: 16px;
+ width: 100%;
+ padding: 6px;
+ vertical-align: top;
+ resize: vertical;
+
+ &:focus {
+ @include placeholder {
+ opacity: 0;
+ }
+ }
+}
+
+input.monospace, textarea.monospace {
+ @include MonospaceFont;
+}
+
+input.text_input {
+ text-align: center;
+}
+
+textarea.text_input:not(.monospace) {
+ @include placeholder {
+ text-align: center;
+ position: relative;
+ top: 50%;
+ line-height: 9px;
+ }
+}
diff --git a/src/components/Toggle/Toggle.scss b/src/components/Toggle/Toggle.scss
index 43d70ce911..7f27c09112 100644
--- a/src/components/Toggle/Toggle.scss
+++ b/src/components/Toggle/Toggle.scss
@@ -1,105 +1,105 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.toggle {
- display: inline-block;
- height: 30px;
- line-height: 30px;
-}
-
-.label {
- @include DosisFont;
- font-size: 13px;
- color: #babac4;
- transition: color 0.15s ease-out;
- cursor: pointer;
- padding: 8px;
-
- &:last-of-type {
- color: #555473;
- }
-}
-
-.switch {
- display: inline-block;
- position: relative;
- width: 40px;
- height: 18px;
- border-radius: 8px;
- background: #159cee;
- vertical-align: top;
- margin: 6px 8px 0 8px;
- cursor: pointer;
-
- &:after {
- content: '';
- position: absolute;
- width: 24px;
- height: 24px;
- border-radius: 12px;
- background: #fdfafb;
- top: 9px;
- left: 31px;
- margin-left: -12px;
- margin-top: -12px;
- box-shadow: 0 0 2px rgba(0,0,0,0.4);
- transition: left 0.15s ease-out;
- }
-}
-
-.colored {
- background: linear-gradient(90deg, rgb(0, 219, 124), rgb(0, 219, 124) 50%, rgb(255, 57, 94) 50%, rgb(255, 57, 94));
- background-size: 200%;
- background-position: 0;
- transition: background-position 0.15s ease-out;
-}
-
-.switchNoMargin {
- margin: 0;
-}
-
-.left {
- .label {
- &:first-of-type {
- color: #555473;
- }
-
- &:last-of-type {
- color: #babac4;
- }
- }
-
- .colored {
- background-position: 100%;
- }
-
- .switch:after {
- left: 9px;
- }
-}
-
-.darkBg {
- .label {
- &:first-of-type {
- color: #babac4;
- }
- &:last-of-type {
- color: #ffffff;
- }
- }
-
- &.left .label {
- &:first-of-type {
- color: #ffffff;
- }
- &:last-of-type {
- color: #babac4;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.toggle {
+ display: inline-block;
+ height: 30px;
+ line-height: 30px;
+}
+
+.label {
+ @include DosisFont;
+ font-size: 13px;
+ color: #babac4;
+ transition: color 0.15s ease-out;
+ cursor: pointer;
+ padding: 8px;
+
+ &:last-of-type {
+ color: #555473;
+ }
+}
+
+.switch {
+ display: inline-block;
+ position: relative;
+ width: 40px;
+ height: 18px;
+ border-radius: 8px;
+ background: #159cee;
+ vertical-align: top;
+ margin: 6px 8px 0 8px;
+ cursor: pointer;
+
+ &:after {
+ content: '';
+ position: absolute;
+ width: 24px;
+ height: 24px;
+ border-radius: 12px;
+ background: #fdfafb;
+ top: 9px;
+ left: 31px;
+ margin-left: -12px;
+ margin-top: -12px;
+ box-shadow: 0 0 2px rgba(0,0,0,0.4);
+ transition: left 0.15s ease-out;
+ }
+}
+
+.colored {
+ background: linear-gradient(90deg, rgb(0, 219, 124), rgb(0, 219, 124) 50%, rgb(255, 57, 94) 50%, rgb(255, 57, 94));
+ background-size: 200%;
+ background-position: 0;
+ transition: background-position 0.15s ease-out;
+}
+
+.switchNoMargin {
+ margin: 0;
+}
+
+.left {
+ .label {
+ &:first-of-type {
+ color: #555473;
+ }
+
+ &:last-of-type {
+ color: #babac4;
+ }
+ }
+
+ .colored {
+ background-position: 100%;
+ }
+
+ .switch:after {
+ left: 9px;
+ }
+}
+
+.darkBg {
+ .label {
+ &:first-of-type {
+ color: #babac4;
+ }
+ &:last-of-type {
+ color: #ffffff;
+ }
+ }
+
+ &.left .label {
+ &:first-of-type {
+ color: #ffffff;
+ }
+ &:last-of-type {
+ color: #babac4;
+ }
+ }
+}
diff --git a/src/components/Toolbar/Toolbar.react.js b/src/components/Toolbar/Toolbar.react.js
index e5e6642534..51e67b4753 100644
--- a/src/components/Toolbar/Toolbar.react.js
+++ b/src/components/Toolbar/Toolbar.react.js
@@ -125,6 +125,7 @@ const Stats = ({ data, classwiseCloudFunctions, className, appId, appName }) =>
const Toolbar = props => {
const action = useNavigationType();
const navigate = useNavigate();
+
let backButton;
if (props.relation || (props.filters && props.filters.size && action !== NavigationType.Pop)) {
backButton = (
@@ -146,13 +147,25 @@ const Toolbar = props => {
{props?.selectedData?.length ? (
-
+
+
+ {props?.selectedData?.length > 1 && (
+
+
+ {props.isChartPanelVisible ? 'Hide Chart' : 'Show Chart'}
+
+ )}
+
) : null}
{props.children}
{props.classwiseCloudFunctions &&
diff --git a/src/components/Toolbar/Toolbar.scss b/src/components/Toolbar/Toolbar.scss
index 88f7261171..883876e445 100644
--- a/src/components/Toolbar/Toolbar.scss
+++ b/src/components/Toolbar/Toolbar.scss
@@ -87,16 +87,22 @@ body:global(.expanded) {
}
.stats {
- position: absolute;
- right: 20px;
- bottom: 10px;
background: $blue;
- border-radius: 3px;
- padding: 2px 6px;
+ border-radius: 6px;
+ padding: 8px 12px;
font-size: 14px;
+ font-weight: 500;
color: white;
- box-shadow: none;
+ box-shadow: 0 2px 8px rgba(22, 156, 238, 0.3);
border: none;
+ transition: all 0.3s ease;
+ z-index: 5;
+
+ &:hover {
+ background: #1976d2;
+ transform: translateY(-1px);
+ box-shadow: 0 4px 12px rgba(22, 156, 238, 0.4);
+ }
}
.stats_popover_container {
@@ -153,3 +159,105 @@ body:global(.expanded) {
}
}
}
+
+.dataControls {
+ position: absolute;
+ right: 20px;
+ bottom: 10px; // Moved to the same line as stats
+ display: flex;
+ align-items: center;
+ gap: 16px;
+ z-index: 10;
+}
+
+.chartButton {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ padding: 8px 16px;
+ background: linear-gradient(135deg, #169cee, #1976d2);
+ border: none;
+ border-radius: 6px;
+ color: white;
+ font-size: 13px;
+ font-weight: 500;
+ cursor: pointer;
+ transition: all 0.3s ease;
+ box-shadow: 0 2px 8px rgba(22, 156, 238, 0.3);
+
+ &:hover {
+ background: linear-gradient(135deg, #1976d2, #1565c0);
+ transform: translateY(-1px);
+ box-shadow: 0 4px 12px rgba(22, 156, 238, 0.4);
+ }
+
+ &:active {
+ transform: translateY(0);
+ box-shadow: 0 2px 6px rgba(22, 156, 238, 0.3);
+ }
+
+ svg {
+ flex-shrink: 0;
+ filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
+ }
+}
+
+// Responsiveness for chart button
+@media (max-width: 968px) {
+ .stats {
+ right: 120px; // Smaller distance on medium screens
+ }
+}
+
+@media (max-width: 768px) {
+ .dataControls {
+ right: 15px;
+ bottom: 10px;
+ gap: 12px;
+ }
+
+ .chartButton {
+ padding: 6px 12px;
+ font-size: 12px;
+ gap: 6px;
+
+ svg {
+ width: 14px;
+ height: 14px;
+ }
+ }
+
+ .stats {
+ right: 110px; // Adjusted for smaller screens
+ bottom: 10px;
+ padding: 6px 10px;
+ font-size: 13px;
+ }
+}
+
+@media (max-width: 480px) {
+ .dataControls {
+ right: 10px;
+ bottom: 10px;
+ flex-direction: row;
+ gap: 8px;
+ align-items: center;
+ }
+
+ .chartButton {
+ padding: 5px 8px;
+ font-size: 11px;
+
+ // On very small screens, show only the icon
+ span {
+ display: none;
+ }
+ }
+
+ .stats {
+ right: 80px; // Position adjusted for mobile
+ bottom: 10px;
+ font-size: 12px;
+ padding: 5px 8px;
+ }
+}
diff --git a/src/components/Tooltip/Tooltip.scss b/src/components/Tooltip/Tooltip.scss
index 8aa3b470b6..6020b85412 100644
--- a/src/components/Tooltip/Tooltip.scss
+++ b/src/components/Tooltip/Tooltip.scss
@@ -1,53 +1,53 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$calloutSize: 10px;
-
-.tooltipWrap {
- display: inline-block;
- position: relative;
-
- .tooltip {
- display: none;
- width: 300px;
- line-height: 16px;
- background-color: $white;
- border: 1px solid $mainTextColor;
- border-radius: 5px;
- // TODO we don't want to use z-index. But this makes everything easier
- // since we can do everything in CSS. We need to revisit this in the future
- z-index: 100;
- }
-
- &:hover {
- .tooltip {
- position: absolute;
- display: inline;
- bottom: $calloutSize * 2 + 10px;
- left: 0px;
-
- // Faking arrow with border by making 2 arrows.
- .callout1 {
- @include arrow('down', ($calloutSize + 1) * 2, $calloutSize + 1, $mainTextColor);
- position: absolute;
- left: 20px;
- }
-
- .callout2 {
- @include arrow('down', $calloutSize * 2, $calloutSize, $white);
- position: absolute;
- left: 20px;
- }
- }
- }
-}
-
-.tooltipContent {
- padding: 15px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$calloutSize: 10px;
+
+.tooltipWrap {
+ display: inline-block;
+ position: relative;
+
+ .tooltip {
+ display: none;
+ width: 300px;
+ line-height: 16px;
+ background-color: $white;
+ border: 1px solid $mainTextColor;
+ border-radius: 5px;
+ // TODO we don't want to use z-index. But this makes everything easier
+ // since we can do everything in CSS. We need to revisit this in the future
+ z-index: 100;
+ }
+
+ &:hover {
+ .tooltip {
+ position: absolute;
+ display: inline;
+ bottom: $calloutSize * 2 + 10px;
+ left: 0px;
+
+ // Faking arrow with border by making 2 arrows.
+ .callout1 {
+ @include arrow('down', ($calloutSize + 1) * 2, $calloutSize + 1, $mainTextColor);
+ position: absolute;
+ left: 20px;
+ }
+
+ .callout2 {
+ @include arrow('down', $calloutSize * 2, $calloutSize, $white);
+ position: absolute;
+ left: 20px;
+ }
+ }
+ }
+}
+
+.tooltipContent {
+ padding: 15px;
+}
diff --git a/src/dashboard/Account/AccountOverview.react.js b/src/dashboard/Account/AccountOverview.react.js
index 6cc68b9851..d4dcd971b9 100644
--- a/src/dashboard/Account/AccountOverview.react.js
+++ b/src/dashboard/Account/AccountOverview.react.js
@@ -439,10 +439,10 @@ export default class AccountOverview extends React.Component {
}
onSubmit={() => {
const promiseList = [];
- /* eslint-disable */
- if (changes.cc !== undefined) {
- //TODO change credit card number
- }
+ /* eslint-disable */
+ if (changes.cc !== undefined) {
+ //TODO change credit card number
+ }
/* eslint-enable */
return Promise.all(promiseList);
}}
diff --git a/src/dashboard/Analytics/Explorer/Explorer.scss b/src/dashboard/Analytics/Explorer/Explorer.scss
index b0998b4c27..11414b1a4a 100644
--- a/src/dashboard/Analytics/Explorer/Explorer.scss
+++ b/src/dashboard/Analytics/Explorer/Explorer.scss
@@ -1,76 +1,76 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.content {
- padding: 96px 0px 0px 0px;
- min-height: 100vh;
- position: relative;
-}
-
-.header, .footer {
- position: absolute;
- left: 0px;
- right: 0px;
- min-height: 50px;
- background-color: $pushDetailsHeaderBackground;
-}
-
-.header {
- top: 96px;
- border-bottom: 1px solid $translucentGrey;
-}
-
-.display {
- position: absolute;
- overflow: auto;
- left: 0px;
- right: 0px;
- top: 146px;
- bottom: 50px;
-}
-
-.table {
- width: 100%;
-
- .td {
- @include ellipsis;
- }
-}
-
-.toolbarAction {
- @include buttonReset($padding: 0 20px);
- color: white;
-
- > *:not(svg) {
- margin: 5px;
- }
-}
-
-.activeQueryWrap {
- display: inline-block;
- padding: 10px 15px;
- border-right: 1px solid $translucentGrey;
- height: 50px;
-}
-
-.menuButtonWrap {
- display: inline-block;
- padding: 10px 15px;
-}
-
-.footer {
- padding: 10px;
- bottom: 0px;
- border-top: 1px solid $translucentGrey;
-}
-
-.right {
- position: absolute;
- right: 10px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.content {
+ padding: 96px 0px 0px 0px;
+ min-height: 100vh;
+ position: relative;
+}
+
+.header, .footer {
+ position: absolute;
+ left: 0px;
+ right: 0px;
+ min-height: 50px;
+ background-color: $pushDetailsHeaderBackground;
+}
+
+.header {
+ top: 96px;
+ border-bottom: 1px solid $translucentGrey;
+}
+
+.display {
+ position: absolute;
+ overflow: auto;
+ left: 0px;
+ right: 0px;
+ top: 146px;
+ bottom: 50px;
+}
+
+.table {
+ width: 100%;
+
+ .td {
+ @include ellipsis;
+ }
+}
+
+.toolbarAction {
+ @include buttonReset($padding: 0 20px);
+ color: white;
+
+ > *:not(svg) {
+ margin: 5px;
+ }
+}
+
+.activeQueryWrap {
+ display: inline-block;
+ padding: 10px 15px;
+ border-right: 1px solid $translucentGrey;
+ height: 50px;
+}
+
+.menuButtonWrap {
+ display: inline-block;
+ padding: 10px 15px;
+}
+
+.footer {
+ padding: 10px;
+ bottom: 0px;
+ border-top: 1px solid $translucentGrey;
+}
+
+.right {
+ position: absolute;
+ right: 10px;
+}
diff --git a/src/dashboard/Analytics/Overview/Overview.scss b/src/dashboard/Analytics/Overview/Overview.scss
index 9319d7dd3b..e23d37ef31 100644
--- a/src/dashboard/Analytics/Overview/Overview.scss
+++ b/src/dashboard/Analytics/Overview/Overview.scss
@@ -1,103 +1,103 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@use 'sass:math';
-@import 'stylesheets/globals.scss';
-
-$overviewBackground: #fbfbfc;
-$containerWidth: 720px;
-$containerPadding: 20px;
-$infoWidth: math.div($containerWidth - 2 * $containerPadding, 4);
-
-.content {
- padding: 96px 0px 48px 0px;
- background: $white;
- min-height: 100vh; //to remove the purple background from bleeding through on tall sizes
-}
-
-h2{
- line-height: 1;
- font-weight: 400;
- letter-spacing: -0.4px;
- padding-top: 8px;
-}
-
-.healthInfoContainer {
- background-color: $overviewBackground;
- position: relative;
- display: table;
- width: 100%;
- padding: 32px;
-
- .healthInfo {
- display: table-cell;
- text-align: center;
- }
-}
-
-.overviewRow {
- position: relative;
-}
-
-.overviewHeader {
- position: relative;
- padding: 0px 20px;
- margin: 48px 0px 16px 0px;
- min-height: 20px;
- text-align: center;
-}
-
-.infoContainer {
- background-color: $overviewBackground;
- min-width: $containerWidth;
- display: table;
- margin: auto;
- border-radius: 4px;
- .activityInfo, .billingInfo {
- display: table-cell;
- width: $infoWidth;
- position: relative;
- font-size: 13px;
- line-height: 16px;
- }
-
- .activityInfo {
- text-align: left;
- }
-
- .billingInfo {
- text-align: center;
- }
-
- .infoNumber {
- font-size: 22px;
- line-height: 1;
- letter-spacing: -0.2px;
- @include DosisFont;
- }
-
- .infoLabel{
- font-size: 13px;
- line-height: 16px;
- letter-spacing: -0.1px;
- font-weight: 400;
- }
-}
-
-.upArrow {
- @include arrow('up', 12px, 9px, #00db7c);
-}
-
-.downArrow {
- @include arrow('down', 12px, 9px, #ff395e);
-}
-
-.upArrow, .downArrow {
- position: absolute;
- top: 6px;
- left: 80px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@use 'sass:math';
+@import 'stylesheets/globals.scss';
+
+$overviewBackground: #fbfbfc;
+$containerWidth: 720px;
+$containerPadding: 20px;
+$infoWidth: math.div($containerWidth - 2 * $containerPadding, 4);
+
+.content {
+ padding: 96px 0px 48px 0px;
+ background: $white;
+ min-height: 100vh; //to remove the purple background from bleeding through on tall sizes
+}
+
+h2{
+ line-height: 1;
+ font-weight: 400;
+ letter-spacing: -0.4px;
+ padding-top: 8px;
+}
+
+.healthInfoContainer {
+ background-color: $overviewBackground;
+ position: relative;
+ display: table;
+ width: 100%;
+ padding: 32px;
+
+ .healthInfo {
+ display: table-cell;
+ text-align: center;
+ }
+}
+
+.overviewRow {
+ position: relative;
+}
+
+.overviewHeader {
+ position: relative;
+ padding: 0px 20px;
+ margin: 48px 0px 16px 0px;
+ min-height: 20px;
+ text-align: center;
+}
+
+.infoContainer {
+ background-color: $overviewBackground;
+ min-width: $containerWidth;
+ display: table;
+ margin: auto;
+ border-radius: 4px;
+ .activityInfo, .billingInfo {
+ display: table-cell;
+ width: $infoWidth;
+ position: relative;
+ font-size: 13px;
+ line-height: 16px;
+ }
+
+ .activityInfo {
+ text-align: left;
+ }
+
+ .billingInfo {
+ text-align: center;
+ }
+
+ .infoNumber {
+ font-size: 22px;
+ line-height: 1;
+ letter-spacing: -0.2px;
+ @include DosisFont;
+ }
+
+ .infoLabel{
+ font-size: 13px;
+ line-height: 16px;
+ letter-spacing: -0.1px;
+ font-weight: 400;
+ }
+}
+
+.upArrow {
+ @include arrow('up', 12px, 9px, #00db7c);
+}
+
+.downArrow {
+ @include arrow('down', 12px, 9px, #ff395e);
+}
+
+.upArrow, .downArrow {
+ position: absolute;
+ top: 6px;
+ left: 80px;
+}
diff --git a/src/dashboard/Analytics/Performance/Performance.scss b/src/dashboard/Analytics/Performance/Performance.scss
index 21d7253992..53533c3135 100644
--- a/src/dashboard/Analytics/Performance/Performance.scss
+++ b/src/dashboard/Analytics/Performance/Performance.scss
@@ -1,54 +1,54 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.content {
- padding: 96px 0px 0px 0px;
- min-height: 100vh;
- position: relative;
-}
-
-.header, .footer {
- position: absolute;
- left: 0px;
- right: 0px;
- min-height: 50px;
- background-color: $pushDetailsHeaderBackground;
-}
-
-.header {
- top: 96px;
- border-bottom: 1px solid $translucentGrey;
-}
-
-.activeQueryWrap {
- display: inline-block;
- border-right: 1px solid $translucentGrey;
- padding: 10px 15px;
- height: 50px;
-}
-
-.display {
- position: absolute;
- overflow: auto;
- left: 0px;
- right: 0px;
- top: 146px;
- bottom: 50px;
-}
-
-.footer {
- padding: 10px;
- bottom: 0px;
- border-top: 1px solid $translucentGrey;
-}
-
-.right {
- position: absolute;
- right: 10px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.content {
+ padding: 96px 0px 0px 0px;
+ min-height: 100vh;
+ position: relative;
+}
+
+.header, .footer {
+ position: absolute;
+ left: 0px;
+ right: 0px;
+ min-height: 50px;
+ background-color: $pushDetailsHeaderBackground;
+}
+
+.header {
+ top: 96px;
+ border-bottom: 1px solid $translucentGrey;
+}
+
+.activeQueryWrap {
+ display: inline-block;
+ border-right: 1px solid $translucentGrey;
+ padding: 10px 15px;
+ height: 50px;
+}
+
+.display {
+ position: absolute;
+ overflow: auto;
+ left: 0px;
+ right: 0px;
+ top: 146px;
+ bottom: 50px;
+}
+
+.footer {
+ padding: 10px;
+ bottom: 0px;
+ border-top: 1px solid $translucentGrey;
+}
+
+.right {
+ position: absolute;
+ right: 10px;
+}
diff --git a/src/dashboard/Analytics/Retention/Retention.scss b/src/dashboard/Analytics/Retention/Retention.scss
index 526415fd2e..16b32e6798 100644
--- a/src/dashboard/Analytics/Retention/Retention.scss
+++ b/src/dashboard/Analytics/Retention/Retention.scss
@@ -1,139 +1,139 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$retentionCellHeight: 40px;
-$contentPadding: 10px;
-
-.content {
- padding: (96px + $contentPadding) $contentPadding $contentPadding $contentPadding;
- min-height: 100vh;
- position: relative;
- background: $white;
-}
-
-.average {
- @include DosisFont;
- color: $mainTextColor;
- opacity: 0.5;
- font-size: 14px;
- line-height: 15px;
- &:first-of-type {
- //"average" label
- @include NotoSansFont;
- }
-}
-
-.table {
- width: 100%;
- height: 100%;
- max-width: 1200px;
- td {
- padding: 3px;
- &:last-of-type {
- padding-right: 0px;
- }
- }
-
- .tableHeader {
- padding-top: 15px;
- padding-bottom: 15px;
- font-size: 14px;
- line-height: 15px;
- @include DosisFont;
- &:first-of-type {
- //"Still active after" and "average" labels
- @include NotoSansFont;
- // so "Still active after" hangs over the edge to give better visual spacing
- max-width: 80px;
- white-space: nowrap;
- }
- }
-}
-
-table tr:first-of-type {
- .tableHeader:nth-of-type(3) {
- &:after {
- //"1 day" label
- @include NotoSansFont;
- content: " day";
- }
- }
-}
-
-//funky css hack to give some spacing to the top of the first row because we don't have :first-of-class yet
-.divider + .tableRow {
- td {
- padding-top: 10px;
- &:first-of-type {
- position: relative;
- top: -7.5px;
- }
- }
-}
-
-.YaxisSignedUp {
- font-size: 14px;
- line-height: 15px;
-}
-
-.retentionCell {
- @include DosisFont;
- font-size: 13px;
- font-weight: 600;
- color: white;
- border-radius: 5px;
- text-align: center;
- vertical-align: middle;
- min-width: 75px;
- height: $retentionCellHeight;
- line-height: $retentionCellHeight;
-}
-
-.table td.YaxisLabel {
- padding-right: 12px;
- text-align: right;
- white-space: nowrap;
-}
-
-.YaxisLabelDate {
- margin-top: 3px;
- font-size: 14px;
- line-height: 15px;
-}
-
-.YaxisLabelNumber {
- @include DosisFont;
-}
-
-.YaxisLabelUsers {
- @include DosisFont;
- font-size: 13px;
- line-height: 15px;
- opacity: 0.5;
-}
-
-.divider {
- border-bottom: 1px solid $translucentGrey;
-}
-
-.footer {
- position: absolute;
- left: 0px;
- right: 0px;
- min-height: 50px;
- background-color: $pushDetailsHeaderBackground;
- padding: 10px;
- bottom: 0px;
- border-top: 1px solid $translucentGrey;
-}
-
-.right {
- position: absolute;
- right: 10px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$retentionCellHeight: 40px;
+$contentPadding: 10px;
+
+.content {
+ padding: (96px + $contentPadding) $contentPadding $contentPadding $contentPadding;
+ min-height: 100vh;
+ position: relative;
+ background: $white;
+}
+
+.average {
+ @include DosisFont;
+ color: $mainTextColor;
+ opacity: 0.5;
+ font-size: 14px;
+ line-height: 15px;
+ &:first-of-type {
+ //"average" label
+ @include NotoSansFont;
+ }
+}
+
+.table {
+ width: 100%;
+ height: 100%;
+ max-width: 1200px;
+ td {
+ padding: 3px;
+ &:last-of-type {
+ padding-right: 0px;
+ }
+ }
+
+ .tableHeader {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ font-size: 14px;
+ line-height: 15px;
+ @include DosisFont;
+ &:first-of-type {
+ //"Still active after" and "average" labels
+ @include NotoSansFont;
+ // so "Still active after" hangs over the edge to give better visual spacing
+ max-width: 80px;
+ white-space: nowrap;
+ }
+ }
+}
+
+table tr:first-of-type {
+ .tableHeader:nth-of-type(3) {
+ &:after {
+ //"1 day" label
+ @include NotoSansFont;
+ content: " day";
+ }
+ }
+}
+
+//funky css hack to give some spacing to the top of the first row because we don't have :first-of-class yet
+.divider + .tableRow {
+ td {
+ padding-top: 10px;
+ &:first-of-type {
+ position: relative;
+ top: -7.5px;
+ }
+ }
+}
+
+.YaxisSignedUp {
+ font-size: 14px;
+ line-height: 15px;
+}
+
+.retentionCell {
+ @include DosisFont;
+ font-size: 13px;
+ font-weight: 600;
+ color: white;
+ border-radius: 5px;
+ text-align: center;
+ vertical-align: middle;
+ min-width: 75px;
+ height: $retentionCellHeight;
+ line-height: $retentionCellHeight;
+}
+
+.table td.YaxisLabel {
+ padding-right: 12px;
+ text-align: right;
+ white-space: nowrap;
+}
+
+.YaxisLabelDate {
+ margin-top: 3px;
+ font-size: 14px;
+ line-height: 15px;
+}
+
+.YaxisLabelNumber {
+ @include DosisFont;
+}
+
+.YaxisLabelUsers {
+ @include DosisFont;
+ font-size: 13px;
+ line-height: 15px;
+ opacity: 0.5;
+}
+
+.divider {
+ border-bottom: 1px solid $translucentGrey;
+}
+
+.footer {
+ position: absolute;
+ left: 0px;
+ right: 0px;
+ min-height: 50px;
+ background-color: $pushDetailsHeaderBackground;
+ padding: 10px;
+ bottom: 0px;
+ border-top: 1px solid $translucentGrey;
+}
+
+.right {
+ position: absolute;
+ right: 10px;
+}
diff --git a/src/dashboard/Analytics/SlowQueries/SlowQueries.scss b/src/dashboard/Analytics/SlowQueries/SlowQueries.scss
index a3fa38ca17..6ef385b812 100644
--- a/src/dashboard/Analytics/SlowQueries/SlowQueries.scss
+++ b/src/dashboard/Analytics/SlowQueries/SlowQueries.scss
@@ -1,17 +1,17 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.toolbarAction {
- @include buttonReset($padding: 0px 20px);
- color: white;
-
- > *:not(svg) {
- margin: 5px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.toolbarAction {
+ @include buttonReset($padding: 0px 20px);
+ color: white;
+
+ > *:not(svg) {
+ margin: 5px;
+ }
+}
diff --git a/src/dashboard/Apps/AppsIndex.scss b/src/dashboard/Apps/AppsIndex.scss
index af86385eeb..1e39e37c02 100644
--- a/src/dashboard/Apps/AppsIndex.scss
+++ b/src/dashboard/Apps/AppsIndex.scss
@@ -1,209 +1,209 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.loadingError {
- font-size: 58px;
- color: #ffffff;
-}
-
-.index {
- padding: 38px 30px;
- background: #1e3b4d;
- min-height: 100vh;
-}
-
-.empty {
- position: relative;
- background: #1e3b4d;
- min-height: 100vh;
- text-align: center;
-}
-
-.cloud {
- width: 170px;
- height: 170px;
- border-radius: 100%;
- padding-top: 30px;
- background: #3E5566;
- margin: 0 auto 14px auto;
-}
-
-.alert {
- font-size: 58px;
- color: #ffffff;
- white-space: nowrap;
-}
-
-.cta {
- display: block;
- height: 32px;
- line-height: 32px;
- width: 128px;
- background: #ffffff;
- border-radius: 5px;
- color: $blue;
- font-size: 12px;
- margin: 50px auto 0 auto;
-}
-
-.header {
- position: relative;
- padding-bottom: 10px;
- max-width: 1000px;
- margin: 0 auto;
-}
-
-@media (max-width: 980px) {
- .header {
- margin-left: 26px;
- }
-}
-
-.search {
- @include DosisFont;
- background: transparent;
- border: none;
- color: white;
- outline: none;
- font-size: 14px;
- vertical-align: top;
- margin-left: 10px;
-
- @include placeholder {
- color: #788c97;
- }
-}
-
-.create {
- @include DosisFont;
- position: absolute;
- top: -2px;
- right: 0;
- height: 24px;
- line-height: 24px;
- padding: 0 14px;
- font-size: 14px;
- border-radius: 5px;
- color: white;
- background: $blue;
- &:hover{
- background: white;
- color: $blue;
- }
-}
-
-.apps {
- max-width: 1000px;
- margin: 0 auto;
-
- li {
- display: flex;
- cursor: pointer;
- background: #193040;
- border-radius: 5px;
- margin: 14px 0;
- padding: 0 9px;
- height: 74px;
-
- &:hover{
- background: #172C3B;
- }
- }
-}
-
-.icon {
- display: block;
- float: left;
- width: 56px;
- height: 56px;
- margin-top: 9px;
- margin-right: 15px;
- border-radius: 10px;
- overflow: hidden;
- flex-shrink: 0;
-}
-
-.appname {
- @include DosisFont;
- @include ellipsis();
- width: 100%;
- display: inline-block;
- font-size: 22px;
- color: white;
-}
-
-.details {
- flex: auto;
- overflow: hidden;
- padding: 9px 0;
- color: #788c97;
- font-size: 12px;
-
- > div:first-of-type {
- margin-top: 8px;
-
- &:last-of-type {
- margin-top: 5px;
- }
- }
-}
-
-.ago {
- color: white;
- padding-right: 10px;
-}
-
-.glance {
- flex: 0 0 auto;
- padding: 10px 12px;
- border-left: 1px solid #1e3b4d;
-}
-
-.section {
- font-size: 12px;
- color: #ffffff;
-}
-
-.count {
- float: left;
- margin-right: 12px;
-}
-
-.number {
- @include DosisFont;
- color: white;
- font-size: 18px;
-}
-
-.label {
- color: #788c97;
- font-size: 11px;
-}
-
-.serverVersion {
- @include ellipsis();
-}
-
-.edit {
- @include DosisFont;
- position: absolute;
- top: 7px;
- left: 86px;
- background: #29475D;
- border-radius: 3px;
- height: 17px;
- line-height: 18px;
- color: white;
- font-size: 10px;
- padding: 0 8px;
-
- &:hover {
- background: $blue;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.loadingError {
+ font-size: 58px;
+ color: #ffffff;
+}
+
+.index {
+ padding: 38px 30px;
+ background: #1e3b4d;
+ min-height: 100vh;
+}
+
+.empty {
+ position: relative;
+ background: #1e3b4d;
+ min-height: 100vh;
+ text-align: center;
+}
+
+.cloud {
+ width: 170px;
+ height: 170px;
+ border-radius: 100%;
+ padding-top: 30px;
+ background: #3E5566;
+ margin: 0 auto 14px auto;
+}
+
+.alert {
+ font-size: 58px;
+ color: #ffffff;
+ white-space: nowrap;
+}
+
+.cta {
+ display: block;
+ height: 32px;
+ line-height: 32px;
+ width: 128px;
+ background: #ffffff;
+ border-radius: 5px;
+ color: $blue;
+ font-size: 12px;
+ margin: 50px auto 0 auto;
+}
+
+.header {
+ position: relative;
+ padding-bottom: 10px;
+ max-width: 1000px;
+ margin: 0 auto;
+}
+
+@media (max-width: 980px) {
+ .header {
+ margin-left: 26px;
+ }
+}
+
+.search {
+ @include DosisFont;
+ background: transparent;
+ border: none;
+ color: white;
+ outline: none;
+ font-size: 14px;
+ vertical-align: top;
+ margin-left: 10px;
+
+ @include placeholder {
+ color: #788c97;
+ }
+}
+
+.create {
+ @include DosisFont;
+ position: absolute;
+ top: -2px;
+ right: 0;
+ height: 24px;
+ line-height: 24px;
+ padding: 0 14px;
+ font-size: 14px;
+ border-radius: 5px;
+ color: white;
+ background: $blue;
+ &:hover{
+ background: white;
+ color: $blue;
+ }
+}
+
+.apps {
+ max-width: 1000px;
+ margin: 0 auto;
+
+ li {
+ display: flex;
+ cursor: pointer;
+ background: #193040;
+ border-radius: 5px;
+ margin: 14px 0;
+ padding: 0 9px;
+ height: 74px;
+
+ &:hover{
+ background: #172C3B;
+ }
+ }
+}
+
+.icon {
+ display: block;
+ float: left;
+ width: 56px;
+ height: 56px;
+ margin-top: 9px;
+ margin-right: 15px;
+ border-radius: 10px;
+ overflow: hidden;
+ flex-shrink: 0;
+}
+
+.appname {
+ @include DosisFont;
+ @include ellipsis();
+ width: 100%;
+ display: inline-block;
+ font-size: 22px;
+ color: white;
+}
+
+.details {
+ flex: auto;
+ overflow: hidden;
+ padding: 9px 0;
+ color: #788c97;
+ font-size: 12px;
+
+ > div:first-of-type {
+ margin-top: 8px;
+
+ &:last-of-type {
+ margin-top: 5px;
+ }
+ }
+}
+
+.ago {
+ color: white;
+ padding-right: 10px;
+}
+
+.glance {
+ flex: 0 0 auto;
+ padding: 10px 12px;
+ border-left: 1px solid #1e3b4d;
+}
+
+.section {
+ font-size: 12px;
+ color: #ffffff;
+}
+
+.count {
+ float: left;
+ margin-right: 12px;
+}
+
+.number {
+ @include DosisFont;
+ color: white;
+ font-size: 18px;
+}
+
+.label {
+ color: #788c97;
+ font-size: 11px;
+}
+
+.serverVersion {
+ @include ellipsis();
+}
+
+.edit {
+ @include DosisFont;
+ position: absolute;
+ top: 7px;
+ left: 86px;
+ background: #29475D;
+ border-radius: 3px;
+ height: 17px;
+ line-height: 18px;
+ color: white;
+ font-size: 10px;
+ padding: 0 8px;
+
+ &:hover {
+ background: $blue;
+ }
+}
diff --git a/src/dashboard/Dashboard.scss b/src/dashboard/Dashboard.scss
index c99ad86341..d095db42a3 100644
--- a/src/dashboard/Dashboard.scss
+++ b/src/dashboard/Dashboard.scss
@@ -1,41 +1,41 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.content {
- margin-left: 300px;
- overflow: auto;
- max-height: 100vh;
-}
-
-body:global(.expanded) {
- .content {
- margin-left: $sidebarCollapsedWidth;
- }
-}
-
-.loadingError {
- font-size: 58px;
- color: #ffffff;
-}
-
-.empty {
- position: relative;
- background: #1e3b4d;
- min-height: 100vh;
- text-align: center;
-}
-
-.cloud {
- width: 170px;
- height: 170px;
- border-radius: 100%;
- padding-top: 30px;
- background: #3E5566;
- margin: 0 auto 14px auto;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.content {
+ margin-left: 300px;
+ overflow: auto;
+ max-height: 100vh;
+}
+
+body:global(.expanded) {
+ .content {
+ margin-left: $sidebarCollapsedWidth;
+ }
+}
+
+.loadingError {
+ font-size: 58px;
+ color: #ffffff;
+}
+
+.empty {
+ position: relative;
+ background: #1e3b4d;
+ min-height: 100vh;
+ text-align: center;
+}
+
+.cloud {
+ width: 170px;
+ height: 170px;
+ border-radius: 100%;
+ padding-top: 30px;
+ background: #3E5566;
+ margin: 0 auto 14px auto;
}
\ No newline at end of file
diff --git a/src/dashboard/Data/ApiConsole/ApiConsole.scss b/src/dashboard/Data/ApiConsole/ApiConsole.scss
index ebfdd90457..acd1922737 100644
--- a/src/dashboard/Data/ApiConsole/ApiConsole.scss
+++ b/src/dashboard/Data/ApiConsole/ApiConsole.scss
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.curl {
- @include MonospaceFont;
- white-space: pre;
- font-size: 12px;
- padding: 20px;
- line-height: 18px;
-}
-
-.footer {
- border-top: 1px solid #e3e3ea;
- padding: 10px 0;
- text-align: center;
-}
-
-.content {
- position: relative;
- height: calc(100vh - 96px);
- margin-top: 96px;
- overflow: hidden;
-}
-
-.empty {
- position: absolute;
- top: 96px;
- left: 0;
- right: 0;
- bottom: 0;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.curl {
+ @include MonospaceFont;
+ white-space: pre;
+ font-size: 12px;
+ padding: 20px;
+ line-height: 18px;
+}
+
+.footer {
+ border-top: 1px solid #e3e3ea;
+ padding: 10px 0;
+ text-align: center;
+}
+
+.content {
+ position: relative;
+ height: calc(100vh - 96px);
+ margin-top: 96px;
+ overflow: hidden;
+}
+
+.empty {
+ position: absolute;
+ top: 96px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
diff --git a/src/dashboard/Data/Browser/Browser.scss b/src/dashboard/Data/Browser/Browser.scss
index 705580ce9d..b6b6edb594 100644
--- a/src/dashboard/Data/Browser/Browser.scss
+++ b/src/dashboard/Data/Browser/Browser.scss
@@ -1,277 +1,277 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.browser {
- position: fixed;
- top: 96px;
- left: 300px;
- right: 0;
- bottom: 36px;
- overflow: auto;
-}
-
-body:global(.expanded) {
- .browser {
- left: $sidebarCollapsedWidth;
- }
-}
-
-.empty {
- position: fixed;
- left: 300px;
- top: 0;
- bottom: 0;
- right: 0;
-}
-
-.toolbarSeparator {
- display: inline-block;
- height: 18px;
- width: 1px;
- background: #66637A;
- vertical-align: bottom;
- margin: 0 4px;
-}
-
-.toolbarButton {
- @include NotoSansFont;
- display: inline-block;
- font-size: 14px;
- color: #ffffff;
- cursor: pointer;
- height: 14px;
- padding: 0 12px;
-
- svg {
- vertical-align: middle;
- margin-right: 4px;
- fill: #66637A;
- }
-
- &:hover {
- svg {
- fill: white;
- }
- }
-
- span {
- vertical-align: middle;
- height: 14px;
- line-height: 14px;
- }
-}
-
-.toolbarButtonDisabled {
- cursor: not-allowed;
- color: #66637A;
-
- &:hover svg {
- fill: #66637A;
- }
-}
-
-.table {
- position: absolute;
- top: 30px;
- bottom: 0;
- left: 0;
- width: 100%;
-}
-
-.table .empty {
- top: 126px;
-}
-
-.tableRow {
- @include MonospaceFont;
- font-size: 12px;
- white-space: nowrap;
- height: 30px;
- border-bottom: 1px solid #e3e3ea;
-
- &:nth-child(odd) {
- background: #F4F5F7;
- }
-}
-
-.checkCell {
- display: inline-block;
- width: 30px;
- height: 30px;
- line-height: 31px;
- vertical-align: top;
- border-right: 1px solid #e3e3ea;
- text-align: center;
-}
-
-.addRow {
- height: 30px;
- padding: 8px;
-
- a {
- cursor: pointer;
- display: inline-block;
- }
-
- svg {
- fill: $blue;
-
- &:hover {
- fill: $darkBlue;
- }
- }
-}
-
-.addColumnToggleWrapper {
- >:nth-child(2) {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 50%;
- background: #f6fafb;
- }
-}
-
-.notificationMessage, .notificationError {
- @include animation('fade-in 0.2s ease-out');
- position: absolute;
- bottom: 20px;
- right: 20px;
- opacity: 1;
- background: white;
- padding: 10px;
- font-size: 14px;
- border-radius: 5px;
- width: 260px;
-}
-
-.notificationError {
- border: 2px solid $red;
- color: $red;
-}
-
-.notificationMessage {
- border: 2px solid $blue;
- color: $blue;
-}
-
-.notificationHide {
- @include animation('fade-out 0.2s ease-out');
-}
-
-@include keyframes(fade-in) {
- 0% {
- @include transform(scale(0.9));
- opacity: 0;
- }
- 100% {
- @include transform(scale(1));
- opacity: 1;
- }
-}
-
-@include keyframes(fade-out) {
- 0% {
- @include transform(scale(1));
- opacity: 1;
- }
- 100% {
- @include transform(scale(0.9));
- opacity: 0;
- }
-}
-
-.editRowDialogContent {
- max-height: 60vh;
- overflow-y: scroll;
-}
-
-.objectPickerContent {
- min-height: 150px;
- max-height: 60vh;
- overflow-y: scroll;
-
- .browser {
- position: relative;
- top: 0;
- left: 0;
- height: 60vh;
- width: calc(100% - 140px);
-
- .empty {
- position: unset;
- }
- }
-
- .toolbarButton svg {
- fill: rgba(0, 0, 0, 0.3);
- }
-
- .toolbarSeparator {
- background: rgba(0, 0, 0, 0.3);
- }
-
- .selectionSection {
- position: fixed;
- right: 0;
- width: 142px;
- font-size: 12px;
- color: #0E69A1;
- background: #F4F5F7;
- font-family: 'Source Code Pro', 'Courier New', monospace;
-
- .selectionHeader {
- background: rgb(102, 99, 122);
- color: white;
- height: 30px;
- padding-top: 5px;
- padding-left: 10px;
- line-height: 22px;
- }
-
- .selectionList {
- padding-left: 12px;
- padding-top: 4px;
- height: calc(60vh - 30px);
- overflow-y: scroll;
- }
- }
-}
-
-.selectionInputWrapper {
- width: calc(100% - 280px);
- float: left;
-}
-
-.editRowDialogFileCell {
- max-width: 100%;
- padding: 25px;
- span {
- display: flex;
- span {
- width: 90%;
- }
- & a {
- position: relative;
- }
- }
-}
-
-.dataContainer {
- height: 100%;
- overflow: auto;
-}
-
-.noScroll {
- overflow-x: hidden;
-}
-
-.confirmConfig {
- padding: 10px 20px;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.browser {
+ position: fixed;
+ top: 96px;
+ left: 300px;
+ right: 0;
+ bottom: 36px;
+ overflow: auto;
+}
+
+body:global(.expanded) {
+ .browser {
+ left: $sidebarCollapsedWidth;
+ }
+}
+
+.empty {
+ position: fixed;
+ left: 300px;
+ top: 0;
+ bottom: 0;
+ right: 0;
+}
+
+.toolbarSeparator {
+ display: inline-block;
+ height: 18px;
+ width: 1px;
+ background: #66637A;
+ vertical-align: bottom;
+ margin: 0 4px;
+}
+
+.toolbarButton {
+ @include NotoSansFont;
+ display: inline-block;
+ font-size: 14px;
+ color: #ffffff;
+ cursor: pointer;
+ height: 14px;
+ padding: 0 12px;
+
+ svg {
+ vertical-align: middle;
+ margin-right: 4px;
+ fill: #66637A;
+ }
+
+ &:hover {
+ svg {
+ fill: white;
+ }
+ }
+
+ span {
+ vertical-align: middle;
+ height: 14px;
+ line-height: 14px;
+ }
+}
+
+.toolbarButtonDisabled {
+ cursor: not-allowed;
+ color: #66637A;
+
+ &:hover svg {
+ fill: #66637A;
+ }
+}
+
+.table {
+ position: absolute;
+ top: 30px;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+}
+
+.table .empty {
+ top: 126px;
+}
+
+.tableRow {
+ @include MonospaceFont;
+ font-size: 12px;
+ white-space: nowrap;
+ height: 30px;
+ border-bottom: 1px solid #e3e3ea;
+
+ &:nth-child(odd) {
+ background: #F4F5F7;
+ }
+}
+
+.checkCell {
+ display: inline-block;
+ width: 30px;
+ height: 30px;
+ line-height: 31px;
+ vertical-align: top;
+ border-right: 1px solid #e3e3ea;
+ text-align: center;
+}
+
+.addRow {
+ height: 30px;
+ padding: 8px;
+
+ a {
+ cursor: pointer;
+ display: inline-block;
+ }
+
+ svg {
+ fill: $blue;
+
+ &:hover {
+ fill: $darkBlue;
+ }
+ }
+}
+
+.addColumnToggleWrapper {
+ >:nth-child(2) {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 50%;
+ background: #f6fafb;
+ }
+}
+
+.notificationMessage, .notificationError {
+ @include animation('fade-in 0.2s ease-out');
+ position: absolute;
+ bottom: 20px;
+ right: 20px;
+ opacity: 1;
+ background: white;
+ padding: 10px;
+ font-size: 14px;
+ border-radius: 5px;
+ width: 260px;
+}
+
+.notificationError {
+ border: 2px solid $red;
+ color: $red;
+}
+
+.notificationMessage {
+ border: 2px solid $blue;
+ color: $blue;
+}
+
+.notificationHide {
+ @include animation('fade-out 0.2s ease-out');
+}
+
+@include keyframes(fade-in) {
+ 0% {
+ @include transform(scale(0.9));
+ opacity: 0;
+ }
+ 100% {
+ @include transform(scale(1));
+ opacity: 1;
+ }
+}
+
+@include keyframes(fade-out) {
+ 0% {
+ @include transform(scale(1));
+ opacity: 1;
+ }
+ 100% {
+ @include transform(scale(0.9));
+ opacity: 0;
+ }
+}
+
+.editRowDialogContent {
+ max-height: 60vh;
+ overflow-y: scroll;
+}
+
+.objectPickerContent {
+ min-height: 150px;
+ max-height: 60vh;
+ overflow-y: scroll;
+
+ .browser {
+ position: relative;
+ top: 0;
+ left: 0;
+ height: 60vh;
+ width: calc(100% - 140px);
+
+ .empty {
+ position: unset;
+ }
+ }
+
+ .toolbarButton svg {
+ fill: rgba(0, 0, 0, 0.3);
+ }
+
+ .toolbarSeparator {
+ background: rgba(0, 0, 0, 0.3);
+ }
+
+ .selectionSection {
+ position: fixed;
+ right: 0;
+ width: 142px;
+ font-size: 12px;
+ color: #0E69A1;
+ background: #F4F5F7;
+ font-family: 'Source Code Pro', 'Courier New', monospace;
+
+ .selectionHeader {
+ background: rgb(102, 99, 122);
+ color: white;
+ height: 30px;
+ padding-top: 5px;
+ padding-left: 10px;
+ line-height: 22px;
+ }
+
+ .selectionList {
+ padding-left: 12px;
+ padding-top: 4px;
+ height: calc(60vh - 30px);
+ overflow-y: scroll;
+ }
+ }
+}
+
+.selectionInputWrapper {
+ width: calc(100% - 280px);
+ float: left;
+}
+
+.editRowDialogFileCell {
+ max-width: 100%;
+ padding: 25px;
+ span {
+ display: flex;
+ span {
+ width: 90%;
+ }
+ & a {
+ position: relative;
+ }
+ }
+}
+
+.dataContainer {
+ height: 100%;
+ overflow: auto;
+}
+
+.noScroll {
+ overflow-x: hidden;
+}
+
+.confirmConfig {
+ padding: 10px 20px;
}
\ No newline at end of file
diff --git a/src/dashboard/Data/Browser/BrowserFooter.scss b/src/dashboard/Data/Browser/BrowserFooter.scss
index 23ff280523..db2004cdbe 100644
--- a/src/dashboard/Data/Browser/BrowserFooter.scss
+++ b/src/dashboard/Data/Browser/BrowserFooter.scss
@@ -1,18 +1,18 @@
-@import 'stylesheets/globals.scss';
-
-.footer {
- position: absolute;
- width: calc(100% - 300px);
- bottom: 0;
- gap: 10px;
- padding: 0px 15px;
- height: 36px;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- align-items: center;
- font-size: 12px;
- font-family: "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- border-top: 1px solid lightgrey;
- background-color: #f1f5f9;
+@import 'stylesheets/globals.scss';
+
+.footer {
+ position: absolute;
+ width: calc(100% - 300px);
+ bottom: 0;
+ gap: 10px;
+ padding: 0px 15px;
+ height: 36px;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ align-items: center;
+ font-size: 12px;
+ font-family: "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ border-top: 1px solid lightgrey;
+ background-color: #f1f5f9;
}
\ No newline at end of file
diff --git a/src/dashboard/Data/Browser/BrowserTable.react.js b/src/dashboard/Data/Browser/BrowserTable.react.js
index 125b299cc6..6f87206afb 100644
--- a/src/dashboard/Data/Browser/BrowserTable.react.js
+++ b/src/dashboard/Data/Browser/BrowserTable.react.js
@@ -540,7 +540,7 @@ export default class BrowserTable extends React.Component {
id="browser-table"
style={{
right: rightValue,
- 'overflow-x': this.props.isResizing ? 'hidden' : 'auto',
+ 'overflowX': this.props.isResizing ? 'hidden' : 'auto',
}}
>
{
const selectionLength = Object.keys(selection).length;
const isPendingEditCloneRows = editCloneRows && editCloneRows.length > 0;
@@ -280,6 +283,8 @@ const BrowserToolbar = ({
classwiseCloudFunctions={classwiseCloudFunctions}
appId={appId}
appName={appName}
+ toggleChartPanel={toggleChartPanel}
+ isChartPanelVisible={isChartPanelVisible}
>
{onAddRow && (
@@ -425,7 +430,8 @@ const BrowserToolbar = ({
)}
{enableSecurityDialog ?
: }
- onExecuteScriptRows(selection)}
- />
+ />]}
{menu}
{editCloneRows && editCloneRows.length > 0 &&
}
{editCloneRows && editCloneRows.length > 0 && (
-
+ {[ ]}
)}
diff --git a/src/dashboard/Data/Browser/DataBrowser.react.js b/src/dashboard/Data/Browser/DataBrowser.react.js
index 50aeef95af..d6e650b1da 100644
--- a/src/dashboard/Data/Browser/DataBrowser.react.js
+++ b/src/dashboard/Data/Browser/DataBrowser.react.js
@@ -15,6 +15,8 @@ import { ResizableBox } from 'react-resizable';
import styles from './Databrowser.scss';
import AggregationPanel from '../../../components/AggregationPanel/AggregationPanel';
+import ChartVisualization from '../../../components/ChartVisualization/ChartVisualization.react';
+import DraggableResizablePanel from '../../../components/DraggableResizablePanel/DraggableResizablePanel.react';
/**
* DataBrowser renders the browser toolbar and data table
@@ -44,11 +46,15 @@ export default class DataBrowser extends React.Component {
selectedCells: { list: new Set(), rowStart: -1, rowEnd: -1, colStart: -1, colEnd: -1 },
firstSelectedCell: null,
selectedData: [],
+ numericSelectedData: [], // Numeric data only for Sum operations
+ hasDateInSelection: false, // Flag to detect if there are dates in selection
prevClassName: props.className,
panelWidth: 300,
isResizing: false,
maxWidth: window.innerWidth - 300,
showAggregatedData: true,
+ isChartPanelVisible: false,
+ chartPanelWidth: 400,
};
this.handleResizeDiv = this.handleResizeDiv.bind(this);
@@ -67,6 +73,7 @@ export default class DataBrowser extends React.Component {
this.setSelectedObjectId = this.setSelectedObjectId.bind(this);
this.setContextMenu = this.setContextMenu.bind(this);
this.handleCellClick = this.handleCellClick.bind(this);
+ this.toggleChartPanelVisibility = this.toggleChartPanelVisibility.bind(this);
this.saveOrderTimeout = null;
}
@@ -88,6 +95,8 @@ export default class DataBrowser extends React.Component {
selectedCells: { list: new Set(), rowStart: -1, rowEnd: -1, colStart: -1, colEnd: -1 },
firstSelectedCell: null,
selectedData: [],
+ numericSelectedData: [],
+ hasDateInSelection: false,
});
} else if (
Object.keys(props.columns).length !== Object.keys(this.props.columns).length ||
@@ -144,6 +153,17 @@ export default class DataBrowser extends React.Component {
this.props.setErrorAggregatedData({});
}
}
+
+ // Close chart panel if data changed (like when sorting the table)
+ if (prevProps.data !== this.props.data && this.state.isChartPanelVisible) {
+ this.setState({
+ isChartPanelVisible: false,
+ selectedCells: { list: new Set(), rowStart: -1, rowEnd: -1, colStart: -1, colEnd: -1 },
+ selectedData: [],
+ numericSelectedData: [],
+ hasDateInSelection: false,
+ });
+ }
}
handleResizeStart() {
@@ -210,6 +230,12 @@ export default class DataBrowser extends React.Component {
}
}
+ toggleChartPanelVisibility() {
+ this.setState(prevState => ({
+ isChartPanelVisible: !prevState.isChartPanelVisible
+ }));
+ }
+
getAllClassesSchema(schema) {
const allClasses = Object.keys(schema.data.get('classes').toObject());
const schemaSimplifiedData = {};
@@ -561,7 +587,9 @@ export default class DataBrowser extends React.Component {
let validColumns = true;
for (let i = colStart; i <= colEnd; i++) {
const name = this.state.order[i].name;
- if (this.props.columns[name].type !== 'Number') {
+ const columnType = this.props.columns[name].type;
+ // Allow Number, Date, String (which can contain numbers) for visualization
+ if (columnType !== 'Number' && columnType !== 'Date' && columnType !== 'String') {
validColumns = false;
break;
}
@@ -569,6 +597,8 @@ export default class DataBrowser extends React.Component {
const newSelection = new Set();
const selectedData = [];
+ let hasDateColumns = false; // Flag to detect if there are date columns
+
for (let x = rowStart; x <= rowEnd; x++) {
let rowData = null;
if (validColumns) {
@@ -577,14 +607,36 @@ export default class DataBrowser extends React.Component {
for (let y = colStart; y <= colEnd; y++) {
if (rowData) {
const value = rowData.attributes[this.state.order[y].name];
- if (typeof value === 'number' && !isNaN(value)) {
- selectedData.push(rowData.attributes[this.state.order[y].name]);
+ const columnType = this.props.columns[this.state.order[y].name].type;
+
+ // Include different data types for visualization
+ if (columnType === 'Number' && typeof value === 'number' && !isNaN(value)) {
+ selectedData.push(value);
+ } else if (columnType === 'Date' && value instanceof Date) {
+ selectedData.push(value);
+ hasDateColumns = true; // Mark that there are dates
+ } else if (columnType === 'Date' && typeof value === 'string' && !isNaN(Date.parse(value))) {
+ selectedData.push(new Date(value));
+ hasDateColumns = true; // Mark that there are dates
+ } else if (columnType === 'String' && typeof value === 'string') {
+ // For strings, include only if they can be interpreted as numbers
+ const numValue = parseFloat(value);
+ if (!isNaN(numValue)) {
+ selectedData.push(numValue);
+ } else {
+ selectedData.push(value); // Include strings for labels in time series
+ }
}
}
newSelection.add(`${x}-${y}`);
}
}
+ // Create array with only numbers for sum operations (excluding dates)
+ const numericData = selectedData.filter(value =>
+ typeof value === 'number' && !isNaN(value)
+ );
+
if (newSelection.size > 1) {
this.setCurrent(null);
this.props.setLoadingInfoPanel(false);
@@ -598,6 +650,8 @@ export default class DataBrowser extends React.Component {
},
selectedObjectId: undefined,
selectedData,
+ numericSelectedData: numericData, // Numeric data only for Sum
+ hasDateInSelection: hasDateColumns, // Flag to know if there are dates
});
} else {
this.setCurrent({ row, col });
@@ -606,13 +660,13 @@ export default class DataBrowser extends React.Component {
this.setState({
selectedCells: { list: new Set(), rowStart: -1, rowEnd: -1, colStart: -1, colEnd: -1 },
selectedData: [],
+ numericSelectedData: [], // Clear numeric data
+ hasDateInSelection: false, // Clear dates flag
current: { row, col },
firstSelectedCell: clickedCellKey,
});
}
- }
-
- render() {
+ } render() {
const {
className,
count,
@@ -682,6 +736,27 @@ export default class DataBrowser extends React.Component {
)}
+ {this.state.isChartPanelVisible && this.state.selectedData.length > 1 && (
+ this.setState({ isChartPanelVisible: false })}
+ initialPosition={{ x: 320, y: 320 }}
+ >
+
+
+ )}
a:not(:last-child) {
- margin-right: 10px;
- }
-}
-
-.empty {
-
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.jobsFlow {
+ padding: 120px 0 100px 0;
+}
+
+.buttonCell {
+ > a:not(:last-child) {
+ margin-right: 10px;
+ }
+}
+
+.empty {
+
+}
diff --git a/src/dashboard/Data/Logs/Logs.scss b/src/dashboard/Data/Logs/Logs.scss
index acbba2298a..511c092c6c 100644
--- a/src/dashboard/Data/Logs/Logs.scss
+++ b/src/dashboard/Data/Logs/Logs.scss
@@ -1,27 +1,27 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.logs {
- position: relative;
- min-height: 100vh;
-}
-
-.content {
- padding: 106px 10px 10px 10px;
- background: $logViewBackgroundColor;
- min-height: 100vh;
-}
-
-.empty {
- position: absolute;
- top: 96px;
- left: 0;
- right: 0;
- bottom: 0;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.logs {
+ position: relative;
+ min-height: 100vh;
+}
+
+.content {
+ padding: 106px 10px 10px 10px;
+ background: $logViewBackgroundColor;
+ min-height: 100vh;
+}
+
+.empty {
+ position: absolute;
+ top: 96px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
diff --git a/src/dashboard/Data/Migration/Migration.scss b/src/dashboard/Data/Migration/Migration.scss
index 810b065187..307c6ea089 100644
--- a/src/dashboard/Data/Migration/Migration.scss
+++ b/src/dashboard/Data/Migration/Migration.scss
@@ -1,159 +1,159 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@use 'sass:math';
-@import 'stylesheets/globals.scss';
-
-$migrationStatesWidth: 175px;
-$progressRowHeight: 25px;
-$progressRowBorder: 1px $grey solid;
-$progressBarHeight: 10px;
-$progressBarGrey: #edeaeb;
-
-$progressRowPadding: 15px;
-
-@media (min-width: 980px) {
- .content {
- //Add 150px when sidebar is present, because it is position: fixed, so regular centering won't work
- left: calc(50% + 150px);
- }
-}
-
-.content {
- padding: 120px 0 80px 0;
- width: $migrationStatesWidth * 4;
-}
-
-.stepsWrapper {
- width: 4 * $migrationStatesWidth;
-}
-
-.statusNote {
- &:not(:last-of-type) {
- padding-right: $progressRowPadding;
- }
-}
-
-.statusBar {
- clear: both;
- background-color: $borderGrey;
- height: 32px;
- padding-top: 8px;
- padding-left: $progressRowPadding;
- padding-right: $progressRowPadding;
- //gracefully degrades via statusNote class
- display: flex;
- justify-content: space-between;
-}
-
-.mongosBar {
- background-color: $lightGrey;
- height: 45px;
-}
-
-.statusBottomCorners {
- border-bottom-right-radius: 5px;
- border-bottom-left-radius: 5px;
-}
-
-.infoText {
- @include DosisFont;
- color: $blue;
-}
-
-.detailMongoName {
- @include ellipsis();
- width: $migrationStatesWidth;
- float: left;
- font-size: 20px;
- color: $blue;
- padding-top: 15px;
- padding-left: $progressRowPadding;
- padding-right: $progressRowPadding;
- text-align: left;
-}
-
-.detailClassName {
- @include ellipsis();
- width: $migrationStatesWidth;
- float: left;
- text-align: left;
- background-color: $progressBarGrey;
- height: $progressRowHeight;
- padding: 4px $progressRowPadding;
- border-top: $progressRowBorder;
-}
-
-.detailProgressWrapper {
- background-color: $lightGrey;
- height: $progressRowHeight;
- border-top: $progressRowBorder;
- padding-left: $progressRowPadding;
- padding-right: $progressRowPadding;
- float: left;
- width: $migrationStatesWidth * 2;
- text-align: right;
-}
-
-.detailBackground {
- background-color: $progressBarGrey;
- border-radius: math.div($progressBarHeight, 2);
- height: $progressBarHeight;
-}
-
-.detailCompletion {
- position: absolute;
- top: 0;
- border-radius: math.div($progressBarHeight, 2);
- height: $progressBarHeight;
- min-width: $progressBarHeight;
-}
-
-.detailPercent {
- position: relative;
- width: calc(100% - #{$progressRowPadding});
-}
-
-.detailIcon {
- @include transform(translate(50%, -35%));
- display: inline-block;
- width: 15px;
- height: 15px;
- border-radius: 100%;
- background-color: $progressBarGrey;
- text-align: center;
-}
-
-.button {
- display: inline-block;
- margin: 25px 14px;
-}
-
-.title {
- @include DosisFont;
- margin-bottom: 15px;
-}
-
-.migrationStatusError {
- color: $red;
- text-align: center;
- display: block;
-}
-
-.longStateDescription {
- background-color: $borderGrey;
- padding: $progressRowPadding;
- border-radius: 5px;
- margin-top: 20px;
- line-height: 20px;
- text-align: left;
- clear: both;
-}
-
-.descriptionMongoName {
- @include MonospaceFont;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@use 'sass:math';
+@import 'stylesheets/globals.scss';
+
+$migrationStatesWidth: 175px;
+$progressRowHeight: 25px;
+$progressRowBorder: 1px $grey solid;
+$progressBarHeight: 10px;
+$progressBarGrey: #edeaeb;
+
+$progressRowPadding: 15px;
+
+@media (min-width: 980px) {
+ .content {
+ //Add 150px when sidebar is present, because it is position: fixed, so regular centering won't work
+ left: calc(50% + 150px);
+ }
+}
+
+.content {
+ padding: 120px 0 80px 0;
+ width: $migrationStatesWidth * 4;
+}
+
+.stepsWrapper {
+ width: 4 * $migrationStatesWidth;
+}
+
+.statusNote {
+ &:not(:last-of-type) {
+ padding-right: $progressRowPadding;
+ }
+}
+
+.statusBar {
+ clear: both;
+ background-color: $borderGrey;
+ height: 32px;
+ padding-top: 8px;
+ padding-left: $progressRowPadding;
+ padding-right: $progressRowPadding;
+ //gracefully degrades via statusNote class
+ display: flex;
+ justify-content: space-between;
+}
+
+.mongosBar {
+ background-color: $lightGrey;
+ height: 45px;
+}
+
+.statusBottomCorners {
+ border-bottom-right-radius: 5px;
+ border-bottom-left-radius: 5px;
+}
+
+.infoText {
+ @include DosisFont;
+ color: $blue;
+}
+
+.detailMongoName {
+ @include ellipsis();
+ width: $migrationStatesWidth;
+ float: left;
+ font-size: 20px;
+ color: $blue;
+ padding-top: 15px;
+ padding-left: $progressRowPadding;
+ padding-right: $progressRowPadding;
+ text-align: left;
+}
+
+.detailClassName {
+ @include ellipsis();
+ width: $migrationStatesWidth;
+ float: left;
+ text-align: left;
+ background-color: $progressBarGrey;
+ height: $progressRowHeight;
+ padding: 4px $progressRowPadding;
+ border-top: $progressRowBorder;
+}
+
+.detailProgressWrapper {
+ background-color: $lightGrey;
+ height: $progressRowHeight;
+ border-top: $progressRowBorder;
+ padding-left: $progressRowPadding;
+ padding-right: $progressRowPadding;
+ float: left;
+ width: $migrationStatesWidth * 2;
+ text-align: right;
+}
+
+.detailBackground {
+ background-color: $progressBarGrey;
+ border-radius: math.div($progressBarHeight, 2);
+ height: $progressBarHeight;
+}
+
+.detailCompletion {
+ position: absolute;
+ top: 0;
+ border-radius: math.div($progressBarHeight, 2);
+ height: $progressBarHeight;
+ min-width: $progressBarHeight;
+}
+
+.detailPercent {
+ position: relative;
+ width: calc(100% - #{$progressRowPadding});
+}
+
+.detailIcon {
+ @include transform(translate(50%, -35%));
+ display: inline-block;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ background-color: $progressBarGrey;
+ text-align: center;
+}
+
+.button {
+ display: inline-block;
+ margin: 25px 14px;
+}
+
+.title {
+ @include DosisFont;
+ margin-bottom: 15px;
+}
+
+.migrationStatusError {
+ color: $red;
+ text-align: center;
+ display: block;
+}
+
+.longStateDescription {
+ background-color: $borderGrey;
+ padding: $progressRowPadding;
+ border-radius: 5px;
+ margin-top: 20px;
+ line-height: 20px;
+ text-align: left;
+ clear: both;
+}
+
+.descriptionMongoName {
+ @include MonospaceFont;
+}
diff --git a/src/dashboard/Data/Migration/MigrationStep.scss b/src/dashboard/Data/Migration/MigrationStep.scss
index 94b0a72309..9a27f334d4 100644
--- a/src/dashboard/Data/Migration/MigrationStep.scss
+++ b/src/dashboard/Data/Migration/MigrationStep.scss
@@ -1,57 +1,57 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-$migrationStatesWidth: 175px;
-
-.wrapper {
- background-color: $lightGrey;
- position: relative;
- text-align: left;
- width: calc(700px/3);
- float: left;
- &:not(:last-child) {
- border-right: 2px solid $borderGrey;
- }
- &:last-child {
- border-top-right-radius: 5px;
- }
- &:first-child {
- border-top-left-radius: 5px;
- }
-}
-
-.progressBackground {
- height: 10px;
- position: absolute;
- bottom: 0;
- background-color: $progressGrey;
-}
-
-.status {
- height: 10px;
- position: absolute;
- bottom: 0;
-}
-
-.title {
- padding-left: 15px;
- padding-top: 15px;
- font-size: 14px;
- height: 35px;
-}
-
-.description {
- padding-left: 15px;
- padding-bottom: 25px; //15 from mockup + 10 to account for progress bar
- font-size: 12px;
-}
-
-.inactiveText {
- color: $inactiveTextGrey;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+$migrationStatesWidth: 175px;
+
+.wrapper {
+ background-color: $lightGrey;
+ position: relative;
+ text-align: left;
+ width: calc(700px/3);
+ float: left;
+ &:not(:last-child) {
+ border-right: 2px solid $borderGrey;
+ }
+ &:last-child {
+ border-top-right-radius: 5px;
+ }
+ &:first-child {
+ border-top-left-radius: 5px;
+ }
+}
+
+.progressBackground {
+ height: 10px;
+ position: absolute;
+ bottom: 0;
+ background-color: $progressGrey;
+}
+
+.status {
+ height: 10px;
+ position: absolute;
+ bottom: 0;
+}
+
+.title {
+ padding-left: 15px;
+ padding-top: 15px;
+ font-size: 14px;
+ height: 35px;
+}
+
+.description {
+ padding-left: 15px;
+ padding-bottom: 25px; //15 from mockup + 10 to account for progress bar
+ font-size: 12px;
+}
+
+.inactiveText {
+ color: $inactiveTextGrey;
+}
diff --git a/src/dashboard/Data/Playground/Playground.scss b/src/dashboard/Data/Playground/Playground.scss
index 6af6efbf0b..dfa55eb0b5 100644
--- a/src/dashboard/Data/Playground/Playground.scss
+++ b/src/dashboard/Data/Playground/Playground.scss
@@ -1,47 +1,47 @@
-.playground-ctn {
- padding-top: 96px;
- background-color: #002b36;
- height: 100vh;
-}
-
-.console-ctn {
- display: flex;
- align-items: center;
- justify-content: stretch;
- flex-direction: column;
-
- & h3 {
- height: 28px;
- line-height: 28px;
- font-size: 16px;
- font-weight: 700;
- color: white;
- }
-
- & > header {
- flex: 1;
- padding: 0 0 0 10px;
- background-color: #169cee;
- display: flex;
- align-items: center;
- justify-content: space-between;
- width: 100%;
- }
-
- & > section {
- width: 100%;
- }
-}
-
-.buttons-ctn {
- display: flex;
- justify-content: flex-end;
- padding: 15px;
- align-items: center;
-
- & > div {
- display: flex;
- justify-content: flex-end;
- width: 25%;
- }
-}
+.playground-ctn {
+ padding-top: 96px;
+ background-color: #002b36;
+ height: 100vh;
+}
+
+.console-ctn {
+ display: flex;
+ align-items: center;
+ justify-content: stretch;
+ flex-direction: column;
+
+ & h3 {
+ height: 28px;
+ line-height: 28px;
+ font-size: 16px;
+ font-weight: 700;
+ color: white;
+ }
+
+ & > header {
+ flex: 1;
+ padding: 0 0 0 10px;
+ background-color: #169cee;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ width: 100%;
+ }
+
+ & > section {
+ width: 100%;
+ }
+}
+
+.buttons-ctn {
+ display: flex;
+ justify-content: flex-end;
+ padding: 15px;
+ align-items: center;
+
+ & > div {
+ display: flex;
+ justify-content: flex-end;
+ width: 25%;
+ }
+}
diff --git a/src/dashboard/Data/Webhooks/Webhooks.scss b/src/dashboard/Data/Webhooks/Webhooks.scss
index 4296155288..3e1aacc5f5 100644
--- a/src/dashboard/Data/Webhooks/Webhooks.scss
+++ b/src/dashboard/Data/Webhooks/Webhooks.scss
@@ -1,12 +1,12 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
- @import 'stylesheets/globals.scss';
-
-.deleteButton {
- @include buttonReset;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+ @import 'stylesheets/globals.scss';
+
+.deleteButton {
+ @include buttonReset;
+}
diff --git a/src/dashboard/Push/Push.scss b/src/dashboard/Push/Push.scss
index e7ccc68468..4604370a72 100644
--- a/src/dashboard/Push/Push.scss
+++ b/src/dashboard/Push/Push.scss
@@ -1,91 +1,91 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.pushFlow {
- padding: 120px 0 70px 0;
-}
-
-.warning {
- background: $orange;
- color: white;
- font-size: 12px;
- text-align: center;
- line-height: 30px;
- padding: 0 10px;
-}
-
-.info {
- background: $blue;
- color: white;
- font-size: 14px;
- text-align: center;
- line-height: 20px;
- padding: 18px;
-}
-
-.infoSubline {
- font-size: 12px;
-}
-
-// workaround for non standard spec
-// https://developer.mozilla.org/en-US/docs/Web/CSS/%3A%3A-moz-placeholder
-// using more selective hack to avoid using !important
-.messageContentWrap textarea:not(#foo) {
- @include placeholder {
- top: 0%;
- line-height: 190px;
- }
-}
-
-.messageContentWrap .monospace textarea:not(#foo) {
- @include placeholder {
- top: 0%;
- line-height: 60px;
- }
-}
-
-.messageContentWrap > div:last-of-type {
- border-bottom: none;
-}
-
-.invalidMessage {
- padding-right: 5px;
-}
-
-.localeContainer {
- margin: 15px 0 25px 0;
-}
-
-.localeTitle {
- margin: 5px 0;
- font-weight: bold;
- position: relative;
- text-align: center;
-}
-
-.localeRemoveButton {
- @include buttonReset;
- position: absolute;
- right: 15px;
- font-size: 12px;
- top: 3px;
- &:hover, &:focus {
- text-decoration: underline;
- }
-}
-
-.localizationSegment {
- text-align: center;
- padding: 20px 10px;
-}
-
-.localedeviceCount {
- margin-top: 5px;
- color: $secondaryTextColor;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.pushFlow {
+ padding: 120px 0 70px 0;
+}
+
+.warning {
+ background: $orange;
+ color: white;
+ font-size: 12px;
+ text-align: center;
+ line-height: 30px;
+ padding: 0 10px;
+}
+
+.info {
+ background: $blue;
+ color: white;
+ font-size: 14px;
+ text-align: center;
+ line-height: 20px;
+ padding: 18px;
+}
+
+.infoSubline {
+ font-size: 12px;
+}
+
+// workaround for non standard spec
+// https://developer.mozilla.org/en-US/docs/Web/CSS/%3A%3A-moz-placeholder
+// using more selective hack to avoid using !important
+.messageContentWrap textarea:not(#foo) {
+ @include placeholder {
+ top: 0%;
+ line-height: 190px;
+ }
+}
+
+.messageContentWrap .monospace textarea:not(#foo) {
+ @include placeholder {
+ top: 0%;
+ line-height: 60px;
+ }
+}
+
+.messageContentWrap > div:last-of-type {
+ border-bottom: none;
+}
+
+.invalidMessage {
+ padding-right: 5px;
+}
+
+.localeContainer {
+ margin: 15px 0 25px 0;
+}
+
+.localeTitle {
+ margin: 5px 0;
+ font-weight: bold;
+ position: relative;
+ text-align: center;
+}
+
+.localeRemoveButton {
+ @include buttonReset;
+ position: absolute;
+ right: 15px;
+ font-size: 12px;
+ top: 3px;
+ &:hover, &:focus {
+ text-decoration: underline;
+ }
+}
+
+.localizationSegment {
+ text-align: center;
+ padding: 20px 10px;
+}
+
+.localedeviceCount {
+ margin-top: 5px;
+ color: $secondaryTextColor;
+}
diff --git a/src/dashboard/Push/PushAudiencesData.scss b/src/dashboard/Push/PushAudiencesData.scss
index f898a53763..1e8696e77a 100644
--- a/src/dashboard/Push/PushAudiencesData.scss
+++ b/src/dashboard/Push/PushAudiencesData.scss
@@ -1,23 +1,23 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.showMoreWrap {
- padding: 10px;
- margin-left: 20px;
-}
-
-.pushAudienceData {
- border: 1px solid $borderGrey;
-}
-
-.pushAudienceDialog {
- text-align: right;
- border-top: 1px solid $borderGrey;
- padding: 15px 30px 15px 15px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.showMoreWrap {
+ padding: 10px;
+ margin-left: 20px;
+}
+
+.pushAudienceData {
+ border: 1px solid $borderGrey;
+}
+
+.pushAudienceDialog {
+ text-align: right;
+ border-top: 1px solid $borderGrey;
+ padding: 15px 30px 15px 15px;
+}
diff --git a/src/dashboard/Push/PushAudiencesIndexRow.scss b/src/dashboard/Push/PushAudiencesIndexRow.scss
index 4aff60cfae..314fe33bc7 100644
--- a/src/dashboard/Push/PushAudiencesIndexRow.scss
+++ b/src/dashboard/Push/PushAudiencesIndexRow.scss
@@ -1,95 +1,95 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.colName {
- width: 20%;
-}
-
-.colSize {
- width: 10%;
-}
-
-.colDetails {
- width: 30%;
-}
-
-.colCreatedOn {
- width: 20%;
-}
-
-.colPushesSent {
- width: 10%;
-}
-
-.colAction {
- width: 10%;
-}
-
-.shortInfo {
- @include ellipsis();
- margin-right: 5px;
- max-width: 300px;
- float: left;
-}
-
-.longInfo {
- overflow: hidden;
- margin: 10px 10px 0 0;
-
- .platformInfo {
- float: left;
- width: 150px;
- white-space: normal;
- }
-
- .installationInfo {
- float: left;
- width: 250px;
- white-space: normal;
- }
-
- .detailsHeaderListItem {
- color: $secondaryTextColor;
- }
-}
-
-.moreDetails {
- @include buttonReset;
- color: $blue;
- font-size: 14px;
-
- &:hover, &:focus {
- text-decoration: underline;
- }
-
- &.hideMoreDetails {
- display: none;
- }
-}
-
-.newPushButton {
- @include buttonReset;
- font-size: 14px;
- display: block;
- margin: -5px 0 -10px 0;
-
- &:hover, &:focus {
- text-decoration: underline;
- }
-}
-
-//NOTE: May be used to global so SVG icons wrapped by can have common styles.
-.removeIcon {
- @include buttonReset;
- &:hover, &:focus {
- svg {
- fill: $blue;
- }
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.colName {
+ width: 20%;
+}
+
+.colSize {
+ width: 10%;
+}
+
+.colDetails {
+ width: 30%;
+}
+
+.colCreatedOn {
+ width: 20%;
+}
+
+.colPushesSent {
+ width: 10%;
+}
+
+.colAction {
+ width: 10%;
+}
+
+.shortInfo {
+ @include ellipsis();
+ margin-right: 5px;
+ max-width: 300px;
+ float: left;
+}
+
+.longInfo {
+ overflow: hidden;
+ margin: 10px 10px 0 0;
+
+ .platformInfo {
+ float: left;
+ width: 150px;
+ white-space: normal;
+ }
+
+ .installationInfo {
+ float: left;
+ width: 250px;
+ white-space: normal;
+ }
+
+ .detailsHeaderListItem {
+ color: $secondaryTextColor;
+ }
+}
+
+.moreDetails {
+ @include buttonReset;
+ color: $blue;
+ font-size: 14px;
+
+ &:hover, &:focus {
+ text-decoration: underline;
+ }
+
+ &.hideMoreDetails {
+ display: none;
+ }
+}
+
+.newPushButton {
+ @include buttonReset;
+ font-size: 14px;
+ display: block;
+ margin: -5px 0 -10px 0;
+
+ &:hover, &:focus {
+ text-decoration: underline;
+ }
+}
+
+//NOTE: May be used to global so SVG icons wrapped by can have common styles.
+.removeIcon {
+ @include buttonReset;
+ &:hover, &:focus {
+ svg {
+ fill: $blue;
+ }
+ }
+}
diff --git a/src/dashboard/Push/PushDetails.scss b/src/dashboard/Push/PushDetails.scss
index b73ed94acb..d4ec334066 100644
--- a/src/dashboard/Push/PushDetails.scss
+++ b/src/dashboard/Push/PushDetails.scss
@@ -1,111 +1,111 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.detailsWrapper {
- background: $white;
- padding-bottom: 100px;
-}
-
-.header {
- text-align: center;
- padding: 50px 0;
-}
-
-.groupHeader {
- text-align: center;
- padding: 150px 0 50px 0;
- background: $pushDetailsHeaderBackground;
-}
-
-.headerTitle {
- color: $blue;
- font-size: 12px;
- letter-spacing: 2px;
- margin-bottom: 10px;
-}
-
-.headline {
- font-size: 26px;
- margin: 10px;
-}
-
-.subline {
- color: $secondaryTextColor;
- font-size: 14px;
-}
-
-.content {
- font-size: 14px;
- color: $pushDetailsContent;
-}
-
-.tableSectionHeader, .chartTitle {
- font-size: 22px;
- color: $blue;
- text-align: center;
- padding: 25px 0;
- line-height: 26px;
- font-weight: 700;
-}
-
-.tableSectionWrap {
- width: 750px;
- margin: 0 auto;
- padding: 20px 0;
-}
-
-.tableWrap {
- border-radius: $borderRadiusConst;
- border: 1px solid $borderGrey;
- border-top: 0;
- overflow: hidden;
-}
-
-.deliveryName {
- font-weight: 700;
-}
-
-.deliveryMessage {
- font-size: 12px;
- color: $secondaryTextColor;
- line-height: 16px;
-}
-
-.groupA {
- float: left;
- width: 50%;
-}
-
-.groupB {
- margin-left: 50%;
-}
-
-.messageHeader {
- background: $white;
-}
-
-.chartWrap {
- margin-top: 50px;
-}
-
-.chartWrap > div {
- margin: 0 auto;
-}
-
-.openRateTitle {
- text-align: center;
- height: 15px;
- margin-bottom: -10px;
-}
-
-.flowFooterHeader {
- font-weight: 700;
- font-size: 18px;
- margin-bottom: 10px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.detailsWrapper {
+ background: $white;
+ padding-bottom: 100px;
+}
+
+.header {
+ text-align: center;
+ padding: 50px 0;
+}
+
+.groupHeader {
+ text-align: center;
+ padding: 150px 0 50px 0;
+ background: $pushDetailsHeaderBackground;
+}
+
+.headerTitle {
+ color: $blue;
+ font-size: 12px;
+ letter-spacing: 2px;
+ margin-bottom: 10px;
+}
+
+.headline {
+ font-size: 26px;
+ margin: 10px;
+}
+
+.subline {
+ color: $secondaryTextColor;
+ font-size: 14px;
+}
+
+.content {
+ font-size: 14px;
+ color: $pushDetailsContent;
+}
+
+.tableSectionHeader, .chartTitle {
+ font-size: 22px;
+ color: $blue;
+ text-align: center;
+ padding: 25px 0;
+ line-height: 26px;
+ font-weight: 700;
+}
+
+.tableSectionWrap {
+ width: 750px;
+ margin: 0 auto;
+ padding: 20px 0;
+}
+
+.tableWrap {
+ border-radius: $borderRadiusConst;
+ border: 1px solid $borderGrey;
+ border-top: 0;
+ overflow: hidden;
+}
+
+.deliveryName {
+ font-weight: 700;
+}
+
+.deliveryMessage {
+ font-size: 12px;
+ color: $secondaryTextColor;
+ line-height: 16px;
+}
+
+.groupA {
+ float: left;
+ width: 50%;
+}
+
+.groupB {
+ margin-left: 50%;
+}
+
+.messageHeader {
+ background: $white;
+}
+
+.chartWrap {
+ margin-top: 50px;
+}
+
+.chartWrap > div {
+ margin: 0 auto;
+}
+
+.openRateTitle {
+ text-align: center;
+ height: 15px;
+ margin-bottom: -10px;
+}
+
+.flowFooterHeader {
+ font-weight: 700;
+ font-size: 18px;
+ margin-bottom: 10px;
+}
diff --git a/src/dashboard/Push/PushIndex.scss b/src/dashboard/Push/PushIndex.scss
index 6842eb2ead..7b55f78d40 100644
--- a/src/dashboard/Push/PushIndex.scss
+++ b/src/dashboard/Push/PushIndex.scss
@@ -1,64 +1,64 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.colType {
- width: 10%;
-}
-
-.colTarget {
- width: 15%;
-}
-
-.colPushesSent {
- width: 15%;
-}
-
-.colName {
- width: 30%;
-}
-
-.colTime {
- width: 20%;
-}
-
-.colStatus {
- width: 10%;
-}
-
-.experimentLabel, .localTimeLabel, .translationLabel {
- font-size: 12px;
- line-height: 12px;
- color: $secondaryTextColor;
-}
-
-.tr {
- cursor: pointer;
-
- //TODO: add focus styles once tab index is added
- &:hover {
- background-color: $lightBlue;
- }
-
- //NOTE: would like to get rid of alternating styles - hard to see for users
- &:nth-child(2n) {
- &:hover {
- background-color: $lightBlue;
- }
- }
-}
-
-.showMore {
- padding: 20px;
- a {
- display: block;
- height: 100%;
- padding: 10px;
- font-size: 16px;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.colType {
+ width: 10%;
+}
+
+.colTarget {
+ width: 15%;
+}
+
+.colPushesSent {
+ width: 15%;
+}
+
+.colName {
+ width: 30%;
+}
+
+.colTime {
+ width: 20%;
+}
+
+.colStatus {
+ width: 10%;
+}
+
+.experimentLabel, .localTimeLabel, .translationLabel {
+ font-size: 12px;
+ line-height: 12px;
+ color: $secondaryTextColor;
+}
+
+.tr {
+ cursor: pointer;
+
+ //TODO: add focus styles once tab index is added
+ &:hover {
+ background-color: $lightBlue;
+ }
+
+ //NOTE: would like to get rid of alternating styles - hard to see for users
+ &:nth-child(2n) {
+ &:hover {
+ background-color: $lightBlue;
+ }
+ }
+}
+
+.showMore {
+ padding: 20px;
+ a {
+ display: block;
+ height: 100%;
+ padding: 10px;
+ font-size: 16px;
+ }
+}
diff --git a/src/dashboard/Settings/DashboardSettings/DashboardSettings.scss b/src/dashboard/Settings/DashboardSettings/DashboardSettings.scss
index 66ddd63796..306d3e2a8e 100644
--- a/src/dashboard/Settings/DashboardSettings/DashboardSettings.scss
+++ b/src/dashboard/Settings/DashboardSettings/DashboardSettings.scss
@@ -1,28 +1,28 @@
-.copyData {
- max-height: 50vh;
- overflow-y: scroll;
-}
-.newUser {
- max-height: 100px;
- overflow-y: scroll;
-}
-.settings_page {
- padding: 120px 0 80px 0;
-}
-.footer {
- display: flex;
- padding: 10px;
- justify-content: end;
- gap: 10px;
-}
-.password {
- display: flex;
- gap: 4px;
-}
-.userData {
- padding: 10px;
-}
-.mfa {
- display: block;
- margin-top: 10px;
-}
+.copyData {
+ max-height: 50vh;
+ overflow-y: scroll;
+}
+.newUser {
+ max-height: 100px;
+ overflow-y: scroll;
+}
+.settings_page {
+ padding: 120px 0 80px 0;
+}
+.footer {
+ display: flex;
+ padding: 10px;
+ justify-content: end;
+ gap: 10px;
+}
+.password {
+ display: flex;
+ gap: 4px;
+}
+.userData {
+ padding: 10px;
+}
+.mfa {
+ display: block;
+ margin-top: 10px;
+}
diff --git a/src/dashboard/Settings/GeneralSettings.scss b/src/dashboard/Settings/GeneralSettings.scss
index 97b96bab77..261a59ef50 100644
--- a/src/dashboard/Settings/GeneralSettings.scss
+++ b/src/dashboard/Settings/GeneralSettings.scss
@@ -1,27 +1,27 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.cost {
- font-size: 18px;
- color: $blue;
- line-height: 18px;
- padding-right: 18px;
- padding-top: 16px;
- @include DosisFont;
- text-transform: uppercase;
-}
-
-.features {
- @include DosisFont;
- padding-right: 18px;
- padding-top: 1px;
- font-size: 14px;
- color: #66637a;
- line-height: 14px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.cost {
+ font-size: 18px;
+ color: $blue;
+ line-height: 18px;
+ padding-right: 18px;
+ padding-top: 16px;
+ @include DosisFont;
+ text-transform: uppercase;
+}
+
+.features {
+ @include DosisFont;
+ padding-right: 18px;
+ padding-top: 1px;
+ font-size: 14px;
+ color: #66637a;
+ line-height: 14px;
+}
diff --git a/src/dashboard/Settings/Security/Security.scss b/src/dashboard/Settings/Security/Security.scss
index 568c7f5ad7..3abd4c6001 100644
--- a/src/dashboard/Settings/Security/Security.scss
+++ b/src/dashboard/Settings/Security/Security.scss
@@ -1,4 +1,4 @@
- @import 'stylesheets/globals.scss';
-.tableData {
- white-space: normal !important;
-}
+ @import 'stylesheets/globals.scss';
+.tableData {
+ white-space: normal !important;
+}
diff --git a/src/dashboard/Settings/Settings.scss b/src/dashboard/Settings/Settings.scss
index 26ac51dfd5..e63fc7e49f 100644
--- a/src/dashboard/Settings/Settings.scss
+++ b/src/dashboard/Settings/Settings.scss
@@ -1,10 +1,10 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-.settings_page {
- padding: 120px 0 80px 0;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+.settings_page {
+ padding: 120px 0 80px 0;
+}
diff --git a/src/dashboard/TableView.scss b/src/dashboard/TableView.scss
index 5027e6a89f..fe92927f7a 100644
--- a/src/dashboard/TableView.scss
+++ b/src/dashboard/TableView.scss
@@ -1,68 +1,68 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.headers {
- position: fixed;
- top: 96px;
- left: 300px;
- right: 0;
- background: #66637A;
- height: 30px;
- white-space: nowrap;
-}
-
-body:global(.expanded) {
- .headers {
- left: $sidebarCollapsedWidth;
- }
-}
-
-.content {
- position: relative;
- padding-top: 126px;
- min-height: 100vh;
-}
-
-.empty {
- position: absolute;
- top: 126px;
- left: 0;
- right: 0;
- bottom: 0;
-}
-
-.rows {
- background: #fdfafb;
-
- table {
- width: 100%;
- }
-
- tr {
- background: #fdfafb;
- border-bottom: 1px solid $borderGrey;
- }
-
- tr:nth-child(2n) {
- background: #f4f5f7;
- }
-
- td {
- line-height: 30px;
- padding: 10px 16px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- max-width: 0;
- }
-
- svg {
- vertical-align: middle;
- }
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.headers {
+ position: fixed;
+ top: 96px;
+ left: 300px;
+ right: 0;
+ background: #66637A;
+ height: 30px;
+ white-space: nowrap;
+}
+
+body:global(.expanded) {
+ .headers {
+ left: $sidebarCollapsedWidth;
+ }
+}
+
+.content {
+ position: relative;
+ padding-top: 126px;
+ min-height: 100vh;
+}
+
+.empty {
+ position: absolute;
+ top: 126px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+
+.rows {
+ background: #fdfafb;
+
+ table {
+ width: 100%;
+ }
+
+ tr {
+ background: #fdfafb;
+ border-bottom: 1px solid $borderGrey;
+ }
+
+ tr:nth-child(2n) {
+ background: #f4f5f7;
+ }
+
+ td {
+ line-height: 30px;
+ padding: 10px 16px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ max-width: 0;
+ }
+
+ svg {
+ vertical-align: middle;
+ }
+}
diff --git a/src/icons/android.svg b/src/icons/android.svg
index 4d774fd9ac..804c5d6130 100644
--- a/src/icons/android.svg
+++ b/src/icons/android.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/apple.svg b/src/icons/apple.svg
index 88a94da04a..644ce61eb9 100644
--- a/src/icons/apple.svg
+++ b/src/icons/apple.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/arduino.svg b/src/icons/arduino.svg
index b0656bd1c1..a4c5a0ca05 100644
--- a/src/icons/arduino.svg
+++ b/src/icons/arduino.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/chip-close.svg b/src/icons/chip-close.svg
index c35d1520f0..30e127a978 100644
--- a/src/icons/chip-close.svg
+++ b/src/icons/chip-close.svg
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/src/icons/clone-icon.svg b/src/icons/clone-icon.svg
index 6a05d8375d..2141199ab7 100644
--- a/src/icons/clone-icon.svg
+++ b/src/icons/clone-icon.svg
@@ -1,4 +1,4 @@
-
-
-
+
+
+
\ No newline at end of file
diff --git a/src/icons/dotnet.svg b/src/icons/dotnet.svg
index 67918b154b..b2156ae5c3 100644
--- a/src/icons/dotnet.svg
+++ b/src/icons/dotnet.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/drag-indicator.svg b/src/icons/drag-indicator.svg
index cdfd8a21b1..2d065fc990 100644
--- a/src/icons/drag-indicator.svg
+++ b/src/icons/drag-indicator.svg
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/src/icons/heroku.svg b/src/icons/heroku.svg
index 0a2d5f3297..4a2f395115 100644
--- a/src/icons/heroku.svg
+++ b/src/icons/heroku.svg
@@ -1,6 +1,6 @@
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/src/icons/javascript.svg b/src/icons/javascript.svg
index ddc84b658d..0a263b5229 100644
--- a/src/icons/javascript.svg
+++ b/src/icons/javascript.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/logout.svg b/src/icons/logout.svg
index 0a9ebd8879..f1b24771b4 100644
--- a/src/icons/logout.svg
+++ b/src/icons/logout.svg
@@ -1,7 +1,7 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/icons/manage-columns.svg b/src/icons/manage-columns.svg
index a11664dd60..9f9993bdab 100644
--- a/src/icons/manage-columns.svg
+++ b/src/icons/manage-columns.svg
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/src/icons/php.svg b/src/icons/php.svg
index 4e08a19e45..3a2195479a 100644
--- a/src/icons/php.svg
+++ b/src/icons/php.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/pin.svg b/src/icons/pin.svg
index 31a74cab87..1021a9fb8c 100644
--- a/src/icons/pin.svg
+++ b/src/icons/pin.svg
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/src/icons/question-solid.svg b/src/icons/question-solid.svg
index 18d1a5a049..ff80c0d9ec 100644
--- a/src/icons/question-solid.svg
+++ b/src/icons/question-solid.svg
@@ -1,7 +1,7 @@
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/icons/right-outline.svg b/src/icons/right-outline.svg
index aad9e17e84..1fd2dd42d7 100644
--- a/src/icons/right-outline.svg
+++ b/src/icons/right-outline.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/rpi.svg b/src/icons/rpi.svg
index b8b2c5c87a..ecd23a586b 100644
--- a/src/icons/rpi.svg
+++ b/src/icons/rpi.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/rtos.svg b/src/icons/rtos.svg
index 4619ff46f6..b7f9c3c7e1 100644
--- a/src/icons/rtos.svg
+++ b/src/icons/rtos.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/unity.svg b/src/icons/unity.svg
index 8cece1cf10..1a78061fe7 100644
--- a/src/icons/unity.svg
+++ b/src/icons/unity.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/visibility.svg b/src/icons/visibility.svg
index 59f51a67ac..efd25c94e3 100644
--- a/src/icons/visibility.svg
+++ b/src/icons/visibility.svg
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/src/icons/visibility_off.svg b/src/icons/visibility_off.svg
index 892a3a0dfb..6c6260dc61 100644
--- a/src/icons/visibility_off.svg
+++ b/src/icons/visibility_off.svg
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/src/icons/windows.svg b/src/icons/windows.svg
index 091606eb56..3928973b03 100644
--- a/src/icons/windows.svg
+++ b/src/icons/windows.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/icons/xamarin.svg b/src/icons/xamarin.svg
index 860fe9ed67..d837b4a972 100644
--- a/src/icons/xamarin.svg
+++ b/src/icons/xamarin.svg
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/login/Login.scss b/src/login/Login.scss
index 974cbf948b..eede356375 100644
--- a/src/login/Login.scss
+++ b/src/login/Login.scss
@@ -1,28 +1,28 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-
-.message {
- background: #f9f9fa;
- height: 50px;
- padding: 10px;
- font-size: 13px;
-}
-
-.error {
- background: #f9f9fa;
- height: 50px;
- line-height: 50px;
- overflow: hidden;
- font-size: 13px;
- color: $red;
-}
-
-body {
- background: #0c5582;
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+
+.message {
+ background: #f9f9fa;
+ height: 50px;
+ padding: 10px;
+ font-size: 13px;
+}
+
+.error {
+ background: #f9f9fa;
+ height: 50px;
+ line-height: 50px;
+ overflow: hidden;
+ font-size: 13px;
+ color: $red;
+}
+
+body {
+ background: #0c5582;
}
\ No newline at end of file
diff --git a/src/parse-interface-guide/PIG.scss b/src/parse-interface-guide/PIG.scss
index ddd30b9c83..33d6cf0362 100644
--- a/src/parse-interface-guide/PIG.scss
+++ b/src/parse-interface-guide/PIG.scss
@@ -1,113 +1,113 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'stylesheets/globals.scss';
-@import 'stylesheets/fonts.scss';
-
-.sidebar {
- position: fixed;
- background: white;
- width: 300px;
- padding: 10px;
- border-right: 1px solid #b0b8bf;
- top: 0;
- left: 0;
- bottom: 0;
- overflow: auto;
-
- a {
- display: block;
- margin-bottom: 6px;
- color: #169cee;
- }
-
- .active {
- color: #1F62B1;
- font-weight: bold;
- }
-}
-
-.iconWrap {
- margin: 10px 0 20px 15px;
-}
-
-.iconLabel {
- vertical-align: top;
- position: relative;
- top: 6px;
- left: 16px;
- font-size: 25px;
-}
-
-.searchField {
- width: 230px;
- height: 44px;
- font-size: 20px;
- padding: 0 10px;
- border-radius: 5px;
- margin: 0 0 30px 10px;
-}
-
-.content {
- margin-left: 300px;
- padding: 20px 10px 10px 10px;
- min-height: 100vh;
-}
-
-h1 {
- width: 90%;
- font-size: 32px;
- font-weight: 400;
- margin: 10px auto;
- color: $secondaryTextColor;
-}
-
-.component_name {
- color: $mainTextColor;
-}
-
-.table {
- margin: 10px auto 40px auto;
- width: 90%;
- overflow: hidden;
-}
-.header {
- background: #169cee;
- color: white;
- font-weight: 700;
- height: 30px;
- line-height: 32px;
- padding: 0 10px;
-}
-.row {
- border-color: #b0b8bf;
- border-width: 0 1px 1px 1px;
- border-style: solid;
- padding: 10px 9px;
-
- p {
- margin: 10px 0 0 0;
- }
-}
-.prop_name {
- font-size: 22px;
- color: black;
- font-weight: 700;
- vertical-align: bottom;
-}
-.prop_required {
- @include DosisFont;
- font-size: 14px;
- color: #767580;
- margin-left: 10px;
-}
-.prop_type {
- @include DosisFont;
- font-size: 14px;
- color: #a5a5b4;
- margin-left: 10px;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'stylesheets/globals.scss';
+@import 'stylesheets/fonts.scss';
+
+.sidebar {
+ position: fixed;
+ background: white;
+ width: 300px;
+ padding: 10px;
+ border-right: 1px solid #b0b8bf;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ overflow: auto;
+
+ a {
+ display: block;
+ margin-bottom: 6px;
+ color: #169cee;
+ }
+
+ .active {
+ color: #1F62B1;
+ font-weight: bold;
+ }
+}
+
+.iconWrap {
+ margin: 10px 0 20px 15px;
+}
+
+.iconLabel {
+ vertical-align: top;
+ position: relative;
+ top: 6px;
+ left: 16px;
+ font-size: 25px;
+}
+
+.searchField {
+ width: 230px;
+ height: 44px;
+ font-size: 20px;
+ padding: 0 10px;
+ border-radius: 5px;
+ margin: 0 0 30px 10px;
+}
+
+.content {
+ margin-left: 300px;
+ padding: 20px 10px 10px 10px;
+ min-height: 100vh;
+}
+
+h1 {
+ width: 90%;
+ font-size: 32px;
+ font-weight: 400;
+ margin: 10px auto;
+ color: $secondaryTextColor;
+}
+
+.component_name {
+ color: $mainTextColor;
+}
+
+.table {
+ margin: 10px auto 40px auto;
+ width: 90%;
+ overflow: hidden;
+}
+.header {
+ background: #169cee;
+ color: white;
+ font-weight: 700;
+ height: 30px;
+ line-height: 32px;
+ padding: 0 10px;
+}
+.row {
+ border-color: #b0b8bf;
+ border-width: 0 1px 1px 1px;
+ border-style: solid;
+ padding: 10px 9px;
+
+ p {
+ margin: 10px 0 0 0;
+ }
+}
+.prop_name {
+ font-size: 22px;
+ color: black;
+ font-weight: 700;
+ vertical-align: bottom;
+}
+.prop_required {
+ @include DosisFont;
+ font-size: 14px;
+ color: #767580;
+ margin-left: 10px;
+}
+.prop_type {
+ @include DosisFont;
+ font-size: 14px;
+ color: #a5a5b4;
+ margin-left: 10px;
+}
diff --git a/src/parse-interface-guide/index.html b/src/parse-interface-guide/index.html
index 105a015617..7bffdc5d37 100644
--- a/src/parse-interface-guide/index.html
+++ b/src/parse-interface-guide/index.html
@@ -1,8 +1,8 @@
-
-
- PIG Component Explorer
-
-
-
-
+
+
+ PIG Component Explorer
+
+
+
+
\ No newline at end of file
diff --git a/src/stylesheets/base.scss b/src/stylesheets/base.scss
index a20965a316..241d801ffb 100644
--- a/src/stylesheets/base.scss
+++ b/src/stylesheets/base.scss
@@ -1,98 +1,98 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import 'globals.scss';
-
-html, body {
- min-height: 100vh;
-}
-html{
- background-color: #110D11;
-}
-
-body {
- @include NotoSansFont;
- box-sizing: border-box;
- color: $mainTextColor;
- background-color: #110D11;
-}
-
-:global(#browser_mount) {
- min-height: 100vh;
- background: #FDFAFB;
-}
-
-* {
- margin: 0;
- padding: 0;
- box-sizing: inherit;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
-}
-
-a {
- color: $blue;
- cursor: pointer;
- text-decoration: none;
-}
-
-ul {
- list-style: none;
-}
-
-table {
- border-collapse: collapse;
-}
-
-.unselectable {
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
-}
-
-.verticalCenter {
- position: absolute;
- top: 50%;
- @include transform(translateY(-50%));
-}
-
-.horizontalCenter {
- margin: auto;
- text-align: center;
-}
-
-.center {
- position: absolute;
- text-align: center;
- top: 50%;
- left: 50%;
- @include transform(translate(-50%, -50%));
-}
-
-.failedBackground {
- background-color: $red;
-}
-
-.succeededBackground {
- background-color: $green;
-}
-
-.progressBackground {
- background-color: $blue;
-}
-
-.failedText {
- color: $red;
-}
-
-.succeededText {
- color: $green;
-}
-
-.progressText {
- color: $blue;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import 'globals.scss';
+
+html, body {
+ min-height: 100vh;
+}
+html{
+ background-color: #110D11;
+}
+
+body {
+ @include NotoSansFont;
+ box-sizing: border-box;
+ color: $mainTextColor;
+ background-color: #110D11;
+}
+
+:global(#browser_mount) {
+ min-height: 100vh;
+ background: #FDFAFB;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: inherit;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+}
+
+a {
+ color: $blue;
+ cursor: pointer;
+ text-decoration: none;
+}
+
+ul {
+ list-style: none;
+}
+
+table {
+ border-collapse: collapse;
+}
+
+.unselectable {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+
+.verticalCenter {
+ position: absolute;
+ top: 50%;
+ @include transform(translateY(-50%));
+}
+
+.horizontalCenter {
+ margin: auto;
+ text-align: center;
+}
+
+.center {
+ position: absolute;
+ text-align: center;
+ top: 50%;
+ left: 50%;
+ @include transform(translate(-50%, -50%));
+}
+
+.failedBackground {
+ background-color: $red;
+}
+
+.succeededBackground {
+ background-color: $green;
+}
+
+.progressBackground {
+ background-color: $blue;
+}
+
+.failedText {
+ color: $red;
+}
+
+.succeededText {
+ color: $green;
+}
+
+.progressText {
+ color: $blue;
+}
diff --git a/src/stylesheets/fonts.scss b/src/stylesheets/fonts.scss
index afadea5cd8..292324a5d4 100644
--- a/src/stylesheets/fonts.scss
+++ b/src/stylesheets/fonts.scss
@@ -1,10 +1,10 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@import url(https://fonts.googleapis.com/css?family=Dosis);
-@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro);
-@import url(https://fonts.googleapis.com/css?family=Noto+Sans:400,700);
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@import url(https://fonts.googleapis.com/css?family=Dosis);
+@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro);
+@import url(https://fonts.googleapis.com/css?family=Noto+Sans:400,700);
diff --git a/src/stylesheets/globals.scss b/src/stylesheets/globals.scss
index fbb4e8cb1c..b4e44bce7d 100644
--- a/src/stylesheets/globals.scss
+++ b/src/stylesheets/globals.scss
@@ -1,206 +1,206 @@
-/*
- * Copyright (c) 2016-present, Parse, LLC
- * All rights reserved.
- *
- * This source code is licensed under the license found in the LICENSE file in
- * the root directory of this source tree.
- */
-@use 'sass:math';
-
-$white: #fff;
-$blue: #169cee;
-$green: #00db7c;
-$red: #ff395e;
-$orange: #fd9539;
-$pink: #ff395e;
-$yellow: #f5a623;
-$purple: #343445;
-
-$grey: #e0e0ea;
-$lightGrey: #f5f5f5;
-$borderGrey: #e3e3e3;
-$greyArrowColor: rgba(27, 27, 27, 0.57);
-$formTableGrey: #ecf0f3;
-$translucentGrey: rgba(151, 151, 151, 0.27);
-$inactiveTextGrey: #cccbd2;
-$progressGrey: #d8d8d8;
-
-$darkBlue: #0e69a1;
-$lightBlue: #acd7f1;
-
-$darkGreen: #63c166;
-$lightGreen: #a8f0ad;
-
-$darkRed: #CE2E4B;
-$lightRed: #fbc3bd;
-
-$mainTextColor: #555572;
-$secondaryTextColor: #a5a5b4;
-$platformCardTextColor: #768c97;
-$platformCardSecondaryTextColor: rgba(118, 140, 151, 0.5);
-
-$inputBackgroundColor: #f6fafb;
-
-$logViewBackgroundColor: #fdfafb;
-
-$explorerQueryBackgroundColor: #148fdb;
-$borderRadiusConst: 5px;
-
-$pushDetailsHeaderBackground: #FBFBFC;
-$pushDetailsContent: #66637A;
-
-// neutral open rate colors for push experiment
-$darkPurple: #8D11BA;
-$blueGreen: #11A4BA;
-
-$sidebarCollapsedWidth: 54px;
-
-@mixin NotoSansFont {
- font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
-}
-
-@mixin DosisFont {
- font-family: 'Dosis', 'Helvetica Neue', Helvetica, Arial, sans-serif;
-}
-
-@mixin MonospaceFont {
- font-family: 'Source Code Pro', 'Courier New', monospace;
-}
-
-@mixin arrow($direction, $base, $height, $color) {
- border-style: solid;
-
- $halfbase: math.div($base, 2);
-
- @if $direction == 'up' {
- border-width: 0 $halfbase $height $halfbase;
- border-top-color: transparent;
- border-right-color: transparent;
- border-bottom-color: $color;
- border-left-color: transparent;
- } @else if $direction == 'right' {
- border-width: $halfbase 0 $halfbase $height;
- border-top-color: transparent;
- border-right-color: transparent;
- border-bottom-color: transparent;
- border-left-color: $color;
- } @else if $direction == 'down' {
- border-width: $height $halfbase 0 $halfbase;
- border-top-color: $color;
- border-right-color: transparent;
- border-bottom-color: transparent;
- border-left-color: transparent;
- } @else if $direction == 'left' {
- border-width: $halfbase $height $halfbase 0;
- border-top-color: transparent;
- border-right-color: $color;
- border-bottom-color: transparent;
- border-left-color: transparent;
- }
-}
-
-@mixin animation($props) {
- -webkit-animation: #{$props};
- -moz-animation: #{$props};
- -ms-animation: #{$props};
- animation: #{$props};
-}
-
-@mixin animation-name($prop) {
- -webkit-animation-name: $prop;
- -moz-animation-name: $prop;
- -ms-animation-name: $prop;
- animation-name: $prop;
-}
-
-@mixin animation-duration($prop) {
- -webkit-animation-duration: $prop;
- -moz-animation-duration: $prop;
- -ms-animation-duration: $prop;
- animation-duration: $prop;
-}
-
-@mixin animation-delay($prop) {
- -webkit-animation-delay: $prop;
- -moz-animation-delay: $prop;
- -ms-animation-delay: $prop;
- animation-delay: $prop;
-}
-
-@mixin animation-iteration-count($prop) {
- -webkit-animation-iteration-count: $prop;
- -moz-animation-iteration-count: $prop;
- -ms-animation-iteration-count: $prop;
- animation-iteration-count: $prop;
-}
-
-@mixin animation-fill-mode($prop) {
- -webkit-animation-fill-mode: $prop;
- -moz-animation-fill-mode: $prop;
- -ms-animation-fill-mode: $prop;
- animation-fill-mode: $prop;
-}
-
-@mixin keyframes($name) {
- @-webkit-keyframes #{$name} {
- @content;
- }
- @-moz-keyframes #{$name} {
- @content;
- }
- @-ms-keyframes #{$name} {
- @content;
- }
- @keyframes #{$name} {
- @content;
- }
-}
-
-@mixin transform($props) {
- -webkit-transform: #{$props};
- -moz-transform: #{$props};
- -ms-transform: #{$props};
- transform: #{$props};
-}
-
-@mixin placeholder() {
- &::-webkit-input-placeholder {
- @content;
- }
- &:-moz-placeholder {
- @content;
- }
- &::-moz-placeholder {
- @content;
- }
- &:-ms-input-placeholder {
- @content;
- }
-}
-
-@mixin ellipsis() {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-@mixin modalAnimation(){
- @include animation('modal-intro 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.1)');
- @include transform(translate3D(-50%, -50%, 0) scale(1));
-}
-
-@mixin modalKeyframes(){
- @include keyframes(modal-intro) {
- 0% {
- @include transform(translate3D(-50%, -50%, 0) scale(.9));
- }
-}
-}
-
-@mixin buttonReset($bg: none, $border: 0, $padding: 0) {
- border: $border;
- background: $bg;
- cursor: pointer;
- font-family: inherit;
- padding: $padding;
-}
+/*
+ * Copyright (c) 2016-present, Parse, LLC
+ * All rights reserved.
+ *
+ * This source code is licensed under the license found in the LICENSE file in
+ * the root directory of this source tree.
+ */
+@use 'sass:math';
+
+$white: #fff;
+$blue: #169cee;
+$green: #00db7c;
+$red: #ff395e;
+$orange: #fd9539;
+$pink: #ff395e;
+$yellow: #f5a623;
+$purple: #343445;
+
+$grey: #e0e0ea;
+$lightGrey: #f5f5f5;
+$borderGrey: #e3e3e3;
+$greyArrowColor: rgba(27, 27, 27, 0.57);
+$formTableGrey: #ecf0f3;
+$translucentGrey: rgba(151, 151, 151, 0.27);
+$inactiveTextGrey: #cccbd2;
+$progressGrey: #d8d8d8;
+
+$darkBlue: #0e69a1;
+$lightBlue: #acd7f1;
+
+$darkGreen: #63c166;
+$lightGreen: #a8f0ad;
+
+$darkRed: #CE2E4B;
+$lightRed: #fbc3bd;
+
+$mainTextColor: #555572;
+$secondaryTextColor: #a5a5b4;
+$platformCardTextColor: #768c97;
+$platformCardSecondaryTextColor: rgba(118, 140, 151, 0.5);
+
+$inputBackgroundColor: #f6fafb;
+
+$logViewBackgroundColor: #fdfafb;
+
+$explorerQueryBackgroundColor: #148fdb;
+$borderRadiusConst: 5px;
+
+$pushDetailsHeaderBackground: #FBFBFC;
+$pushDetailsContent: #66637A;
+
+// neutral open rate colors for push experiment
+$darkPurple: #8D11BA;
+$blueGreen: #11A4BA;
+
+$sidebarCollapsedWidth: 54px;
+
+@mixin NotoSansFont {
+ font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+@mixin DosisFont {
+ font-family: 'Dosis', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+@mixin MonospaceFont {
+ font-family: 'Source Code Pro', 'Courier New', monospace;
+}
+
+@mixin arrow($direction, $base, $height, $color) {
+ border-style: solid;
+
+ $halfbase: math.div($base, 2);
+
+ @if $direction == 'up' {
+ border-width: 0 $halfbase $height $halfbase;
+ border-top-color: transparent;
+ border-right-color: transparent;
+ border-bottom-color: $color;
+ border-left-color: transparent;
+ } @else if $direction == 'right' {
+ border-width: $halfbase 0 $halfbase $height;
+ border-top-color: transparent;
+ border-right-color: transparent;
+ border-bottom-color: transparent;
+ border-left-color: $color;
+ } @else if $direction == 'down' {
+ border-width: $height $halfbase 0 $halfbase;
+ border-top-color: $color;
+ border-right-color: transparent;
+ border-bottom-color: transparent;
+ border-left-color: transparent;
+ } @else if $direction == 'left' {
+ border-width: $halfbase $height $halfbase 0;
+ border-top-color: transparent;
+ border-right-color: $color;
+ border-bottom-color: transparent;
+ border-left-color: transparent;
+ }
+}
+
+@mixin animation($props) {
+ -webkit-animation: #{$props};
+ -moz-animation: #{$props};
+ -ms-animation: #{$props};
+ animation: #{$props};
+}
+
+@mixin animation-name($prop) {
+ -webkit-animation-name: $prop;
+ -moz-animation-name: $prop;
+ -ms-animation-name: $prop;
+ animation-name: $prop;
+}
+
+@mixin animation-duration($prop) {
+ -webkit-animation-duration: $prop;
+ -moz-animation-duration: $prop;
+ -ms-animation-duration: $prop;
+ animation-duration: $prop;
+}
+
+@mixin animation-delay($prop) {
+ -webkit-animation-delay: $prop;
+ -moz-animation-delay: $prop;
+ -ms-animation-delay: $prop;
+ animation-delay: $prop;
+}
+
+@mixin animation-iteration-count($prop) {
+ -webkit-animation-iteration-count: $prop;
+ -moz-animation-iteration-count: $prop;
+ -ms-animation-iteration-count: $prop;
+ animation-iteration-count: $prop;
+}
+
+@mixin animation-fill-mode($prop) {
+ -webkit-animation-fill-mode: $prop;
+ -moz-animation-fill-mode: $prop;
+ -ms-animation-fill-mode: $prop;
+ animation-fill-mode: $prop;
+}
+
+@mixin keyframes($name) {
+ @-webkit-keyframes #{$name} {
+ @content;
+ }
+ @-moz-keyframes #{$name} {
+ @content;
+ }
+ @-ms-keyframes #{$name} {
+ @content;
+ }
+ @keyframes #{$name} {
+ @content;
+ }
+}
+
+@mixin transform($props) {
+ -webkit-transform: #{$props};
+ -moz-transform: #{$props};
+ -ms-transform: #{$props};
+ transform: #{$props};
+}
+
+@mixin placeholder() {
+ &::-webkit-input-placeholder {
+ @content;
+ }
+ &:-moz-placeholder {
+ @content;
+ }
+ &::-moz-placeholder {
+ @content;
+ }
+ &:-ms-input-placeholder {
+ @content;
+ }
+}
+
+@mixin ellipsis() {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+@mixin modalAnimation(){
+ @include animation('modal-intro 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.1)');
+ @include transform(translate3D(-50%, -50%, 0) scale(1));
+}
+
+@mixin modalKeyframes(){
+ @include keyframes(modal-intro) {
+ 0% {
+ @include transform(translate3D(-50%, -50%, 0) scale(.9));
+ }
+}
+}
+
+@mixin buttonReset($bg: none, $border: 0, $padding: 0) {
+ border: $border;
+ background: $bg;
+ cursor: pointer;
+ font-family: inherit;
+ padding: $padding;
+}