1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-06-09 17:32:31 +02:00
TableFilter/Gruntfile.js

131 lines
3.8 KiB
JavaScript
Raw Normal View History

module.exports = function (grunt) {
2015-05-14 12:08:19 +02:00
var webpack = require('webpack');
var webpackConfig = require('./webpack.config.js');
var pkg = grunt.file.readJSON('package.json');
var version = pkg.version;
2015-04-28 09:50:53 +02:00
grunt.initConfig({
2015-05-10 13:12:31 +02:00
jshint: {
src: [
'Gruntfile.js',
'src-es6/**/*.js'
],
options: {
jshintrc: '.jshintrc'
}
},
qunit: {
files: ['test/**/*.html']
},
2015-05-14 12:08:19 +02:00
copy: {
build: {
src: ['**'],
cwd: 'static/style',
dest: 'build/tablefilter',
expand: true
},
dist: {
src: ['**'],
cwd: 'static/style',
dest: 'dist/tablefilter',
expand: true
}
},
'webpack-dev-server': {
options: {
webpack: webpack.dev,
2015-05-14 12:08:19 +02:00
publicPath: '/dev/'
},
start: {
keepAlive: true,
webpack: {
2015-05-14 12:08:19 +02:00
devtool: 'eval',
debug: true
}
}
},
webpack: {
2015-05-14 12:08:19 +02:00
dist: webpackConfig.dist,
build: webpackConfig.build
// 'dev': {
2015-05-10 13:12:31 +02:00
// entry: __dirname + '/src-es6/tablefilter.js',
// // entry: {
// // tablefilter: __dirname + '/src-es6/tablefilter.js',
// // colsVisibility: __dirname +
// // '/src-es6/extensions/colsVisibility/colsVisibility.js'
// // },
// output: {
2015-05-14 12:08:19 +02:00
// publicPath: '/src/',
// path: __dirname + '/src',
// filename: 'tablefilter.js',
// chunkFilename: '[name].js',
2015-05-10 13:12:31 +02:00
// libraryTarget: 'umd'
// },
// resolve: {
// extensions: ['', '.js']
// },
// module: {
// loaders: [{
// test: path.join(__dirname, 'src-es6'),
// exclude: /node_modules/,
// query: {
// compact: false
// },
// loader: 'babel-loader'
// }]
// },
2015-05-14 12:08:19 +02:00
// devtool: 'sourcemap',
2015-05-10 13:12:31 +02:00
// debug: true
// },
2015-05-13 12:54:29 +02:00
},
babel: {
options: {
sourceMap: true,
modules: 'amd',
compact: false
},
dist: {
files: [{
expand: true,
cwd: 'src-es6',
src: ['**/*.js'],
2015-05-14 12:08:19 +02:00
dest: 'dev/tablefilter'
2015-05-13 12:54:29 +02:00
}]
}
}
});
2015-05-10 13:12:31 +02:00
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
2015-05-14 12:08:19 +02:00
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-webpack');
2015-05-13 12:54:29 +02:00
grunt.loadNpmTasks('grunt-babel');
// The development server (the recommended option for development)
2015-05-14 12:08:19 +02:00
grunt.registerTask('dev-server', ['webpack-dev-server:start']);
// Build and watch cycle (another option for development)
// Advantage: No server required, can run app from filesystem
// Disadvantage: Requests are not blocked until bundle is available,
// can serve an old app on too fast refresh
2015-05-14 12:08:19 +02:00
grunt.registerTask('dev', ['jshint', 'webpack:build', 'copy:build'/*, 'watch:app'*/]);
// Production build
2015-05-14 12:08:19 +02:00
grunt.registerTask('dist', ['jshint', 'webpack:dist', 'copy:dist']);
2015-05-10 13:12:31 +02:00
// Tests
grunt.registerTask('test', ['qunit']);
2015-05-13 12:54:29 +02:00
// Transpile with Babel
grunt.registerTask('transpile', ['babel']);
2015-02-15 09:55:23 +01:00
};