title: How to avoid no-param-reassign when setting a property on a DOM object
body: <p>I have a method which's main purpose is to set a property on a DOM object</p>
  
  <pre><code>function (el) {
    el.expando = {};
  }
  </code></pre>
  
  <p>I use AirBnB's code style which makes ESLint throw a <code>no-param-reassign</code> error:</p>
  
  <blockquote>
    <p>error  Assignment to function parameter 'el'  no-param-reassign</p>
  </blockquote>
  
  <p>How can I manipulate a DOM object passed as an argument while conforming AirBnB's code style?</p>
  
  <p>Somebody suggested to use <code>/* eslint react/prop-types: 0 */</code> referring to <a href="https://stackoverflow.com/questions/30948970/how-to-disable-eslint-react-prop-types-rule-in-a-fil">another issue</a> but if I am not mistaken this applies well for react, but not for native DOM manipulation.</p>
  
  <p>Also I do not think changing the code style is an answer. I believe one of the benefits of using a standard style is having consistent code across projects and changing the rules at will feels like a misuse of a major code style like AirBnB's. </p>
  
  <p>For the record, I asked AirBnB on GitHub, what they think is the way to go in these cases <a href="https://github.com/airbnb/javascript/issues/766" rel="noreferrer">in issue #766</a>.</p>