Skip to content
This repository has been archived by the owner on Dec 13, 2018. It is now read-only.

Latest commit

 

History

History
72 lines (54 loc) · 3.03 KB

CONTRIBUTING.md

File metadata and controls

72 lines (54 loc) · 3.03 KB

Contributing to atom-ide-ui

Run the following commands to run atom-ide-ui from source:

# Clone the source
$ git clone https://github.com/facebook-atom/atom-ide-ui
# Install dependencies (`npm install` also works, but we recommend Yarn)
$ yarn
# Link the package to Atom's package directory
$ apm link

# Make sure tests pass!
$ npm test

# Run only Flow
$ npm run flow
# Run only lint
$ npm run lint-all
# Run only unit tests
$ ./scripts/test.js

Repository Structure

Code in modules/ is periodically synced with the Nuclide repository: https://github.com/facebook/nuclide/tree/master/modules

The main index.js file is a unified package that loads all of the feature packages (e.g. atom-ide-diagnostics, hyperclick, etc). This allows us to share dependencies between all of Atom IDE UI's subpackages.

Development Tips

  • Install ide-flowtype for Flow integration.
  • Install linter-eslint for ESLint integration.
    • Skip the linter dependency to use atom-ide-ui's Diagnostics.
  • Coding style is enforced by eslint-plugin-prettier.

Pull Requests

  1. Fork the repo and create your branch from master.
  2. If you've added code that should be tested, add tests in the spec folders.
  3. If you've changed APIs, update the documentation.
  4. Ensure that tests pass and Flow/ESLint are clean (see above).
  5. If you haven't already, complete the Contributor License Agreement ("CLA").

Contributor License Agreement ("CLA")

In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects.

Complete your CLA here: https://code.facebook.com/cla

Issues

We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue.

License

By contributing to atom-ide-ui, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree.