save point durring huge unorganized refactor
This commit is contained in:
240
Gruntfile.js
240
Gruntfile.js
@ -3,17 +3,6 @@
|
||||
|
||||
module.exports = function (grunt) {
|
||||
|
||||
var _ = require('lodash');
|
||||
|
||||
var sharedBrowserfyExclusions = [
|
||||
'when',
|
||||
'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',
|
||||
@ -31,20 +20,6 @@ module.exports = function (grunt) {
|
||||
src: ['<%= distDir %>']
|
||||
}
|
||||
},
|
||||
mochaTest: {
|
||||
unit: 'test/unit/**/*.test.js',
|
||||
yaml_suite: {
|
||||
src: 'test/integration/yaml_suite/index.js',
|
||||
options: {
|
||||
reporter: require('./test/integration/yaml_suite/reporter')
|
||||
}
|
||||
},
|
||||
options: {
|
||||
require: 'should',
|
||||
reporter: 'dot',
|
||||
timeout: 11e3
|
||||
}
|
||||
},
|
||||
jshint: {
|
||||
source: {
|
||||
src: [
|
||||
@ -58,42 +33,6 @@ module.exports = function (grunt) {
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
source: {
|
||||
files: [
|
||||
'src/**/*',
|
||||
'test/**/*',
|
||||
'Gruntfile.js'
|
||||
],
|
||||
tasks: [
|
||||
'jshint:source'
|
||||
]
|
||||
},
|
||||
options: {
|
||||
interupt: true
|
||||
}
|
||||
},
|
||||
run: {
|
||||
generate_js_api: {
|
||||
args: [
|
||||
'scripts/generate/js_api'
|
||||
]
|
||||
},
|
||||
generate_yaml_tests: {
|
||||
args: [
|
||||
'scripts/generate/yaml_tests'
|
||||
]
|
||||
},
|
||||
integration_server: {
|
||||
args: [
|
||||
'test/browser_integration/server.js'
|
||||
],
|
||||
options: {
|
||||
wait: false,
|
||||
ready: /server listening/
|
||||
}
|
||||
}
|
||||
},
|
||||
browserify: {
|
||||
client: {
|
||||
files: {
|
||||
@ -101,43 +40,34 @@ module.exports = function (grunt) {
|
||||
},
|
||||
options: {
|
||||
standalone: 'elasticsearch',
|
||||
ignore: _.union(sharedBrowserfyExclusions, [
|
||||
ignore: [
|
||||
'src/lib/connectors/jquery.js',
|
||||
'src/lib/connectors/angular.js'
|
||||
])
|
||||
]
|
||||
}
|
||||
},
|
||||
angular_client: {
|
||||
angular: {
|
||||
files: {
|
||||
'<%= distDir %>/elasticsearch.angular.js': ['src/elasticsearch.angular.js']
|
||||
},
|
||||
options: {
|
||||
standalone: 'elasticsearch',
|
||||
ignore: _.union(sharedBrowserfyExclusions, [
|
||||
ignore: [
|
||||
'src/lib/connectors/jquery.js',
|
||||
'src/lib/connectors/xhr.js'
|
||||
])
|
||||
}
|
||||
},
|
||||
yaml_suite: {
|
||||
files: {
|
||||
'test/browser_integration/yaml_tests.js': ['test/integration/yaml_suite/index.js']
|
||||
},
|
||||
options: {
|
||||
external: [
|
||||
'optimist'
|
||||
'src/lib/connectors/xhr.js',
|
||||
'when'
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
concat: {
|
||||
dist_banners: {
|
||||
},
|
||||
jquery: {
|
||||
files: {
|
||||
'<%= distDir %>/elasticsearch.js': ['<%= distDir %>/elasticsearch.js'],
|
||||
'<%= distDir %>/elasticsearch.angular.js': ['<%= distDir %>/elasticsearch.angular.js']
|
||||
'<%= distDir %>/elasticsearch.jquery.js': ['src/elasticsearch.jquery.js']
|
||||
},
|
||||
options: {
|
||||
banner: '<%= meta.banner %>'
|
||||
ignore: [
|
||||
'src/lib/connectors/angular.js',
|
||||
'src/lib/connectors/xhr.js',
|
||||
'when'
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -145,145 +75,41 @@ module.exports = function (grunt) {
|
||||
dist: {
|
||||
files: {
|
||||
'<%= distDir %>/elasticsearch.min.js': '<%= distDir %>/elasticsearch.js',
|
||||
'<%= distDir %>/elasticsearch.angular.min.js': '<%= distDir %>/elasticsearch.angular.js'
|
||||
'<%= distDir %>/elasticsearch.angular.min.js': '<%= distDir %>/elasticsearch.angular.js',
|
||||
'<%= distDir %>/elasticsearch.jquery.min.js': '<%= distDir %>/elasticsearch.jquery.js'
|
||||
}
|
||||
}
|
||||
},
|
||||
concat: {
|
||||
dist_banners: {
|
||||
files: {
|
||||
'<%= distDir %>/elasticsearch.angular.js': '<%= distDir %>/elasticsearch.angular.js',
|
||||
'<%= distDir %>/elasticsearch.angular.min.js': '<%= distDir %>/elasticsearch.angular.min.js',
|
||||
'<%= distDir %>/elasticsearch.jquery.js': '<%= distDir %>/elasticsearch.jquery.js',
|
||||
'<%= distDir %>/elasticsearch.jquery.min.js': '<%= distDir %>/elasticsearch.jquery.min.js',
|
||||
'<%= distDir %>/elasticsearch.js': '<%= distDir %>/elasticsearch.js',
|
||||
'<%= distDir %>/elasticsearch.min.js': '<%= distDir %>/elasticsearch.min.js'
|
||||
},
|
||||
options: {
|
||||
report: 'min',
|
||||
banner: '<%= meta.banner %>'
|
||||
},
|
||||
global_defs: {
|
||||
process: {
|
||||
browser: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// load plugins
|
||||
grunt.loadNpmTasks('grunt-run');
|
||||
grunt.loadNpmTasks('grunt-open');
|
||||
grunt.loadNpmTasks('grunt-browserify');
|
||||
grunt.loadNpmTasks('grunt-mocha-test');
|
||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
grunt.loadNpmTasks('grunt-contrib-jshint');
|
||||
|
||||
// Default task.
|
||||
// Default task runs the build process.
|
||||
grunt.registerTask('default', [
|
||||
'generate',
|
||||
'test',
|
||||
'build'
|
||||
'clean:dist',
|
||||
'browserify',
|
||||
'uglify:dist',
|
||||
'concat:dist_banners'
|
||||
]);
|
||||
|
||||
// generates the parts of the yaml test suite and api.
|
||||
grunt.registerTask('generate', [
|
||||
'run:generate_yaml_tests',
|
||||
'run:generate_js_api'
|
||||
]);
|
||||
|
||||
// runs the tests, must be run after generate
|
||||
grunt.registerTask('test', function () {
|
||||
grunt.task.requires('generate');
|
||||
grunt.task.run([
|
||||
'jshint',
|
||||
'mochaTest:unit',
|
||||
'mochaTest:yaml_suite'
|
||||
]);
|
||||
});
|
||||
|
||||
// runs the build process.
|
||||
grunt.registerTask('build', function () {
|
||||
grunt.task.requires('generate');
|
||||
grunt.task.run([
|
||||
'clean:dist',
|
||||
'browserify',
|
||||
'uglify:dist',
|
||||
'concat:dist_banners'
|
||||
]);
|
||||
});
|
||||
|
||||
var browsers = {
|
||||
safari: {
|
||||
darwin: 'Safari'
|
||||
},
|
||||
chrome: {
|
||||
darwin: 'Google Chrome',
|
||||
win32: 'Google Chrome',
|
||||
executable: 'google-chrome'
|
||||
},
|
||||
chromium: {
|
||||
executable: 'chromium-browser',
|
||||
},
|
||||
firefox: {
|
||||
darwin: 'Firefox',
|
||||
win32: 'Firefox',
|
||||
executable: 'firefox'
|
||||
},
|
||||
opera: {
|
||||
darwin: 'Opera',
|
||||
win32: 'Opera',
|
||||
executable: 'opera'
|
||||
}
|
||||
};
|
||||
|
||||
// creates browser_tests:{{browser}} tasks, for the browsers listed directly above
|
||||
Object.keys(browsers).forEach(function (browser) {
|
||||
var appName = browsers[browser][process.platform];
|
||||
// on other platforms, open expects app to be the name of the executale...
|
||||
if (!appName && process.platform !== 'darwin' && process.platform !== 'win32') {
|
||||
appName = browsers[browser].executable;
|
||||
}
|
||||
|
||||
if (!appName) {
|
||||
// this browser doesn't run on this arch
|
||||
return;
|
||||
}
|
||||
|
||||
grunt.config.set('__open_browser_tests.' + browser, {
|
||||
appName: appName
|
||||
});
|
||||
|
||||
grunt.registerTask('browser_tests:' + browser, [
|
||||
'generate',
|
||||
'build',
|
||||
'run:integration_server',
|
||||
'__open_browser_tests:' + browser
|
||||
]);
|
||||
});
|
||||
|
||||
/**
|
||||
* USE browser_tests:{{browser}} to run this task
|
||||
*
|
||||
* Change the port/host that the client connects to with the ES_HOST and ES_PORT environment variables
|
||||
*
|
||||
* You must always run the build task first, to ensure that the lastest API and yaml tests are available.
|
||||
* This is run in the default and browser_tests:{{browser}} tests.
|
||||
*/
|
||||
grunt.registerMultiTask('__open_browser_tests', function () {
|
||||
var host = grunt.option('host') || 'localhost';
|
||||
var port = grunt.option('port') || 9200;
|
||||
var taskData = this.data;
|
||||
|
||||
grunt.task.requires([
|
||||
'generate',
|
||||
'build',
|
||||
'run:integration_server'
|
||||
]);
|
||||
|
||||
grunt.config.set('open.yaml_suite_' + this.target, {
|
||||
path: 'http://localhost:8888?es_hostname=' + encodeURIComponent(host) +
|
||||
'&es_port=' + encodeURIComponent(port) +
|
||||
'&browser=' + encodeURIComponent(this.target),
|
||||
app: taskData.appName
|
||||
});
|
||||
|
||||
grunt.task.run([
|
||||
'open:yaml_suite_' + this.target,
|
||||
'wait:integration_server'
|
||||
]);
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user