gruntfile.js
function() {
		config.template.indexFile.options.data.C = _CONSTANTS.DEV;
		config.template.indexFile.options.data.D3PIE_VERSION = packageFile.version;
		config.template.devRequireConfig.options.data.handlebarsLib = _CONSTANTS.DEV.HANDLEBARS_LIB;
		config.template.devRequireConfig.options.data.baseUrl = _CONSTANTS.DEV.BASE_URL;
		var lines = [];
		for (var i in _requireJSModulePaths) {
			var file = _requireJSModulePaths[i].replace(/\.js$/, "");
			lines.push('\t\t"' + i + '": "' + file + '"');
		}
		config.template.devRequireConfig.options.data.moduleStr = lines.join(",\n");
		config.template.constants.options.data.VERSION = packageFile.version;
		config.template.constants.options.data.MINIMIZED = _CONSTANTS.DEV.MINIMIZED;
		config.template.constants.options.data.DEBUG = _CONSTANTS.DEV.DEBUG;
	}
function() {
		config.template.indexFile.options.data.C = _CONSTANTS.DEV;
		config.template.indexFile.options.data.D3PIE_VERSION = packageFile.version;
		config.template.devRequireConfig.options.data.handlebarsLib = _CONSTANTS.DEV.HANDLEBARS_LIB;
		config.template.devRequireConfig.options.data.baseUrl = _CONSTANTS.DEV.BASE_URL;
		var lines = [];
		for (var i in _requireJSModulePaths) {
			var file = _requireJSModulePaths[i].replace(/\.js$/, "");
			lines.push('\t\t"' + i + '": "' + file + '"');
		}
		config.template.devRequireConfig.options.data.moduleStr = lines.join(",\n");
		config.template.constants.options.data.VERSION = packageFile.version;
		config.template.constants.options.data.MINIMIZED = _CONSTANTS.DEV.MINIMIZED;
		config.template.constants.options.data.DEBUG = _CONSTANTS.DEV.DEBUG;
	}
The first step of the build process. This sets various settings in the main grunt config for the current build environment.
These govern how the subsequent tasks behave.