<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jose Loui</title>
    <description>The latest articles on DEV Community by Jose Loui (@jose_loui_ce3703a67547b15).</description>
    <link>https://dev.to/jose_loui_ce3703a67547b15</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1647336%2Feeb08ac2-ea56-417e-b377-bc70b246b71d.jpg</url>
      <title>DEV Community: Jose Loui</title>
      <link>https://dev.to/jose_loui_ce3703a67547b15</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jose_loui_ce3703a67547b15"/>
    <language>en</language>
    <item>
      <title>How We Cut TypeScript Compile Times by 85% (And Saved Our Sanity)</title>
      <dc:creator>Jose Loui</dc:creator>
      <pubDate>Sun, 13 Jul 2025 17:20:13 +0000</pubDate>
      <link>https://dev.to/jose_loui_ce3703a67547b15/how-we-cut-typescript-compile-times-by-85-and-saved-our-sanity-45ab</link>
      <guid>https://dev.to/jose_loui_ce3703a67547b15/how-we-cut-typescript-compile-times-by-85-and-saved-our-sanity-45ab</guid>
      <description>&lt;h2&gt;
  
  
  The Pain Was Real
&lt;/h2&gt;

&lt;p&gt;Picture this: You're in full flow, crushing some complex business logic like a boss, when suddenly you need to test your changes. You hit save, run the build, and... wait. And wait. And wait some more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;18 seconds.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every. Single. Time.&lt;/p&gt;

&lt;p&gt;In 2025, waiting 18 seconds for TypeScript to compile 334 files feels like watching grass grow during playoff season. Our team had collectively developed some... interesting coping mechanisms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The classic "alt-tab to social media while TypeScript does its thing"&lt;/li&gt;
&lt;li&gt;The "grab a coffee and hope it's done when I get back" strategy
&lt;/li&gt;
&lt;li&gt;The occasional existential crisis about whether we should have just stuck with vanilla JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Investigation
&lt;/h2&gt;

&lt;p&gt;Our setup was pretty standard for a Node.js backend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;334 TypeScript files&lt;/strong&gt; (a solid mid-sized codebase)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript 4.8.3&lt;/strong&gt; (the "if it ain't broke, don't fix it" mentality)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;521MB node_modules&lt;/strong&gt; (because of course)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ES6 target&lt;/strong&gt; (living in the past like it's 2015)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No incremental compilation&lt;/strong&gt; (rookie mistake)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The build times were consistently brutal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clean build&lt;/strong&gt;: 14-18 seconds&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Incremental build&lt;/strong&gt;: Still 14-18 seconds (because we weren't actually doing incremental builds - zero incremental gains!)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developer happiness&lt;/strong&gt;: Approaching zero&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What a mess. This was definitely not worth the time investment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Upgrade Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Enable the Obvious Wins
&lt;/h3&gt;

&lt;p&gt;First, we tackled the low-hanging fruit in our &lt;code&gt;tsconfig.json&lt;/code&gt;. Basic optimizations, you know:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"compilerOptions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"incremental"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;           &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;🎯&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Game&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;changer&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"skipLibCheck"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Skip&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;checking&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;.d.ts&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;files&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"tsBuildInfoFile"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;".tsbuildinfo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"target"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"es2020"&lt;/span&gt;&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Because&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;it's&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2015&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;anymore&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Result&lt;/strong&gt;: Build times dropped to ~8 seconds (38% improvement). Good start, but we were just getting warmed up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: The Big Guns - TypeScript 5.8.3
&lt;/h3&gt;

&lt;p&gt;Here's where things got interesting. We took the plunge and upgraded from TypeScript 4.8.3 to 5.8.3. This isn't just a minor version bump – it's a proper generational leap, a substantial upgrade.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save-dev&lt;/span&gt; typescript@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then we updated our config to leverage TypeScript 5.x's full power:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"compilerOptions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"target"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"es2022"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Modern&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;JavaScript&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;FTW&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"lib"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"es2022"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"moduleDetection"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"auto"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;TS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="err"&gt;.x&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;magic&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"isolatedModules"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;               &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Faster&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;transpilation&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"useDefineForClassFields"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Proper&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;class&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;field&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;semantics&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Clean Up the Dependencies
&lt;/h3&gt;

&lt;p&gt;TypeScript 5.x was throwing some serious shade at our ancient dependencies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Out with the old stuff&lt;/span&gt;
&lt;span class="o"&gt;(&lt;/span&gt;node:44612&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;DEP0040] DeprecationWarning: The &lt;span class="sb"&gt;`&lt;/span&gt;punycode&lt;span class="sb"&gt;`&lt;/span&gt; module is deprecated
&lt;span class="o"&gt;(&lt;/span&gt;node:45118&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;DEP0180] DeprecationWarning: fs.Stats constructor is deprecated

&lt;span class="c"&gt;# In with the new&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save-dev&lt;/span&gt; eslint@^8.57.0 @typescript-eslint/eslint-plugin@^6.0.0
npm &lt;span class="nb"&gt;install &lt;/span&gt;firebase-admin@^11.11.1 firebase-functions@^4.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Results (Prepare to Be Amazed)
&lt;/h2&gt;

&lt;p&gt;After the upgrade, our build times looked like this. Solid transformation:&lt;/p&gt;

