If you are developing on an M1 Apple computer the following commands all need to be run with Rosetta 2. To run a specific command using Rosetta:
arch -x86_64 <command>
Or to totally switch zsh to Rosetta so that all subsequent commands run in that tab are run by Rosetta:
arch -x86_64 zsh --login
and then to switch back to M1:
arch -arm64 zsh --login
Check your architecture:
arch
or machine
i486
or i386
means Intel
arm64
or arm64e
means M1
We use nodenv
to manage node versions, as such the target node version can be found in the .node-version
file in the root of the project.
yarn
is our package manager of choice but if you use npm
you should be able to foloow these instructions with minimal changes.
Get the repo: git clone https://github.com/lsst-epo/investigation-static.git
Go to the repo: cd investigation-static
Install dependencies: yarn
Start the dev server: yarn start
Build the app: yarn build
Netlify build script: yarn deploy
Unit testing: yarn test
Watch tests: yarn watch-test
Lint JS: yarn format
Lint Styles: yarn styles
Clear built assets/cache: yarn clean
By default this app builds and serves all pages for all available investigations (currently all defined locally).
To only build/serve one investigation:
Create .env.development
file in the project root
Add env
variable to .env.development
: INVESTIGATION = 'investigation-name'
where investigation-name
is one of any of the investigation ids found in src/data/investigations/investigations.json