|
|
|
module.exports = function (grunt) {
|
|
|
|
// Project configuration.
|
|
|
|
grunt.initConfig({
|
|
|
|
pkg: grunt.file.readJSON("package.json"),
|
|
|
|
concat: {
|
|
|
|
options: {
|
|
|
|
separator: ""
|
|
|
|
},
|
|
|
|
bundleJs: {
|
|
|
|
src: [
|
|
|
|
"src/modules/**/*.js",
|
|
|
|
"src/index.js"
|
|
|
|
],
|
|
|
|
dest: "dist/bundle.js"
|
|
|
|
},
|
|
|
|
bundleCss: {
|
|
|
|
src: ["src/css/**/*.css"],
|
|
|
|
dest: "dist/bundle.css"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
less: {
|
|
|
|
main: {
|
|
|
|
expand: true,
|
|
|
|
cwd: "src/modules",
|
|
|
|
src: ["**/*.less"],
|
|
|
|
dest: "src/css/",
|
|
|
|
ext: ".css"
|
|
|
|
},
|
|
|
|
dev: {
|
|
|
|
options: {
|
|
|
|
compress: true,
|
|
|
|
yuicompress: false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
uglify: {
|
|
|
|
options: {
|
|
|
|
banner:
|
|
|
|
"/*! <%= pkg.name %> <%= grunt.template.today(\"dd-mm-yyyy\") %> */\n"
|
|
|
|
},
|
|
|
|
dist: {
|
|
|
|
files: {
|
|
|
|
"dist/bundle.min.js": ["<%= concat.bundleJs.dest %>"]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
cssmin: {
|
|
|
|
bundleCss: {
|
|
|
|
src: "<%= concat.bundleCss.dest %>",
|
|
|
|
|
|
|
|
dest: "dist/bundle.min.css"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
jshint: {
|
|
|
|
files: ["src/**/*.js"],
|
|
|
|
options: {
|
|
|
|
globals: {
|
|
|
|
$: true,
|
|
|
|
jQuery: true,
|
|
|
|
console: true,
|
|
|
|
module: true,
|
|
|
|
document: true
|
|
|
|
},
|
|
|
|
browser: true,
|
|
|
|
expr: true
|
|
|
|
}
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
scripts: {
|
|
|
|
files: ["src/**/*.js", "src/**/*.less"],
|
|
|
|
tasks: ["less", "concat"],
|
|
|
|
options: {
|
|
|
|
spanw: true,
|
|
|
|
interrupt: true
|
|
|
|
}
|
|
|
|
},
|
|
|
|
livereload: {
|
|
|
|
options: {
|
|
|
|
livereload: "<%= connect.options.livereload %>"
|
|
|
|
},
|
|
|
|
files: ["src/**/*.js", "src/**/*.less"]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
connect: {
|
|
|
|
options: {
|
|
|
|
port: 9000,
|
|
|
|
open: true,
|
|
|
|
livereload: 35799,
|
|
|
|
// Change this to '0.0.0.0' to access the server from outside
|
|
|
|
hostname: "localhost"
|
|
|
|
},
|
|
|
|
server: {
|
|
|
|
options: {
|
|
|
|
port: 9009,
|
|
|
|
base: "./"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
grunt.loadNpmTasks("grunt-contrib-uglify");
|
|
|
|
grunt.loadNpmTasks("grunt-contrib-jshint");
|
|
|
|
grunt.loadNpmTasks("grunt-contrib-less");
|
|
|
|
grunt.loadNpmTasks("grunt-contrib-watch");
|
|
|
|
grunt.loadNpmTasks("grunt-contrib-concat");
|
|
|
|
grunt.loadNpmTasks("grunt-contrib-cssmin");
|
|
|
|
grunt.loadNpmTasks("grunt-contrib-connect");
|
|
|
|
|
|
|
|
grunt.registerTask("default", [
|
|
|
|
// "jshint",
|
|
|
|
"less",
|
|
|
|
"concat",
|
|
|
|
"connect",
|
|
|
|
"watch"
|
|
|
|
]);
|
|
|
|
grunt.registerTask("min", ["less", "concat", "uglify", "cssmin"]);
|
|
|
|
};
|