Initial commit
[yaffs-website] / node_modules / node-sass / src / libsass / .github / CONTRIBUTING.md
1 # Contributing to LibSass
2
3 :+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
4
5 The following is a set of guidelines for contributing to LibSass, which is hosted in the [Sass Organization](https://github.com/sass) on GitHub.
6 These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
7
8 LibSass is a library that implements a [sass language] [8] compiler. As such it does not directly interface with end users (frontend developers).
9 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.
10 But there are other ways to contribute to the progress of LibSass. All contributions are done via github pull requests.
11
12 You can also contribute to the LibSass [documentation] [9] or provide additional [spec tests] [10] (and we will gladly point you in the
13 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.
14
15 ## Precheck: My Sass isn't compiling
16 - [ ] Check if you can reproduce the issue via [SourceMap Inspector] [5] (updated regularly).
17 - [ ] Validate official ruby sass compiler via [SassMeister] [6] produces your expected result.
18 - [ ] Search for similar issue in [LibSass] [1] and [node-sass] [2] (include closed tickets)
19 - [ ] Optionally test your code directly with [sass] [7] or [sassc] [3] ([installer] [4])
20
21 ## Precheck: My build/install fails
22 - [ ] Problems with building or installing libsass should be directed to implementors first!
23 - [ ] Except for issues directly verified via sassc or LibSass own build (make/autotools9
24
25 ## Craft a meaningfull error report
26 - [ ] Include the version of libsass and the implementor (i.e. node-sass or sassc)
27 - [ ] Include information about your operating system and environment (i.e. io.js)
28 - [ ] Either create a self contained sample that shows your issue ...
29 - [ ] ... or provide it as a fetchable (github preferred) archive/repo
30 - [ ] ... and include a step by step list of command to get all dependencies
31 - [ ] Make it clear if you use indented or/and scss syntax
32
33 ## My error is hiding in a big code base
34 1. we do not have time to support your code base!
35 2. to fix occuring issues we need precise bug reports
36 3. the more precise you are, the faster we can help you
37 4. lazy reports get overlooked even when exposing serious bugs
38 5. it's not hard to do, it only takes time
39 - [ ] Make sure you saved the current state (i.e. commit to git)
40 - [ ] Start by uncommenting blocks in the initial source file
41 - [ ] Check if the problem is still there after each edit
42 - [ ] Repeat until the problem goes away
43 - [ ] Inline imported files as you go along
44 - [ ] Finished once you cannot remove more
45 - [ ] The emphasis is on the word "repeat" ...
46
47 ## What makes a code test case
48
49 Important is that someone else can get the test case up and running to reproduce it locally. For this
50 we urge you to verify that your sample yields the expected result by testing it via [SassMeister] [6]
51 or directly via ruby sass or node-sass (or any other libsass implementor) before submitting your bug
52 report. Once you verified all of the above, you may use the template below to file your bug report.
53
54
55 [1]: https://github.com/sass/libsass/issues?utf8=%E2%9C%93&q=is%3Aissue
56 [2]: https://github.com/sass/node-sass/issues?utf8=%E2%9C%93&q=is%3Aissue
57 [3]: https://github.com/sass/sassc
58 [4]: http://libsass.ocbnet.ch/installer/
59 [5]: http://libsass.ocbnet.ch/srcmap/
60 [6]: http://www.sassmeister.com/
61 [7]: https://rubygems.org/gems/sass
62
63 [8]: http://sass-lang.com/
64 [9]: https://github.com/sass/libsass/tree/master/docs
65 [10]: https://github.com/sass/sass-spec