4 * Copyright 2016 RIFT.IO Inc
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
21 var mountFolder = function (connect
, dir
) {
22 return connect
.static(require('path').resolve(dir
));
25 var webpackDistConfig
= require('./webpack.dist.config.js'),
26 webpackDevConfig
= require('./webpack.config.js');
28 module
.exports = function (grunt
) {
29 // Let *load-grunt-tasks* require everything
30 require('load-grunt-tasks')(grunt
);
32 // Read configuration from package.json
33 var pkgConfig
= grunt
.file
.readJSON('package.json');
51 options
: webpackDistConfig
,
57 'webpack-dev-server': {
61 webpack
: webpackDevConfig
,
62 publicPath
: '/assets/',
63 contentBase
: './<%= pkg.src %>/'
79 middleware: function (connect
) {
81 mountFolder(connect
, pkgConfig
.dist
)
93 path
: 'http://localhost:<%= connect.options.port %>/webpack-dev-server/'
96 path
: 'http://localhost:<%= connect.options.port %>/'
102 configFile
: 'karma.conf.js'
109 // includes files within path
113 src
: ['<%= pkg.src %>/*'],
114 dest
: '<%= pkg.dist %>/',
120 src
: ['<%= pkg.src %>/images/*'],
121 dest
: '<%= pkg.dist %>/images/'
126 src
: ['<%= pkg.src %>/images/logos/*'],
127 dest
: '<%= pkg.dist %>/images/logos/'
132 src
: ['<%= pkg.src %>/assets/*'],
133 dest
: '<%= pkg.dist %>/assets/'
151 grunt
.registerTask('serve', function (target
) {
152 if (target
=== 'dist') {
153 return grunt
.task
.run(['build', 'open:dist', 'connect:dist']);
162 grunt
.registerTask('patch', ['version:project:patch', 'version:src', 'build:dist']);
164 grunt
.registerTask('test', ['karma']);
166 grunt
.registerTask('build', ['clean', 'copy', 'webpack']);
168 grunt
.registerTask('default', []);