Name: cbioportal-frontend
Owner: Center for Data Driven Discovery in Biomedicine
Description: React Frontend of cBioPortal :tada:
Forked from: cBioPortal/cbioportal-frontend
Created: 2017-08-08 17:23:27.0
Updated: 2017-08-08 17:23:30.0
Pushed: 2017-08-11 16:49:03.0
Homepage: http://cbioportal.org
Size: 9658
Language: TypeScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Development: http://cbioportal-frontend-demo.herokuapp.com/#/patient?studyId=prad_fhcrc&caseId=00-090 Master: http://cbioportal-frontend.herokuapp.com/#/patient?studyId=prad_fhcrc&caseId=00-090
| Branch | master | integration | rc | | — | — | — | — | | Status | | | |
This is the frontend code for cBioPortal using React, MobX and TypeScript. The frontend for the new patient view is now completely in this repo. The
Make sure you have the latest stable node version installed:
https://nodejs.org/en/
To install all app and dev dependencies
install
To build DLLs in common-dist folder (must be done prior to start of dev server)
run buildDLL:dev
To start dev server with hot reload enabled
run start
A good example page is: http://localhost:3000/?cancer_study_id=lgg_ucsf_2014&case_id=P04
To run unit/integration tests (need to have API URL defined in .env
)
run test
To run unit/integration tests in watch mode
run test:watch
To run linting
run lint
There is a precommit hook installed that lint checks the typescript in this project. The hook can be viewed in package.json. You can skip it with
commit -n
If the version of the desired API URL is the same as the one used to generate
the typescipt client, one can hange the API_ROOT
variable for development in
my-index.ejs. If the version is different, make sure the API
endpoint works with the checked in client by changing the API URL in
package.json and running:
run updateAPI
run test
Go to http://cbioportal-rc.herokuapp.com/case.do?cancer_study_id=lgg_ucsf_2014&case_id=P04
In your browser console set:
lStorage.setItem("localdev",true)
This will use whatever you are running on localhost:3000
to serve the JS (i.e. you need to have the frontend repo running on port 3000). To unset do:
lStorage.setItem("localdev",false)
or clear entire local storage
lStorage.clear()
You can also use a heroku deployed cbioportal-frontend pull request for serving the JS by setting localStorage to:
lStorage.setItem("heroku", "cbioportal-frontend-pr-x")
Change x
to the number of your pull request.
Install webdriver-manager, which manages standalone Selenium installation:
install -g webdriver-manager
Run updater to get necessary binaries
river-manager update
Start the webdriver-manager
river-manager start
In one terminal run frontend (this will get mounted inside whatever
CBIOPORTAL_URL
is pointing to)
run start
In another terminal run the e2e tests
t CBIOPORTAL backend url from my-index.ejs
rt CBIOPORTAL_URL=http://$(grep '__API_ROOT__' my-index.ejs | cut -d= -f2 | tr -d "'" | tr -d [:space:] | tr -d ';')
nd-to-end-tests
install
run test-webdriver-manager