Skip to content

Latest commit

 

History

History
45 lines (25 loc) · 2.07 KB

CONTRIBUTING.md

File metadata and controls

45 lines (25 loc) · 2.07 KB

Contributing and Reporting

This is the issue tracker for Opal. If you have a more general question about using Opal (or related libraries) then use the stackoverflow tag (#opalrb), or the Gitter chatroom at opal/opal (also available as IRC at irc.gitter.im).

What follows is a quick checklist you can before sending issues or pull-requests, for in-depth instructions on how to hack the internals of Opal and setup the development environment please see HACKING.md.

Submitting a New Issue

  1. Before opening a new issue, search for previous discussions including closed ones. Add comments there if a similar issue is found.

  2. Please report the version on which the issue is found (opal -v).

  3. The best issues have steps to reproduce the error. Common ways to do that are:

    • A snippet of Ruby code
    • A CLI command with its output, e.g. opal -ve 'p String != Symbol' # => false'

Submitting a Pull Request

  1. Before sending pull requests make sure all tests run and pass (see HACKING.md in this repo).

  2. Make sure to use a similar coding style to the rest of the code base. Some examples follow:

    • In Ruby and JavaScript code we use 2 spaces (no tabs)
    • In JavaScript we use snake_case for methods and variables
  3. Make sure to have updated all the relevant documentation, both for API (using yardoc syntax) and the Guides

  4. Add a Changelog entry at the top of UNRELEASED.md

A note on commits in PRs

You could be asked to squash your commits during a PR review. That doesn't mean there's a preference for a single commit for each PR, rather it's a request to have each commit focused on a specific group changes and avoid the sequence of changes, fixups and reverts that tell an interesting story but in the end make the use of git blame quite difficult.

That said, these are quite loose requirements in the spirit of keeping contributing enjoyable 🤓