yocto-hint

2.1.3 • Public • Published

NPM

alt text Node Required version alt text Build Status

Motivation

Code style and good programming rules are very important to create a solid and comprehensive program.

All the time we need to install many tools to hint our code source for a complete validation.

That why we created an unique and ready to use tool for a complete programming validation for source code based on javascript, node, angular .

Breaking changes

In previous version we used Jshint and Jscs. Since few time Jscs and Eslint decided to work on the same tool, so we decided to forgot Jshint for Eslint.

This tools was completely rewrite, and has no compatibility with 1.x.x version.

How to install ?

npm install yocto-hint --save-dev

General usage

In your project's Gruntfile, add a section named yoctohint to the data object passed into grunt.initConfig().

'use strict';
 
module.exports = function (grunt) {
  // Project configuration.
  grunt.initConfig({
    // Default package
    pkg : grunt.file.readJSON('package.json'),
 
    // Configuration to be run (and then tested).
    yoctohint : {
      json : [
        'package.json'
      ],
      node : [
        'Gruntfile.js',
        'tasks/yoctohint.js'
      ]
    }
  });
 
  // Actually load this plugin's task(s).
  grunt.loadNpmTasks('yocto-hint');
 
  // Load npm task
  grunt.registerTask('test', [ 'yoctohint' ]);
  grunt.registerTask('default', [ 'test' ]);
};
 
// and run grunt hint in your shell

Usage for lint JSON files

For Json files you must specify the json key on your Gruntfile like below.

Usage for lint Node files

For Node files you must specify the node key on your Gruntfile like below.

Usage for lint Angular files

For Angular files you must specify the angular key on your Gruntfile like below.

ES5 vs ES6

This tools is based on eslint so we support ES6 lint features. To enable the ES6 feature you must defined in options property the env key on your Gruntfile, for example :

'use strict';
 
module.exports = function (grunt) {
  // Project configuration.
  grunt.initConfig({
    // Default package
    pkg : grunt.file.readJSON('package.json'),
 
    // Configuration to be run (and then tested).
    yoctohint : {
      json : [
        'package.json'
      ],
      node : [
        'Gruntfile.js',
        'tasks/yoctohint.js'
      ],
      options : {
        env : {
          es6 : true // this will be enable es6 for all your node files
        }
      }
    }
  });
 
  // Actually load this plugin's task(s).
  grunt.loadNpmTasks('yocto-hint');
 
  // Load npm task
  grunt.registerTask('test', [ 'yoctohint' ]);
  grunt.registerTask('default', [ 'test' ]);
};

How to use --fix options of linter

Some errors can be automatically fix by the linter, go do this just go :

grunt --fix

Compatibility with older hint process

In some case we need use compatibility ruls from our older tool. To use this compatibility and not check old rules with grunt like below :

'use strict';
 
module.exports = function (grunt) {
  // Project configuration.
  grunt.initConfig({
    // Default package
    pkg : grunt.file.readJSON('package.json'),
 
    // Configuration to be run (and then tested).
    yoctohint : {
      json : [
        'package.json'
      ],
      node : [
        'Gruntfile.js',
        'tasks/yoctohint.js'
      ],
      options : {
        compatibility : true // to enable compatibility rules enabled
      }
    }
  });
 
  // Actually load this plugin's task(s).
  grunt.loadNpmTasks('yocto-hint');
 
  // Load npm task
  grunt.registerTask('test', [ 'yoctohint' ]);
  grunt.registerTask('default', [ 'test' ]);
};

Package Sidebar

Install

npm i yocto-hint

Weekly Downloads

4

Version

2.1.3

License

UNLICENSED

Unpacked Size

32.7 kB

Total Files

16

Last publish

Collaborators

  • yocto