Eslint: How to disable “unexpected console statement” in Node.js?

Eslint: How to disable “unexpected console statement” in Node.js?

I’m using eslint with Sublime Text 3 and I am writing gulpfile.js.
/*eslint-env node*/
var gulp = require(‘gulp’);

gulp.task(‘default’, function(){
console.log(‘default task’);
});

But eslint keeps showing error : “Error: Unexpected console statement. (no-console)”

I found official document here, but I still don’t know how to disable it.
/*eslint-env node*/
var gulp = require(‘gulp’);

/*eslint no-console: 2*/
gulp.task(‘default’, function(){
console.log(‘default task’);
});

doesn’t work, either.
My Sublime Text 3 plugins: SublimeLinter and SublimeLinter-contrib-eslint.
Here’s my .eslintrc.js file:
module.exports = {
“rules”: {
“no-console”:0,
“indent”: [
2,
“tab”
],
“quotes”: [
2,
“single”
],
“linebreak-style”: [
2,
“unix”
],
“semi”: [
2,
“always”
]
},
“env”: {
“browser”: true,
“node”: true
},
“extends”: “eslint:recommended”
};

Solutions/Answers:

Solution 1:

Create a .eslintrc.js in the directory of your file, and put the following contents in it:

module.exports = {
    rules: {
        'no-console': 'off',
    },
};

Solution 2:

You should update eslint config file to fix this permanently. Else you can temporarily enable or disable eslint check for console like below

/* eslint-disable no-console */
console.log(someThing);
/* eslint-enable no-console */

Solution 3:

For vue-cli 3 open package.json and under section eslintConfig put no-console under rules and restart dev server (npm run serve or yarn serve)

...
"eslintConfig": {
    ...
    "rules": {
      "no-console": "off"
    },
    ...

Solution 4:

A nicer option is to make the display of console.log and debugger statements conditional based on the node environment.

  rules: {
    // allow console and debugger in development
    'no-console': process.env.NODE_ENV === 'production' ? 2 : 0,
    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
  },

Solution 5:

If you install eslint under your local project, you should have a directory /node_modules/eslint/conf/ and under that directory a file eslint.json. You could edit the file and modify “no-console” entry with the value “off” (although 0 value is supported too):

"rules": {
    "no-alert": "off",
    "no-array-constructor": "off",
    "no-bitwise": "off",
    "no-caller": "off",
    "no-case-declarations": "error",
    "no-catch-shadow": "off",
    "no-class-assign": "error",
    "no-cond-assign": "error",
    "no-confusing-arrow": "off",
    "no-console": "off",
    ....

I hope this “configuration” could help you.

Related:  How to set 00:00:00 using moment.js [duplicate]

Solution 6:

I’m using Ember.js which generates a file named .eslintrc.js. Adding "no-console": 0 to the rules object did the job for me. The updated file looks like this:

module.exports = {
  root: true,
  parserOptions: {
    ecmaVersion: 6,
    sourceType: 'module'
  },
  extends: 'eslint:recommended',
  env: {
    browser: true
  },
  rules: {
    "no-console": 0
  }
};