1module.exports = function(grunt) {
2
3    var pkg = grunt.file.readJSON("package.json");
4
5    // Project configuration.
6    grunt.initConfig({
7        // Metadata.
8        pkg: pkg,
9        banner: grunt.file.read("./src/copy.js")
10            .replace(/@VERSION/, pkg.version)
11            .replace(/@DATE/, grunt.template.today("yyyy-mm-dd")) + "\n",
12        // Task configuration.
13        uglify: {
14            options: {
15                banner: "<%= banner %>",
16                report: "min"
17            },
18            dist: {
19                src: "<%= concat.target.dest %>",
20                dest: "dist/snap.svg-min.js"
21            }
22        },
23        concat: {
24            options: {
25                banner: "<%= banner %>"
26            },
27            target: {
28                dest: "dist/snap.svg.js",
29                src: [
30                    "./node_modules/eve/eve.js",
31                    "./src/amd-banner.js",
32                    "./src/mina.js",
33                    "./src/svg.js",
34                    "./src/element.js",
35                    "./src/matrix.js",
36                    "./src/attr.js",
37                    "./src/class.js",
38                    "./src/attradd.js",
39                    "./src/paper.js",
40                    "./src/path.js",
41                    "./src/set.js",
42                    "./src/equal.js",
43                    "./src/mouse.js",
44                    "./src/filter.js",
45                    "./src/align.js",
46                    "./src/amd-footer.js"
47                ]
48            }
49        },
50        exec: {
51            dr: {
52              command: "node node_modules/dr.js/dr dr.json"
53            }
54        }
55    });
56
57    grunt.loadNpmTasks("grunt-contrib-concat");
58    grunt.loadNpmTasks("grunt-contrib-uglify");
59    grunt.loadNpmTasks("grunt-exec");
60
61    grunt.registerTask("default", ["concat", "uglify", "exec"]);
62};
63