Add environment-centric logic to your Grunt builds
This plugin requires Grunt ~0.4.1
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-environment --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this snippet of JavaScript:
grunt.initConfig({
// ...
environment: {
default: 'development',
environments: ['development', 'production'],
version: function(){
return grunt.file.readJSON('package.json')['version']
},
file: 'build.json'
}
// ...
});
grunt.loadNpmTasks('grunt-environment');
Any of the above options can also be a function except for the environments
array.
The grunt-environment plugin will add the tasks environment:development
and
environment:production
(for each entry in your environments
array).
They will maintain state in a file called .grunt/environment.json
in your project directory.
You can now use grunt.config.get('environment.env')
in your other Grunt tasks to
create conditions around these environments.
v0.2.0
adds the aliasgrunt.environment()
to the currentenv
value.
The additional keys timestamp
and version
are included as well.
You may find it useful to pass
build
as a variable into a template for your application to use at runtime.
- No longer necessary to try/catch initialize manually after tasks are loaded
- Adds
grunt environment
(with no subtask) to echo current environment from file
- Small fixes
- Adds
grunt.environment()
alias - Bit of overall refactoring
- Moves default storage from
build.json
to.grunt/environment.json
- Adds configurable options
default
,environments
,version
,file
- First release