grunt-mincerrc
Run Mincer by .mincerrc files
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-mincerrc --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-mincerrc');
The "mincerrc" task
Overview
In your project's Gruntfile, add a section named mincerrc
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
mincerrc: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
});
Options
options.clean
Type: Boolean
Default value: false
Specifies whether to clean output before build
options.compress
Type: Boolean
Default value: false
Specifies whether to gzip assets.
options.digest
Type: Boolean
Default value: true
Specifies whether to include a digest identifier in filenames.
options.embedMappingComments
Type: Boolean
Default value: false
Specifies whether to embed source-map comments into the merged assets.
options.enable
Type: Array
Default value: []
An array containing features to be enabled in the environment
options.engines
Type: Object
Default value: {}
An object containing configuration options for each of mincer's engines.
options.files
Type: Array
Default value: []
Environment files to be merged with .mincerrc specific files, such as application.js
.
options.helpers
Type: Object
Default value: {}
An object containing helper methods to be available during build.
options.include
Type: Array
Default value: []
Environment paths to be merged with .mincerrc specific paths.
options.manifest
Type: String
Default value: 'manifest.json'
Specifies the filename of json manifest. Set to false if no manifest should be written at all.
options.output
Type: String
Default value: ''
Output path to override .mincerrc output path.
options.sourceMaps
Type: Boolean
Default value: false
Specifies whether to compile source-maps. When set, the corresponding environment-feature is auto-enabled.
Usage Examples
Default Options
Provide paths to .mincerrc-files
grunt.initConfig({
mincerrc: {
default_options: {
options: {
clean: true
},
cwd: 'app',
src: ['**/.mincerrc']
}
}
});
Custom Options
Apply custom options to .mincerrc builds
grunt.initConfig({
mincerrc: {
custom_options: {
options: {
clean: true,
enable: [
'autoprefixer'
],
engines: {
Coffee: {
bare: true
}
},
helpers: {
asset_path: function(logicalPath) {
var
base = 'public/_assets/',
asset = this.findAsset(logicalPath);
if (asset) {
return base + asset.digestPath;
}
return base + logicalPath;
}
},
jsCompressor: 'uglify',
cssCompressor: 'csswring',
sourceMaps: true,
embedMappingComments: true,
compress: true
},
cwd: 'tmp/custom_options',
src: ['**/.mincerrc']
}
}
});
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
v0.0.5 - Fixed missing packages, Fixed tests
v0.0.4 - Fixed missing packages (Unstable)
v0.0.3 - Added manifest and digest options, allowing for building assets to their logical path and without manifest. Build from environment files such as application.js
in addition to .mincerrc
-files. (Unstable)
v0.0.2 - Added custom options