THRIFT-4653: ES6 classes support (#1615)
* ES6 classes support
* Lint generated code
* ES6 Tests for NodeJS
* Add eslint rules for nodejs
* Run prettier/eslint on nodejs test code
diff --git a/lib/js/Gruntfile.js b/lib/js/Gruntfile.js
index fd290d2..bb7691a 100644
--- a/lib/js/Gruntfile.js
+++ b/lib/js/Gruntfile.js
@@ -221,31 +221,37 @@
// The main thrift library file. not es6 yet :(
lib: {
src: ['src/**/*.js'],
- options: {
- // options here to override JSHint defaults
- globals: {
- jQuery: true,
- console: true,
- module: true,
- document: true,
- },
- }
},
// The test files use es6
test: {
src: ['Gruntfile.js', 'test/*.js'],
options: {
- // options here to override JSHint defaults
- globals: {
- jQuery: true,
- console: true,
- module: true,
- document: true,
- },
esversion: 6,
}
},
- }
+ gen_js_code: {
+ src: ['test/gen-js/*.js', 'test/gen-js-jquery/*.js'],
+ },
+ gen_es6_code: {
+ src: ['test/gen-js-es6/*.js'],
+ options: {
+ esversion: 6,
+ }
+ },
+ gen_node_code: {
+ src: ['test/gen-nodejs/*.js'],
+ options: {
+ node: true,
+ }
+ },
+ gen_node_es6_code: {
+ src: ['test/gen-nodejs-es6/*.js'],
+ options: {
+ node: true,
+ esversion: 6,
+ }
+ }
+ },
});
grunt.loadNpmTasks('grunt-contrib-uglify');
@@ -269,8 +275,8 @@
]);
grunt.registerTask('test', [
- 'jshint',
'installAndGenerate',
+ 'jshint',
'shell:ThriftTestServer', 'shell:ThriftTestServer_TLS',
'shell:ThriftTestServerES6', 'shell:ThriftTestServerES6_TLS',
'wait',