<p><a href="/daily/2024/04/12/drupal-rector-and-the-project-update-bot">Yesterday's email</a> was about using Drupal Rector and the Automated Project Update bot to update contributed modules.</p>
<p>But what about custom modules within your application?</p>
<p>To do this, I use the <code>drupal-check</code> tool, which is built on PHPStan, and the Upgrade Status module.</p>
<p>They scan your custom modules and themes and report any deprecated code within your custom projects - i.e. code that will be removed in a future major version - and tell you what new code to use instead.</p>
<p>Once you've removed any deprecations, your module or theme will be ready for the next major version of Drupal.</p>
<p>This is the approach I've used to upgrade numerous websites between major modern versions of Drupal, making small updates to existing code instead of having to rewrite it from scratch.</p>
<p><a href="/daily/2024/04/12/drupal-rector-and-the-project-update-bot">Yesterday's email</a> was about using Drupal Rector and the Automated Project Update bot to update contributed modules.</p>
<p>But what about custom modules within your application?</p>
<p>To do this, I use the <code>drupal-check</code> tool, which is built on PHPStan, and the Upgrade Status module.</p>
<p>They scan your custom modules and themes and report any deprecated code within your custom projects - i.e. code that will be removed in a future major version - and tell you what new code to use instead.</p>
<p>Once you've removed any deprecations, your module or theme will be ready for the next major version of Drupal.</p>
<p>This is the approach I've used to upgrade numerous websites between major modern versions of Drupal, making small updates to existing code instead of having to rewrite it from scratch.</p>