This monorepo contains daily.dev's application suite. The repo includes the web app and the extension, along with shared components for the two. The decision was made to allow faster iterations and to keep features parity in both platforms.
- NPM for managing dependencies.
- Node v16.15.0 (a
.nvmrc
is presented for nvm users). - lerna for managing the monorepo.
Shared settings for eslint for all the projects in this repo.
The browser extension project. Includes webpack configuration for browser extensions and the dedicated components just for the extension.
Shared settings for prettier for all the projects in this repo.
The main project with most of the components that are used in the applications. Every component that need to be used in both platforms should be placed in this project. This includes the design system components, custom hooks, and many more.
The web app project. It is a Next.js project and it has more pages than the extension. Such as registration page, post page, profile page, etc. For more information click here.
To spin up a local environment, we suggest using GitPod. Everything is already configured and should work out of the box. We have a GitPod button above, click on it and let's roll!
So you want to contribute to daily.dev app suite and make an impact, we are glad to hear it. 😍
Before you proceed we have a few guidelines for contribution that will make everything much easier. We would appreciate if you dedicate the time and read them carefully: https://github.com/dailydotdev/.github/blob/master/CONTRIBUTING.md
After cloning the project, please make sure to run the following commands to bootstrap the project:
npm i -g lerna
lerna bootstrap
- Install node v16.15.0 and npm v8.5.5
- Install
lerna
as a global packagenpm i -g lerna
- Bootstrap project
lerna bootstrap
- Change working directory to extension project
cd packages/extension
- Build Firefox version
npm run build:firefox
- Firefox build should be located at
dist