Home » Javascript » How to disable the warning 'define' is not defined using JSHint and RequireJS

How to disable the warning 'define' is not defined using JSHint and RequireJS

Posted by: admin November 29, 2017 Leave a comment

Questions:

I uses RequireJS AMD in my project. When i run jshint on my project, it throws error like

In AMD Scripts

 'define' is not defined.

In Mocha test cases

 'describe' is not defined.
 'it' is not defined.

How to remove this warning in jshint?

Answers:

Just to expand a bit, here’s a .jshintrc setup for Mocha:

{
  ....
  "globals"   : {
    /* MOCHA */
    "describe"   : false,
    "it"         : false,
    "before"     : false,
    "beforeEach" : false,
    "after"      : false,
    "afterEach"  : false
  }
}

From the JSHint Docs – the false (the default) means the variable is read-only.

If you are defining globals only for a specific file, you can do this:

/*global describe, it, before, beforeEach, after, afterEach */

Questions:
Answers:

To avoid the not defined warning in jshint for the javascript add comments like:

/*global describe:true*/

Options

Questions:
Answers:
jshint: {
  options: {
    mocha: true,
  }
}

is what you want

Questions:
Answers:

Add this in your .jshintrc

"predef" : ["define"]   // Custom globals for requirejs

Questions:
Answers:

late to the party, but use this option in your jshintrc:

"dojo": true

and thou shall rest peacefully without red warnings…

Questions:
Answers:

If you are working on node js. Add these two lines in the beginning of your file

/*jslint node: true */
"use strict";

Questions:
Answers:

Read the docs and search for /*global

Questions:
Answers:

If you’re trying to run JSHint in WebStorm with Mocha, as I am, go into:

WebStorm > Preferences > Languages & Frameworks > JavaScript > Code Quality Tools > JSHint

Scroll down to “Environments” and make sure you have selected the checkbox to enable “Mocha” which will set up the definitions for JSHint for Mocha for you.