grunt-micro
grunt-micro copied to clipboard
Ensure your micro-framework stays micro
grunt-micro
Ensure your micro-framework stays micro.
Does your project page say Less than xKB min'd and Gzipped? Make the build fail if you're lying.
Grunt-micro is particularly useful when paired with TravisCI to verify all pull requests are within your specified size limit.
By default, grunt-micro is configured to ensure eligibility for microjs.com (5KB Gzipped and under).
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-micro --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-micro');
The "micro" task
Overview
In your project's Gruntfile, add a section named micro to the data object passed into grunt.initConfig().
grunt.initConfig({
micro: {
options: {
// Task-specific options go here.
},
my_target: {
// Target-specific file lists and/or options go here.
}
}
});
Options
options.limit
Type: Number
Default value: 5120 (5KB)
File size limit in bytes.
options.gzip
Type: Boolean
Default value: true
Gzip files before size calculation.
Usage Examples
Standard Usage
Configure the size limit and Gzip settings for your files.
grunt.initConfig({
micro: {
my_target: {
src: 'dist/project.min.js',
options: {
limit: 1024,
gzip: false
}
}
}
});
MicroJS Projects
By default, grunt-micro is configured to ensure eligibility for microjs.com (5KB Gzipped and under).
grunt.initConfig({
micro: {
my_target: {
src: 'dist/project.min.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.
Questions?
Contact me on GitHub or Twitter: @markdalgleish
License
Copyright 2013, Mark Dalgleish
This content is released under the MIT license
http://markdalgleish.mit-license.org
