Skip to content
This repository has been archived by the owner on Mar 9, 2022. It is now read-only.

Latest commit

 

History

History
92 lines (59 loc) · 4.96 KB

CONTRIBUTING.md

File metadata and controls

92 lines (59 loc) · 4.96 KB

Contributing to Fabric

  1. Questions?!?
  2. Issue tracker
  3. Issue tracker guidelines
  4. Pull requests
  5. Pull request guidelines

Questions?!?

To get your questions answered, please ask/search on Fabric's google group, StackOverflow or on Fabric's IRC channel (irc://irc.freenode.net/#fabric.js). Please do not open an issue if you're not sure it's a bug or if it's not a feature/suggestion.

For news about Fabric you can follow @fabric.js, @AndreaBogazzi, @kangax, or @kienzle_s on Twitter. Demos and examples can be found on jsfiddle, codepen.io and fabricjs.com.

Issue tracker

If you are sure that it's a bug in Fabric.js or a suggestion, open a new issue and try to answer the following questions:

  • What did you do?
  • What did you expect to happen?
  • What happened instead?

Issue tracker guidelines

  • Search: Before opening a new issue please search Fabric's existing issues.

  • Title: Choose an informative title.

  • Description: Use the questions above to describe the issue. Add logs, screenshots or videos if that makes sense.

  • Test case: Please post code to replicate the bug - best on jsfiddle. Ideally a failing test would be perfect, but even a simple script demonstrating the error would suffice. You could use this jsfiddle template as a starting point.

  • Fabric.js version: Make sure to specify which version of Fabric.js you are using. The version can be found in fabric.js file or just by executing fabric.version in the browser console.

Pull requests

We are very grateful for your pull requests! This is your chance to improve Fabric for everyone else.

Online one-click setup for making PRs

Contribute to fabricjs using a fully featured online development environment that will automatically with a single click: clone the repo and install the dependencies.

Open in Gitpod

Setting up a local environment

Coming Soon!

Working on fabricjs.com

To develop fabric's site you need to clone fabricjs.com in the same parent folder of fabric.js, so that fabric.js and fabricjs.com are siblings. To start the dev server run npm start inside the fabricjs.com directory (after installing dependecies). If you are working on windows, check out jekyll docs for futher instructions.

Adding a DEMO: Take a look at an existing demo file. Create a new file in the same directory (posts/demos/_posts) and you're good to go.

Pull request guidelines

Here are a few notes you should take into account:

  • Code style, notes: Make sure you have complied with the guidelines

  • Distribution files: Do your changes only in the source files. Don't include the distribution files in your commit.

  • Add tests: Tests are always a great addition - invest a little time and expand the unit tests suite. More informations about QUnit tests can be found in the wiki.

  • Add documentation: Fabric uses JSDoc 3 for documentation. The generated documentation can be found at fabricjs.com.

  • Create topic branches. Don't use your master branch for pull request. It's better to create a new branch for every pull request.

  • One pull request per feature/bug. If you want to do more than one thing, send multiple pull requests.

  • And there you go! If you still have questions we're always happy to help. Also feel free to consult wiki.