To start, just make sure you have a GitHub account and read the code of conduct.
You can contribute by different ways:
- create an issue to report a bug, ask questions, suggest a new feature.
- publish a Pull request in order to submit code changes.
- contribute to an existing issue or an existing pull request.
You can create an issue (https://github.com/Gmousse/dataframe-js/issues) in order to:
- report a bug.
- suggest a new feature.
- ask few questions about the usage.
Just use a predefined template.
Issues will be closed in case of inactivity after 15 days.
Before creating any kind of pull request, create an issue in order to:
- describe the bug you want to fix
- describe the feature you want to submit
Just make sure you are following these rules:
- don't target the master branch
- respect the style guide (
.prettierrc
and.eslintrc
). - make sure the unit tests are ok.
- don't make breaking changes.
- add documentation on new public methods or functions.
You can refer to the development guide.
Pull requests will be deleted in case of inactivity after 30 days.
The project is developped in es2017 and it is transpiled by using babel (for commonjs) then by rollup (for browsers).
To work on the project you must have:
- nodejs > 8.x.x + npm or yarn or docker + docker-compose.
- an idle, such as vscode for example.
- the dependencies installed.
You can install the app and dev dependencies with different ways:
- via npm,
npm install
. - via yarn,
yarn install
. - via docker-compose,
docker-compose run --rm test npm install
.
You can launch the unit tests powered by ava with a watcher in order to follow your code changes:
- via npm,
npm run test:watch
. - via yarn,
yarn run test:watch
. - via docker-compose,
docker-compose up test
.
If the unit tests are not ok, the continuous integration will failed on your PR.
The project use prettier in order to format the source code.
The easier way is to have prettier integrated in your idle (e.g. The vscode intergration).
If you can't, you can trigger prettier after your code session:
- via npm,
npm run prettier
. - via yarn,
yarn run prettier
. - via docker-compose,
docker-compose run --rm test npm run prettier
(but just care about file permissions...).
The project use eslint in order to check the sanity of your code.
The easier way is to have eslint integrated in your idle.
You can also trigger manually the linter:
- via npm,
npm run lint
. - via yarn,
yarn run lint
. - via docker-compose,
docker-compose run --rm test npm run lint
.
If the unit tests is not ok, the continuous integration will failed on your PR.