Skip to content

Latest commit

 

History

History
129 lines (80 loc) · 3.66 KB

CONTRIBUTING.md

File metadata and controls

129 lines (80 loc) · 3.66 KB

Contributing

PRs and issues are always welcome! We appreciate your interest in Electrode and offer to help.

There are few guidelines that we request contributors to follow so that we can keep things well maintained.

Getting Started

This repo uses Lerna as a top level setup.

  • Install the clap command globally if you don't want to invoke from node_modules/.bin.
$ npm install -g xclap-cli
$ git clone https://github.com/<your-github-id>/electrode.git
$ cd electrode
  • Quick Test

Run at the top level:

$ npm install
$ npm run bootstrap
  • Now you can go to the samples folder and try the universal-react-node sample app, develop and test your changes over there.
$ cd samples/universal-react-node
$ npm install
$ clap dev

After running above, you should see a similar text as Hapi.js server running at http://localhost:3000 in command line.

And when you open the browser at http://localhost:3000, you should see a large Electrode icon with a few demonstration components.

You can also run in hot mode. However, hot mode is still experimental and there may be issues.

$ clap hot

Contributing Guidelines

Submitting Pull Request

We love PRs and appreciate any help you can offer. Please follow the guidelines on styling and commit messages here.

Styling

We've now switched to use prettier to format all our code.

Our prettier settings are: --print-width 100

If you are making changes to a file that has not been updated yet, please commit the format first before making your changes.

PR and Commit messages

Since we use independent lerna mode, to help keep the changelog clear, please format all your commit message with the following guideline:

[<semver>][feat|bug|chore] <message>

  • <semver> can be:
    • major - maj or major
    • minor - min or minor
    • patch - pat or patch
  • Only include [feat|bug|chore] if it's applicable.
  • Please format your PR's title with the same format.

Please do everything you can to keep commits for a PR to a single package in packages.

A sample commit and PR message should look like:

[minor][feat] implement SSR support for Inferno

Note: Branching is recommended on Publish commits only so it's possible to rely on lerna to publish from that branch.

Filing Issues

We love to hear about your experience using Electrode and bug reports. Electrode has many features and it's hard for us to test everything under all scenarios and setup, so your help is very important to us.

When you submit a bug report, please include the following information:

  • NodeJS/npm versions by doing nodev -v and npm -v
  • Your OS and version
  • Electrode package versions
  • Any errors output
  • If possible, sample code and steps on how to reproduce the bug

Updating Docs

This repo has a gitbook documentation under docs. To review the docs as a gitbook locally:

$ npm install gitbook-cli -g
$ gitbook install
  • Serve the book locally
$ gitbook serve --no-watch --no-live

And open your browser to http://localhost:4000 to view the docs.

Here is the documentation on a gitbook structure: https://toolchain.gitbook.com/structure.html

Without the --no-watch --no-live options it becomes unusably slow on my machine.