title: Update package to a major release with NPM
body: <p>Inside a <a href="https://nodejs.org/en/" rel="noreferrer">Node.js</a> project, it's not clear to me what is the correct workflow to ugpgrade a package to a major release.</p>
  
  <p>Let's suppose I'm istalling <a href="https://github.com/stylelint/stylelint" rel="noreferrer">stylelint</a>: <code>npm install --save stylelint</code> by default puts inside my <strong>package.json</strong> the string <em>"stylelint": "^8.4.1"</em> which means that if I want to update it with <code>npm update</code>, I will get only minor and patch releases (8.4.2 is ok, 8.5.0 in ok, 9.0.0 is not).</p>
  
  <p>If I check with <code>npm outdated</code> and it comes out that I could update to 9.0.0, <code>npm update</code> wouldn't work because of the restriction depicted above.</p>
  
  <p>So, if I want to upgrade, what am I supposed to do?</p>
  
  <p>Have I to manually modify my <strong>package.json</strong> to stylelint version ^9.0.0, delete <em>node_modules</em> directory and re-run <code>npm install</code>?</p>
  
  <p>Or maybe I have just to remove the <code>^</code> character to let <code>npm update</code> do its job?</p>
  
  <p>What is the common/best practice to adopt?</p>
  
  <p>Thanks</p>