Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move demoreact under examples #574

Merged
merged 2 commits into from
Jul 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 37 additions & 30 deletions contributing.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Contributing

## Repo Setup

```
git clone https://github.com/ethereum-push-notification-service/sdk.git

Expand All @@ -10,31 +11,22 @@ cd sdk
```
yarn install
```
***Note*** -
We are using `yarn` and **strongly** advise to use yarn 1.x to avoid any NPM issues.

## Running the Demo React App
We have a `demoreact` playground to test the individual packages being built out. To run the `demoreact` app
### By GUI (preferred)
1. click on the `NX console` extension icon in the VSCode sidebar.
2. click on the `build` target execute icon under `demoreact`
3. click on the `serve` target execute icon under `demoreact`
4. wait for the localhost to be ready in the terminal & then hit `http://localhost:4200/` on your browser to run the app.

### By CLI
1. run `yarn nx build demoreact`
2. run `yarn nx run demoreact:build:production`
**_Note_** -
We are using `yarn` and **strongly** advise to use yarn 1.x to avoid any NPM issues.

## Pull Requests process

- All changes should be requested through PRs from a feature/bug branch to `main` branch.
- We are using
- [conventional-commits](https://www.conventionalcommits.org/en/v1.0.0/#summary): to follow [semver](https://semver.org/#summary) for npm package versioning
- [commitizen](https://github.com/commitizen/cz-cli) to restrict commits to follow conventional commits
- [husky](https://typicode.github.io/husky/#/) to run pre-commit checks
- We are using
- [conventional-commits](https://www.conventionalcommits.org/en/v1.0.0/#summary): to follow [semver](https://semver.org/#summary) for npm package versioning
- [commitizen](https://github.com/commitizen/cz-cli) to restrict commits to follow conventional commits
- [husky](https://typicode.github.io/husky/#/) to run pre-commit checks

So, use `yarn cz` to commit changes after `git add` (recommended) or hand crafted git commit messages to follow conventional commit. Otherwise the CLI will prevent you from committing code.

- Before starting on any dev on the repo,
- Before starting on any dev on the repo,

```bash
# pull latest from main
git pull origin main
Expand All @@ -45,14 +37,16 @@ git checkout -b <your-branch-name>
```

### How to add commits which will decide versioning when deploying

When you are ready to commit your changes.

Run

```
git add -A
```

then
then

```
yarn cz
Expand All @@ -65,42 +59,55 @@ this will pop up the below CLI
Read through the [conventional-commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) and [semver](https://semver.org/#summary) to get a better understanding for selecting which option.

### General guideline
* for bug fixes use `fix`
* for backward compatible new features use `feat`

## NX
- for bug fixes use `fix`
- for backward compatible new features use `feat`

## NX

We are using [NX](https://nx.dev/getting-started/intro) and some NX plugins for monorepo management, verison & publish.

### NX console

The repo comes in with a baked in NX console and some other VSCode extensions to -
* help simplify processes like build, lint, test, run demo apps
* run scripts on affected parts of the codebase

***Note*** -
- help simplify processes like build, lint, test, run demo apps
- run scripts on affected parts of the codebase

**_Note_** -
<span style="color:red">Don't run CI-prefixed targets in the NX console in local, they are only for CI.</span>.

## Adding new packages
## Adding new packages

The NX monorepo uses `project.json` & `package.json` to manage the monorepo workspace and also ultimately build out the bundle that will be published to NPM registry.

### - adding `dependencies` to a package
at root, simply run

at root, simply run

```
yarn add "dependency_package_name@x.y.z"
```

And then simply import that dependency in your package. NX while running `build` for that package will take care of making it a `dependency` in the final bundle.

### - adding `devDependencies` to a package
at root, simply run

at root, simply run

```
yarn add -D "dependency_package_name@x.y.z"
```

And then simply import that dependency in your package. NX while running `build` for that package will take care of making it a `devDependency` in the final bundle.

### - adding `peerDependencies` to a package
at root, simply run

at root, simply run

```
yarn add "dependency_package_name@x.y.z"
```

And then simply import that dependency in your package. In the `package.json` of the package where you want to consume it, simply declare the dependency as `peerDependency`
NX while running `build` for that package will take care of making it a `peerDependency` in the final bundle.

2 changes: 1 addition & 1 deletion nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
}
}
},
"defaultProject": "demoreact"
"defaultProject": "examples-sdk-frontend-react"
}
19 changes: 0 additions & 19 deletions packages/demoreact/src/app/ChatTest/helper.ts

This file was deleted.

48 changes: 0 additions & 48 deletions packages/demoreact/src/app/ChatWidgetTest.tsx

This file was deleted.

48 changes: 0 additions & 48 deletions packages/demoreact/src/app/EmbedTest.tsx

This file was deleted.

Loading
Loading