You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.1 KiB
81 lines
2.1 KiB
/** |
|
* Gruntfile |
|
* |
|
* This Node script is executed when you run `grunt` or `sails lift`. |
|
* It's purpose is to load the Grunt tasks in your project's `tasks` |
|
* folder, and allow you to add and remove tasks as you see fit. |
|
* For more information on how this works, check out the `README.md` |
|
* file that was generated in your `tasks` folder. |
|
* |
|
* WARNING: |
|
* Unless you know what you're doing, you shouldn't change this file. |
|
* Check out the `tasks` directory instead. |
|
*/ |
|
|
|
module.exports = function(grunt) { |
|
|
|
|
|
// Load the include-all library in order to require all of our grunt |
|
// configurations and task registrations dynamically. |
|
var includeAll; |
|
try { |
|
includeAll = require('include-all'); |
|
} catch (e0) { |
|
try { |
|
includeAll = require('sails/node_modules/include-all'); |
|
} |
|
catch(e1) { |
|
console.error('Could not find `include-all` module.'); |
|
console.error('Skipping grunt tasks...'); |
|
console.error('To fix this, please run:'); |
|
console.error('npm install include-all --save`'); |
|
console.error(); |
|
|
|
grunt.registerTask('default', []); |
|
return; |
|
} |
|
} |
|
|
|
|
|
/** |
|
* Loads Grunt configuration modules from the specified |
|
* relative path. These modules should export a function |
|
* that, when run, should either load/configure or register |
|
* a Grunt task. |
|
*/ |
|
function loadTasks(relPath) { |
|
return includeAll({ |
|
dirname: require('path').resolve(__dirname, relPath), |
|
filter: /(.+)\.js$/ |
|
}) || {}; |
|
} |
|
|
|
/** |
|
* Invokes the function from a Grunt configuration module with |
|
* a single argument - the `grunt` object. |
|
*/ |
|
function invokeConfigFn(tasks) { |
|
for (var taskName in tasks) { |
|
if (tasks.hasOwnProperty(taskName)) { |
|
tasks[taskName](grunt); |
|
} |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
// Load task functions |
|
var taskConfigurations = loadTasks('./tasks/config'), |
|
registerDefinitions = loadTasks('./tasks/register'); |
|
|
|
// (ensure that a default task exists) |
|
if (!registerDefinitions.default) { |
|
registerDefinitions.default = function (grunt) { grunt.registerTask('default', []); }; |
|
} |
|
|
|
// Run task functions to configure Grunt. |
|
invokeConfigFn(taskConfigurations); |
|
invokeConfigFn(registerDefinitions); |
|
|
|
};
|
|
|