redux-doctitle/Gruntfile.js

79 lines
1.6 KiB
JavaScript

var path = require("path");
var underscore = require("underscore");
var webpack = require("webpack");
var defs = require("./package.defs.js");
var devWebpackConfig = require("./webpack.config.js");
var distWebpackConfig = underscore.extend(
underscore.clone(devWebpackConfig),
{
devtool: false,
output: {
path: defs.LIB_DIR,
filename: defs.FILENAME_DIST,
library: defs.LIBRARY_NAME,
libraryTarget: "umd",
umdNamedDefine: true
},
plugins: [
new webpack.optimize.UglifyJsPlugin({compress: false})
]
}
);
module.exports = function (grunt) {
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-karma");
grunt.loadNpmTasks("grunt-webpack");
grunt.loadNpmTasks("gruntify-eslint");
grunt.initConfig({
clean: {
options: {
force: true,
},
all: [defs.LIB_DIR]
},
eslint: {
sources: {
src: ["./src/**/*.js"]
},
tests: {
src: ["./tests/**/*.spec.js"]
}
},
karma: {
options: {
configFile: "karma.conf.js"
},
dist: {
browsers: ["ChromiumHeadless"],
reporters: ["progress"],
singleRun: true,
webpackMiddleware: {
noInfo: true,
stats: "errors-only"
}
},
dev: {
browsers: ["ChromiumHeadless"],
mochaReporter: {
ignoreSkipped: false
},
reporters: ["mocha"],
singleRun: true
}
},
webpack: {
dev: devWebpackConfig,
dist: distWebpackConfig
}
});
grunt.registerTask("dist", [
"clean", "eslint", "karma:dist", "webpack"
]);
};