‘grunt-complexity-updater’ for nodejs

grunt-complexity-updater is a a little grunt-task that want to help you in multiple ways during development. It utilizes grunt-complexity to:

  • break your build if maintainability drops below a given threshold and will
  • auto-update the overall-maintainability with lowest detected maintainability in .complexityrc

This free’s you from the need to manually update a thresholds file and will (hopefully) help you to semi-automatic increase the maintainability of your project in the long run.

Here is actually all you need.

$ npm install grunt-complexity-updater

// in your Gruntfile.js
  complexity: {
    generic: {
      src: ['lib/*.js'],
      options: grunt.file.readJSON('.complexityrc')


// a little shortcut
grunt.registerTask('test', ['update-grunt-complexity-values'])

Create a .complexityrc file and make it look like:

  "maintainability":      1,    // initial value, will be updated on next run
  "broadcast":            true, // make grunt-complexity broadcasting data

  // following settings are up to you
  "breakOnErrors":        true|false,
  "errorsOnly":           true|false,
  "cyclomatic":           0,
  "halstead":             0,
  "hideComplexFunctions": false

That’s it.

I hope grunt-complexity will report more metrics in the future which i would really like to implement.

You can find “grunt-complexity-updater” either on npm or on github. Feel free to try and let me know what you think or file an(y) issues here


This entry was posted in javascript, nodejs and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>