window
window

Reputation: 61

identifier "foo_bar" is not in camel case

I trid to add the rule in the .eslintrc, but I get:

ESLint: Identifier 'operating_days' is not in camel case. (camelcase)

enter image description here

{
    "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"]
    }
}

Upvotes: 6

Views: 26102

Answers (3)

patrickojeh
patrickojeh

Reputation: 36

In the event that modifying your eslint config is not an option, you can simply destructure and then rename that property.

const { first_name: firstName } = data;

Upvotes: 1

artegen
artegen

Reputation: 161

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

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

See: https://eslint.org/docs/rules/camelcase#allow

Upvotes: 5

JoshG
JoshG

Reputation: 6735

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"}]
    }
}

Upvotes: 5

Related Questions