Web front-end for the European Variation Archive (EVA), developed using technologies such as JavaScript and HTML5.
The EVA Web App has the following dependencies
- Jsorolla
- EBI-Framework
Jsorolla and EBI-Framework libraries are attached with EVA as submodules.
Go to your web root directory and run the following commands:
git clone https://github.com/EBIvariation/eva-web.git
cd eva-web
git checkout master
git submodule init
git submodule update
We use Node.js version >= 7.0, npm modules and Grunt to build EVA web app.
eva-web/package.json lists the dependency npm modules to be installed.
Note: npm modules should be installed in both eva-web and in Jsorolla.
Run following command inside eva-web and lib/jsorolla folders:
npm install
eva-web/Gruntfile.js has the configuration to build EVA Web App.
To build EVA web app run the following command in eva-web folder:
grunt
or grunt --env=(dev/staging/prod)
Example: for dev instance run the following command:
grunt --env=dev
Default grunt
points to production environment.
After successful build the files are then copied to a folder of the form eva-web/build/x.x.x/.
git clone https://github.com/EBIvariation/eva-web.git
cd eva-web
git checkout master
git submodule init
git submodule update
cd lib/jsorolla
npm install
cd ../..
npm install
grunt
Currently we build and run tests using Gitlab CI.
We use Mocha as test framework and Chai as test assertion library. The tests are run as Grunt tasks. We use a specific version of Chrome to run those tests in Gitlab CI (look at .gitlab-ci.yml to see which specific version). There are acceptance tests and unit tests.
As the whole test suite takes some minutes to complete, you can run only some tests adding a property grep: "<substring of test description>"
(e.g. grep: "Variant Browser"
) in gruntfile.js in the mochaTest.acceptanceTest.options
object, and run as env BROWSER=chrome grunt --env=staging mochaTest:acceptanceTest
.