72 lines
1.9 KiB
JavaScript
72 lines
1.9 KiB
JavaScript
'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'
|
|
}
|
|
},
|
|
eslint: {
|
|
options: {
|
|
overrideConfigFile: '.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'])
|
|
};
|