summaryrefslogtreecommitdiffstats
path: root/mobile/android/.eslintrc.js
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/.eslintrc.js')
-rw-r--r--mobile/android/.eslintrc.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/mobile/android/.eslintrc.js b/mobile/android/.eslintrc.js
new file mode 100644
index 0000000000..9668e4feb7
--- /dev/null
+++ b/mobile/android/.eslintrc.js
@@ -0,0 +1,64 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+module.exports = {
+ overrides: [
+ {
+ files: [
+ // Bug 1425048 - mainly going away, see bug 1583370.
+ "components/extensions/**",
+ ],
+ rules: {
+ "no-unused-vars": "off",
+ "no-undef": "off",
+ },
+ },
+ {
+ files: [
+ "chrome/geckoview/**",
+ "components/geckoview/**",
+ "modules/geckoview/**",
+ "actors/**",
+ ],
+ rules: {
+ "no-unused-vars": [
+ "error",
+ {
+ args: "none",
+ vars: "local",
+ varsIgnorePattern: "(debug|warn)",
+ },
+ ],
+ "no-restricted-syntax": [
+ "error",
+ {
+ selector: `CallExpression > \
+ Identifier.callee[name = /^debug$|^warn$/]`,
+ message:
+ "Use debug and warn with template literals, e.g. debug `foo`;",
+ },
+ {
+ selector: `BinaryExpression[operator = '+'] > \
+ TaggedTemplateExpression.left > \
+ Identifier.tag[name = /^debug$|^warn$/]`,
+ message:
+ "Use only one template literal with debug/warn instead of concatenating multiple expressions,\n" +
+ " e.g. (debug `foo ${42} bar`) instead of (debug `foo` + 42 + `bar`)",
+ },
+ {
+ selector: `TaggedTemplateExpression[tag.type = 'Identifier'][tag.name = /^debug$|^warn$/] > \
+ TemplateLiteral.quasi CallExpression > \
+ MemberExpression.callee[object.type = 'Identifier'][object.name = 'JSON'] > \
+ Identifier.property[name = 'stringify']`,
+ message:
+ "Don't call JSON.stringify within debug/warn literals,\n" +
+ " e.g. (debug `foo=${foo}`) instead of (debug `foo=${JSON.stringify(foo)}`)",
+ },
+ ],
+ },
+ },
+ ],
+};