This is the base REPOSITORY for Gen3.2 data commons.
Gen3 Data Commons using the Gen3 Frontend Framework is a matter of the following:
-
create a clone of Gen3 Data Commons Application
-
Configure the commons by editing the configuration files in the
config
-
Add your pages and content
-
Deploy via helm charts or Docker.
Changes to the Gen3 Data Commons Application can be pulled from the Common Frontend Repository. You need configure git to pull from the Common Frontend Repository.
git remote add upstream https://github.com/uc-cdis/commons-frontend-app.git
or
git remote add upstream git@github.com:uc-cdis/commons-frontend-app.git
changes to main
can be pulled from the Common Frontend Repository by running:
git pull upstream main
Please see Styling and Theming and Local Development with Helm Charts for more information on setting up and configuring the Gen3 Data Commons Application. This documentation is currently less complete than we would like, but we will be adding to it as development progresses.
The minimum node version is set to v20.11.0 only from an LTS perspective. Node can be downloaded from the official Node.js site. You may also consider using a Node version manager. Your version of Node may not ship with npm v10. To install it, run:
npm install npm@10.2.4 -g
Note: if you see this error:
npm ERR! code ENOWORKSPACES
npm ERR! This command does not support workspaces.
you can run npx next telemetry disable
Alternatively, you can use nvm
to install the correct version of npm:
nvm install 20.11.0
From the root of the project, install dependencies by running:
npm install
npm run dev
Open http://localhost:3000 with your browser to see the result.
You build a Docker image by:
docker build .
The following steps usually apply to update a forked commons.
Get the changes from the parent fork:
git remote add upstream git@github.com:uc-cdis/commons-frontend-app.git
git fetch upstream
Create a branch and merge changes from upstream:
git merge upstream/main
If the above has the error message: "fatal: refusing to merge unrelated histories" error.
This often happens when the repo was created as a template, not a fork.
To resolve this, the --allow-unrelated-histories
flag can be used during the merge operation. This flag forces Git to merge the branches despite lacking a common history.
git merge upstream/main --allow-unrelated-histories
If you use this flag, it is recommended that you carefully review the changes and resolve any conflicts before finalizing the merge.
You will see merge conflicts. In general: take the remote's version for everything except the config files, as those are customized to the commons config. Resolve any remaining config issues and open a PR. Test the new common by running it locally or in a staging environment.