<?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>Forem: Matt C</title>
    <description>The latest articles on Forem by Matt C (@mattccc).</description>
    <link>https://forem.com/mattccc</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%2F1114214%2F9d97af3f-b39f-478a-9138-2f81db88bb6b.jpeg</url>
      <title>Forem: Matt C</title>
      <link>https://forem.com/mattccc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mattccc"/>
    <language>en</language>
    <item>
      <title>🚀 fetchff 4.0.0 is officially released! (Jul 14, 2025)</title>
      <dc:creator>Matt C</dc:creator>
      <pubDate>Mon, 14 Jul 2025 21:09:38 +0000</pubDate>
      <link>https://forem.com/mattccc/fetchff-400-is-officially-released-jul-14-2025-4fo3</link>
      <guid>https://forem.com/mattccc/fetchff-400-is-officially-released-jul-14-2025-4fo3</guid>
      <description>&lt;p&gt;🚀 fetchff v4.0.0 is out now!&lt;br&gt;
A faster, smarter, and more customizable fetch experience for modern web and mobile apps.&lt;/p&gt;

&lt;p&gt;After months of refinement, fetchff 4.0.0 is here — focused on performance, type safety, and developer ergonomics.&lt;/p&gt;

&lt;p&gt;The most important thing in the plugin is raw speed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu3z1zxi2hwzxx6ji2ja3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu3z1zxi2hwzxx6ji2ja3.png" alt="Benchmark fetchff faster than SWR and React Query" width="800" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzomy58lk0lj3ly6jtyw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzomy58lk0lj3ly6jtyw.png" alt="Faster alternative to SWR and React Query" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Key New Features
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🎣 React Hook: useFetcher(url, config)&lt;/strong&gt;&lt;br&gt;
Now you can fetch data in React with built-in loading, caching, and revalidation—import it from fetchff/react. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stale-While-Revalidate (SWR)&lt;/strong&gt;&lt;br&gt;
Use the new staleTime option to serve cached data immediately while seamlessly re-fetching in the background. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Custom Cache Keys &amp;amp; Infinite Cache&lt;/strong&gt;&lt;br&gt;
Define unique cache key logic or enable permanent caching for long-lived data. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auto Refetch on Focus &amp;amp; Reconnect&lt;/strong&gt;&lt;br&gt;
New refetchOnFocus and refetchOnReconnect settings ensure your data stays fresh as users return or regain connectivity. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interceptors Enhancements&lt;/strong&gt;&lt;br&gt;
Added:&lt;br&gt;
onRetry(response, attempt) – for custom retry logic&lt;br&gt;
onAbort(response) – to handle abort scenarios gracefully &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flexible Error &amp;amp; Data Handling&lt;/strong&gt;&lt;br&gt;
cacheErrors: optionally preserve failed responses in cache&lt;br&gt;
keepPreviousData: display stale data until new fetch completes &lt;br&gt;
select(data): custom data transformation hook before UI consumption &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adaptive Timeout &amp;amp; Abort Support&lt;/strong&gt;&lt;br&gt;
Timeouts now adapt to connection speed&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Improved Request Handling&lt;/strong&gt;&lt;br&gt;
Automatically sets Content-Type headers based on request body type—no more manual JSON-only handling&lt;br&gt;
Auto-generated cache keys now omit low-impact headers (cache, mode, integrity…) for cleaner cache behavior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters?
&lt;/h2&gt;

&lt;p&gt;fetchff continues to deliver a compact, zero-runtime‑dependency fetch library (≈ 5 KB gzipped) with first‑class TypeScript support, now featuring seamless React hooks, advanced caching strategies, and powerful customization options—all while staying light and intuitive.&lt;/p&gt;

