Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Grunt.js task for removing console logging statements

branch: master
README.md

About

This task removes all console logging statements from your source code.

Getting Started

Install this plugin with the command:

npm install grunt-remove-logging

Next, add this line to your project's grunt file:

grunt.loadNpmTasks("grunt-remove-logging");

Lastly, add the configuration settings (see below) to your grunt file.

Documentation

This task has two required properties, src and dest. src is the path to your source file and dest is the file this task will write to (relative to the grunt.js file).

An example configuration looks like this:

grunt.initConfig({
  removelogging: {
    dist: {
      src: "js/application.js",
      dest: "js/application-clean.js",

      options: {
        // see below for options. this is optional.
      }
    }
  }
});

To run this task against multiple files and automatically overwrite them with the resultant output, omit the dest option:

grunt.initConfig({
  removelogging: {
    dist: {
      src: "dist/**/*.js" // Each file will be overwritten with the output!
    }
  }
});

Optional Configuration Properties

This plugin can be customized by specifying the following options:

  • replaceWith: A value to replace logging statements with. This option defaults to an empty string. If you use fancy statements like console && console.log("foo");, you may choose to specify a replaceWith value like 0; so that your scripts don't completely break.
  • namespace: An array of object names that logging methods are attached to. Defaults to [ 'console', 'window.console' ]. If you use a custom logger, like MyApp.logger.log(foo), you would set this option to [MyApp.logger].
  • methods: An array of method names to remove. Defaults to all the methods in the Firebug console API. This option is useful if you want to strip out all log methods, but keep warn for example.

Skipping Individual Statements

You can tell this task to keep specific logging statements by adding the comment directive /*RemoveLogging:skip*/ after the statement:

console.log("foo");/*RemoveLogging:skip*/

// or:

console.log("foo")/*RemoveLogging:skip*/;

// whitespace is fine too, whatever floats your boat:

console.log("foo") /* RemoveLogging:skip */;
Something went wrong with that request. Please try again.