Coder Social home page Coder Social logo

grunt-groundskeeper's Introduction

grunt-groundskeeper Build Status

Remove console statements, debugger and specific blocks of code

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-groundskeeper --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-groundskeeper');

This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that you upgrade, but in case you can't please use v0.3.2.

Groundskeeper task

Run this task with the grunt groundskeeper command.

Task targets, files and options may be specified according to the grunt Configuring tasks guide.

Options

For a more detailed description of the available options please refer to the groundskeeper's usage

console

Type: boolean

If true, it will keep console statements.

debugger

Type: boolean

If true, it will keep debugger; statements.

pragmas

Type: Array

It will keep pragmas with the specified identifiers.

namespace

Type: Array

Remove custom logging utilities that live in the given namespace.

replace

Type: String

If the simple removal of statements causes errors, use this option to replace them for a given string.

Usage Examples

groundskeeper: {
  compile: {
    files: {
      'path/to/result.js': 'path/to/source.js', // 1:1 compile
      'path/to/another.js': ['path/to/sources/*.js', 'path/to/more/*.js'] // clean up and concat into single file
    },
    options: {  // this options only affect the compile task
        console: false
    }
  },

  glob_to_multiple: { // if multiple files are given, this will keep the same folder structure and files
    expand: true,
    cwd: 'path/to',
    src: ['*.js'],
    dest: 'path/to/dest/',
    ext: '.js'
  },

  options: {
    console: true,                          // don't remove console statements
    debugger: true,                         // don't remove debugger statements
    pragmas: ['development', 'validation'], // don't remove `development` and `validation` pragmas
    namespace: ['App.logger'],              // Remove functions that live inside the App.logger namespace
    replace: '"0"'                          // Replace removed statements for the given string (note the extra quotes)
  }
}

For more examples on how to use the expand API shown in the glob_to_multiple example, see "Building the files object dynamically" in the grunt wiki entry Configuring Tasks.

Release History

  • 2013-02-20   v0.1.3   Fix compatibility with grunt 0.4. Remove 'keepStructure' option.
  • 2012-12-14 v0.1.2 Provide more output options.
  • 2012-12-14 v0.1.1 Provide options and documentation.
  • 2012-12-14 v0.1.0 First functional wrapper around groundskeeper.

Task submitted by Luis Couto

This file was generated on Wed Feb 20 2013 15:25:29.

grunt-groundskeeper's People

Contributors

couto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.