&lt;p&gt;📦 Upgrading is simple: npm install fetchff@4&lt;br&gt;
📖 Full docs &amp;amp; examples: check the React Integration and cache settings in the &lt;a href="https://github.com/MattCCC/fetchff" rel="noopener noreferrer"&gt;README on Github&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For the list of all changes, see &lt;a href="https://github.com/MattCCC/fetchff/releases/tag/v4.0.0" rel="noopener noreferrer"&gt;full changelog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>react</category>
    </item>
    <item>
      <title>🚀 Introducing fetchff: A lightweight alternative for Your Fetching Needs in Javascript!</title>
      <dc:creator>Matt C</dc:creator>
      <pubDate>Fri, 04 Oct 2024 18:21:28 +0000</pubDate>
      <link>https://forem.com/mattccc/introducing-fetchff-v3-a-game-changer-for-your-fetching-needs-18hk</link>
      <guid>https://forem.com/mattccc/introducing-fetchff-v3-a-game-changer-for-your-fetching-needs-18hk</guid>
      <description>&lt;p&gt;TLDR: You can find the plugin on NPM &lt;a href="https://www.npmjs.com/package/fetchff" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/fetchff&lt;/a&gt; and Github: &lt;a href="https://github.com/MattCCC/fetchff" rel="noopener noreferrer"&gt;https://github.com/MattCCC/fetchff&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey there, fellow developers! 🌟 If you’re like me, you know that managing HTTP requests can sometimes feel like navigating a maze. That’s where fetchff comes in to save the day! With the release of version v3, this nifty npm plugin has rolled out some fantastic new features and improvements that are sure to make your life easier. So, grab a coffee (or your beverage of choice) and let’s dive into it!&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 What is &lt;a href="https://github.com/MattCCC/fetchff" rel="noopener noreferrer"&gt;fetchff&lt;/a&gt;?
&lt;/h2&gt;

&lt;p&gt;fetchff is a powerful and flexible npm plugin designed to enhance the native fetch API in JavaScript. It simplifies the process of making HTTP requests by providing advanced features such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automatic Response Handling&lt;/strong&gt;: Seamlessly transforms JSON responses based on the Content-Type, reducing the need for manual parsing.&lt;br&gt;
&lt;strong&gt;Request Cancellation&lt;/strong&gt;: Easily cancels ongoing requests, improving user experience by avoiding unnecessary network calls.&lt;br&gt;
&lt;strong&gt;Retry Mechanisms&lt;/strong&gt;: Configurable retry options allow developers to handle transient errors gracefully, enhancing the reliability of their applications.&lt;br&gt;
&lt;strong&gt;Declarative API Management&lt;/strong&gt;: With the createApiFetcher() function, you can manage multiple API endpoints with minimal boilerplate code, making it easier to maintain and scale your codebase.&lt;br&gt;
&lt;strong&gt;First class TypeScript Support&lt;/strong&gt;: Provides enhanced typings for better development experience and type safety.&lt;/p&gt;
&lt;h2&gt;
  
  
  🌟 How does it differ from 1500 similar plugins?
&lt;/h2&gt;

&lt;p&gt;Let's take some of widely known plugins as example.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ll3paz9ozgakxeigtpl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ll3paz9ozgakxeigtpl.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🌟 What’s New in &lt;a href="https://github.com/MattCCC/fetchff" rel="noopener noreferrer"&gt;fetchff&lt;/a&gt;?
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Goodbye, Stale Requests! Hello, Improved Cancellation!
&lt;/h3&gt;

&lt;p&gt;One of the biggest headaches for developers is managing ongoing requests, especially when users navigate away or when new requests are triggered. With this release, fetchff now offers improved request cancellation. This means you can easily cancel requests that are no longer needed, keeping your application snappy and efficient. The new settings—cancellable and rejectCancelled—make this process smoother than ever!&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Automatic Response Transformation? Yes, Please!
&lt;/h3&gt;

&lt;p&gt;Let’s face it: parsing JSON responses can be a drag. But fear not! fetchff v3.0.1 automatically transforms response data into JSON if the Content-Type is set to application/json. This little magic trick reduces boilerplate code and lets you focus on what really matters: building awesome features.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Custom Fetcher Functions: Tailor-Made for You!**
&lt;/h3&gt;

&lt;p&gt;Every project is unique, and fetchff understands that. Now, you can create custom fetcher functions that fit your specific needs. Whether it’s handling authentication or logging errors, you have the power to make fetchff work just the way you want it!&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Polling Made Easy
&lt;/h3&gt;

