Skip to content

Commit 6ed94f2

Browse files
committed
setup development and production builds
1 parent 555e2a7 commit 6ed94f2

File tree

2 files changed

+42
-35
lines changed

2 files changed

+42
-35
lines changed

Gruntfile.js

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ module.exports = function (grunt) {
3030
}
3131
},
3232
karma: {
33-
unit: {
33+
dev: {
3434
options: {
3535
autoWatch: true,
3636
colors: true,
@@ -40,7 +40,7 @@ module.exports = function (grunt) {
4040
runnerPort: 9100
4141
}
4242
},
43-
travis: {
43+
prod: {
4444
options: {
4545
colors: true,
4646
configFile: './test/karma.conf.js',
@@ -50,7 +50,14 @@ module.exports = function (grunt) {
5050
}
5151
},
5252
webpack: {
53-
dist: require("./webpack.config.js")
53+
options: require("./webpack.config.js").config,
54+
prod: {
55+
cache: false,
56+
plugins: require("./webpack.config.js").prodPlugins
57+
},
58+
dev: {
59+
cache: false
60+
}
5461
},
5562
copy: {
5663
sources: {
@@ -60,7 +67,7 @@ module.exports = function (grunt) {
6067
}
6168
},
6269
jshint: {
63-
src: {
70+
sources: {
6471
files: {
6572
src: [
6673
'./src/*.js',
@@ -69,7 +76,7 @@ module.exports = function (grunt) {
6976
},
7077
options: grunt.util._.extend({}, grunt.file.readJSON('.jshintrc'), grunt.file.readJSON('./src/.jshintrc'))
7178
},
72-
test: {
79+
tests: {
7380
files: {
7481
src: ['./test/*Spec.js']
7582
},
@@ -109,26 +116,25 @@ module.exports = function (grunt) {
109116
grunt.registerTask('default', ['server']);
110117

111118
grunt.registerTask('test', [
112-
'webpack',
113-
'karma:unit'
119+
'webpack:dev',
120+
'karma:dev'
114121
]);
115122

116123
grunt.registerTask('buildWatcher', [
117-
'jshint:src',
118-
'webpack',
119-
'copy:sources'
124+
'jshint:sources',
125+
'webpack:dev'
120126
]);
121127

122128
grunt.registerTask('build', [
123-
'jshint:test',
124-
'jshint:src',
125-
'webpack',
126-
'karma:travis',
129+
'jshint:tests',
130+
'jshint:sources',
131+
'webpack:prod',
132+
'karma:prod',
127133
'copy:sources'
128134
]);
129135

130136
grunt.registerTask('travis', [
131-
'webpack',
132-
'karma:travis'
137+
'webpack:prod',
138+
'karma:prod'
133139
]);
134140
};

webpack.config.js

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,7 @@ var path = require('path');
22
var webpack = require('webpack');
33
var packageJSON = require('./package.json');
44

5-
var banner =
6-
packageJSON.name + '\n' +
7-
packageJSON.homepage + '\n' +
8-
'Version: ' + packageJSON.version + ' -- ' + (new Date()).toISOString() + '\n' +
9-
'License: ' + packageJSON.license;
10-
11-
module.exports = {
5+
module.exports.config = {
126
entry: {
137
'ui-scroll': './src/ui-scroll.js',
148
'ui-scroll-grid': './src/ui-scroll-grid.js',
@@ -30,16 +24,23 @@ module.exports = {
3024
}
3125
}
3226
]
33-
},
34-
plugins: [
35-
new webpack.optimize.UglifyJsPlugin({
36-
compress: {
37-
warnings: true,
38-
},
39-
output: {
40-
comments: false,
41-
},
42-
}),
43-
new webpack.BannerPlugin(banner)
44-
]
27+
}
4528
};
29+
30+
var banner =
31+
packageJSON.name + '\n' +
32+
packageJSON.homepage + '\n' +
33+
'Version: ' + packageJSON.version + ' -- ' + (new Date()).toISOString() + '\n' +
34+
'License: ' + packageJSON.license;
35+
36+
module.exports.prodPlugins = [
37+
new webpack.optimize.UglifyJsPlugin({
38+
compress: {
39+
warnings: true,
40+
},
41+
output: {
42+
comments: false,
43+
},
44+
}),
45+
new webpack.BannerPlugin(banner)
46+
];

0 commit comments

Comments
 (0)