Tools Installation
All mentions of terminal indicate a WSL terminal instance.
There are only three tools that need to be installed manually
The rest are installed using pnpm i
fnm
fnm is a node version manager and ensures we all use the same node version to avoid any incompatibilities.
Installation
install it by running
curl -fsSL https://fnm.vercel.app/install | bashAfter completion: close and restart the terminal
Assuming you have cloned the repository, if not refer to the following guide. change directory into the
WriteMedirectory (cd WriteMe) and run:fnm installAgain you may need to restart the terminal after which run:
node --versionand confirm version is v20.11.1
(Optional) if you have multiple node version on your machine, you may need to run
fnm use v20.11.1
pnpm
pnpm is our node package manager and is a drop in replacement for the default node package manager (npm).
pnpm is built in rust and implements caching natively resulting in faster installation times than (npm).
Most documentation will use npm commands like npm install react. Just replace npm with pnpm for our use case.(pnpm install react).
Conversion between npm and pnpm:
npm install ... -> pnpm install ...
npx .... -> pnpm dlx ...
Installation
Run the following in a terminal:
curl -fsSL https://get.pnpm.io/install.sh | sh -After completion: close and restart the terminal
Assuming you have cloned the repository, if not refer to the following guide. change directory into the
WriteMedirectory (cd WriteMe)Node dependencies installation
infoThis command will install all our projects other tools and dependencies (
nx,supabase,react,...), a full list can be found inpackage.json, into thenode_modulesfolder.This command should only ever be run in the root of our project
In a terminal run:
pnpm install # or pnpm i
Docker
Think of docker "containers" as light-weight virtual machines the hook onto the host's operating system instead of recreating the entire machine.
supabase-cli (the local version of supabase) uses docker under the hood to virtualise a supabase server on the local machine, thus development does not affect the production environment
docker may be light-weight compared to normal virtual machines, but supabase runs multiple docker containers for all it's different sub-systems. As such running the local supabase server will be resource intensive.
Docker Installation
docker is installed in windows (or Mac), not in WSL, but integrates with WSL (or not 🍎🙃@James).
- Navigate browser to https://www.docker.com/products/docker-desktop/
- Download for Windows (or Mac), not Linux
- Run through installation process
- Restart Computer
Alternatively
- Run the following in powershell, admin may be required
winget install -e --id Docker.DockerDesktop