File: Gruntfile.js

package info (click to toggle)
libjs-webrtc-adapter 7.7.0~ds-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 540 kB
  • sloc: javascript: 4,755; makefile: 48; sh: 1
file content (97 lines) | stat: -rw-r--r-- 2,751 bytes parent folder | download | duplicates (2)
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
91
92
93
94
95
96
97
'use strict';

module.exports = function(grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    babel: {
      options: {
        presets: ['babel-preset-env']
      },
      dist: {
        files: [{
          expand: 'true',
          cwd: 'src/js',
          src: ['*.js', '**/*.js'],
          dest: 'dist/'
        }]
      }
    },
    browserify: {
      adapterGlobalObject: {
        src: ['./dist/adapter_core5.js'],
        dest: './out/adapter.js',
        options: {
          browserifyOptions: {
            // Exposes shim methods in a global object to the browser.
            // The tests require this.
            standalone: 'adapter'
          }
        }
      },
      // Use this if you do not want adapter to expose anything to the global
      // scope.
      adapterAndNoGlobalObject: {
        src: ['./dist/adapter_core5.js'],
        dest: './out/adapter_no_global.js'
      },
      // Use this if you do not want Microsoft Edge shim to be included.
      adapterNoEdge: {
        src: ['./dist/adapter_core5.js'],
        dest: './out/adapter_no_edge.js',
        options: {
          // These files will be skipped.
          ignore: [
            './dist/edge/edge_shim.js'
          ],
          browserifyOptions: {
            // Exposes the shim in a global object to the browser.
            standalone: 'adapter'
          }
        }
      },
      // Use this if you do not want Microsoft Edge shim to be included and
      // do not want adapter to expose anything to the global scope.
      adapterNoEdgeAndNoGlobalObject: {
        src: ['./dist/adapter_core5.js'],
        dest: './out/adapter_no_edge_no_global.js',
        options: {
          ignore: [
            './dist/edge/edge_shim.js'
          ]
        }
      }
    },
    eslint: {
      options: {
        configFile: '.eslintrc'
      },
      target: ['src/**/*.js', 'test/*.js', 'test/unit/*.js', 'test/e2e/*.js']
    },
    copy: {
      build: {
        dest: 'release/',
        cwd: 'out',
        src: '**',
        nonull: true,
        expand: true
      }
    },
    shell: {
      downloadBrowser : {
        command: 'BROWSER=${BROWSER-chrome} BVER=${BVER-stable} ./node_modules/travis-multirunner/setup.sh'
      },
    },
  });

  grunt.loadNpmTasks('grunt-eslint');
  grunt.loadNpmTasks('grunt-browserify');
  grunt.loadNpmTasks('grunt-babel');
  grunt.loadNpmTasks('grunt-contrib-copy');
  grunt.loadNpmTasks('grunt-shell');

  grunt.registerTask('default', ['eslint', 'build']);
  grunt.registerTask('lint', ['eslint']);
  grunt.registerTask('build', ['babel', 'browserify']);
  grunt.registerTask('copyForPublish', ['copy']);
  grunt.registerTask('downloadBrowser', ['shell:downloadBrowser'])
};