&lt;h3&gt;
  
  
  Before:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clean build&lt;/strong&gt;: 13-14 seconds&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Incremental build&lt;/strong&gt;: 13-14 seconds (major frustration)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developer mood&lt;/strong&gt;: 😤&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  After:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clean build&lt;/strong&gt;: ~2 seconds (85% faster!) &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Incremental build&lt;/strong&gt;: ~2 seconds (consistent performance)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developer mood&lt;/strong&gt;: 🚀&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let me repeat that for emphasis: &lt;strong&gt;We went from 14 seconds to 2 seconds.&lt;/strong&gt; That's an 85% improvement. Absolutely worth the effort!&lt;/p&gt;

&lt;h2&gt;
  
  
  The Unexpected Side Benefits
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. VSCode Actually Responds Now
&lt;/h3&gt;

&lt;p&gt;Remember when you'd type something and wait for the red squiggles to appear like you're waiting for a slow train? Yeah, that's gone. TypeScript 5.x's language server is significantly faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Better Error Messages
&lt;/h3&gt;

&lt;p&gt;TypeScript 5.x doesn't just compile faster – it also fails faster and with more helpful messages. Win-win situation.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Modern JavaScript Output
&lt;/h3&gt;

&lt;p&gt;With ES2022 as our target, we're generating more efficient JavaScript. Classes, async/await, and optional chaining work beautifully – no more IE support headaches!&lt;/p&gt;

&lt;h3&gt;
  
  
  4. No More Deprecation Warnings
&lt;/h3&gt;

&lt;p&gt;Those annoying Node.js deprecation warnings? Gone. Our console output is clean and our CI logs are actually readable instead of that warning spam.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Future-Proof Features
&lt;/h3&gt;

&lt;p&gt;We now have access to TypeScript 5.x features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better type inference (solid improvements)&lt;/li&gt;
&lt;li&gt;Improved module resolution&lt;/li&gt;
&lt;li&gt;Enhanced performance optimizations&lt;/li&gt;
&lt;li&gt;Support for modern ECMAScript features&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Build Pipeline Improvements
&lt;/h2&gt;

&lt;p&gt;We also streamlined our build process with some new Gulp tasks. Simple but effective:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run build:fast    &lt;span class="c"&gt;# For development (2s) - lightning speed&lt;/span&gt;
npm run build:clean   &lt;span class="c"&gt;# For CI/production (2s) - fresh build&lt;/span&gt;
npm run build         &lt;span class="c"&gt;# Default (maintains compatibility)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The incremental compilation cache (&lt;code&gt;.tsbuildinfo&lt;/code&gt;) is now doing its job properly, and our &lt;code&gt;.gitignore&lt;/code&gt; properly excludes it. No more accidental commits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moral of the Story
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Don't Fear the Major Version Bump&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Upgrading from TypeScript 4.x to 5.x sounds scary, but the performance improvements are totally worth it. The TypeScript team has done amazing work on compilation speed.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Enable Incremental Compilation Yesterday&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you're not using &lt;code&gt;"incremental": true&lt;/code&gt; in your &lt;code&gt;tsconfig.json&lt;/code&gt;, you're leaving massive performance gains on the table. Just do it, no excuses.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Skip the Library Checks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Unless you're debugging type definitions, &lt;code&gt;"skipLibCheck": true&lt;/code&gt; is free performance. Your third-party libraries probably work fine anyway.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Modern Targets Are Your Friend&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Stop targeting ES5 or ES6. It's 2024. ES2022 is well-supported and compiles faster. No more legacy browser headaches.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Clean House Regularly&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Those deprecation warnings aren't just noise – they're hints that your dependencies are holding you back. Update them regularly, like cleaning your workspace.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;strong&gt;Measure Everything&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We went from "builds feel slow" to "builds are 85% faster" because we measured before and after. Time your builds and track improvements. Data speaks louder than feelings.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: We upgraded TypeScript from 4.8.3 to 5.8.3, enabled incremental compilation, modernized our config, and cut build times from 14 seconds to 2 seconds. Our developers are happier, our CI is faster, and we're using modern JavaScript features. Solid win all around.&lt;/p&gt;

&lt;p&gt;If you're still on an older TypeScript version, stop reading and go upgrade. Your future self will thank you.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;P.S. - The 12 seconds we saved per build adds up to roughly 2 hours per developer per week. That's a lot of coffee breaks that can now be productive coding time. The math really adds up!&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Quick Setup Guide
&lt;/h2&gt;

&lt;p&gt;Want to implement this in your project? Here's the quick approach:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Backup your current setup&lt;/strong&gt; (basic common sense)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update TypeScript&lt;/strong&gt;: &lt;code&gt;npm install --save-dev typescript@latest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update your tsconfig.json&lt;/strong&gt; with the optimizations mentioned above&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test thoroughly&lt;/strong&gt; - run your builds, check your app works&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update dependencies&lt;/strong&gt; that throw deprecation warnings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enjoy the speed&lt;/strong&gt; and reduced frustration&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Remember: Measure before and after. If something breaks, you can always rollback. But trust me, this upgrade is solid gold.&lt;/p&gt;

&lt;p&gt;Happy coding! 🚀&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>node</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
