# Description This pull request adds some explanations on how to do the SQL migrations, required to contribute to the project, when required.
69 lines
1.3 KiB
Markdown
69 lines
1.3 KiB
Markdown
# Contributing
|
|
|
|
Dyad is still a very early-stage project, thus the codebase is rapidly changing.
|
|
|
|
Before opening a pull request, please open an issue and discuss whether the change makes sense in Dyad. Ensuring a cohesive user experience sometimes means we can't include every possible feature or we need to consider the long-term design of how we want to support a feature area.
|
|
|
|
## More than code contributions
|
|
|
|
Something that I really appreciate are all the non-code contributions, such as reporting bugs, writing feature requests and participating on [Dyad's sub-reddit](https://www.reddit.com/r/dyadbuilders).
|
|
|
|
## Development
|
|
|
|
Dyad is an Electron app.
|
|
|
|
**Install dependencies:**
|
|
|
|
```sh
|
|
npm install
|
|
```
|
|
|
|
**Apply migrations:**
|
|
|
|
```sh
|
|
npm run db:generate
|
|
npm run db:push
|
|
```
|
|
|
|
**Run locally:**
|
|
|
|
```sh
|
|
npm start
|
|
```
|
|
|
|
## Testing
|
|
|
|
### Unit tests
|
|
|
|
```sh
|
|
npm test
|
|
```
|
|
|
|
### E2E tests
|
|
|
|
Build the app for E2E testing:
|
|
|
|
```sh
|
|
npm run pre:e2e
|
|
```
|
|
|
|
> Note: you only need to re-build the app when changing the app code. You don't need to re-build the app if you're just updating the tests.
|
|
|
|
Run the whole e2e test suite:
|
|
|
|
```sh
|
|
npm run e2e
|
|
```
|
|
|
|
Run a specific test file:
|
|
|
|
```sh
|
|
npm run e2e e2e-tests/context_manage.spec.ts
|
|
```
|
|
|
|
Update snapshots for a test:
|
|
|
|
```sh
|
|
npm run e2e e2e-tests/context_manage.spec.ts -- --update-snapshots
|
|
```
|