wesbos / eslint-config-wesbos

No-Sweat™ Eslint and Prettier Setup - with or without VS Code
2.74k stars 419 forks source link

Custom Prettier rules are not working. #4

Closed felipeS closed 5 years ago

felipeS commented 5 years ago

Apparently, it's only taking into account the Prettier default rules. I have the following rule in my settings.json: { "prettier.printWidth": 132, }

But it's always cutting my lines at 80.

wesbos commented 5 years ago

Hmm - let me take a look into this. You are sure you don't have a prettier config file in your folder?

felipeS commented 5 years ago

I'm testing in a single file in a folder, there's no .eslintrc or .prettierrc file

wesbos commented 5 years ago

and was this with a global or local install?

felipeS commented 5 years ago

Global install

NickyMeuleman commented 5 years ago

Sorry to interject.

This might be what is causing the unwanted behaviour: https://github.com/prettier/eslint-plugin-prettier#options

But it's always cutting my lines at 80.

This line could be taking precedence over the rule you set in settings.json https://github.com/wesbos/eslint-config-wesbos/blob/master/.eslintrc.js#L120

from that first link:

NB: This option will merge and override any config set with .prettierrc files

(I'm making the leap here that a setting in the settings.json file acts like a global .prettierrc file)

edit: the rule in settings.json is probably not active since prettier is being ran through an ESLint-plugin and not the VSCode extension. I wonder if it is aware of settings given to the editor extension 🤔

wesbos commented 5 years ago

hmm I don't recall this being an issue for me and I've always used it this way. Will investigate :)

wesbos commented 5 years ago

Oh - just reading this again and I see the issue.

I don't use the prettier vs code extension, and if you followed my steps, you will see that we turned it off.

So, if you want to overwrite any settings that I have, you need to do so in your .eslintrc, and not in your VS Code settings file.

It would then look like this:

{
  "extends": [
    "wesbos"
  ],

  "rules": {
    "prettier/prettier": [
      "error",
      {
        "printWidth": 135,
      }
    ]
  }
}
wesbos commented 5 years ago

Going to leave this open so I can document how to add custom eslint and prettier settings to overwrite any that my config sets

felipeS commented 5 years ago

I followed the steps and disabled the vs code extension, but I wasn't aware that I have to add the prettier rules to the .eslintrc file, didn't even know it was possible 😅It's working now, though. Thanks!

wesbos commented 5 years ago

well im glad you logged this issue because that is exactly what I wanted to find out - little sticking points like this is what cause people to abandon tools like this. Glad we could get it figured out!

JohnMilazzo commented 5 years ago

Same here. Through some trial and error I realized I could remove the settings from both VS Code and my project's .prettierrc file. Having everything in one place (.eslintrc) is prettier nice! ;)

wesbos commented 5 years ago

Okay ive documented this in the readme now. Opted against using a .prettierrc