-
-
Notifications
You must be signed in to change notification settings - Fork 328
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Florent
committed
Jun 6, 2023
1 parent
805485e
commit 6884955
Showing
2 changed files
with
94 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Welcome to the contribution guide for Grist! | ||
|
||
You are eager to contribute to Grist? That's awesome! See below some contributions you can make: | ||
- [translate](/documentation/translate.md) | ||
- [write tutorials and user documentation](https://github.com/gristlabs/grist-help) | ||
- [develop](/documentation/develop.md) | ||
- report issues or suggest enhancement (TODO) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# Development | ||
|
||
Please as a first start, tell the community about your intent of developing a feature or fix a bug. Search for the associated issue if it exists or open one with steps to reproduce (for bugs) or a [user story](https://en.wikipedia.org/wiki/User_story#Principle) (for features). | ||
|
||
## Setup | ||
|
||
### Pre-requisites | ||
|
||
To setup your environment, you would need to install the following dependencies: | ||
- git | ||
- [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md) | ||
- Firefox and/or Chromium to run the end-to-end (nbrowsers) tests | ||
- Python (preferably Python 3.9) and virtualenv | ||
- :warning: As of 2023-06-06, Python 3.11 is not supported due to the version of the [wrapt dependency](https://github.com/GrahamDumpleton/wrapt/issues/196) | ||
|
||
### Clone the repository | ||
|
||
```bash | ||
$ git clone https://github.com/gristlabs/grist-core | ||
``` | ||
|
||
Then go to the grist-core root directory before install nodejs through nvm: | ||
|
||
```bash | ||
$ cd grist-core/ | ||
``` | ||
|
||
### Setup nodejs | ||
|
||
You need to install the supported nodejs version as well as yarn. To do so, at the grist-core root directory, run the following command to install nodejs via nvm: | ||
|
||
```bash | ||
$ nvm install | ||
``` | ||
|
||
Now check that node is installed in the version specified in the `.nvmrc` file: | ||
|
||
```bash | ||
$ node --version | ||
``` | ||
|
||
Then install yarn (the `-g` flag here means that yarn will be available globally): | ||
```bash | ||
$ npm install -g yarn | ||
``` | ||
|
||
Now each time you want to load nodejs and yarn in your environment, just run the following command at grist-core root directory: | ||
|
||
```bash | ||
$ nvm use | ||
``` | ||
|
||
### Install the python dependencies | ||
|
||
Ensure to have Python and virtualenv installed. On debian-based Linux distributions, you can simply run the following command as root: | ||
|
||
```bash | ||
# apt install python3.9 python3.9-venv | ||
``` | ||
|
||
## Start the server in development mode | ||
|
||
Just run the following command: | ||
```bash | ||
$ yarn start | ||
``` | ||
|
||
Each time you change something, just reload the webpage in your browser. | ||
|
||
Happy coding! | ||
|
||
### Pick an issue | ||
|
||
Lost on what you can do to help? If you are new to Grist, you may just pick one of the issues labelled `good first issue`: | ||
|
||
https://github.com/gristlabs/grist-core/labels/good%20first%20issue | ||
|
||
## Develop widgets | ||
|
||
TODO | ||
|
||
## Documentation | ||
|
||
Some documentation to help you starting developing: | ||
- [Grainjs](https://github.com/gristlabs/grainjs/) (The library used to build the DOM); | ||
- [The user support documentation](https://support.getgrist.com/); |