This repository has been archived by the owner on Feb 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathGruntfile.js
128 lines (115 loc) · 3.04 KB
/
Gruntfile.js
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
module.exports = function( grunt ) {
grunt.initConfig( {
// Import package manifest
pkg: grunt.file.readJSON( "package.json" ),
// Banner definitions
// https://www.npmjs.com/package/jquery.gridstrap contains the version numbers built in only due it this being semantically-released.
meta: {
banner: "/*\n" +
" * <%= pkg.title || pkg.name %> - v{{ include-version }}\n" +
" * <%= pkg.description %>\n" +
" * <%= pkg.message %>\n" +
" * <%= pkg.homepage %>\n" +
" *\n" +
" * Made by <%= pkg.author.name %>\n" +
" * Under <%= pkg.license %> License\n" +
" */\n"
},
// Concat definitions
concat: { // just concat banner onto some. Uglify handles minified js.
options: {
banner: "<%= meta.banner %>"
},
dist: {
files: {
"docs/jquery.gridstrap.js": ["dist/jquery.gridstrap.js"],
"dist/jquery.gridstrap.js": ["dist/jquery.gridstrap.js"],
"docs/jquery.gridstrap.css": ["src/style.css"],
"dist/jquery.gridstrap.css": ["src/style.css"],
"dist/jquery.gridstrap.min.css": ["dist/jquery.gridstrap.min.css"],
}
}
},
// Minify definitions
uglify: {
dist: {
files:{
"dist/jquery.gridstrap.min.js": [ "dist/jquery.gridstrap.js" ]
}
},
options: {
banner: "<%= meta.banner %>",
sourceMap: true
}
},
cssmin: {
options: {
mergeIntoShorthands: false,
roundingPrecision: -1
},
target: {
files: {
"dist/jquery.gridstrap.min.css" : ["dist/jquery.gridstrap.css"]
}
}
},
karma: {
unit: {
configFile: "karma.conf.js",
singleRun: false,
browsers: [ "ChromeHeadless" ],
background: false
},
//continuous integration mode
travis: {
configFile: "karma.conf.js",
singleRun: true,
browsers: [ "ChromeHeadless" ],
background: false
}
},
browserify: {
dist: {
options: {
transform: [["babelify", { "presets": ["@babel/preset-env"]}]]
},
files: {
"./dist/jquery.gridstrap.js": ["./src/gridstrap.js"],
"./test/compiled/jquery.gridstrap.spec.js": ["./test/spec/*.js"]
}
}
},
watch: {
files: [ "src/*", "test/spec/*" ],
tasks: [ "default" ]
},
'string-replace' : {
dist: {
files: {
'docs/index.html': 'docs/indexLocal.html',
'docs/responsive.html': 'docs/responsiveLocal.html',
},
options: {
replacements: [{
pattern: /"http:\/\//ig,
replacement: '"//'
},
{
pattern: /responsiveLocal/ig,
replacement: 'responsive'
}]
}
}
}
} );
grunt.loadNpmTasks( "grunt-contrib-concat" );
grunt.loadNpmTasks( "grunt-contrib-uglify" );
grunt.loadNpmTasks( "grunt-contrib-watch" );
grunt.loadNpmTasks( "grunt-karma" );
grunt.loadNpmTasks("grunt-browserify");
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-string-replace');
grunt.registerTask( "build", [ "browserify", "uglify", "cssmin", "concat", "string-replace" ] );
grunt.registerTask( "travis", [ "build", "karma:travis" ] );
grunt.registerTask( "default", [ "build", "karma:unit" ] );
};