Licence: MIT.
The linters are currently running with Gulp
, so you need to have node
and npm
in your environment. Some linters need specific dependencies:
- Scss linter requires to run the Ruby dependencies (gem file)
- PHP linter requires to run the composer dependencies (composer.json)
The installation of this module is simple. First make sure your ssh keys are allowing you to access github from your environment. At the root of your project, update your package.json and add in the dependency section:
"gulp-linters": "git+ssh://[email protected]:theorchard/linters.git",
If you don't have an existing package.json
, run npm init
, when it has been generated, add the line above in the newly created package.json
. You also probably want to add "Gulp". To do so, run: npm install gulp --save-dev
.
If you've never worked with Gulp, it's a task manager that allows you to run tasks concurrently. It works with a gulpfile.js
, in which you can find the different tasks it can run. To start gulp, you just have to run: gulp [taskname]
.
The Gulp Linters have been built as a gulp extension you require then use. It will look like this:
var gulp = require('gulp');
// Requesting the linters, and registering the new tasks on this gulp instance.
var linters = require('gulp-linters');
linters.register(gulp);
gulp.task('lint', linters.all);
When you call the register
method, the second parameter allows you to pass in some options:
files
: Dictionary that contains the list of all your files.files.php
: List of all your php files.files.js
: List of all your javascript files.files.scss
: List of all your Sass files.
There are 4 different linter tasks sets:
linters.js
: will make jslint run against your js files.linters.scss
: will make scss-lint run against all your scss files.linters.php
: will make php codesniffer run against all your php files.linters.all
: will run both js and scss.linters.dev
: will run all linters and a watcher (so when a file is updated, the linters are running on that specific file.)