GraphPolaris Frontend
Preparing to Run Locally
Be sure that you have node.js (v18 or up) and pnpm installed. Please use pnpm for building and running the scripts of package.json. Due to the way auth works (using a sameSite cookie), the procedure for running locally is a little different than usual. These steps will only have to be done, after that everything should 'just' work.
MacOS / Linux
-
sudo vim /etc/hosts
open the hosts file with your prefered text editor as root - Add a new row containing
127.0.0.1 local.graphpolaris.com
, this will route traffic fromlocal.graphpolaris.com
to127.0.0.1
-
brew install mkcert
install mkcert utility -
mkcert -install
generate local CA (certificate authority) - Move into the /certs folder at the project root using
cd
-
mkcert --key-file local-key.pem --cert-file local-cert.pem local.graphpolaris.com
create certificates for local SSL
Windows
- Open the
hosts
file underC:\Windows\System32\drivers\etc
using a text editor, as administrator - Add a new row containing
127.0.0.1 local.graphpolaris.com
, this will route traffic fromlocal.graphpolaris.com
to127.0.0.1
- Install mkcert using any of the ways described here
- Open an elevated Powershell or CMD session
- Move into the /certs folder at the project root using
cd
-
mkcert --key-file local-key.pem --cert-file local-cert.pem local.graphpolaris.com
create certificates for local SSL
No idea if the Windows steps work
Running Locally
Install
First run pnpm i
on the root of the workspace to install all dependencies. It will create a node_module folder in the root of the workspace as well as one for each app/library within it.
If you need to install a new dependency or upgrade an existing one, do so in the respective package.json and rerun pnpm i
in the root of the workspace. If you find any issues, feel free to delete the node_modules folder from the workspace root and from the app/lib which you are changing the dependency and rerun the pnpm i
command from the root of the workspace. Most issues are solved by then.
Commands
You can run pnpm commands (see available ones in packages.json) from the root of the workspace, which will trigger turborepo to run it in all libraries and apps of the workspace. You can run pnpm test
or pnpm lint
this way to test or lint the entire workspace.
You can also go into a specific lib/app and run pnpm commands from there to scope the task to only that part of the workspace.
Dev server
To run the application using SSL (with these keys) simply run pnpm dev
from the workspace root.
Running Storybook.js
To run the dev storybook (implementing visualizations) simply run pnpm sb
and once it is running, ctrl-click the link what appears in the terminal.