module.exports = grunt => {
  require('load-grunt-tasks')(grunt);

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    browserify: {
      dev: {
        options: {
          browserifyOptions: {
            debug: true,
          },
          transform: [['babelify', { presets: ['es2015'] }]],
        },
        files: {
          'app/js/build/app.js': 'app/js/src/app.js',
        },
      },
    },
    copy: {
      js: {
        expand: true,
        flatten: true,
        src: ['app/js/lib/*.js', 'node_modules/babel-polyfill/dist/polyfill.min.js'],
        dest: 'app/js/build/',
      },
    },
    clean: ['app/js/build'],
    connect: {
      server: {
        options: {
          port: 9001,
          open: true,
          base: 'app',
        },
      },
    },
    watch: {
      options: {
        spawn: false,
        livereload: true,
      },
      js: {
        files: ['app/js/src/**/*.js'],
        tasks: ['browserify'],
      },
      all: {
        files: ['app/*', '!app/js/src'],
      },
    },
  });

  grunt.registerTask('build', ['clean', 'copy', 'browserify']);
  grunt.registerTask('default', ['build', 'connect', 'watch']);
};

@@ -431,26 +431,27 @@
 py: %7B%0A      
-js
+app
 : %7B%0A        
@@ -605,32 +605,160 @@
 ild/',%0A      %7D,%0A
+      docs: %7B%0A        expand: true,%0A        flatten: true,%0A        src: 'app/js/build/*.js',%0A        dest: 'docs/js/',%0A      %7D,%0A
     %7D,%0A    clean
@@ -758,16 +758,29 @@
   clean:
+ %7B%0A      app:
  %5B'app/j
@@ -786,24 +786,57 @@
 js/build'%5D,%0A
+      docs: %5B'docs/js/'%5D,%0A    %7D,%0A
     connect:
@@ -1263,16 +1263,20 @@
 lean
+:app
 ', 'copy
 ', '
@@ -1271,16 +1271,20 @@
 ', 'copy
+:app
 ', 'brow
@@ -1294,16 +1294,90 @@
 ify'%5D);%0A
+  grunt.registerTask('build:docs', %5B'build', 'clean:docs', 'copy:docs'%5D);%0A
   grunt.

add build:docs task