Skip to content

Commit

Permalink
chore(repo): update contributing section in root readme
Browse files Browse the repository at this point in the history
  • Loading branch information
shellscape committed Sep 11, 2023
1 parent 30c2b9a commit 1feda36
Showing 1 changed file with 26 additions and 9 deletions.
35 changes: 26 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,21 +95,38 @@ All components were tested using the most popular email clients.
| -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Gmail ✔ | Apple Mail ✔ | Outlook ✔ | Yahoo! Mail ✔ | HEY ✔ | Superhuman ✔ |

## Development
## Contributing, Working With This Repo

#### Install dependencies
The `jsx-email` repository is a [Monorepo](https://en.wikipedia.org/wiki/Monorepo) that uses two primary tools; [`pnpm`](https://pnpm.io/) and [`Moon`](https://moonrepo.dev/). `pnpm` is used for package management and [workspace management](https://pnpm.io/workspaces) of the repo. `Moon` is used as our task runner for the repo - all commands to work with the packages and code in the repo go through `Moon`. We also assume that you have Node.js installed, because this is a project that leverages React.

```sh
yarn install
### Getting Started

If you're new to either `pnpm` or `Moon` you'll want to run the `bootstrap.sh` script first. It will install everything you'll need to get started, and bootstrap your environment:

```console
$ ./shared/bootstrap.sh
```

#### Build and run packages
Next we'll want to get dependencies installed, and get everything built. _(Note: One of the benefits of `Moon` is that it uses intelligent caching to assert that dependencies are always up to date before running any command. We don't techincally have to install dependencies first)_:

```sh
yarn dev
```console
$ pnpm install
```

And build all of the packages in the repo:

```console
$ moon run jsx-email:build.packages
```

This will initialize all packages in parallel and watch for changes, including the website which will be available at [localhost:3001](http://localhost:3001).
### Demo Project

The repo includes a `demo` package located at [`packages/demo`](./tree/main/packages/demo) which is used for testing and developing the preview server that ships with the [`cli`](./tree/main/packages/cli). To run this server:

```console
$ cd packages/demo
$ pnpm exec email preview src
```

## Contributing

Expand All @@ -122,4 +139,4 @@ This will initialize all packages in parallel and watch for changes, including t

## License

MIT License
[MIT License](./LICENSE.md)

0 comments on commit 1feda36

Please sign in to comment.