title: Eslint adds unnecessary space between braces, Prettier shows error
body: <p>I'm using prettier and eslint with typescript.</p>
  
  <p>When I write some code and have to leave an empty function for <em>reasons</em>, Eslint and Prettier struggle adding and removing spaces between the empty function's braces.</p>
  
  <p>Prettier is removing the space while Eslint is adding it.</p>
  
  <p>What is expected:</p>
  
  <pre class="lang-js prettyprint-override"><code>  constructor(
      @inject('UsersRepository')
      private usersRepository: IUsersRepository,
    ) {}
  
  const example = ({ variable }) =&gt; {
      console.log(variable)
  };
  </code></pre>
  
  <p>What I get after saving (Eslint fixing on save):</p>
  
  <pre class="lang-js prettyprint-override"><code>  constructor(
      @inject('UsersRepository')
      private usersRepository: IUsersRepository,
    ) { }
  
  const example = ({ variable }) =&gt; {
      console.log(variable)
  };
  </code></pre>
  
  <p>Se the space between the constructor braces? That gives me a <code>Delete `·` eslint(prettier/prettier)</code> error.</p>
  
  <p>When I save the file, or Prettier removes the space... then Eslint adds it again.</p>
  
  <p>How can I solve this?</p>
  
  <p>EDIT: I want to keep the destructuring assignment space (eg <code>({ variable })</code>) but not on empty braces (eg <code>{}</code>)</p>
  
  <p>Below, my <code>.eslintrc.json</code> and <code>prettier.config.js</code></p>
  
  <pre class="lang-js prettyprint-override"><code>{
    "env": {
      "es6": true,
      "node": true,
      "jest": true
    },
    "extends": [
      "airbnb-base",
      "plugin:@typescript-eslint/recommended",
      "prettier/@typescript-eslint",
      "plugin:prettier/recommended"
    ],
    "globals": {
      "Atomics": "readonly",
      "SharedArrayBuffer": "readonly"
    },
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
      "ecmaVersion": 2018,
      "sourceType": "module"
    },
    "plugins": [
      "@typescript-eslint",
      "prettier"
    ],
    "rules": {
      "prettier/prettier": "error",
      "class-methods-use-this": "off",
      "@typescript-eslint/camelcase": "off",
      "no-useless-constructor": "off",
      "object-curly-spacing": [
        "error",
        "always"
      ],
      "@typescript-eslint/no-unused-vars": [
        "error",
        {
          "argsIgnorePattern": "_"
        }
      ],
      "@typescript-eslint/interface-name-prefix": [
        "error",
        {
          "prefixWithI": "always"
        }
      ],
      "import/extensions": [
        "error",
        "ignorePackages",
        {
          "ts": "never"
        }
      ]
    },
    "settings": {
      "import/resolver": {
        "typescript": {}
      }
    }
  }
  
  </code></pre>
  
  <pre class="lang-js prettyprint-override"><code>module.exports = {
    singleQuote: true,
    trailingComma: 'all',
    arrowParens: 'avoid',
  };
  
  </code></pre>