Skip to content

Commit bc9859f

Browse files
committed
Add Gruntfile
1 parent 52dc36e commit bc9859f

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed

Gruntfile.js

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
/*global module:false*/
2+
module.exports = function(grunt) {
3+
4+
// Project configuration.
5+
grunt.initConfig({
6+
pkg: '<json:package.json>',
7+
meta: {
8+
banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
9+
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
10+
'<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' +
11+
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
12+
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */'
13+
},
14+
concat: {
15+
dist_js: {
16+
src: ['<banner:meta.banner>', '<file_strip_banner:src/jquery.coords.js>', '<file_strip_banner:src/jquery.collision.js>', 'src/utils.js', '<file_strip_banner:src/jquery.draggable.js>', '<file_strip_banner:src/<%= pkg.name %>.js>'],
17+
dest: 'dist/<%= pkg.name %>.js'
18+
},
19+
20+
dist_extras_js: {
21+
src: ['<banner:meta.banner>', '<file_strip_banner:src/jquery.coords.js>', '<file_strip_banner:src/jquery.collision.js>', 'src/utils.js', '<file_strip_banner:src/jquery.draggable.js>', '<file_strip_banner:src/<%= pkg.name %>.js>', '<file_strip_banner:src/<%= pkg.name %>.extras.js>'],
22+
dest: 'dist/<%= pkg.name %>.with-extras.js'
23+
},
24+
25+
dist_css: {
26+
src: ['<banner:meta.banner>', 'src/<%= pkg.name %>.css'],
27+
dest: 'dist/<%= pkg.name %>.css'
28+
},
29+
30+
dist_demo_js: {
31+
src: ['<banner:meta.banner>', '<file_strip_banner:src/jquery.coords.js>', '<file_strip_banner:src/jquery.collision.js>', 'src/utils.js', '<file_strip_banner:src/jquery.draggable.js>', '<file_strip_banner:src/<%= pkg.name %>.js>'],
32+
dest: 'gh-pages/dist/<%= pkg.name %>.js'
33+
},
34+
35+
dist_extras_demo_js: {
36+
src: ['<banner:meta.banner>', '<file_strip_banner:src/jquery.coords.js>', '<file_strip_banner:src/jquery.collision.js>', 'src/utils.js', '<file_strip_banner:src/jquery.draggable.js>', '<file_strip_banner:src/<%= pkg.name %>.js>', '<file_strip_banner:src/<%= pkg.name %>.extras.js>'],
37+
dest: 'gh-pages/dist/<%= pkg.name %>.with-extras.js'
38+
},
39+
40+
dist_demo_css: {
41+
src: ['<banner:meta.banner>', 'src/<%= pkg.name %>.css'],
42+
dest: 'gh-pages/dist/<%= pkg.name %>.css'
43+
}
44+
},
45+
min: {
46+
dist: {
47+
src: ['<banner:meta.banner>', '<config:concat.dist_js.dest>'],
48+
dest: 'dist/<%= pkg.name %>.min.js'
49+
},
50+
51+
dist_extras: {
52+
src: ['<banner:meta.banner>', '<config:concat.dist_extras_js.dest>'],
53+
dest: 'dist/<%= pkg.name %>.with-extras.min.js'
54+
},
55+
56+
dist_demo: {
57+
src: ['<banner:meta.banner>', '<config:concat.dist_js.dest>'],
58+
dest: 'gh-pages/dist/<%= pkg.name %>.min.js'
59+
},
60+
61+
dist_extras_demo: {
62+
src: ['<banner:meta.banner>', '<config:concat.dist_extras_js.dest>'],
63+
dest: 'gh-pages/dist/<%= pkg.name %>.with-extras.min.js'
64+
}
65+
},
66+
mincss: {
67+
compress: {
68+
files: {
69+
"dist/<%= pkg.name %>.min.css": ["dist/<%= pkg.name %>.css"],
70+
"gh-pages/dist/<%= pkg.name %>.min.css": ["dist/<%= pkg.name %>.css"]
71+
}
72+
}
73+
},
74+
qunit: {
75+
files: ['test/**/*.html']
76+
},
77+
lint: {
78+
files: ['grunt.js', 'src/**/*.js', 'test/**/*.js']
79+
},
80+
watch: {
81+
files: ['<config:lint.files>', 'src/<%= pkg.name %>.css'],
82+
tasks: 'min concat'
83+
},
84+
jshint: {
85+
options: {
86+
curly: true,
87+
eqeqeq: true,
88+
immed: true,
89+
latedef: true,
90+
newcap: true,
91+
noarg: true,
92+
sub: true,
93+
undef: true,
94+
boss: true,
95+
eqnull: true,
96+
browser: true
97+
},
98+
globals: {
99+
jQuery: true
100+
}
101+
},
102+
uglify: {},
103+
yuidoc: {
104+
compile: {
105+
"name": 'gridster.js',
106+
"description": 'gridster.js, a drag-and-drop multi-column jQuery grid plugin',
107+
"version": '0.1.0',
108+
"url": 'http://gridster.net/',
109+
"logo": 'http://ducksboard.com/wp-content/themes/blog-theme-ducksboard/images/ducksboard.png',
110+
options: {
111+
paths: "src/",
112+
outdir: "gh-pages/docs/"
113+
}
114+
}
115+
}
116+
});
117+
118+
grunt.loadNpmTasks('grunt-contrib');
119+
120+
// Default task.
121+
grunt.registerTask('default', 'lint qunit concat min mincss yuidoc');
122+
123+
};

0 commit comments

Comments
 (0)