Skip to content

djanta/grunt-djantajs-compiler

Repository files navigation

grunt-djantajs-compiler

npm npm downloads Travis Maintainability Test Coverage Gitter

djanta-rc grunt resource compiler

Getting Started

This plugin requires Grunt ~0.4.5

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 i grunt-djantajs-compiler --save-dev[-D]

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

grunt.loadNpmTasks('grunt-djantajs-compiler');

The "bundlerc" task

Overview

In your project's Gruntfile, add a section named bundlerc to the data object passed into grunt.initConfig().

grunt.initConfig({
  bundlerc: {
    options: {
      // Task-specific options go here.
      pattern: '**/*.js',
      excludes: [
        'node_modules/**/*',
        'Grunt*.js',
        'grunt-*/**',
        'test/**/*',
        'tests/**/*',
        'Gulp*.js',
        'gulp-*/**',
        'example*/**/*',
      ]
    },
    // The specific task name goes here...
    default: {
      project: {
        // Target-specific file lists and/or options go here.
        src: 'Here is the place you define your project root absolute path' // path.resolve(__dirname, 'test', 'project')
      }
    }
  }
});

Options

options.pattern

Type: String
required: false
Default value: '**/*.js'

A string value that is used as a regex to filter all file your script file candidate for introspection.

options.excludes

Type: Array
required: false
Default value: []

An array value that is used to exclude an unnecessary resource which we do want to introspect for annotation detection purposes.

Tasks

In your specifi grunt task section, you'll have to define the most important configuration section as follow

project.src

Type: String
required: true
Default value: ``

A string value or file descriptor that must point to your project root absolute path. This's where the annotation scanning will start at

Usage Examples

Default Options

In this example, the default options are used to do something with whatever. So if the testing file has the content Testing and the 123 file had the content 1 2 3, the generated result would be Testing, 1 2 3.

grunt.initConfig({
 bundlerc: {
    options: {
      pattern: '**/*.js',
      excludes: [
        'node_modules/**/*',
        'Grunt*.js',
        'grunt-*/**',
        'test/**/*',
        'tests/**/*',
        'Gulp*.js',
        'gulp-*/**',
        'example*/**/*',
      ]
    },
    compile: {
      project: {
        src: path.resolve(__dirname, 'test', 'project')
      }
    }
  }
});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.