From e0457b6dc4db716b303a1855d23b65da70f35784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 28 Jan 2019 01:45:10 +0100 Subject: [PATCH] lint: Add "legacy" configuration Regarding coding style, gjs is moving in a direction that departs quite significantly from the established style, in particular when indenting multi-line array/object literals or method arguments: Currently we are keeping those elements aligned, while the gjs rules now expect them to use the regular 4-space indentation. There are certainly good arguments that can be made for that move - it's much less prone to leading to overly-long lines, and matches popluar JS styles elsewhere. But switching coding style implies large diffs which interfere with git-blame and friends, so in order to allow for a more gradual change, add a separate set of "legacy" rules that match more closely the style we would expect up to now. It also disables the rules for quotes and template strings - the former because we cannot match the current style to use double-quotes for translatable strings and single-quotes otherwise, the latter because template strings are still relatively new, so we haven't adopted them yet. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/609 --- lint/eslintrc-legacy.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lint/eslintrc-legacy.json diff --git a/lint/eslintrc-legacy.json b/lint/eslintrc-legacy.json new file mode 100644 index 000000000..462607e4e --- /dev/null +++ b/lint/eslintrc-legacy.json @@ -0,0 +1,21 @@ +{ + "rules": { + "indent": [ + "error", + 4, + { + "ignoredNodes": [ + "ConditionalExpression", + "CallExpression > ArrowFunctionExpression", + "CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child" + ], + "CallExpression": { "arguments": "first" }, + "ArrayExpression": "first", + "ObjectExpression": "first", + "MemberExpression": "off" + } + ], + "prefer-template": "off", + "quotes": "off" + } +}