options: [{ ignoreImports: false }],
parserOptions: { ecmaVersion: 6, sourceType: "module" }
},
+ {
+ code: "var _camelCased = aGlobalVariable",
+ options: [{ ignoreGlobals: false }],
+ globals: { aGlobalVariable: "readonly" }
+ },
+ {
+ code: "var camelCased = _aGlobalVariable",
+ options: [{ ignoreGlobals: false }],
+ globals: { _aGlobalVariable: "readonly" }
+ },
+ {
+ code: "var camelCased = a_global_variable",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "a_global_variable.foo()",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "a_global_variable[undefined]",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "var foo = a_global_variable.bar",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "a_global_variable.foo = bar",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "( { foo: a_global_variable.bar } = baz )",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "a_global_variable = foo",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "writable" } // eslint-disable-line camelcase
+ },
+ {
+ code: "a_global_variable = foo",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "({ a_global_variable } = foo)",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" } // eslint-disable-line camelcase
+ },
+ {
+ code: "({ snake_cased: a_global_variable } = foo)",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" } // eslint-disable-line camelcase
+ },
+ {
+ code: "({ snake_cased: a_global_variable = foo } = bar)",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" } // eslint-disable-line camelcase
+ },
+ {
+ code: "[a_global_variable] = bar",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" } // eslint-disable-line camelcase
+ },
+ {
+ code: "[a_global_variable = foo] = bar",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" } // eslint-disable-line camelcase
+ },
+ {
+ code: "foo[a_global_variable] = bar",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "var foo = { [a_global_variable]: bar }",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
+ {
+ code: "var { [a_global_variable]: foo } = bar",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "readonly" } // eslint-disable-line camelcase
+ },
{
code: "function foo({ no_camelcased: camelCased }) {};",
parserOptions: { ecmaVersion: 6 }
}
]
},
+ {
+ code: "var camelCased = snake_cased",
+ options: [{ ignoreGlobals: false }],
+ globals: { snake_cased: "readonly" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "snake_cased" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "a_global_variable.foo()",
+ options: [{ ignoreGlobals: false }],
+ globals: { snake_cased: "readonly" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "a_global_variable[undefined]",
+ options: [{ ignoreGlobals: false }],
+ globals: { snake_cased: "readonly" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "var camelCased = snake_cased",
+ globals: { snake_cased: "readonly" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "snake_cased" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "var camelCased = snake_cased",
+ options: [{}],
+ globals: { snake_cased: "readonly" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "snake_cased" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "foo.a_global_variable = bar",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "var foo = { a_global_variable: bar }",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "var foo = { a_global_variable: a_global_variable }",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 13
+ }
+ ]
+ },
+ {
+ code: "var foo = { a_global_variable() {} }",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "class Foo { a_global_variable() {} }",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "a_global_variable: for (;;);",
+ options: [{ ignoreGlobals: true }],
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "if (foo) { let a_global_variable; a_global_variable = bar; }",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 16
+ },
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 35
+ }
+ ]
+ },
+ {
+ code: "function foo(a_global_variable) { foo = a_global_variable; }",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 14
+ },
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 41
+ }
+ ]
+ },
+ {
+ code: "var a_global_variable",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "function a_global_variable () {}",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
+ {
+ code: "const a_global_variable = foo; bar = a_global_variable",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 7
+ },
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 38
+ }
+ ]
+ },
+ {
+ code: "bar = a_global_variable; var a_global_variable;",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "writable" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 7
+ },
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier",
+ column: 30
+ }
+ ]
+ },
+ {
+ code: "var foo = { a_global_variable }",
+ options: [{ ignoreGlobals: true }],
+ parserOptions: { ecmaVersion: 6 },
+ globals: { a_global_variable: "readonly" }, // eslint-disable-line camelcase
+ errors: [
+ {
+ messageId: "notCamelCase",
+ data: { name: "a_global_variable" },
+ type: "Identifier"
+ }
+ ]
+ },
{
code: "export * as snake_cased from 'mod'",
parserOptions: { ecmaVersion: 2020, sourceType: "module" },
type: "Identifier"
}
]
+ },
+
+ // Optional chaining.
+ {
+ code: "obj.o_k.non_camelcase = 0",
+ options: [{ properties: "always" }],
+ parserOptions: { ecmaVersion: 2020 },
+ errors: [{ messageId: "notCamelCase", data: { name: "non_camelcase" } }]
+ },
+ {
+ code: "(obj?.o_k).non_camelcase = 0",
+ options: [{ properties: "always" }],
+ parserOptions: { ecmaVersion: 2020 },
+ errors: [{ messageId: "notCamelCase", data: { name: "non_camelcase" } }]
}
]
});