vecnatechnologies / quick-sip

Gulp build process tasks that provide watchify and sass compilation.
MIT License
1 stars 5 forks source link

Add scss linting to the build-styles task #17

Open mandragorn opened 9 years ago

mandragorn commented 9 years ago

Can be on by default, but should be easy to turn off.

Research that has already been done:

Gulp Scss Lint on npm: https://www.npmjs.com/package/gulp-scss-lint

By default, it uses https://github.com/brigade/scss-lint/blob/master/config/default.yml to configure. We can add our own .yml to enforce our in-house standards or use one of these conventions: https://github.com/brigade/scss-lint/blob/master/lib/scss_lint/linter/README.md

An article on The Guardian about this tool: https://www.theguardian.com/info/developer-blog/2014/may/13/improving-sass-code-quality-on-theguardiancom

kentmw commented 9 years ago

I'd vote for being off by default and opt-in.

mandragorn commented 9 years ago

from the perspective that the 'right' build is the easiest to configure it should be on by default and you turn it off if you don't want it. That also follows how the rest of quick-sip is built. All of the tasks are on by default unless you don't want it, in which case you turn it off.

kentmw commented 9 years ago

yea, but linting and jhinting is a stylistic choice - at the very least it has to do with a given project's coding style. Enforcing a default coding style seems counter to the purpose of quick sip - getting up and running with gulp and browserify as quickly as possible

stonecalvin commented 9 years ago

I would argue that it should be on by default, just with a very lenieny config. You can still get started quickly since you can just turn it off. Its also nice to have the lint complain on obvious things so you know you have at least some level of protection

kentmw commented 9 years ago

It would be nice to have a statement of purpose for this project to use as a guideline for new enhancements. It would also help to guide the structure of the library: plugins that you add, configs that you set, etc.