identifier "aa_bb" is not in camel case


Solution 1

Is that your entire .eslintrc file, or just a snippet? If the former, it looks like .eslintrc files need to start and end with curly braces. So try:

    "rules": {
        "camelcase": ["error", {"properties": "never"}]

If it's just a snippet, what version of ESLint are you using? I think in some of the earlier 1.x versions, instead of "error", you used a number representing the level:

    "rules": {
        "camelcase": [2, {"properties": "never"}]

Solution 2

camelCase is a naming convention in which each word within a compound word is capitalized except for the first word. Software developers often use camelCase when writing source code.

camelCase is useful in programming since element names cannot contain spaces. The camelCase naming convention makes compound names more readable. For example, myOneMethod is easier to read than myonemethod.

add_bb for addFor

Solution 3

This moved forward, you can now flexibly allow certain identifiers (regexp also) to be non-camelcase:

    "rules": {
        "camelcase": ["error", {"allow": ["aa_bb"]}]


Author by


Updated on June 15, 2022


  • window
    window over 1 year

    enter image description here

    I try to add the rule in the .eslintrc, But it does not work.

    Please help.

    I get 'aa_bb' from the api. I add the rule like the doc, and some ways.

    It is still doesn't work. My classmate tell me to delete the eslint, he

    think that is superfluous.

    oh, i can't add more detail......

        "parser": "babel-eslint",
        "extends": "airbnb",
        "plugins": ["compat"],
        "env": {
            "browser": true,
            "node": true,
            "es6": true,
            "mocha": true,
            "jest": true,
            "jasmine": true
        "rules": {
            "generator-star-spacing": [0],
            "consistent-return": [0],
            "react/forbid-prop-types": [0],
            "react/jsx-filename-extension": [1, { "extensions": [".js"] }],
            "global-require": [1],
            "import/prefer-default-export": [0],
            "react/jsx-no-bind": [0],
            "react/prop-types": [0],
            "react/prefer-stateless-function": [0],
            "react/jsx-wrap-multilines": ["error", {
                "declaration": "parens-new-line",
                "assignment": "parens-new-line",
                "return": "parens-new-line",
                "arrow": "parens-new-line",
                "condition": "parens-new-line",
                "logical": "parens-new-line",
                "prop": "ignore"
            "no-else-return": [0],
            "no-script-url": 0,
            "no-restricted-syntax": [0],
            "import/no-extraneous-dependencies": [0],
            "no-use-before-define": [0],
            "jsx-a11y/no-static-element-interactions": [0],
            "jsx-a11y/no-noninteractive-element-interactions": [0],
            "jsx-a11y/click-events-have-key-events": [0],
            "jsx-a11y/anchor-is-valid": [0],
            "no-nested-ternary": [0],
            "arrow-body-style": [0],
            "import/extensions": [0],
            "no-bitwise": [0],
            "no-cond-assign": [0],
            "import/no-unresolved": [0],
            "camelcase": [
              "error", {
                "properties": "never"
            "comma-dangle": ["error", {
                "arrays": "always-multiline",
                "objects": "always-multiline",
                "imports": "always-multiline",
                "exports": "always-multiline",
                "functions": "ignore"
            "object-curly-newline": [0],
            "function-paren-newline": [0],
            "no-restricted-globals": [0],
            "require-yield": [1],
            "compat/compat": "error",
          // "linebreak-style": ["error", "windows"]
        "parserOptions": {
            "ecmaFeatures": {
                "experimentalObjectRestSpread": true
        "settings": {
            "polyfills": ["fetch", "promises"]