&lt;p&gt;Need real-time updates? No problem! fetchff now supports polling out of the box. This feature lets you effortlessly implement functionality that requires frequent updates without overwhelming your server. Your users will thank you for it!&lt;/p&gt;
&lt;h3&gt;
  
  
  5. TypeScript Just Got Better!
&lt;/h3&gt;

&lt;p&gt;For my fellow TypeScript lovers out there, this update brings significant improvements in typings. Enjoy enhanced type safety for your requests and responses, making it easier to catch those pesky bugs during development.&lt;/p&gt;
&lt;h2&gt;
  
  
  🛠️ Why Should You Choose fetchff?
&lt;/h2&gt;

&lt;p&gt;You might be asking yourself: “Why should I give fetchff a try?” Here are some great reasons:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simplicity&lt;/strong&gt; - It’s designed to be easy to use, helping you avoid the complexity of managing HTTP requests.&lt;br&gt;
&lt;strong&gt;Flexibility&lt;/strong&gt; - With custom fetcher functions and cancellation options, it adapts to your specific use cases effortlessly.&lt;br&gt;
&lt;strong&gt;Performance&lt;/strong&gt; - fetchff optimizes network requests, ensuring your application runs smoothly without unnecessary calls.&lt;br&gt;
&lt;strong&gt;Community Spirit&lt;/strong&gt; - The fetchff community is vibrant and welcoming, ready to support you in your journey.&lt;/p&gt;
&lt;h2&gt;
  
  
  📦 Getting Started is a Breeze!
&lt;/h2&gt;

&lt;p&gt;Ready to jump in? Installing &lt;code&gt;fetchff&lt;/code&gt; is super simple! Just run the following command in your terminal:&lt;/p&gt;
&lt;h3&gt;
  
  
  Using NPM:
&lt;/h3&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;fetchff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Standalone Usage
&lt;/h3&gt;

&lt;p&gt;You can use fetchf() as a functional wrapper for fetch(). It seamlessly enhances it with additional settings like the retry mechanism and error handling improvements. The fetchf() function can be used directly, simplifying usage and making it easier to integrate with functional programming styles. It makes requests independently of createApiFetcher() settings.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;fetchf&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;fetchff&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetchf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/api/user-details&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;timeout&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;cancellable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;retry&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;retries&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="c1"&gt;// Specify some other settings here... The fetch() settings work as well...&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Multiple API Endpoints
&lt;/h3&gt;

&lt;p&gt;To manage multiple API endpoints, you can use createApiFetcher(). It is a powerful factory function for creating API fetchers with advanced features. This function provides a convenient way to configure and manage multiple API endpoints using a declarative approach, offering integration with retry mechanisms and error handling improvements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createApiFetcher&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;fetchff&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Create some endpoints declaratively&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;api&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createApiFetcher&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;baseURL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://example.com/api&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;endpoints&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;getUser&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/user-details/:id/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="c1"&gt;// Each endpoint accepts all settings declaratively&lt;/span&gt;
      &lt;span class="na"&gt;retry&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;retries&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="na"&gt;timeout&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;cancellable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="c1"&gt;// Define more endpoints as needed&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="c1"&gt;// You can set all settings globally&lt;/span&gt;
  &lt;span class="na"&gt;strategy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;softFail&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// no try/catch required in case of errors&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Make a GET request to http://example.com/api/user-details/2/?rating[]=1&amp;amp;rating[]=2&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getUser&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;rating&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="c1"&gt;// Passed arrays, objects, etc. will be parsed automatically&lt;/span&gt;
  &lt;span class="na"&gt;urlPathParams&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="c1"&gt;// Replace :id with 2 in the URL&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let me know what you think about the plugin in the comments, cheers!&lt;/p&gt;

&lt;p&gt;You can find the plugin on Github: &lt;a href="https://github.com/MattCCC/fetchff" rel="noopener noreferrer"&gt;https://github.com/MattCCC/fetchff&lt;/a&gt;&lt;/p&gt;

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