evolvedbinary / fusion-studio-extension

Fusion Studio is a Theia IDE extension for FusionDB
GNU General Public License v3.0
4 stars 5 forks source link
fusion-studio fusiondb ide theia-extension theia-ide

Fusion Studio Theia Extension

CircleCI Cypress Dashboard npm version License

Fusion DB's extension for Theia IDE. If you don't know what Theia is, then you likely want the full Fusion Studio IDE application.

Getting started:

Requirements:

For building

Debugging Python Build Issues

If you are experiencing build issues and have multiple versions of Python installed via pyenv or some other such mechanism then the following information may be useful.

Example of setting up a Ubuntu 20.04 build environment

The following commands will install the required packages and setup Python 3 via pyenv on Ubuntu 20.04.

sudo curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install nodejs yarnpkg libx11-dev libxkbfile-dev
alias yarn=yarnpkg

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc

sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
pyenv install 3.8.4
pyenv global 3.8.4
exec $SHELL

Example of setting up a CentOS 7 build environment

The following commands will install the required packages on CentOS 7.

sudo yum update
sudo yum install -y libX11-devel libxkbfile-devel
sudo yum install -y gcc-c++ make
sudo curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install -y nodejs
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install -y yarn
sudo yum install -y rpm-build

For Testing

Install and build:

Clone the repo, and build the source:

$ git clone https://github.com/evolvedbinary/fusion-studio-extension.git
$ cd fusion-studio-extension
$ yarn

You may get the error No package 'x11' found on Ubuntu (Minimal installation), you'll need to install these packages:

sudo apt install libx11-dev libxkbfile-dev

Test the extension

Test on the browser

Integration Testing

To run the integrations tests you need a running database with the fusion-studio-api installed. It should be reachable at localhost:8080 and have an empty admin password. You can then run the integration test GUI locally by using:

yarn run cypress open

or in cases where the above fails to load the cypress test runner, use:

npx cypress open

Integration tests are also run on travis. To see a similar command line style output use:

yarn run cypress run

Developing

Extra