From a8bb9091bbfeb2eb332a6ba8e9f3a67bb556c352 Mon Sep 17 00:00:00 2001 From: RoboErikG Date: Mon, 20 Aug 2018 14:42:57 -0700 Subject: [PATCH] Add support for eslint5 (#2009) Fixes #2006 - Makes a copy of .eslintrc in .eslintrc.json - Updates eslint rules to support eslint5. - Changes travis to use eslint5 --- .eslintrc.json | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..bc5a5f3c6 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,76 @@ +{ + "rules": { + "curly": ["error"], + "eol-last": ["error"], + "_comment": "Blockly/Google use 2-space indents", + "_comment": "Blockly/Google uses +4 space indents for line continuations.", + "_comment": "Ignore default rules for ternary expressions.", + "indent": [ + "error", 2, + { + "SwitchCase": 1, + "MemberExpression": 2, + "ObjectExpression": 1, + "FunctionDeclaration": { + "body": 1, + "parameters": 2 + }, + "FunctionExpression": { + "body": 1, + "parameters": 2 + }, + "CallExpression": { + "arguments": 2 + }, + "ignoredNodes": ["ConditionalExpression"] + } + ], + "keyword-spacing": ["error"], + "linebreak-style": ["error", "unix"], + "max-len": [ + "error", + { + "code": 100, + "tabWidth": 4, + "ignoreStrings": true, + "ignoreRegExpLiterals": true + } + ], + "no-trailing-spaces": ["error", { "skipBlankLines": true }], + "no-unused-vars": [ + "error", + { + "args": "after-used", + "_comment": "Ignore vars starting with an underscore.", + "varsIgnorePattern": "^_", + "_comment": "Ignore arguments starting with an underscore.", + "argsIgnorePattern": "^_" + } + ], + "no-use-before-define": ["error"], + "_comment":"Blockly uses for exporting symbols. no-self-assign added in eslint 5.", + "no-self-assign": ["off"], + "_comment": "Blockly uses single quotes except for JSON blobs, which must use double quotes.", + "quotes": ["off"], + "semi": ["error", "always"], + "_comment": "Blockly doesn't have space before function paren", + "space-before-function-paren": ["error", "never"], + "space-infix-ops": ["error"], + "_comment": "Blockly uses 'use strict' in files", + "strict": ["off"], + "_comment": "Blockly often uses cond-assignment in loops", + "no-cond-assign": ["off"], + "_comment": "Closure style allows redeclarations", + "no-redeclare": ["off"], + "valid-jsdoc": ["error", {"requireReturn": false}], + "no-console": ["off"] + }, + "env": { + "browser": true + }, + "globals": { + "Blockly": true, + "goog": true + }, + "extends": "eslint:recommended" +} diff --git a/package.json b/package.json index cf98b4b5e..a1c4be205 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "license": "Apache-2.0", "private": true, "devDependencies": { - "eslint": "^4.19.1", + "eslint": "^5.3.0", "google-closure-compiler": "^20180610.0.2", "google-closure-library": "^20180506.0.0", "gulp": "^3.9.1",