diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..e72bee41
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,43 @@
+name: Build
+on: [pull_request]
+
+jobs:
+ build_on_linux:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-node@master
+ with:
+ node-version: 18.19
+ - name: install meta-diagram
+ run: bash installation.sh -i
+ - name: install dependencies
+ run: yarn
+ - name: build
+ run: yarn build
+ - name: package
+ run: yarn linux64
+ - name: archive
+ run: tar -czf linux.tar.gz ./psyneulinkviewer-linux-x64
+
+ build_on_mac:
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-node@master
+ with:
+ node-version: 18.19
+ - name: create conda symlink
+ run: wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O ~/miniconda.sh && bash ~/miniconda.sh -b -p $HOME/miniconda && source $HOME/miniconda/bin/activate && conda init
+ - name: extra steps
+ run: source $HOME/miniconda/bin/activate && conda --version
+ - name: install meta-diagram
+ run: source $HOME/miniconda/bin/activate && bash installation.sh -i
+ - name: install dependencies
+ run: yarn
+ - name: build
+ run: yarn build
+ - name: package
+ run: yarn osx
+ - name: archive
+ run: tar -czf osx.tar.gz ./psyneulinkviewer-darwin-x64
diff --git a/.github/workflows/installers.yml b/.github/workflows/installers.yml
new file mode 100644
index 00000000..cdd19fd7
--- /dev/null
+++ b/.github/workflows/installers.yml
@@ -0,0 +1,33 @@
+name: Installers
+on:
+ release:
+ types:
+ - created
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: ['ubuntu-latest', 'macos-latest']
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: 3.12.7
+
+ - name: Install dependencies
+ working-directory: ./package/installers
+ run: pip install -r requirements.txt
+ - name: Build
+ working-directory: ./package/installers
+ run: pyinstaller --onefile -w installer.py
+ - name: Rename the installer with the OS name
+ working-directory: ./package/installers
+ run: mv dist/ psyneuviewer-installer-${{ matrix.os }} && tar cvfz psyneu-installer-${{ matrix.os }}.tar.gz psyneuviewer-installer-${{ matrix.os }}
+ - name: release
+ uses: softprops/action-gh-release@v2
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: ./package/installers/psyneu-installer-${{ matrix.os }}.tar.gz
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..41019d44
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,56 @@
+name: Release
+on:
+ release:
+ types:
+ - created
+
+jobs:
+ build_on_linux:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-node@master
+ with:
+ node-version: 18.19
+ - name: install meta-diagram
+ run: bash installation.sh -i
+ - name: install dependencies
+ run: yarn
+ - name: build
+ run: yarn build
+ - name: package
+ run: yarn linux64
+ - name: archive
+ run: tar -czf linux.tar.gz ./psyneulinkviewer-linux-x64
+ - name: release
+ uses: softprops/action-gh-release@v2
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: linux.tar.gz
+
+ build_on_mac:
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-node@master
+ with:
+ node-version: 18.19
+ - name: create conda symlink
+ run: wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O ~/miniconda.sh && bash ~/miniconda.sh -b -p $HOME/miniconda && source $HOME/miniconda/bin/activate && conda init
+ - name: extra steps
+ run: source $HOME/miniconda/bin/activate && conda --version
+ - name: install meta-diagram
+ run: source $HOME/miniconda/bin/activate && bash installation.sh -i
+ - name: install dependencies
+ run: yarn
+ - name: build
+ run: yarn build
+ - name: package
+ run: yarn osx
+ - name: archive
+ run: tar -czf osx.tar.gz ./psyneulinkviewer-darwin-x64
+ - name: release
+ uses: softprops/action-gh-release@v2
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: osx.tar.gz
diff --git a/.gitignore b/.gitignore
index c033b54a..6d2b7c50 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,4 +48,6 @@ yalc.lock
#prettier config
.prettierrc.json
-.idea
\ No newline at end of file
+.idea
+
+package/.eggs
\ No newline at end of file
diff --git a/README.md b/README.md
index d6972b03..31c796b0 100644
--- a/README.md
+++ b/README.md
@@ -1,95 +1,153 @@
-# Production installation
+# Installing on MacOS
-## Pre installation
+## Use the installer file
-This application comes with a requirement for node [version 16.16](https://nodejs.org/en/blog/release/v16.16.0), please install that node version or nvm ([macos installation](https://aws.plainenglish.io/how-to-install-nvm-on-a-mac-8c1e9d1adc17) or [linux installation](https://tecadmin.net/how-to-install-nvm-on-ubuntu-20-04/)) to manage multiple node version.
+Download the [installer](https://github.com/MetaCell/PsyNeuLinkView/releases/download/0.0.6/psyneu-installer-macos-latest.tar.gz) file, uncompress the archive, enter in the folder extracted and click on installer.app to execute the PsyNeuLinkViewer installation.
-In order to being able to run successfully PsyNeuLinkView you will need to follow the steps below
+Note: The app is not signed through an Apple developer ID, so depending on the security settings of your machine you might need to instruct the Gatekeeper that the app you are trying to run is secure.
-- Create a conda environment
+To do so:
+- On your Mac, choose Apple menu > System Settings, then click Privacy & Security in the sidebar. (You may need to scroll down.)
+- Go to Security, then click Open.
+- Click Open Anyway.
+- This button is available for about an hour after you try to open the app.
+- Enter your login password, then click OK.
+
+## Manual installation in a custom conda environment
+
+PsyNeuLinkViewer is an application built on top of Electron (and NodeJS) and python for what concern the simulation part, since is levering [PsyNeuLink](https://github.com/PrincetonUniversity/PsyNeuLink) at the backend level.
+We might want to run this installation for a specific conda environment, in that case the steps to follow are:
+
+- Download the script from here
+
+- Open your Terminal application
+
+- Move to the same folder where the file has been downloaded
```
-conda create --name psnl_viewer python=3.7
+cd ~/Downloads
```
-* Activate the conda environment just created
+- Create and/or activate the conda environment you want to use
+```
+conda create --name psyneulinkview python=3.10
+conda activate psyneulinkview
+```
+- Run the installation script
```
-conda activate psnl_viewer
+bash mac_installer.sh
```
+- Once finished, the script will create the terminal command psyneulinkviewer which can be used to launch the application, otherwise this will be present also in your desktop.
+
+# Installing on Linux
+
+## Use the installer file
+
+Download the [installer](https://github.com/MetaCell/PsyNeuLinkView/releases/download/0.0.6/psyneu-installer-ubuntu-latest.tar.gz) file, uncompress the archive, enter in the folder extracted and click on installer.app to execute the PsyNeuLinkViewer installation.
-* Make the pre_installation.sh script executable
+## Manual installation in a custom conda environment
+PsyNeuLinkViewer is an application built on top of Electron (and NodeJS) and python for what concern the simulation part, since is levering [PsyNeuLink](https://github.com/PrincetonUniversity/PsyNeuLink) at the backend level.
+We might want to run this installation for a specific conda environment, in that case the steps to follow are:
+
+- Download the script from here
+
+- Open your Terminal application
+
+- Move to the same folder where the file has been downloaded
```
-chmod +x pre_installation.sh
+cd ~/Downloads
```
-* Run the pre_installation script that will take care of installing PsyNeuLink
+- Create and/or activate the conda environment you want to use
+```
+conda create --name psyneulinkview python=3.10
+conda activate psyneulinkview
+```
+- Run the installation script
```
-bash pre_installation.sh
+bash linux_installer.sh
```
+- Once finished, the script will create the terminal command psyneulinkviewer which can be used to launch the application, otherwise this will be present also in your desktop.
-* Download the packaged version of the software from the [releases page](https://github.com/MetaCell/PsyNeuLinkView/releases) link, then
+# Installation process inside script
-### MacOS
+The scripts above run the following commands in order:
-* Open your terminal and navigate to the folder containing the archive osx.tar.gz previously downloaded
+Firs installs the python module 'psyneulinkviewer' from PyPi
-* Open the archive and then navigate in the app folder with the commands below
+```
+sudo pip install psyneulinkviewer
+```
- ```
- tar xvfz osx.tar.gz
- cd PsyNeuLinkViewer-darwin-x64/PsyNeuLinkViewer.app/Contents/MacOS/
- ```
+This commands installs required libraries and packages. Also creates a conda enviroment where the needed packages are installed.
-* Before to launch the application ensure that you are running the node version required, so
+After successfully installing the python package above, it reset the user's bash profile to apply the settings changes
- ```
- node --version
- ```
+- Linux
- and if this is different from v16.16 then either follow the steps at the top or run
+```
+source ~/.profile
+```
- ```
- nvm use 16.16
- ```
+- Mac
-* Now you can run the application
+```
+source ~/.bash_profile
+```
+
+Then, a desktop file is created on the Desktop which allows users to open the application this way
+
+# Psyneulinkviewer Requirements
- ```
- ./PsyNeuLinkViewer
- ```
+Psyneulinkviewer requires:
-### Linux
+- Python 3.11 and pip
+- Pip packages : psyneulink, graphviz, wget, packaging and requests
+- Conda 4.9.1 or above
+- Node 4.19.0 or above
+- Rosetta ( on Mac)
-* Open your terminal and navigate to the folder containing the archive linux.tar.gz previously downloaded
+All of these are downloaded and installed as part of psyneulinkviewer installation process.
-* Open the archive and then navigate in the app folder with the commands below
+# Testing Models
- ```
- tar xvfz linux.tar.gz
- cd PsyNeuLinkViewer-linux-x64/
- ```
+If all went well with installation, you should see the application running as in screenshot below :
+
-* Before to launch the application ensure that you are running the node version required, so
+To test models, download [these models](https://github.com/MetaCell/PsyNeuLinkView/tree/feature/PSYNEU-140/test_models) and import one at a time to test. Each time a Model is open, the previous one will disappear. I recommend you start with the models inside 'working_tests', as those are the ones we know for sure should we working.
- ```
- node --version
- ```
+To import go to File -> Open Models
- and if this is different from v16.16 then either follow the steps at the top or run
+# PsyNeuLinkView Package Building
- ```
- nvm use 16.16
- ```
+To build pip package
+
+```
+cd package
+python3 -m pip install build
+python3 -m build --sdist
+```
-* Now you can run the application
+To test local build
- ```
- ./PsyNeuLinkViewer
- ```
+```
+pip install dist/psyneulinkviewer-VERSIOn.tar.gz
+```
+To upload to distribution server. You will need token shared privately to be able to upload.
+
+```
+python3 -m twine upload dist/*
+```
+
+To upload to test Pypi server
+
+```
+python3 -m twine upload --repository testpypi dist/*
+```
# Development Installation
@@ -130,12 +188,6 @@ chmod +x installation.sh
## Usage
-- If you need to work purely on the frontend you can run:
-
-```
-yarn run start:dev
-```
-
- If you need to work on the entire flow of the application you must start it with:
```
diff --git a/installation.sh b/installation.sh
index d10e1049..f0795969 100755
--- a/installation.sh
+++ b/installation.sh
@@ -179,3 +179,15 @@ else
echo " - The script can be run in update (-u / --update) or install (-i / --install) mode."
echo " - please use the option desidered to run the script again."
fi
+
+echo "### installing graphviz ###"
+conda install -y python-graphviz
+
+echo "### removing grpcio ###"
+pip uninstall -y grpcio && pip uninstall -y grpcio-tools
+
+echo "### installing grpcio ###"
+conda install -y -c conda-forge grpcio
+
+echo "### installing modeci_mdf ###"
+pip install modeci_mdf
diff --git a/package.json b/package.json
index b325171b..a01fec90 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "psyneulinkviewer",
- "version": "0.0.4",
+ "version": "0.0.5",
"main": "./public/electron.js",
"description": "An editor and viewer for PsyNeuLink models",
"private": true,
@@ -13,9 +13,9 @@
"@fortawesome/react-fontawesome": "^0.1.9",
"@grpc/grpc-js": "^1.8.9",
"@grpc/proto-loader": "^0.7.5",
- "@metacell/geppetto-meta-client": "1.2.0",
- "@metacell/geppetto-meta-core": "1.2.0",
- "@metacell/geppetto-meta-ui": "1.2.0",
+ "@metacell/geppetto-meta-client": "1.2.8",
+ "@metacell/geppetto-meta-core": "1.2.8",
+ "@metacell/geppetto-meta-ui": "1.2.8",
"@metacell/meta-diagram": "file:.yalc/@metacell/meta-diagram",
"@mui/icons-material": "^5.8.4",
"@mui/lab": "^5.0.0-alpha.103",
diff --git a/package/LICENSE b/package/LICENSE
new file mode 100644
index 00000000..335ea9d0
--- /dev/null
+++ b/package/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2018 The Python Packaging Authority
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/package/README.md b/package/README.md
new file mode 100644
index 00000000..27ba2d3e
--- /dev/null
+++ b/package/README.md
@@ -0,0 +1,76 @@
+# Installation process inside script
+
+The scripts above run the following commands in order:
+
+Firs installs the python module 'psyneulinkviewer' from PyPi
+
+```
+sudo pip install psyneulinkviewer
+```
+
+This commands installs required libraries and packages. Also creates a conda enviroment where the needed packages are installed.
+
+After successfully installing the python package above, it reset the user's bash profile to apply the settings changes
+
+- Linux
+
+```
+source ~/.profile
+```
+
+- Mac
+
+```
+source ~/.bash_profile
+```
+
+Then, a desktop file is created on the Desktop which allows users to open the application this way
+
+# Psyneulinkviewer Requirements
+
+Psyneulinkviewer requires:
+
+- Python 3.11 and pip
+- Pip packages : psyneulink, graphviz, wget, packaging and requests
+- Conda 4.9.1 or above
+- Node 4.19.0 or above
+- Rosetta ( on Mac)
+
+All of these are downloaded and installed as part of psyneulinkviewer installation process.
+
+# Testing Models
+
+If all went well with installation, you should see the application running as in screenshot below :
+
+
+To test models, download [these models](https://github.com/MetaCell/PsyNeuLinkView/tree/feature/PSYNEU-140/test_models) and import one at a time to test. Each time a Model is open, the previous one will disappear. I recommend you start with the models inside 'working_tests', as those are the ones we know for sure should we working.
+
+To import go to File -> Open Models
+
+# PsyNeuLinkView Package Building
+
+To build pip package
+
+```
+cd package
+python3 -m pip install build
+python3 -m build --sdist
+```
+
+To test local build
+
+```
+pip install dist/psyneulinkviewer-VERSIOn.tar.gz
+```
+
+To upload to distribution server. You will need token shared privately to be able to upload.
+
+```
+python3 -m twine upload dist/*
+```
+
+To upload to test Pypi server
+
+```
+python3 -m twine upload --repository testpypi dist/*
+```
diff --git a/package/dist/psyneulinkviewer-0.4.9.1.tar.gz b/package/dist/psyneulinkviewer-0.4.9.1.tar.gz
new file mode 100644
index 00000000..ed7c2e11
Binary files /dev/null and b/package/dist/psyneulinkviewer-0.4.9.1.tar.gz differ
diff --git a/package/installers/installer.py b/package/installers/installer.py
new file mode 100644
index 00000000..91fa7fc9
--- /dev/null
+++ b/package/installers/installer.py
@@ -0,0 +1,46 @@
+from os import path
+import sys
+import subprocess
+import requests
+
+def does_it_exists(command):
+ rc = subprocess.call(['which', command])
+ if rc == 0:
+ return True
+ else:
+ return False
+
+
+# create a function, download_installer, that takes in input the url and
+# save the bash script in the home directory of the user
+def download_installer(url):
+ # download the installer
+ response = requests.get(url)
+ # save the installer in the home directory
+ installer_path = path.join(path.expanduser('~'), 'installer.sh')
+ with open(installer_path, 'wb') as f:
+ f.write(response.content)
+ return installer_path
+
+
+# check if the platofrm is windows, linux or macos
+if sys.platform == 'linux':
+ # install the linux specific package
+ linux_url = 'https://raw.githubusercontent.com/MetaCell/PsyNeuLinkView/develop/package/scripts/linux_installer.sh'
+ linux_installer = download_installer(linux_url)
+ command1 = ["xterm", "-fa", "'Monospace'", "-fs", "14", "-hold", "-e", "/bin/bash", "-ilc", "cd $HOME && chmod +x " + linux_installer + " && bash " + linux_installer + "; rm -f " + linux_installer]
+ command2 = ["konsole", "--noclose", "-e", "$SHELL", "-ilc", "cd $HOME && chmod +x " + linux_installer + " && bash " + linux_installer + "; rm -f " + linux_installer]
+ command3 = ["gnome-terminal", "--", "$SHELL", "-ilc", "cd $HOME && chmod +x " + linux_installer + " && bash " + linux_installer + "; rm -f " + linux_installer]
+ # check if the user has the item 0 of each command array installed, once you find one installed run the command
+ for command in [command1, command2, command3]:
+ if does_it_exists(command[0]):
+ subprocess.call(command)
+ break
+elif sys.platform == 'darwin':
+ # install the macos specific package
+ mac_url = 'https://raw.githubusercontent.com/MetaCell/PsyNeuLinkView/develop/package/scripts/mac_installer.sh'
+ mac_installer = download_installer(mac_url)
+ command1 = ["osascript", "-e", "tell application \"Terminal\" to do script \"cd $HOME && chmod +x " + mac_installer + " && bash " + mac_installer + "; rm -f " + mac_installer + "\""]
+ subprocess.call(command1)
+else:
+ raise Exception('Unsupported platform')
diff --git a/package/installers/requirements.txt b/package/installers/requirements.txt
new file mode 100644
index 00000000..95027339
--- /dev/null
+++ b/package/installers/requirements.txt
@@ -0,0 +1,2 @@
+pyinstaller==6.11.1
+requests==2.32.3
diff --git a/package/psyneulinkviewer.egg-info/PKG-INFO b/package/psyneulinkviewer.egg-info/PKG-INFO
new file mode 100644
index 00000000..abef2801
--- /dev/null
+++ b/package/psyneulinkviewer.egg-info/PKG-INFO
@@ -0,0 +1,12 @@
+Metadata-Version: 2.1
+Name: psyneulinkviewer
+Version: 0.4.9.1
+Home-page: https://github.com/metacell/psyneulinkviewer
+Author: metacell
+Author-email: dev@metacell.us
+Requires-Python: >=3.7
+License-File: LICENSE
+Requires-Dist: requests
+Requires-Dist: wget
+Requires-Dist: packaging<=24.0
+Requires-Dist: psyneulink
diff --git a/package/psyneulinkviewer.egg-info/SOURCES.txt b/package/psyneulinkviewer.egg-info/SOURCES.txt
new file mode 100644
index 00000000..478c163b
--- /dev/null
+++ b/package/psyneulinkviewer.egg-info/SOURCES.txt
@@ -0,0 +1,14 @@
+LICENSE
+README.md
+setup.py
+psyneulinkviewer/__init__.py
+psyneulinkviewer/conda.py
+psyneulinkviewer/configuration.py
+psyneulinkviewer/node.py
+psyneulinkviewer/rosetta.py
+psyneulinkviewer/start.py
+psyneulinkviewer.egg-info/PKG-INFO
+psyneulinkviewer.egg-info/SOURCES.txt
+psyneulinkviewer.egg-info/dependency_links.txt
+psyneulinkviewer.egg-info/requires.txt
+psyneulinkviewer.egg-info/top_level.txt
\ No newline at end of file
diff --git a/package/psyneulinkviewer.egg-info/dependency_links.txt b/package/psyneulinkviewer.egg-info/dependency_links.txt
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/package/psyneulinkviewer.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/package/psyneulinkviewer.egg-info/requires.txt b/package/psyneulinkviewer.egg-info/requires.txt
new file mode 100644
index 00000000..1607e837
--- /dev/null
+++ b/package/psyneulinkviewer.egg-info/requires.txt
@@ -0,0 +1,4 @@
+requests
+wget
+packaging<=24.0
+psyneulink
diff --git a/package/psyneulinkviewer.egg-info/top_level.txt b/package/psyneulinkviewer.egg-info/top_level.txt
new file mode 100644
index 00000000..7c1a94eb
--- /dev/null
+++ b/package/psyneulinkviewer.egg-info/top_level.txt
@@ -0,0 +1 @@
+psyneulinkviewer
diff --git a/package/psyneulinkviewer/__init__.py b/package/psyneulinkviewer/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/package/psyneulinkviewer/conda.py b/package/psyneulinkviewer/conda.py
new file mode 100644
index 00000000..4f14377c
--- /dev/null
+++ b/package/psyneulinkviewer/conda.py
@@ -0,0 +1,170 @@
+import platform
+import os
+import sys
+import subprocess
+import logging
+import platform
+import re
+from setuptools import setup, find_packages
+from setuptools.command.install import install
+from psyneulinkviewer import configuration
+
+logger = logging.getLogger(__name__)
+logging.basicConfig(level=logging.INFO)
+
+conda_installed = False
+
+def create_env():
+ env_name = None
+ try:
+ envs = subprocess.run(
+ ["conda", "env","list"],
+ capture_output = True,
+ text = True
+ ).stdout
+ if envs is not None:
+ envs = envs.splitlines()
+ env_name = list(filter(lambda s: configuration.env_name in str(s), envs))[0]
+ env_name = str(env_name).split()[0]
+ logging.info("Environment found %s", env_name)
+ if env_name == configuration.env_name:
+ logging.info("Conda environment found %s", env_name)
+ except Exception as error:
+ logging.info("Conda environment not found")
+ env_name = None
+
+ if env_name is None:
+ command = get_conda_installed_path() + configuration.create_env
+ logging.info("Creating conda environment %s", command)
+ subprocess.run(command, shell=True)
+
+
+def shell_source(script):
+ """Sometime you want to emulate the action of "source" in bash,
+ settings some environment variables. Here is a way to do it."""
+ import subprocess, os
+ pipe = subprocess.Popen(". %s; env" % script, stdout=subprocess.PIPE, shell=True)
+ output = pipe.communicate()[0]
+ logging.info("Output %s", output)
+ env = dict((line.split("=", 1) for line in output.splitlines()))
+ os.environ.update(env)
+
+def install_conda():
+ import wget
+ if platform.system() == 'Linux':
+ bash_file = wget.download(configuration.linux_conda_bash)
+ elif platform.system() == 'Darwin':
+ bash_file = wget.download(configuration.mac_conda_bash)
+
+ logging.info("Installing conda %s", bash_file)
+ logging.info(bash_file)
+ subprocess.run("chmod +x " + bash_file, shell=True)
+ subprocess.run("bash " + bash_file + " -b -u -p " + configuration.conda_installation_path, shell=True)
+ subprocess.run(configuration.conda_binary + " init bash", shell=True)
+ subprocess.run(configuration.conda_binary + " init zsh", shell=True)
+
+ logging.info("Clean up ")
+ subprocess.run("rm -rf " + bash_file, shell=True)
+
+ conda_installed = True
+
+def get_conda_installed_path():
+ installation_path = detect_activated_conda_location()
+ logging.info("installation_path %s ", installation_path)
+ if installation_path is None:
+ if platform.system() == "Darwin":
+ installation_path = configuration.conda_installation_path_mac_default
+ logging.info("installation_path %s ", conda_installed)
+ installation_path = configuration.conda_installation_path
+
+ return installation_path.strip()
+
+def conda_binary_path():
+ installation_path = detect_activated_conda_location()
+ if conda_installed:
+ installation_path = configuration.conda_installation_path
+ else:
+ if installation_path is None:
+ if platform.system() == "Darwin":
+ installation_path = configuration.conda_installation_path_mac_default
+
+ return installation_path
+
+def check_conda_installation():
+ conda_version = None
+ try:
+ result = subprocess.run(
+ ["conda", "--version"],
+ capture_output=True,
+ text=True,
+ check=True # Raises CalledProcessError if the command fails
+ )
+ conda_version = result.stdout.strip()
+ logging.info("Conda version command output '%s' : ", conda_version)
+ if conda_version:
+ conda_version = conda_version.split(" ")[1]
+ logging.info("Conda version detected : %s", conda_version)
+ else:
+ conda_version = None
+ logging.info("Conda version not detected")
+ except Exception as error:
+ conda_version = None
+ if not isinstance(error, FileNotFoundError):
+ logging.error("Error with conda installation, exiting setup: %s ", error)
+ sys.exit()
+
+ if conda_version is None:
+ logging.info("Conda is not installed, installing next ....")
+ install_conda()
+ else:
+ from packaging.version import Version
+ if Version(conda_version) > Version(configuration.conda_required_version):
+ logging.info("Conda version exists and valid, %s", conda_version)
+ else:
+ logging.info("Conda version not up to date, updating version")
+ install_conda()
+
+ env_name = detect_activated_conda()
+
+ if env_name is not None:
+ logging.info("Conda environment found and activated %s", env_name)
+ else:
+ create_env()
+
+def detect_activated_conda() :
+ env_name = None
+ try:
+ env_name = subprocess.run(
+ ["conda", "info"],
+ capture_output = True,
+ text = True
+ ).stdout
+ if env_name:
+ env_name = re.search('(?<=active environment : )(\w+)', env_name)
+ env_name = env_name.group(1)
+ if env_name == "None":
+ logging.info("Conda environment not detected active : %s", env_name)
+ env_name = None
+ else:
+ logging.info("Conda environment detected active : %s", env_name)
+ except Exception as error:
+ logging.info("Environment not found active: %s ", error)
+
+ return env_name
+
+def detect_activated_conda_location() :
+ env_location = None
+ try:
+ env_location = subprocess.run(
+ ["conda", "info"],
+ capture_output = True,
+ text = True
+ ).stdout
+ if env_location:
+ env_location = re.search('(?<=base environment : )(/[a-zA-Z0-9\./]*[\s]?)', env_location)
+ env_location = env_location.group(0)
+ env_location = env_location.strip()
+ except Exception as error:
+ logging.info("Environment not found active: %s ", error)
+
+ return env_location
\ No newline at end of file
diff --git a/package/psyneulinkviewer/configuration.py b/package/psyneulinkviewer/configuration.py
new file mode 100644
index 00000000..796716ea
--- /dev/null
+++ b/package/psyneulinkviewer/configuration.py
@@ -0,0 +1,35 @@
+graphviz = "graphviz"
+psyneulink = "psyneulink"
+conda_required_version = "4.9.1"
+
+releases_url = 'https://api.github.com/repos/MetaCell/PsyNeuLinkView/releases'
+application_url = "psyneulinkviewer-linux-x64/psyneulinkviewer"
+application_url_mac = "psyneulinkviewer-darwin-x64/psyneulinkviewer.app"
+installation_folder_name = "/psyneulinkviewer-linux-x64"
+installation_folder_name_mac = "/psyneulinkviewer-darwin-x64"
+
+#Symlink
+symlink = "/usr/local/bin/psyneulinkviewer"
+extract_location = "/usr/local/bin"
+
+linux_conda_bash = "https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh"
+mac_conda_bash = "https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh"
+
+env_name = "psyneulinkview"
+
+conda_installation_path = "~/miniconda3"
+conda_installation_path_mac_default = "/opt/miniconda3"
+
+conda_binary = "~/miniconda3/bin/conda"
+conda_binary_mac_default = "/opt/miniconda3/bin/conda"
+
+create_env = "/bin/conda create --name " + env_name + " python=3.11"
+
+binary_commands = " --verbose --no-capture-output --live-stream python -c 'from psyneulinkviewer.start import continue_on_conda; continue_on_conda()'"
+continue_on_conda_new_env = "/bin/conda run -n " + env_name + binary_commands
+
+rosetta_installation = "softwareupdate --install-rosetta --agree-to-license"
+
+conda_forge = "conda config --add channels conda-forge"
+node_installation = "conda install nodejs"
+node_required_version = "4.19.0"
diff --git a/package/psyneulinkviewer/node.py b/package/psyneulinkviewer/node.py
new file mode 100644
index 00000000..7fed5836
--- /dev/null
+++ b/package/psyneulinkviewer/node.py
@@ -0,0 +1,62 @@
+import sys
+import subprocess
+import logging
+from psyneulinkviewer import configuration
+from setuptools.command.install import install
+
+logger = logging.getLogger(__name__)
+logging.basicConfig(level=logging.INFO)
+
+def install_node():
+ logging.info("Installing node")
+ subprocess.run(configuration.conda_forge, shell=True)
+ subprocess.run(configuration.node_installation, shell=True)
+
+def check_node_installation():
+ node_version = None
+ try:
+ node_version = subprocess.run(
+ ["node", "--version"],
+ capture_output = True,
+ text = True
+ ).stdout
+ except Exception as error:
+ if not isinstance(error, FileNotFoundError):
+ logging.error("Error with node installation, exiting setup: %s ", error)
+ sys.exit()
+
+ if node_version is None:
+ logging.info("Node is not installed")
+ user_input = "no"
+ try:
+ user_input = input("Do you want to continue with node installation? (yes/no): ")
+ except Exception as error:
+ logging.info("No input entered, continue with installation of node")
+ user_input = "yes"
+
+ if user_input.lower() in ["yes", "y"]:
+ logging.info("Continuing with node installation...")
+ install_node()
+ try:
+ node_version = subprocess.run(
+ ["node", "--version"],
+ capture_output = True,
+ text = True
+ ).stdout
+ except Exception as error:
+ if not isinstance(error, FileNotFoundError):
+ logging.error("Error with node installation, exiting setup: %s ", error)
+ sys.exit()
+ else:
+ logging.error("Exiting, node must be installed to continue...")
+ sys.exit()
+ from packaging.version import Version
+ if node_version is None:
+ logging.error("Node version not up to date, update required")
+ install_node()
+ else:
+ if Version(node_version) > Version(configuration.node_required_version):
+ logging.info("Node version exists and valid, %s", node_version)
+ else:
+ logging.error("Node version not up to date, update required")
+ install_node()
\ No newline at end of file
diff --git a/package/psyneulinkviewer/rosetta.py b/package/psyneulinkviewer/rosetta.py
new file mode 100644
index 00000000..33faae62
--- /dev/null
+++ b/package/psyneulinkviewer/rosetta.py
@@ -0,0 +1,49 @@
+import platform
+import subprocess
+import logging
+import platform
+import sys
+from psyneulinkviewer import configuration
+from setuptools.command.install import install
+
+logger = logging.getLogger(__name__)
+logging.basicConfig(level=logging.INFO)
+
+def install_rosetta():
+ if platform.system() == 'Darwin':
+ logging.info("Installing rosetta")
+ subprocess.run(configuration.rosetta_installation, shell=True)
+
+def check_rosetta_installation():
+ rosetta_version = None
+ try:
+ if platform.system() == 'Darwin':
+ rosetta_version = subprocess.run(
+ ["rosseta", "--version"],
+ capture_output = True,
+ text = True
+ ).stdout
+ if rosetta_version:
+ rosetta_version = rosetta_version.split(" ")[1]
+ logging.info("Rosseta version detected : %s", rosetta_version)
+ except Exception as error:
+ if not isinstance(error, FileNotFoundError):
+ logging.error("Error with rosetta installation, exiting setup: %s ", error)
+ sys.exit()
+
+ if rosetta_version is None and platform.system() == 'Darwin':
+ logging.info("Rosetta ist not installed")
+ user_input = "no"
+ try:
+ user_input = input("Do you want to continue with rosetta installation? (yes/no): ")
+ except Exception as error:
+ logging.info("No input entered, continue with installation of rosetta")
+ user_input = "yes"
+
+ if user_input.lower() in ["yes", "y"]:
+ logging.info("Continuing with rosetta installation...")
+ install_rosetta()
+ else:
+ logging.error("Exiting, rosetta must be installed to continue...")
+ sys.exit()
+
diff --git a/package/psyneulinkviewer/start.py b/package/psyneulinkviewer/start.py
new file mode 100644
index 00000000..8548f740
--- /dev/null
+++ b/package/psyneulinkviewer/start.py
@@ -0,0 +1,209 @@
+import re
+import json
+import platform
+import os
+import shutil
+import sys
+import subprocess
+import logging
+import tarfile
+import atexit
+from psyneulinkviewer import configuration
+from setuptools import setup, find_packages
+from setuptools.command.install import install
+from psyneulinkviewer.conda import check_conda_installation, detect_activated_conda, detect_activated_conda_location, get_conda_installed_path
+from psyneulinkviewer.rosetta import check_rosetta_installation
+from psyneulinkviewer.node import check_node_installation
+
+logger = logging.getLogger(__name__)
+logging.basicConfig(level=logging.INFO)
+
+in_conda = 'CONDA_PREFIX' in os.environ
+
+def check_os():
+ if os.name == 'nt':
+ sys.exit('Windows is not supported')
+ else:
+ logging.info("OS version supported")
+
+def check_python():
+ if in_conda:
+ if not (3, 7) <= sys.version_info < (3, 12):
+ logging.error('Python version not supported, python 3.7 to 3.11 is required. %f' , sys.version_info)
+ sys.exit('Python version not supported, 3.11 is required.')
+ else:
+ logging.info("Python version is supported")
+
+def check_graphviz():
+ logging.info(configuration.graphviz +" is not installed, installing")
+ try:
+ result = subprocess.run(
+ ["conda", "install", "graphviz"],
+ capture_output = True,
+ text = True
+ ).stdout
+ logger.info("Success installing graphviz %s ", result)
+ except Exception as error:
+ logger.info("Error installing graphviz")
+
+def check_psyneulink():
+ logging.info(configuration.psyneulink +" installing")
+ try:
+ subprocess.check_call([sys.executable, "-m", "pip", "install", "psyneulink"])
+ logger.info("Success installing psyneulink")
+ except Exception as error:
+ logger.info("Error installing psyneulink")
+
+def get_filename_from_cd(cd):
+ """
+ Get filename from content-disposition
+ """
+ if not cd:
+ return None
+ fname = re.findall('filename=(.+)', cd)
+ if len(fname) == 0:
+ return None
+ return fname[0]
+
+def get_latest_release(installation_path):
+ import requests
+
+ headers = {'Accept': 'application/vnd.github+json','Authorization': 'Bearer JWT', 'X-GitHub-Api-Version' : '2022-11-28'}
+ r = requests.get(configuration.releases_url, allow_redirects=True)
+ releases = json.loads(r.text)
+ assets = releases[1]["assets"]
+
+ target_release = None
+ platform_name = platform.system().lower()
+ if platform.system() == 'Darwin':
+ platform_name = "osx"
+ for asset in assets :
+ if platform_name in asset['name'] :
+ target_release = asset["browser_download_url"]
+
+
+ logging.info("System detected %s :", platform.system())
+ logging.info("Target release url found %s :", target_release)
+ logging.info("Downloading release to %s...", installation_path)
+ release_download = requests.get(target_release, allow_redirects=True)
+
+ filename = get_filename_from_cd(release_download.headers.get('content-disposition'))
+ tar_location = os.path.join(installation_path, filename)
+ logging.info("Writing release to %s...", tar_location)
+ open(tar_location, 'wb').write(release_download.content)
+
+ logging.info("Opening compressed file %s", filename)
+ tar = tarfile.open(tar_location)
+
+ extract_location = configuration.extract_location
+
+ psyneulink_location = extract_location + configuration.installation_folder_name
+ if platform.system() == "Darwin":
+ extract_location = os.path.expanduser("~")
+ psyneulink_location = extract_location + configuration.installation_folder_name_mac
+
+ logging.info("Removing %s", psyneulink_location)
+ # Remove the folder if it exists
+ if os.path.exists(psyneulink_location):
+ logging.info("Removing %s", psyneulink_location)
+ shutil.rmtree(psyneulink_location)
+
+ permissions = os.access(extract_location, os.W_OK)
+ logging.info("Extract location permissions : %s", permissions)
+
+ tar.extractall(path=extract_location)
+ tar.close()
+ logging.info("Release file uncompressed at : %s", extract_location)
+
+ application = os.path.join(extract_location, configuration.application_url)
+ if platform.system() == "Darwin":
+ application = os.path.join(extract_location, configuration.application_url_mac)
+
+ symlink = configuration.symlink
+ if platform.system() == "Darwin":
+ symlink = os.path.join(extract_location, "psyneulinkviewer")
+
+ permissions = os.access(symlink, os.W_OK)
+ logging.info("Symlink path permission : %s", permissions)
+
+ logging.info("Creating symlink at : %s", symlink)
+ logging.info("Application at : %s", application)
+ try:
+ if os.path.islink(symlink):
+ os.remove(symlink)
+ os.symlink(application, symlink)
+ except OSError as e:
+ logging.error("Error applying symlin %f ", e)
+
+ logging.info("Symlink created")
+
+ logging.info("*** To launch the application run : **** ")
+ logging.info(" %s " ,symlink)
+
+def continue_on_conda():
+ check_rosetta_installation()
+ check_node_installation()
+ check_graphviz()
+ check_psyneulink()
+ get_latest_release(os.path.dirname(os.path.realpath(__file__)))
+
+def update_env_variable(var_name, var_value):
+ # Determine the appropriate profile file based on the OS
+ profile_file = os.path.expanduser('~/.profile')
+ if platform.system() == 'Darwin':
+ # For macOS and Linux
+ profile_file = os.path.expanduser('~/.bashrc_profile')
+
+ # Read the current content of the profile file
+ try:
+ with open(profile_file, 'r') as file:
+ lines = file.readlines()
+ except FileNotFoundError:
+ lines = []
+
+ # Update or add the environment variable
+ var_found = False
+ for i, line in enumerate(lines):
+ if line.startswith(f'export {var_name}='):
+ lines[i] = f'export {var_name}="{var_value}"\n'
+ var_found = True
+ break
+
+ if not var_found:
+ lines.append(f'export {var_name}="{var_value}"\n')
+
+ # Write the updated content back to the profile file
+ with open(profile_file, 'w') as file:
+ file.writelines(lines)
+
+ logging.info(f"Updated {var_name} in {profile_file}.")
+
+def prerequisites():
+ check_os()
+ check_python()
+ check_conda_installation()
+ #Install package requirements on conda
+ env_name = detect_activated_conda()
+ env_location = detect_activated_conda_location()
+ env_var_name = 'PSYNEULINK_ENV'
+ env_var_value = configuration.env_name
+
+ if env_name is None or env_location is None:
+ conda_command_binary = configuration.conda_installation_path + configuration.continue_on_conda_new_env
+ if platform.system() == 'Darwin':
+ conda_command_binary = get_conda_installed_path() + configuration.continue_on_conda_new_env
+ logging.info("Binary command %s ", conda_command_binary)
+ subprocess.run(conda_command_binary, shell=True)
+ else:
+ env_var_value = env_name
+ command = env_location + "/bin/conda run -n " + env_name + configuration.binary_commands
+ logging.info("Binary command %s ", command)
+ subprocess.run(command, shell=True)
+
+ update_env_variable(env_var_name, env_var_value)
+
+def main():
+ prerequisites()
+
+if __name__ == "__main__":
+ main()
\ No newline at end of file
diff --git a/package/requirements.txt b/package/requirements.txt
new file mode 100644
index 00000000..c499e750
--- /dev/null
+++ b/package/requirements.txt
@@ -0,0 +1,3 @@
+wget==3.2
+packaging
+requests
\ No newline at end of file
diff --git a/package/scripts/linux_installer.sh b/package/scripts/linux_installer.sh
new file mode 100755
index 00000000..ad8624a8
--- /dev/null
+++ b/package/scripts/linux_installer.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+echo 'I AM SOURCING BASHRC'
+source ~/.profile
+echo $PATH
+
+check_last_command () {
+ if [[ $? -ne 0 ]]; then
+ echo ">>> Please report the output below to support@metacell.us <<<"
+ echo "Error: $1"
+ python --version
+ pip --version
+ conda --version
+ exit 1
+ fi
+}
+
+# Variables
+APP_NAME="PsyneulinkViewer" # Name of the application
+SYMLINK_PATH="psyneulinkviewer" # Symlink to the application you want to launch
+CONDA_ENV=$PSYNEULINK_ENV # Conda environment to activate if none is active
+ICON_PATH="/usr/local/bin/psyneulinkviewer-linux-x64/resources/app/build/logo.png" # Path to the custom icon
+DESKTOP_FILE="$HOME/Desktop/$APP_NAME.desktop" # Path where the desktop shortcut will be created
+
+rm -f "$DESKTOP_FILE"
+
+# Cleanup existing installations of psneulinkviewer
+rm -rf "/usr/local/bin/psyneulinkviewer-linux-x64/"
+rm -rf "/usr/local/bin/psyneulinkviewer"
+# Kill any existing rpc_server instances
+ps aux | grep rpc_server | grep -v grep | awk '{print $2}' | xargs kill -9
+
+pip uninstall psyneulinkviewer && pip cache purge
+pip install -vv psyneulinkviewer --break-system-packages --use-pep517 && . ~/.profile && sudo chown root:root /usr/local/bin/psyneulinkviewer-linux-x64/chrome-sandbox && sudo chmod 4755 /usr/local/bin/psyneulinkviewer-linux-x64/chrome-sandbox
+
+# Creating the .desktop file for the application
+echo "[Desktop Entry]" > "$DESKTOP_FILE"
+echo "Version=1.0" >> "$DESKTOP_FILE"
+echo "Name=$APP_NAME" >> "$DESKTOP_FILE"
+
+# Create the Exec command: Check if conda environment is active, if not activate the specified one
+echo "Exec=bash -c '. ~/miniconda3/etc/profile.d/conda.sh && \
+conda activate $PSYNEULINK_ENV && \
+$SYMLINK_PATH'" >> "$DESKTOP_FILE"
+
+# Set the custom icon
+echo "Icon=$ICON_PATH" >> "$DESKTOP_FILE"
+echo "Type=Application" >> "$DESKTOP_FILE"
+echo "Terminal=false" >> "$DESKTOP_FILE"
+echo "Categories=Application;" >> "$DESKTOP_FILE"
+
+APP_DESKTOP="$HOME/.local/share/applications/$APP_NAME.desktop"
+
+cp "$DESKTOP_FILE" "$APP_DESKTOP"
+# Make the .desktop file executable
+chmod +x "$DESKTOP_FILE"
+rm "$DESKTOP_FILE"
+chmod +x "$APP_DESKTOP"
+
+echo "Application shortcut created at $APP_DESKTOP"
diff --git a/package/scripts/mac_installer.sh b/package/scripts/mac_installer.sh
new file mode 100755
index 00000000..91f0592a
--- /dev/null
+++ b/package/scripts/mac_installer.sh
@@ -0,0 +1,106 @@
+#!/bin/bash
+
+check_last_command () {
+ if [[ $? -ne 0 ]]; then
+ echo ">>> Please report the output below to support@metacell.us <<<"
+ echo "Error: $1"
+ python --version
+ pip --version
+ conda --version
+ exit 1
+ fi
+}
+
+# Variables - adjust these for your setup
+APP_PATH="$HOME/psyneulinkviewer-darwin-x64/psyneulinkviewer.app/"
+CONDA_ENV=$PSYNEULINK_ENV
+ICON_PATH="$HOME/psyneulinkviewer-darwin-x64/psyneulinkviewer.app/Contents/Resources/electron.icns"
+SHORTCUT_NAME="PsyneulinkViewer"
+
+# Define paths
+DESKTOP_PATH="$HOME/Desktop"
+APP_SHORTCUT_PATH="$DESKTOP_PATH/$SHORTCUT_NAME.app"
+COMMAND_FILE_PATH="$APP_SHORTCUT_PATH/Contents/MacOS/$SHORTCUT_NAME"
+ICON_FILE_PATH="$APP_SHORTCUT_PATH/Contents/Resources/$SHORTCUT_NAME.icns"
+
+rm -rf "$APP_SHORTCUT_PATH"
+# Cleanup existing installations of psneulinkviewer
+rm -rf "$HOME/psyneulinkviewer-darwin-x64/"
+rm -rf "$DESKTOP_PATH/$SHORTCUT_NAME.app"
+
+ps aux | grep rpc_server | grep -v grep | awk '{print $2}' | xargs kill -9
+
+pip uninstall psyneulinkviewer && pip cache purge
+pip install -vv psyneulinkviewer --break-system-packages --use-pep517 && source ~/.bashrc_profile
+check_last_command
+
+# Create .app structure
+mkdir -p "$APP_SHORTCUT_PATH/Contents/MacOS"
+mkdir -p "$APP_SHORTCUT_PATH/Contents/Resources"
+
+# Try to find conda.sh, limit search to likely locations
+CONDA_SH=$(find ~ -maxdepth 4 -name conda.sh 2>/dev/null | head -n 1)
+
+echo "Conda.sh found at $CONDA_SH"
+
+# If conda.sh is not found, try the default locations
+if [[ -z "$CONDA_SH" ]]; then
+ if [[ -f "$HOME/anaconda3/etc/profile.d/conda.sh" ]]; then
+ CONDA_SH="$HOME/anaconda3/etc/profile.d/conda.sh"
+ elif [[ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]]; then
+ CONDA_SH="$HOME/miniconda3/etc/profile.d/conda.sh"
+ fi
+
+ echo "Conda.sh found at $CONDA_SH"
+fi
+
+# Check if conda.sh was found
+if [[ -z "$CONDA_SH" ]]; then
+ echo "Error: conda.sh not found! Please ensure Conda is installed properly."
+ exit 1
+fi
+
+# Write the .command file that launches the app with conda environment
+cat < "$COMMAND_FILE_PATH"
+#!/bin/bash
+source ~/.bashrc_profile
+source $CONDA_SH
+conda activate $PSYNEULINK_ENV
+open "$APP_PATH"
+EOL
+
+# Make the script executable
+chmod +x "$COMMAND_FILE_PATH"
+
+# Copy the custom icon
+cp "$ICON_PATH" "$ICON_FILE_PATH"
+
+# Create Info.plist for the app
+cat < "$APP_SHORTCUT_PATH/Contents/Info.plist"
+
+
+
+
+ CFBundleExecutable
+ $SHORTCUT_NAME
+ CFBundleIconFile
+ $SHORTCUT_NAME
+ CFBundleIdentifier
+ com.example.$SHORTCUT_NAME
+ CFBundleName
+ $SHORTCUT_NAME
+ CFBundleVersion
+ 1.0
+ CFBundlePackageType
+ APPL
+
+
+EOL
+
+# Set the correct file permissions for the .app
+chmod -R 755 "$APP_SHORTCUT_PATH"
+
+# Touch the app to refresh Finder so it displays the correct icon
+touch "$APP_SHORTCUT_PATH"
+
+echo "Shortcut created at $DESKTOP_PATH/$SHORTCUT_NAME.app"
\ No newline at end of file
diff --git a/package/setup.py b/package/setup.py
new file mode 100644
index 00000000..a5586c43
--- /dev/null
+++ b/package/setup.py
@@ -0,0 +1,92 @@
+import logging
+import os
+import subprocess
+import sys
+from setuptools import setup, find_packages
+from setuptools.command.install import install
+
+logger = logging.getLogger(__name__)
+logging.basicConfig(level=logging.INFO)
+
+# Check if running in a conda environment
+in_conda = 'CONDA_PREFIX' in os.environ
+
+if in_conda:
+ if not (3, 7) <= sys.version_info < (3, 12):
+ logging.error('Python version not supported, python 3.7 to 3.11 is required. %f' , sys.version_info)
+ sys.exit('Python version not supported, 3.7 to 3.11 is required.')
+
+# Define common dependencies
+common_requires = [
+ 'requests',
+ 'wget',
+ 'packaging<=24.0'
+]
+
+# Define extra dependencies for conda environments
+conda_requires = ['psyneulink']
+
+non_conda_requires = []
+
+# Combine dependencies based on environment
+install_requires = common_requires + (conda_requires if in_conda else non_conda_requires)
+
+class Install(install):
+ user_options = install.user_options + [
+ ('path=', None, 'an option that takes a value')
+ ]
+
+ def initialize_options(self):
+ install.initialize_options(self)
+ self.path = None
+
+ def finalize_options(self):
+ # Validate options
+ if self.path is None:
+ self.path = os.path.dirname(os.path.realpath(__file__))
+ super().finalize_options()
+
+ def run(self):
+ global path
+ path = self.path # will be 1 or None
+
+ package_name = 'psyneulinkviewer'
+
+ # Try to uninstall the package using pip
+ try:
+ result = subprocess.run(
+ ['pip', 'uninstall', '-y', package_name, "--break-system-packages"],
+ capture_output=True,
+ text=True,
+ check=True
+ )
+ logging.info(f"Previous version of {package_name} uninstalled: {result.stdout}")
+
+ # Purge pip cache after successful uninstall
+ purge_result = subprocess.run(['pip', 'cache', 'purge'], capture_output=True, text=True)
+ logging.info(f"Pip cache purged: {purge_result.stdout}")
+
+ except subprocess.CalledProcessError as e:
+ logging.error(f"Failed to uninstall {package_name}: {e.stderr}")
+
+ # Run prerequisites from the psyneulinkviewer package
+ from psyneulinkviewer.start import prerequisites
+ prerequisites()
+ install.run(self)
+
+setup(
+ name="psyneulinkviewer",
+ version="0.4.9.1",
+ url='https://github.com/metacell/psyneulinkviewer',
+ author='metacell',
+ author_email='dev@metacell.us',
+ setup_requires=['requests',
+ 'wget',
+ 'packaging<=24.0'],
+ install_requires=install_requires,
+ packages=find_packages(),
+ cmdclass={
+ 'install': Install
+ },
+ python_requires=">=3.7"
+)
\ No newline at end of file
diff --git a/pre_installation.sh b/pre_installation.sh
index b81eef19..97c315fe 100644
--- a/pre_installation.sh
+++ b/pre_installation.sh
@@ -4,6 +4,6 @@ PSNL_HOME=`pwd`
cd ../
git clone https://github.com/PrincetonUniversity/PsyNeuLink
cd PsyNeuLink
-git checkout devel
+git checkout master
pip install -e .
cd $PSNL_HOME
diff --git a/src/server/model/parser.py b/src/server/model/parser.py
index b7dcfd2e..fd30cdb7 100644
--- a/src/server/model/parser.py
+++ b/src/server/model/parser.py
@@ -197,8 +197,9 @@ def generate_graphviz(self):
node = self.model_tree.get_graph()[key].get_node()
if node.componentType in self.psyneulink_composition_classes:
gv_node = None
- node.show_graph(show_node_structure='all')
- gv_node = node.show_graph(show_node_structure='all', output_fmt="gv")
+ # TODO: below commented since breaking on macos
+ # node.show_graph(show_node_structure=pnl.ALL)
+ gv_node = node.show_graph(show_node_structure=pnl.ALL, output_fmt="gv")
self.graphviz_graph[PNLTypes.COMPOSITIONS.value].append(gv_node.pipe('json', quiet=True).decode())
elif node.componentType in self.psyneulink_mechanism_classes:
if orphan_nodes is None:
diff --git a/yarn.lock b/yarn.lock
index 8439cca1..fe46c73a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -47,11 +47,24 @@
"@babel/highlight" "^7.22.10"
chalk "^2.4.2"
+"@babel/code-frame@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465"
+ integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==
+ dependencies:
+ "@babel/highlight" "^7.24.7"
+ picocolors "^1.0.0"
+
"@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9":
version "7.22.9"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730"
integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==
+"@babel/compat-data@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed"
+ integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==
+
"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35"
@@ -92,6 +105,16 @@
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
+"@babel/generator@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d"
+ integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==
+ dependencies:
+ "@babel/types" "^7.24.7"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
+ jsesc "^2.5.1"
+
"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
@@ -99,6 +122,13 @@
dependencies:
"@babel/types" "^7.22.5"
+"@babel/helper-annotate-as-pure@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab"
+ integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==
+ dependencies:
+ "@babel/types" "^7.24.7"
+
"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz#573e735937e99ea75ea30788b57eb52fab7468c9"
@@ -106,6 +136,14 @@
dependencies:
"@babel/types" "^7.22.10"
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz#37d66feb012024f2422b762b9b2a7cfe27c7fba3"
+ integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==
+ dependencies:
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
"@babel/helper-compilation-targets@^7.22.10", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz#01d648bbc25dd88f513d862ee0df27b7d4e67024"
@@ -117,6 +155,17 @@
lru-cache "^5.1.1"
semver "^6.3.1"
+"@babel/helper-compilation-targets@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9"
+ integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==
+ dependencies:
+ "@babel/compat-data" "^7.24.7"
+ "@babel/helper-validator-option" "^7.24.7"
+ browserslist "^4.22.2"
+ lru-cache "^5.1.1"
+ semver "^6.3.1"
+
"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0", "@babel/helper-create-class-features-plugin@^7.22.10", "@babel/helper-create-class-features-plugin@^7.22.5":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz#dd2612d59eac45588021ac3d6fa976d08f4e95a3"
@@ -132,6 +181,21 @@
"@babel/helper-split-export-declaration" "^7.22.6"
semver "^6.3.1"
+"@babel/helper-create-class-features-plugin@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz#2eaed36b3a1c11c53bdf80d53838b293c52f5b3b"
+ integrity sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.24.7"
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-function-name" "^7.24.7"
+ "@babel/helper-member-expression-to-functions" "^7.24.7"
+ "@babel/helper-optimise-call-expression" "^7.24.7"
+ "@babel/helper-replace-supers" "^7.24.7"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
+ "@babel/helper-split-export-declaration" "^7.24.7"
+ semver "^6.3.1"
+
"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5":
version "7.22.9"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz#9d8e61a8d9366fe66198f57c40565663de0825f6"
@@ -141,6 +205,15 @@
regexpu-core "^5.3.1"
semver "^6.3.1"
+"@babel/helper-create-regexp-features-plugin@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz#be4f435a80dc2b053c76eeb4b7d16dd22cfc89da"
+ integrity sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.24.7"
+ regexpu-core "^5.3.1"
+ semver "^6.3.1"
+
"@babel/helper-define-polyfill-provider@^0.4.2":
version "0.4.2"
resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz#82c825cadeeeee7aad237618ebbe8fa1710015d7"
@@ -152,11 +225,29 @@
lodash.debounce "^4.0.8"
resolve "^1.14.2"
+"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2":
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d"
+ integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.22.6"
+ "@babel/helper-plugin-utils" "^7.22.5"
+ debug "^4.1.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.14.2"
+
"@babel/helper-environment-visitor@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98"
integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==
+"@babel/helper-environment-visitor@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9"
+ integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==
+ dependencies:
+ "@babel/types" "^7.24.7"
+
"@babel/helper-function-name@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be"
@@ -165,6 +256,14 @@
"@babel/template" "^7.22.5"
"@babel/types" "^7.22.5"
+"@babel/helper-function-name@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2"
+ integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==
+ dependencies:
+ "@babel/template" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
"@babel/helper-hoist-variables@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
@@ -172,6 +271,13 @@
dependencies:
"@babel/types" "^7.22.5"
+"@babel/helper-hoist-variables@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee"
+ integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==
+ dependencies:
+ "@babel/types" "^7.24.7"
+
"@babel/helper-member-expression-to-functions@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz#0a7c56117cad3372fbf8d2fb4bf8f8d64a1e76b2"
@@ -179,6 +285,14 @@
dependencies:
"@babel/types" "^7.22.5"
+"@babel/helper-member-expression-to-functions@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz#67613d068615a70e4ed5101099affc7a41c5225f"
+ integrity sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==
+ dependencies:
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c"
@@ -186,6 +300,14 @@
dependencies:
"@babel/types" "^7.22.5"
+"@babel/helper-module-imports@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b"
+ integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==
+ dependencies:
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9":
version "7.22.9"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz#92dfcb1fbbb2bc62529024f72d942a8c97142129"
@@ -197,6 +319,17 @@
"@babel/helper-split-export-declaration" "^7.22.6"
"@babel/helper-validator-identifier" "^7.22.5"
+"@babel/helper-module-transforms@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8"
+ integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-module-imports" "^7.24.7"
+ "@babel/helper-simple-access" "^7.24.7"
+ "@babel/helper-split-export-declaration" "^7.24.7"
+ "@babel/helper-validator-identifier" "^7.24.7"
+
"@babel/helper-optimise-call-expression@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e"
@@ -204,11 +337,23 @@
dependencies:
"@babel/types" "^7.22.5"
+"@babel/helper-optimise-call-expression@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz#8b0a0456c92f6b323d27cfd00d1d664e76692a0f"
+ integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==
+ dependencies:
+ "@babel/types" "^7.24.7"
+
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
+"@babel/helper-plugin-utils@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0"
+ integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==
+
"@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9":
version "7.22.9"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz#53a25b7484e722d7efb9c350c75c032d4628de82"
@@ -218,6 +363,15 @@
"@babel/helper-environment-visitor" "^7.22.5"
"@babel/helper-wrap-function" "^7.22.9"
+"@babel/helper-remap-async-to-generator@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz#b3f0f203628522713849d49403f1a414468be4c7"
+ integrity sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.24.7"
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-wrap-function" "^7.24.7"
+
"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9":
version "7.22.9"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz#cbdc27d6d8d18cd22c81ae4293765a5d9afd0779"
@@ -227,6 +381,15 @@
"@babel/helper-member-expression-to-functions" "^7.22.5"
"@babel/helper-optimise-call-expression" "^7.22.5"
+"@babel/helper-replace-supers@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz#f933b7eed81a1c0265740edc91491ce51250f765"
+ integrity sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-member-expression-to-functions" "^7.24.7"
+ "@babel/helper-optimise-call-expression" "^7.24.7"
+
"@babel/helper-simple-access@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
@@ -234,6 +397,14 @@
dependencies:
"@babel/types" "^7.22.5"
+"@babel/helper-simple-access@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3"
+ integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==
+ dependencies:
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847"
@@ -241,6 +412,14 @@
dependencies:
"@babel/types" "^7.22.5"
+"@babel/helper-skip-transparent-expression-wrappers@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz#5f8fa83b69ed5c27adc56044f8be2b3ea96669d9"
+ integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==
+ dependencies:
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
"@babel/helper-split-export-declaration@^7.22.6":
version "7.22.6"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
@@ -248,21 +427,43 @@
dependencies:
"@babel/types" "^7.22.5"
+"@babel/helper-split-export-declaration@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856"
+ integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==
+ dependencies:
+ "@babel/types" "^7.24.7"
+
"@babel/helper-string-parser@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
+"@babel/helper-string-parser@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2"
+ integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==
+
"@babel/helper-validator-identifier@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193"
integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==
+"@babel/helper-validator-identifier@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db"
+ integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==
+
"@babel/helper-validator-option@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac"
integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==
+"@babel/helper-validator-option@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6"
+ integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==
+
"@babel/helper-wrap-function@^7.22.9":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz#d845e043880ed0b8c18bd194a12005cb16d2f614"
@@ -272,6 +473,16 @@
"@babel/template" "^7.22.5"
"@babel/types" "^7.22.10"
+"@babel/helper-wrap-function@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz#52d893af7e42edca7c6d2c6764549826336aae1f"
+ integrity sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==
+ dependencies:
+ "@babel/helper-function-name" "^7.24.7"
+ "@babel/template" "^7.24.7"
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
"@babel/helpers@^7.22.10":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.10.tgz#ae6005c539dfbcb5cd71fb51bfc8a52ba63bc37a"
@@ -290,11 +501,34 @@
chalk "^2.4.2"
js-tokens "^4.0.0"
+"@babel/highlight@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d"
+ integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.24.7"
+ chalk "^2.4.2"
+ js-tokens "^4.0.0"
+ picocolors "^1.0.0"
+
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.10", "@babel/parser@^7.22.5":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55"
integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==
+"@babel/parser@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85"
+ integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==
+
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz#fd059fd27b184ea2b4c7e646868a9a381bbc3055"
+ integrity sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e"
@@ -302,6 +536,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz#468096ca44bbcbe8fcc570574e12eb1950e18107"
+ integrity sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz#fef09f9499b1f1c930da8a0c419db42167d792ca"
@@ -311,6 +552,23 @@
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/plugin-transform-optional-chaining" "^7.22.5"
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz#e4eabdd5109acc399b38d7999b2ef66fc2022f89"
+ integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
+ "@babel/plugin-transform-optional-chaining" "^7.24.7"
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz#71b21bb0286d5810e63a1538aa901c58e87375ec"
+ integrity sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-proposal-class-properties@^7.16.0":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3"
@@ -441,6 +699,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-syntax-import-assertions@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz#2a0b406b5871a20a841240586b1300ce2088a778"
+ integrity sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-syntax-import-attributes@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb"
@@ -448,6 +713,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-syntax-import-attributes@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz#b4f9ea95a79e6912480c4b626739f86a076624ca"
+ integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
@@ -547,6 +819,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-arrow-functions@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz#4f6886c11e423bd69f3ce51dbf42424a5f275514"
+ integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-async-generator-functions@^7.22.10":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz#45946cd17f915b10e65c29b8ed18a0a50fc648c8"
@@ -557,6 +836,16 @@
"@babel/helper-remap-async-to-generator" "^7.22.9"
"@babel/plugin-syntax-async-generators" "^7.8.4"
+"@babel/plugin-transform-async-generator-functions@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz#7330a5c50e05181ca52351b8fd01642000c96cfd"
+ integrity sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-remap-async-to-generator" "^7.24.7"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+
"@babel/plugin-transform-async-to-generator@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775"
@@ -566,6 +855,15 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-remap-async-to-generator" "^7.22.5"
+"@babel/plugin-transform-async-to-generator@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz#72a3af6c451d575842a7e9b5a02863414355bdcc"
+ integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-remap-async-to-generator" "^7.24.7"
+
"@babel/plugin-transform-block-scoped-functions@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024"
@@ -573,6 +871,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-block-scoped-functions@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz#a4251d98ea0c0f399dafe1a35801eaba455bbf1f"
+ integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-block-scoping@^7.22.10":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz#88a1dccc3383899eb5e660534a76a22ecee64faa"
@@ -580,6 +885,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-block-scoping@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz#42063e4deb850c7bd7c55e626bf4e7ab48e6ce02"
+ integrity sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-class-properties@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77"
@@ -588,6 +900,14 @@
"@babel/helper-create-class-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-class-properties@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz#256879467b57b0b68c7ddfc5b76584f398cd6834"
+ integrity sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-class-static-block@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz#3e40c46f048403472d6f4183116d5e46b1bff5ba"
@@ -597,6 +917,15 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
+"@babel/plugin-transform-class-static-block@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz#c82027ebb7010bc33c116d4b5044fbbf8c05484d"
+ integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+
"@babel/plugin-transform-classes@^7.22.6":
version "7.22.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz#e04d7d804ed5b8501311293d1a0e6d43e94c3363"
@@ -612,6 +941,20 @@
"@babel/helper-split-export-declaration" "^7.22.6"
globals "^11.1.0"
+"@babel/plugin-transform-classes@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz#4ae6ef43a12492134138c1e45913f7c46c41b4bf"
+ integrity sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.24.7"
+ "@babel/helper-compilation-targets" "^7.24.7"
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-function-name" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-replace-supers" "^7.24.7"
+ "@babel/helper-split-export-declaration" "^7.24.7"
+ globals "^11.1.0"
+
"@babel/plugin-transform-computed-properties@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869"
@@ -620,6 +963,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/template" "^7.22.5"
+"@babel/plugin-transform-computed-properties@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz#4cab3214e80bc71fae3853238d13d097b004c707"
+ integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/template" "^7.24.7"
+
"@babel/plugin-transform-destructuring@^7.22.10":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz#38e2273814a58c810b6c34ea293be4973c4eb5e2"
@@ -627,6 +978,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-destructuring@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz#a097f25292defb6e6cc16d6333a4cfc1e3c72d9e"
+ integrity sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-dotall-regex@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165"
@@ -635,6 +993,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-dotall-regex@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz#5f8bf8a680f2116a7207e16288a5f974ad47a7a0"
+ integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-duplicate-keys@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285"
@@ -642,6 +1008,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-duplicate-keys@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz#dd20102897c9a2324e5adfffb67ff3610359a8ee"
+ integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-dynamic-import@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz#d6908a8916a810468c4edff73b5b75bda6ad393e"
@@ -650,6 +1023,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
+"@babel/plugin-transform-dynamic-import@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4"
+ integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+
"@babel/plugin-transform-exponentiation-operator@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a"
@@ -658,6 +1039,14 @@
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-exponentiation-operator@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz#b629ee22645f412024297d5245bce425c31f9b0d"
+ integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==
+ dependencies:
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-export-namespace-from@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz#57c41cb1d0613d22f548fddd8b288eedb9973a5b"
@@ -666,6 +1055,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+"@babel/plugin-transform-export-namespace-from@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz#176d52d8d8ed516aeae7013ee9556d540c53f197"
+ integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+
"@babel/plugin-transform-flow-strip-types@^7.16.0":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2"
@@ -681,6 +1078,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-for-of@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz#f25b33f72df1d8be76399e1b8f3f9d366eb5bc70"
+ integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
+
"@babel/plugin-transform-function-name@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143"
@@ -690,6 +1095,15 @@
"@babel/helper-function-name" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-function-name@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz#6d8601fbffe665c894440ab4470bc721dd9131d6"
+ integrity sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.24.7"
+ "@babel/helper-function-name" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-json-strings@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz#14b64352fdf7e1f737eed68de1a1468bd2a77ec0"
@@ -698,6 +1112,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-json-strings" "^7.8.3"
+"@babel/plugin-transform-json-strings@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz#f3e9c37c0a373fee86e36880d45b3664cedaf73a"
+ integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+
"@babel/plugin-transform-literals@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920"
@@ -705,6 +1127,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-literals@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz#36b505c1e655151a9d7607799a9988fc5467d06c"
+ integrity sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-logical-assignment-operators@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz#66ae5f068fd5a9a5dc570df16f56c2a8462a9d6c"
@@ -713,6 +1142,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+"@babel/plugin-transform-logical-assignment-operators@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz#a58fb6eda16c9dc8f9ff1c7b1ba6deb7f4694cb0"
+ integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+
"@babel/plugin-transform-member-expression-literals@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def"
@@ -720,6 +1157,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-member-expression-literals@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz#3b4454fb0e302e18ba4945ba3246acb1248315df"
+ integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-modules-amd@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz#4e045f55dcf98afd00f85691a68fc0780704f526"
@@ -728,6 +1172,14 @@
"@babel/helper-module-transforms" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-modules-amd@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz#65090ed493c4a834976a3ca1cde776e6ccff32d7"
+ integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-modules-commonjs@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa"
@@ -737,6 +1189,15 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-simple-access" "^7.22.5"
+"@babel/plugin-transform-modules-commonjs@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz#9fd5f7fdadee9085886b183f1ad13d1ab260f4ab"
+ integrity sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-simple-access" "^7.24.7"
+
"@babel/plugin-transform-modules-systemjs@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz#18c31410b5e579a0092638f95c896c2a98a5d496"
@@ -747,6 +1208,16 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-validator-identifier" "^7.22.5"
+"@babel/plugin-transform-modules-systemjs@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz#f8012316c5098f6e8dee6ecd58e2bc6f003d0ce7"
+ integrity sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.24.7"
+ "@babel/helper-module-transforms" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-validator-identifier" "^7.24.7"
+
"@babel/plugin-transform-modules-umd@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98"
@@ -755,6 +1226,14 @@
"@babel/helper-module-transforms" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-modules-umd@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz#edd9f43ec549099620df7df24e7ba13b5c76efc8"
+ integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f"
@@ -763,6 +1242,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz#9042e9b856bc6b3688c0c2e4060e9e10b1460923"
+ integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-new-target@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d"
@@ -770,6 +1257,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-new-target@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz#31ff54c4e0555cc549d5816e4ab39241dfb6ab00"
+ integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz#f8872c65776e0b552e0849d7596cddd416c3e381"
@@ -778,6 +1272,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz#1de4534c590af9596f53d67f52a92f12db984120"
+ integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+
"@babel/plugin-transform-numeric-separator@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz#57226a2ed9e512b9b446517ab6fa2d17abb83f58"
@@ -786,6 +1288,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
+"@babel/plugin-transform-numeric-separator@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz#bea62b538c80605d8a0fac9b40f48e97efa7de63"
+ integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
"@babel/plugin-transform-object-rest-spread@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz#9686dc3447df4753b0b2a2fae7e8bc33cdc1f2e1"
@@ -797,6 +1307,16 @@
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
"@babel/plugin-transform-parameters" "^7.22.5"
+"@babel/plugin-transform-object-rest-spread@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz#d13a2b93435aeb8a197e115221cab266ba6e55d6"
+ integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.24.7"
+
"@babel/plugin-transform-object-super@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c"
@@ -805,6 +1325,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-replace-supers" "^7.22.5"
+"@babel/plugin-transform-object-super@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz#66eeaff7830bba945dd8989b632a40c04ed625be"
+ integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-replace-supers" "^7.24.7"
+
"@babel/plugin-transform-optional-catch-binding@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz#842080be3076703be0eaf32ead6ac8174edee333"
@@ -813,6 +1341,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+"@babel/plugin-transform-optional-catch-binding@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz#00eabd883d0dd6a60c1c557548785919b6e717b4"
+ integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+
"@babel/plugin-transform-optional-chaining@^7.22.10", "@babel/plugin-transform-optional-chaining@^7.22.5":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz#076d28a7e074392e840d4ae587d83445bac0372a"
@@ -822,6 +1358,15 @@
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
+"@babel/plugin-transform-optional-chaining@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz#b8f6848a80cf2da98a8a204429bec04756c6d454"
+ integrity sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
"@babel/plugin-transform-parameters@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz#c3542dd3c39b42c8069936e48717a8d179d63a18"
@@ -829,6 +1374,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-parameters@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz#5881f0ae21018400e320fc7eb817e529d1254b68"
+ integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-private-methods@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722"
@@ -837,6 +1389,14 @@
"@babel/helper-create-class-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-private-methods@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz#e6318746b2ae70a59d023d5cc1344a2ba7a75f5e"
+ integrity sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-private-property-in-object@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz#07a77f28cbb251546a43d175a1dda4cf3ef83e32"
@@ -847,6 +1407,16 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+"@babel/plugin-transform-private-property-in-object@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz#4eec6bc701288c1fab5f72e6a4bbc9d67faca061"
+ integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.24.7"
+ "@babel/helper-create-class-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+
"@babel/plugin-transform-property-literals@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766"
@@ -854,6 +1424,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-property-literals@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz#f0d2ed8380dfbed949c42d4d790266525d63bbdc"
+ integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-react-constant-elements@^7.12.1":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz#6dfa7c1c37f7d7279e417ceddf5a04abb8bb9c29"
@@ -902,6 +1479,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
regenerator-transform "^0.15.2"
+"@babel/plugin-transform-regenerator@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz#021562de4534d8b4b1851759fd7af4e05d2c47f8"
+ integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ regenerator-transform "^0.15.2"
+
"@babel/plugin-transform-reserved-words@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb"
@@ -909,6 +1494,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-reserved-words@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz#80037fe4fbf031fc1125022178ff3938bb3743a4"
+ integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-runtime@^7.16.4":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz#89eda6daf1d3af6f36fb368766553054c8d7cd46"
@@ -928,6 +1520,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-shorthand-properties@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz#85448c6b996e122fa9e289746140aaa99da64e73"
+ integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-spread@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b"
@@ -936,6 +1535,14 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
+"@babel/plugin-transform-spread@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz#e8a38c0fde7882e0fb8f160378f74bd885cc7bb3"
+ integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
+
"@babel/plugin-transform-sticky-regex@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa"
@@ -943,6 +1550,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-sticky-regex@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz#96ae80d7a7e5251f657b5cf18f1ea6bf926f5feb"
+ integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-template-literals@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff"
@@ -950,6 +1564,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-template-literals@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz#a05debb4a9072ae8f985bcf77f3f215434c8f8c8"
+ integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-typeof-symbol@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34"
@@ -957,6 +1578,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-typeof-symbol@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz#f074be466580d47d6e6b27473a840c9f9ca08fb0"
+ integrity sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-typescript@^7.22.5":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz#aadd98fab871f0bb5717bcc24c31aaaa455af923"
@@ -974,6 +1602,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-unicode-escapes@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz#2023a82ced1fb4971630a2e079764502c4148e0e"
+ integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-unicode-property-regex@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81"
@@ -982,6 +1617,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-unicode-property-regex@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz#9073a4cd13b86ea71c3264659590ac086605bbcd"
+ integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-unicode-regex@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183"
@@ -990,6 +1633,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-unicode-regex@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz#dfc3d4a51127108099b19817c0963be6a2adf19f"
+ integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-unicode-sets-regex@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91"
@@ -998,6 +1649,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
+"@babel/plugin-transform-unicode-sets-regex@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz#d40705d67523803a576e29c63cef6e516b858ed9"
+ integrity sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.10.tgz#3263b9fe2c8823d191d28e61eac60a79f9ce8a0f"
@@ -1084,6 +1743,93 @@
core-js-compat "^3.31.0"
semver "^6.3.1"
+"@babel/preset-env@^7.23.5":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.7.tgz#ff067b4e30ba4a72f225f12f123173e77b987f37"
+ integrity sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==
+ dependencies:
+ "@babel/compat-data" "^7.24.7"
+ "@babel/helper-compilation-targets" "^7.24.7"
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/helper-validator-option" "^7.24.7"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.7"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.7"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.7"
+ "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+ "@babel/plugin-syntax-import-assertions" "^7.24.7"
+ "@babel/plugin-syntax-import-attributes" "^7.24.7"
+ "@babel/plugin-syntax-import-meta" "^7.10.4"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+ "@babel/plugin-syntax-top-level-await" "^7.14.5"
+ "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
+ "@babel/plugin-transform-arrow-functions" "^7.24.7"
+ "@babel/plugin-transform-async-generator-functions" "^7.24.7"
+ "@babel/plugin-transform-async-to-generator" "^7.24.7"
+ "@babel/plugin-transform-block-scoped-functions" "^7.24.7"
+ "@babel/plugin-transform-block-scoping" "^7.24.7"
+ "@babel/plugin-transform-class-properties" "^7.24.7"
+ "@babel/plugin-transform-class-static-block" "^7.24.7"
+ "@babel/plugin-transform-classes" "^7.24.7"
+ "@babel/plugin-transform-computed-properties" "^7.24.7"
+ "@babel/plugin-transform-destructuring" "^7.24.7"
+ "@babel/plugin-transform-dotall-regex" "^7.24.7"
+ "@babel/plugin-transform-duplicate-keys" "^7.24.7"
+ "@babel/plugin-transform-dynamic-import" "^7.24.7"
+ "@babel/plugin-transform-exponentiation-operator" "^7.24.7"
+ "@babel/plugin-transform-export-namespace-from" "^7.24.7"
+ "@babel/plugin-transform-for-of" "^7.24.7"
+ "@babel/plugin-transform-function-name" "^7.24.7"
+ "@babel/plugin-transform-json-strings" "^7.24.7"
+ "@babel/plugin-transform-literals" "^7.24.7"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.24.7"
+ "@babel/plugin-transform-member-expression-literals" "^7.24.7"
+ "@babel/plugin-transform-modules-amd" "^7.24.7"
+ "@babel/plugin-transform-modules-commonjs" "^7.24.7"
+ "@babel/plugin-transform-modules-systemjs" "^7.24.7"
+ "@babel/plugin-transform-modules-umd" "^7.24.7"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7"
+ "@babel/plugin-transform-new-target" "^7.24.7"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7"
+ "@babel/plugin-transform-numeric-separator" "^7.24.7"
+ "@babel/plugin-transform-object-rest-spread" "^7.24.7"
+ "@babel/plugin-transform-object-super" "^7.24.7"
+ "@babel/plugin-transform-optional-catch-binding" "^7.24.7"
+ "@babel/plugin-transform-optional-chaining" "^7.24.7"
+ "@babel/plugin-transform-parameters" "^7.24.7"
+ "@babel/plugin-transform-private-methods" "^7.24.7"
+ "@babel/plugin-transform-private-property-in-object" "^7.24.7"
+ "@babel/plugin-transform-property-literals" "^7.24.7"
+ "@babel/plugin-transform-regenerator" "^7.24.7"
+ "@babel/plugin-transform-reserved-words" "^7.24.7"
+ "@babel/plugin-transform-shorthand-properties" "^7.24.7"
+ "@babel/plugin-transform-spread" "^7.24.7"
+ "@babel/plugin-transform-sticky-regex" "^7.24.7"
+ "@babel/plugin-transform-template-literals" "^7.24.7"
+ "@babel/plugin-transform-typeof-symbol" "^7.24.7"
+ "@babel/plugin-transform-unicode-escapes" "^7.24.7"
+ "@babel/plugin-transform-unicode-property-regex" "^7.24.7"
+ "@babel/plugin-transform-unicode-regex" "^7.24.7"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.24.7"
+ "@babel/preset-modules" "0.1.6-no-external-plugins"
+ babel-plugin-polyfill-corejs2 "^0.4.10"
+ babel-plugin-polyfill-corejs3 "^0.10.4"
+ babel-plugin-polyfill-regenerator "^0.6.1"
+ core-js-compat "^3.31.0"
+ semver "^6.3.1"
+
"@babel/preset-modules@0.1.6-no-external-plugins":
version "0.1.6-no-external-plugins"
resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a"
@@ -1137,6 +1883,15 @@
"@babel/parser" "^7.22.5"
"@babel/types" "^7.22.5"
+"@babel/template@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315"
+ integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==
+ dependencies:
+ "@babel/code-frame" "^7.24.7"
+ "@babel/parser" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
"@babel/traverse@^7.22.10", "@babel/traverse@^7.7.2":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.10.tgz#20252acb240e746d27c2e82b4484f199cf8141aa"
@@ -1153,6 +1908,22 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5"
+ integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==
+ dependencies:
+ "@babel/code-frame" "^7.24.7"
+ "@babel/generator" "^7.24.7"
+ "@babel/helper-environment-visitor" "^7.24.7"
+ "@babel/helper-function-name" "^7.24.7"
+ "@babel/helper-hoist-variables" "^7.24.7"
+ "@babel/helper-split-export-declaration" "^7.24.7"
+ "@babel/parser" "^7.24.7"
+ "@babel/types" "^7.24.7"
+ debug "^4.3.1"
+ globals "^11.1.0"
+
"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.10.tgz#4a9e76446048f2c66982d1a989dd12b8a2d2dc03"
@@ -1162,6 +1933,15 @@
"@babel/helper-validator-identifier" "^7.22.5"
to-fast-properties "^2.0.0"
+"@babel/types@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2"
+ integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==
+ dependencies:
+ "@babel/helper-string-parser" "^7.24.7"
+ "@babel/helper-validator-identifier" "^7.24.7"
+ to-fast-properties "^2.0.0"
+
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@@ -1866,6 +2646,15 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
+"@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36"
+ integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
+ dependencies:
+ "@jridgewell/set-array" "^1.2.1"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
"@jridgewell/resolve-uri@^3.1.0":
version "3.1.1"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
@@ -1876,6 +2665,11 @@
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
+"@jridgewell/set-array@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
+ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
+
"@jridgewell/source-map@^0.3.3":
version "0.3.5"
resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91"
@@ -1897,6 +2691,14 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
+ version "0.3.25"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
"@leichtgewicht/ip-codec@^2.0.1":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b"
@@ -2033,10 +2835,10 @@
prop-types "^15.7.2"
react-is "^16.8.0 || ^17.0.0"
-"@metacell/geppetto-meta-client@1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@metacell/geppetto-meta-client/-/geppetto-meta-client-1.2.0.tgz#7053bbdc51981eef311eadd68ea959de8ee8a003"
- integrity sha512-C6PyOOB1PMS5XQB/KKCyMxGDhLE59RJYIfxmPguWElMzm16kS83mDBs5Ysoblq927zauTQopSwY8NIJ8MHG8Fw==
+"@metacell/geppetto-meta-client@1.2.8":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@metacell/geppetto-meta-client/-/geppetto-meta-client-1.2.8.tgz#84c3b791288452f987cb3a1e56a47c9a8952bd59"
+ integrity sha512-pDORhlNYv5HILPaGPuJGFV5xLgvdtrtHklBfTW3jMfBAzbXO5qxRyslfpES2VxdcFGONW5Gr6KCbRWBmm2My+g==
dependencies:
"@material-ui/core" "^4.1.3"
pako "^1.0.3"
@@ -2046,19 +2848,20 @@
redux "^4.1.0"
url-join "^4.0.0"
-"@metacell/geppetto-meta-core@1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@metacell/geppetto-meta-core/-/geppetto-meta-core-1.2.0.tgz#52f84f4dec2035e0a2803f44a03043040c2e4e03"
- integrity sha512-kY8bdXzVqnGnw1kVdPHNlm5jZl9axDKppHZcHGKUtcFFgWaGslNl8PwGxU0cFh+Hr/Lpk0f5tSj/0N40AW7LTg==
+"@metacell/geppetto-meta-core@1.2.8":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@metacell/geppetto-meta-core/-/geppetto-meta-core-1.2.8.tgz#34e991feb099bb63d3737b7f8495df5b8b1f3425"
+ integrity sha512-1AMhQLw3+3YFufG2YUsgsxi3YGZx94VKloXq5aENZo5ZLW+aLvlSAUcRUl68LUPt/Axd+6xc1R7qGNOghv7Irw==
-"@metacell/geppetto-meta-ui@1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@metacell/geppetto-meta-ui/-/geppetto-meta-ui-1.2.0.tgz#cb685fe6a710fd2d36c8e5b198cdb19f74f19223"
- integrity sha512-Qkp6iMWJCOozK4gcvVUxwAqDgJ9hXjJD5060bCEloyQmYI4e8cdGpb3u5sD8Ey6J5ERrWhbo5klUEPeMH4885A==
+"@metacell/geppetto-meta-ui@1.2.8":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@metacell/geppetto-meta-ui/-/geppetto-meta-ui-1.2.8.tgz#3a6b34e561de88e88b892ae8bc80a32cc2e4b2a1"
+ integrity sha512-wiC7GiJZWp66wUG4jIGcP1wieAi4fEtyncpEcNjwssuURSddixFnCkH0dSX5KwJ3PjDbHEyco6/M6nG+DYFJlw==
"@metacell/meta-diagram@file:.yalc/@metacell/meta-diagram":
- version "0.1.3"
+ version "0.3.1"
dependencies:
+ "@babel/preset-env" "^7.23.5"
"@projectstorm/react-canvas-core" "^6.7.4"
"@projectstorm/react-diagrams" "^6.7.4"
assets "^3.0.1"
@@ -4033,6 +4836,15 @@ babel-plugin-named-asset-import@^0.3.8:
resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2"
integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==
+babel-plugin-polyfill-corejs2@^0.4.10:
+ version "0.4.11"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33"
+ integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==
+ dependencies:
+ "@babel/compat-data" "^7.22.6"
+ "@babel/helper-define-polyfill-provider" "^0.6.2"
+ semver "^6.3.1"
+
babel-plugin-polyfill-corejs2@^0.4.5:
version "0.4.5"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c"
@@ -4042,6 +4854,14 @@ babel-plugin-polyfill-corejs2@^0.4.5:
"@babel/helper-define-polyfill-provider" "^0.4.2"
semver "^6.3.1"
+babel-plugin-polyfill-corejs3@^0.10.4:
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77"
+ integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
+ core-js-compat "^3.36.1"
+
babel-plugin-polyfill-corejs3@^0.8.3:
version "0.8.3"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz#b4f719d0ad9bb8e0c23e3e630c0c8ec6dd7a1c52"
@@ -4057,6 +4877,13 @@ babel-plugin-polyfill-regenerator@^0.5.2:
dependencies:
"@babel/helper-define-polyfill-provider" "^0.4.2"
+babel-plugin-polyfill-regenerator@^0.6.1:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e"
+ integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.2"
+
babel-plugin-transform-react-remove-prop-types@^0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
@@ -4274,6 +5101,16 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4
node-releases "^2.0.13"
update-browserslist-db "^1.0.11"
+browserslist@^4.22.2, browserslist@^4.23.0:
+ version "4.23.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96"
+ integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==
+ dependencies:
+ caniuse-lite "^1.0.30001629"
+ electron-to-chromium "^1.4.796"
+ node-releases "^2.0.14"
+ update-browserslist-db "^1.0.16"
+
bser@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
@@ -4475,6 +5312,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001517, caniuse-lite@^1.0.30001520:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz#e9930cf499f7c1e80334b6c1fbca52e00d889e56"
integrity sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==
+caniuse-lite@^1.0.30001629:
+ version "1.0.30001636"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz#b15f52d2bdb95fad32c2f53c0b68032b85188a78"
+ integrity sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==
+
canvas-fit@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/canvas-fit/-/canvas-fit-1.5.0.tgz#ae13be66ade42f5be0e487e345fce30a5e5b5e5f"
@@ -4982,6 +5824,13 @@ core-js-compat@^3.31.0:
dependencies:
browserslist "^4.21.9"
+core-js-compat@^3.36.1:
+ version "3.37.1"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee"
+ integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==
+ dependencies:
+ browserslist "^4.23.0"
+
core-js-pure@^3.23.3:
version "3.32.0"
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.32.0.tgz#5d79f85da7a4373e9a06494ccbef995a4c639f8b"
@@ -6061,6 +6910,11 @@ electron-to-chromium@^1.4.477:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz#d72d2eddc05d07c538275a00f2619b113848bff6"
integrity sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==
+electron-to-chromium@^1.4.796:
+ version "1.4.810"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.810.tgz#7dee01b090b9e048e6db752f7b30921790230654"
+ integrity sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==
+
electron@^19.0.0:
version "19.1.9"
resolved "https://registry.yarnpkg.com/electron/-/electron-19.1.9.tgz#01995eea4014f7cdb2f616f5f3492d4ed6f5e4f0"
@@ -6327,6 +7181,11 @@ escalade@^3.1.1:
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+escalade@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27"
+ integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
+
escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
@@ -10094,6 +10953,11 @@ node-releases@^2.0.13:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
+node-releases@^2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
+ integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
+
"node-sass@yarn:sass":
version "1.66.0"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.66.0.tgz#74728eed49b0e490cd729c233e7f1c6ce356e638"
@@ -10657,6 +11521,11 @@ picocolors@^1.0.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+picocolors@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1"
+ integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==
+
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
@@ -13884,6 +14753,14 @@ update-browserslist-db@^1.0.11:
escalade "^3.1.1"
picocolors "^1.0.0"
+update-browserslist-db@^1.0.16:
+ version "1.0.16"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356"
+ integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==
+ dependencies:
+ escalade "^3.1.2"
+ picocolors "^1.0.1"
+
update-diff@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/update-diff/-/update-diff-1.1.0.tgz#f510182d81ee819fb82c3a6b22b62bbdeda7808f"