-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathGruntfile.coffee
65 lines (58 loc) · 2.04 KB
/
Gruntfile.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
###
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 = (grunt) ->
# Load the include-all library in order to require all of our grunt
# configurations and task registrations dynamically.
###
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.
###
loadTasks = (relPath) ->
includeAll(
dirname: require("path").resolve(__dirname, relPath)
filter: /(.+)\.coffee$/
) or {}
###
Invokes the function from a Grunt configuration module with
a single argument - the `grunt` object.
###
invokeConfigFn = (tasks) ->
for taskName of tasks
tasks[taskName] grunt if tasks.hasOwnProperty(taskName)
return
includeAll = undefined
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
# Load task functions
taskConfigurations = loadTasks("./tasks/config")
registerDefinitions = loadTasks("./tasks/register")
# (ensure that a default task exists)
unless registerDefinitions.default
registerDefinitions.default = (grunt) ->
grunt.registerTask('default', [])
# Run task functions to configure Grunt.
invokeConfigFn taskConfigurations
invokeConfigFn registerDefinitions
# grunt.loadNpmTasks "sails-migrations"