grunt-seajs-concat

0.1.3 • Public • Published

grunt-seajs-concat

concat seajs module file,if it's a seajs module,must use grunt-seajs-converter to convert seajs module first,otherwise it only concat file like grunt-contrib-concat;

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 install grunt-seajs-concat --save-dev

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

grunt.loadNpmTasks('grunt-seajs-concat');

The "seajs_concat" task

Overview

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

grunt.initConfig({
  seajs_concat: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
});

Options

options.base

Type: String Default value: ""

the real path of base defined in seajs;

options.alias

Type: Object Default value: {}

alias defined in seajs;

options.paths

Type: Object Default value: {}

paths defined in seajs;

options.preload

Type: Array Default value: []

preload defined in seajs;will be concated preload module and its dependencies first;

options.excludeDependencies

Type: Array Default value: []

exclude dependencies which equal the value in array or match the regexp in array; example

{
  excludeDependencies:["common",/^jquery/]
}
define("id",["common","jquery","jquery-ui"],function(){...})
//will not concat dependencies "common","jquery","jquery-ui";

options.excludes

Type: Array Default value: []

exclude dependencies which path is match file patterns in array; example

{
  excludes:["common/**/*.js","jquery/**/*.js"]
}
//will not concat js files under common and jquery folder;

options.includes

Type: Array Default value: []

include dependencies which path is match file patterns in array; example

{
  includes:["common/**/*.js","jquery/**/*.js"]
}
//will add js files under common and jquery folder;

options.processors

define custom processors; example:

{
  processors:[require("processorsfilepath").init(grunt).jsProcessor];
}
exports.init = function(grunt){
    var exports = {};
    /**args:
    * file:{src:source file path passed by grunt.initConfig({})}
    *
    **/
    function jsProcessor(file,options){

    }
    exports.jsProcessor = jsProcessor;
}

Default Options

{
        base : "",
        alias : {},
        paths : {},
        preload : [],
        excludeDependencies:[],
        excludes : [],
        includes : [],
        processors : {
            ".js" : script.jsProcessor
        }
}

Usage Examples

grunt.initConfig({
  seajs_concat: {
    options : {
        base : "example"
    },
    common : {
        src : "example/common/common-*.js",
        dest : "tmp/common/common.js"
    },
    main : {
         options:{
            excludeDependencies : ["common/common"]
         },
         files : {
             "tmp/page/index.js" : ["example/page/index/index.js"],
             "tmp/page/inside.js" : ["example/page/inside/inside.js"]
         }
    }
  },
});

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.

Release History

(Nothing yet)

Readme

Keywords

Package Sidebar

Install

npm i grunt-seajs-concat

Weekly Downloads

0

Version

0.1.3

License

none

Last publish

Collaborators

  • binavid