|
Packit |
bfcc33 |
# Contributing to LibSass
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
The following is a set of guidelines for contributing to LibSass, which is hosted in the [Sass Organization](https://github.com/sass) on GitHub.
|
|
Packit |
bfcc33 |
These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
LibSass is a library that implements a [sass language][8] compiler. As such it does not directly interface with end users (frontend developers).
|
|
Packit |
bfcc33 |
For direct contributions to the LibSass code base you will need to have at least a rough idea of C++, we will not lie about that.
|
|
Packit |
bfcc33 |
But there are other ways to contribute to the progress of LibSass. All contributions are done via github pull requests.
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
You can also contribute to the LibSass [documentation][9] or provide additional [spec tests][10] (and we will gladly point you in the
|
|
Packit |
bfcc33 |
direction for corners that lack test coverage). Foremost we rely on good and concise bug reports for issues the spec tests do not yet catch.
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
## Precheck: My Sass isn't compiling
|
|
Packit |
bfcc33 |
- [ ] Check if you can reproduce the issue via [SourceMap Inspector][5] (updated regularly).
|
|
Packit |
bfcc33 |
- [ ] Validate official ruby sass compiler via [SassMeister][6] produces your expected result.
|
|
Packit |
bfcc33 |
- [ ] Search for similar issue in [LibSass][1] and [node-sass][2] (include closed tickets)
|
|
Packit |
bfcc33 |
- [ ] Optionally test your code directly with [sass][7] or [sassc][3] ([installer][4])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
## Precheck: My build/install fails
|
|
Packit |
bfcc33 |
- [ ] Problems with building or installing libsass should be directed to implementors first!
|
|
Packit |
bfcc33 |
- [ ] Except for issues directly verified via sassc or LibSass own build (make/autotools9
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
## Craft a meaningfull error report
|
|
Packit |
bfcc33 |
- [ ] Include the version of libsass and the implementor (i.e. node-sass or sassc)
|
|
Packit |
bfcc33 |
- [ ] Include information about your operating system and environment (i.e. io.js)
|
|
Packit |
bfcc33 |
- [ ] Either create a self contained sample that shows your issue ...
|
|
Packit |
bfcc33 |
- [ ] ... or provide it as a fetchable (github preferred) archive/repo
|
|
Packit |
bfcc33 |
- [ ] ... and include a step by step list of command to get all dependencies
|
|
Packit |
bfcc33 |
- [ ] Make it clear if you use indented or/and scss syntax
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
## My error is hiding in a big code base
|
|
Packit |
bfcc33 |
1. we do not have time to support your code base!
|
|
Packit |
bfcc33 |
2. to fix occuring issues we need precise bug reports
|
|
Packit |
bfcc33 |
3. the more precise you are, the faster we can help you
|
|
Packit |
bfcc33 |
4. lazy reports get overlooked even when exposing serious bugs
|
|
Packit |
bfcc33 |
5. it's not hard to do, it only takes time
|
|
Packit |
bfcc33 |
- [ ] Make sure you saved the current state (i.e. commit to git)
|
|
Packit |
bfcc33 |
- [ ] Start by uncommenting blocks in the initial source file
|
|
Packit |
bfcc33 |
- [ ] Check if the problem is still there after each edit
|
|
Packit |
bfcc33 |
- [ ] Repeat until the problem goes away
|
|
Packit |
bfcc33 |
- [ ] Inline imported files as you go along
|
|
Packit |
bfcc33 |
- [ ] Finished once you cannot remove more
|
|
Packit |
bfcc33 |
- [ ] The emphasis is on the word "repeat" ...
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
## What makes a code test case
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
Important is that someone else can get the test case up and running to reproduce it locally. For this
|
|
Packit |
bfcc33 |
we urge you to verify that your sample yields the expected result by testing it via [SassMeister][6]
|
|
Packit |
bfcc33 |
or directly via ruby sass or node-sass (or any other libsass implementor) before submitting your bug
|
|
Packit |
bfcc33 |
report. Once you verified all of the above, you may use the template below to file your bug report.
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
[1]: https://github.com/sass/libsass/issues?utf8=%E2%9C%93&q=is%3Aissue
|
|
Packit |
bfcc33 |
[2]: https://github.com/sass/node-sass/issues?utf8=%E2%9C%93&q=is%3Aissue
|
|
Packit |
bfcc33 |
[3]: https://github.com/sass/sassc
|
|
Packit |
bfcc33 |
[4]: http://libsass.ocbnet.ch/installer/
|
|
Packit |
bfcc33 |
[5]: http://libsass.ocbnet.ch/srcmap/
|
|
Packit |
bfcc33 |
[6]: http://www.sassmeister.com/
|
|
Packit |
bfcc33 |
[7]: https://rubygems.org/gems/sass
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
[8]: http://sass-lang.com/
|
|
Packit |
bfcc33 |
[9]: https://github.com/sass/libsass/tree/master/docs
|
|
Packit |
bfcc33 |
[10]: https://github.com/sass/sass-spec
|