Enforce ES2015 syntax

The whole project is going to use ES2015, so it's important to
enforce usage of the new syntax to the project code homogeneous.
This commit enforces usage of arrow functions where possible,
let/const instead of var and rest/spread operator instead of
arguments and call/apply.

Change-Id: I2fd33400d7d4a3ed23363ceaaf0c2d2f1bd55c47
This commit is contained in:
Vitaly Kramskikh
2016-07-14 18:07:36 +03:00
parent 46f2aff492
commit 58c28cb158
2 changed files with 22 additions and 1 deletions

View File

@@ -3,3 +3,24 @@ extends: openstack
parserOptions: parserOptions:
ecmaVersion: 6 ecmaVersion: 6
sourceType: module sourceType: module
rules:
# disallow unnecessary .call() and .apply()
# http://eslint.org/docs/rules/no-useless-call
no-useless-call: 2
# require let or const instead of var
# http://eslint.org/docs/rules/no-var
no-var: 2
# suggest using arrow functions as callbacks
# http://eslint.org/docs/rules/prefer-arrow-callback
prefer-arrow-callback: 2
# suggest using the spread operator instead of .apply().
# http://eslint.org/docs/rules/prefer-spread
prefer-spread: 2
# suggest using the rest parameters instead of arguments
# http://eslint.org/docs/rules/prefer-rest-params
prefer-rest-params: 2

View File

@@ -2,7 +2,7 @@ import Test from "../../src/index.js";
describe("Simple test", () => { describe("Simple test", () => {
it("should export a class", () => { it("should export a class", () => {
var t = new Test(); let t = new Test();
expect(t).toBeDefined(); expect(t).toBeDefined();
}); });
}); });