summaryrefslogtreecommitdiff
path: root/Gruntfile.js
blob: 47f6727a952a1110504743e54fa9df4895ad429e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    concat: {
      css: {
        options: {
          separator: "\n"
        },
        src: [
          "public/assets/css/css.css",
        ],
        dest: 'public/assets/app.css',
      },
    },

    uglify: {
      options: {
        banner: '/* panda ~ bamboo */\n'
      },
      index: {
        src: 'public/assets/app.concat.js',
        dest: 'public/assets/app.min.js'
      }
    },

    clean: {
      release: [
        "public/assets/app.concat.js",
        "tmp/"
      ],
    },

    watch: {
      scripts: {
        files: ['public/**/*.js'],
        tasks: ['concat_sourcemap'],
        options: {
          spawn: false,
        },
      },
    },

    concat_sourcemap: {
      options: {
        separator: "\n;\n"
      },
      target: {
        files: {
          'public/assets/app.concat.js': [
            "public/assets/js/vendor/jQuery-3.1.1.min.js",
            "public/assets/js/vendor/dataUriToBlob.js",
            "public/assets/js/vendor/fastclick.js",
            "public/assets/js/vendor/history.min.js",
            "public/assets/js/vendor/loader.js",
            "public/assets/js/vendor/lodash.min.js",
            "public/assets/js/vendor/oktween.js",
            "public/assets/js/vendor/parser.js",
            "public/assets/js/vendor/range-touch.js",
            "public/assets/js/vendor/util.js",
            "public/assets/js/vendor/view/View.js",
            "public/assets/js/vendor/view/Router.js",
            "public/assets/js/lib/_router.js",
            "public/assets/js/lib/ascii/color.js",
            "public/assets/js/lib/ascii/photo.js",
            "public/assets/js/lib/views/HeaderView.js",
            "public/assets/js/lib/views/LinksView.js",
            "public/assets/js/lib/views/PhotoView.js",
            "public/assets/js/lib/views/UploadView.js",
            "public/assets/js/lib/views/HomeView.js",
            "public/assets/js/app.js",
          ]
        },
      }
    },

  });

  // Load tasks that we'll be using
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.loadNpmTasks('grunt-contrib-clean');
  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-concat-sourcemap');
  // grunt.loadNpmTasks('grunt-contrib-copy');

  // Default task(s).
  grunt.registerTask('default', ['concat_sourcemap', 'concat', 'uglify', 'clean']);
};