Monorepo containing filecoin's client-side code
This repo utilizes lerna and yarn workspaces for all its monorepo needs.
Primary technologies include:
After cloning the repo, run yarn inside the repo root.
The repo is organized into apps/ and packages/. packages/ contain all re-usable code across the codebase, while apps/ contain all applications.
We handle environment variables in .env files with default values in each app's folder, i.e. apps/web/env contains local.env, staging.env and production.env that contain default values for specified environments. If the repo is freshly cloned, you can copy each app's local.env file to the app's root folder as .env - f.e. cp apps/web/env/local.env apps/web/.env
Each app has a serve and build npm script and by utilising lerna we can build all apps in parallel by running yarn build in the repository root, or spin up a development server yarn serve
Summary
- Install node.js https://www.webucator.com/how-to/how-install-nodejs-on-mac.cfm or run in Terminal:
brew install node - run in Terminal command:
npm install --global yarn git clone https://github.com/filecoin-project/system-test-matrix.git- in frontend folder run command:
yarn && yarn lerna bootstrap - rename "frontend/apps/web/.env.example" - .env.example => .env
- run command:
yarn servein frontend folder
You can see all storybook components used in project here
We use ESLint for linting and Prettier for formatting our code, specifics can be seen in respective configs.