Added browser build, including angular version. minified versions available

This commit is contained in:
Spencer Alger
2013-10-29 19:47:00 -07:00
parent 2557202bf8
commit 286a08c8c2
29 changed files with 32934 additions and 518 deletions

View File

@ -3,8 +3,18 @@
module.exports = function (grunt) {
var _ = require('lodash');
var sharedBrowserfyExclusions = [
'src/lib/connectors/http.js',
'src/lib/loggers/file.js',
'src/lib/loggers/stdio.js',
'src/lib/loggers/stream.js',
'src/lib/loggers/stream.js'
];
// Project configuration.
grunt.initConfig({
distDir: 'dist',
pkg: grunt.file.readJSON('package.json'),
meta: {
banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
@ -13,6 +23,11 @@ module.exports = function (grunt) {
' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= pkg.license %> */\n\n'
},
clean: {
dist: {
src: ['<%= distDir %>']
}
},
mochaTest: {
unit: [
'test/unit/**/*.test.js'
@ -76,6 +91,49 @@ module.exports = function (grunt) {
'scripts/generate/yaml_tests'
]
}
},
browserify: {
generic: {
files: {
'<%= distDir %>/elasticsearch.js': 'src/elasticsearch.js'
},
options: {
standalone: 'true',
ignore: _.union(sharedBrowserfyExclusions, [
'src/lib/connectors/jquery.js',
'src/lib/connectors/angular.js'
])
}
},
angular: {
files: {
'<%= distDir %>/elasticsearch.angular.js': ['src/elasticsearch.angular.js']
},
options: {
standalone: 'true',
ignore: _.union(sharedBrowserfyExclusions, [
'src/lib/connectors/jquery.js',
'src/lib/connectors/xhr.js'
])
}
}
},
uglify: {
dist: {
files: {
'<%= distDir %>/elasticsearch.min.js': '<%= distDir %>/elasticsearch.js',
'<%= distDir %>/elasticsearch.angular.min.js': '<%= distDir %>/elasticsearch.angular.js'
},
options: {
report: 'min',
banner: '<%= meta.banner %>'
},
global_defs: {
process: {
browser: true
}
}
}
}//,
// docular: {
// groups: [
@ -119,8 +177,11 @@ module.exports = function (grunt) {
// load plugins
// grunt.loadNpmTasks('grunt-docular');
grunt.loadNpmTasks('grunt-browserify');
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
// Default task.
@ -131,6 +192,12 @@ module.exports = function (grunt) {
'mochaTest:yaml_suite'
]);
grunt.registerTask('build', [
'clean:dist',
'browserify',
'uglify:dist'
]);
grunt.task.registerMultiTask('generate', 'used to generate things', function () {
var done = this.async();
var proc = require('child_process').spawn(