<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>jsmanifest</title>
    <link>https://jsmanifest.com</link>
    <description>A technical blog about JavaScript, React, TypeScript, Next.js, and modern web development. Learn best practices, tutorials, and expert insights.</description>
    <language>en-US</language>
    <managingEditor>chris@jsmanifest.com (Christopher Tran)</managingEditor>
    <webMaster>chris@jsmanifest.com (Christopher Tran)</webMaster>
    <lastBuildDate>Thu, 16 Apr 2026 20:27:45 GMT</lastBuildDate>
    <atom:link href="https://jsmanifest.com/rss.xml" rel="self" type="application/rss+xml"/>
    <image>
      <url>https://jsmanifest.com/logo.png</url>
      <title>jsmanifest</title>
      <link>https://jsmanifest.com</link>
    </image>

    <item>
      <title><![CDATA[Keyboard Navigation in React: Complete Guide]]></title>
      <link>https://jsmanifest.com/react-keyboard-navigation-complete-guide</link>
      <guid isPermaLink="true">https://jsmanifest.com/react-keyboard-navigation-complete-guide</guid>
      <description><![CDATA[Learn how to build accessible React applications with proper keyboard navigation patterns, focus management, and WCAG compliance through practical examples and custom hooks.]]></description>
      <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
      <category>react</category>
      <category>accessibility</category>
      <category>a11y</category>
      <category>typescript</category>
      <category>keyboard-navigation</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[JavaScript Accessibility: 8 ARIA Patterns You Need]]></title>
      <link>https://jsmanifest.com/javascript-aria-patterns-accessibility</link>
      <guid isPermaLink="true">https://jsmanifest.com/javascript-aria-patterns-accessibility</guid>
      <description><![CDATA[Learn the essential ARIA patterns every JavaScript developer needs to build accessible web applications. From modal dialogs to custom dropdowns, master focus management and screen reader support.]]></description>
      <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>accessibility</category>
      <category>aria</category>
      <category>wcag</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Secrets Management in Node.js Applications]]></title>
      <link>https://jsmanifest.com/secrets-management-nodejs-production</link>
      <guid isPermaLink="true">https://jsmanifest.com/secrets-management-nodejs-production</guid>
      <description><![CDATA[Learn how to properly manage secrets in Node.js applications—from development .env files to production vault solutions. Includes practical examples of AWS Secrets Manager, HashiCorp Vault, and runtime secret rotation.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>nodejs</category>
      <category>security</category>
      <category>devops</category>
      <category>backend</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Input Sanitization: DOMPurify vs Manual Validation]]></title>
      <link>https://jsmanifest.com/dompurify-vs-manual-validation</link>
      <guid isPermaLink="true">https://jsmanifest.com/dompurify-vs-manual-validation</guid>
      <description><![CDATA[Learn when to use DOMPurify versus manual validation for input sanitization. Real-world examples comparing DOM-based sanitization with regex and custom validation approaches.]]></description>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <category>security</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>sanitization</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Content Security Policy for JavaScript Apps]]></title>
      <link>https://jsmanifest.com/content-security-policy-javascript</link>
      <guid isPermaLink="true">https://jsmanifest.com/content-security-policy-javascript</guid>
      <description><![CDATA[Learn how to implement Content Security Policy in your JavaScript applications to prevent XSS attacks and secure your code. Practical examples with nonces, hashes, and framework-specific patterns.]]></description>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <category>security</category>
      <category>javascript</category>
      <category>web development</category>
      <category>best practices</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[CSRF Protection: How to Secure Your Node.js API]]></title>
      <link>https://jsmanifest.com/csrf-protection-nodejs-api</link>
      <guid isPermaLink="true">https://jsmanifest.com/csrf-protection-nodejs-api</guid>
      <description><![CDATA[Learn when your Node.js API actually needs CSRF protection and how to implement it correctly. Real-world examples of synchronizer tokens, custom middleware, and authentication patterns that work.]]></description>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <category>Node.js</category>
      <category>Security</category>
      <category>Express</category>
      <category>API</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[XSS Prevention in 7 Essential Techniques]]></title>
      <link>https://jsmanifest.com/xss-prevention-javascript-techniques</link>
      <guid isPermaLink="true">https://jsmanifest.com/xss-prevention-javascript-techniques</guid>
      <description><![CDATA[Learn how to protect your JavaScript applications from XSS attacks with practical code examples, security patterns, and real-world implementation strategies.]]></description>
      <pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>security</category>
      <category>xss</category>
      <category>web development</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[5 Common N+1 Query Problems (And How to Fix Them)]]></title>
      <link>https://jsmanifest.com/n-plus-1-query-problems-fixes</link>
      <guid isPermaLink="true">https://jsmanifest.com/n-plus-1-query-problems-fixes</guid>
      <description><![CDATA[Discover the 5 most common N+1 query problems killing your app&apos;s performance and learn practical solutions with real code examples. From ORMs to GraphQL resolvers.]]></description>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <category>performance</category>
      <category>database</category>
      <category>optimization</category>
      <category>orm</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Data Validation: Zod vs Yup vs Joi Comparison]]></title>
      <link>https://jsmanifest.com/zod-yup-joi-comparison</link>
      <guid isPermaLink="true">https://jsmanifest.com/zod-yup-joi-comparison</guid>
      <description><![CDATA[A practical comparison of Zod, Yup, and Joi schema validation libraries for TypeScript and JavaScript projects. Learn which validator to choose for your next project.]]></description>
      <pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate>
      <category>zod</category>
      <category>yup</category>
      <category>joi</category>
      <category>validation</category>
      <category>typescript</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Optimistic vs Pessimistic Locking Explained]]></title>
      <link>https://jsmanifest.com/optimistic-pessimistic-locking-explained</link>
      <guid isPermaLink="true">https://jsmanifest.com/optimistic-pessimistic-locking-explained</guid>
      <description><![CDATA[Learn the critical differences between optimistic and pessimistic locking strategies, with practical TypeScript examples for handling database concurrency in Node.js applications.]]></description>
      <pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate>
      <category>database</category>
      <category>concurrency</category>
      <category>typescript</category>
      <category>backend</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Database Connection Pooling in Node.js]]></title>
      <link>https://jsmanifest.com/nodejs-database-connection-pooling</link>
      <guid isPermaLink="true">https://jsmanifest.com/nodejs-database-connection-pooling</guid>
      <description><![CDATA[Learn how to implement and optimize database connection pooling in Node.js to handle thousands of concurrent requests without crashing your application.]]></description>
      <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
      <category>node.js</category>
      <category>database</category>
      <category>performance</category>
      <category>postgresql</category>
      <category>mongodb</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Prisma in Production: 5 Lessons Learned]]></title>
      <link>https://jsmanifest.com/prisma-production-lessons-learned</link>
      <guid isPermaLink="true">https://jsmanifest.com/prisma-production-lessons-learned</guid>
      <description><![CDATA[Real production lessons with Prisma ORM that no tutorial warned me about. Migration strategies, connection pooling, N+1 queries, and the checklist I wish I had before launch.]]></description>
      <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
      <category>prisma</category>
      <category>production</category>
      <category>orm</category>
      <category>typescript</category>
      <category>database</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Progressive Web Apps in 2026: Service Workers Explained]]></title>
      <link>https://jsmanifest.com/service-workers-pwa-guide</link>
      <guid isPermaLink="true">https://jsmanifest.com/service-workers-pwa-guide</guid>
      <description><![CDATA[Learn how service workers power modern PWAs with practical examples of caching strategies, background sync, and offline-first architecture.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>service workers</category>
      <category>progressive web apps</category>
      <category>offline caching</category>
      <category>pwa architecture</category>
      <category>web workers</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Build a Real-Time Chat with WebRTC Data Channels]]></title>
      <link>https://jsmanifest.com/webrtc-data-channels-real-time-chat</link>
      <guid isPermaLink="true">https://jsmanifest.com/webrtc-data-channels-real-time-chat</guid>
      <description><![CDATA[Learn how to build peer-to-peer real-time chat applications using WebRTC Data Channels. Discover when to choose P2P over traditional WebSocket solutions.]]></description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>WebRTC</category>
      <category>Real-Time</category>
      <category>JavaScript</category>
      <category>TypeScript</category>
      <category>Peer-to-Peer</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Server-Sent Events vs WebSocket: When to Use Each]]></title>
      <link>https://jsmanifest.com/server-sent-events-vs-websocket</link>
      <guid isPermaLink="true">https://jsmanifest.com/server-sent-events-vs-websocket</guid>
      <description><![CDATA[A practical guide to choosing between Server-Sent Events and WebSockets for real-time communication in your JavaScript applications, with code examples and decision frameworks.]]></description>
      <pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate>
      <category>server-sent events</category>
      <category>websocket</category>
      <category>real-time communication</category>
      <category>event-driven architecture</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Session Management in Node.js: Redis vs Database]]></title>
      <link>https://jsmanifest.com/session-management-redis-vs-database</link>
      <guid isPermaLink="true">https://jsmanifest.com/session-management-redis-vs-database</guid>
      <description><![CDATA[A practical guide to choosing between Redis and database storage for session management in Node.js applications, with real-world implementation examples and performance considerations.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>Node.js</category>
      <category>Redis</category>
      <category>Authentication</category>
      <category>Session Management</category>
      <category>Security</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[JWT Best Practices: Security Tips for 2026]]></title>
      <link>https://jsmanifest.com/jwt-security-best-practices-2026</link>
      <guid isPermaLink="true">https://jsmanifest.com/jwt-security-best-practices-2026</guid>
      <description><![CDATA[Learn critical JWT security practices including signature verification, token storage strategies, and refresh token rotation to protect your applications from common vulnerabilities.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>jwt</category>
      <category>security</category>
      <category>authentication</category>
      <category>api</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[5 Authentication Patterns Every Node.js Dev Should Know]]></title>
      <link>https://jsmanifest.com/authentication-patterns-nodejs</link>
      <guid isPermaLink="true">https://jsmanifest.com/authentication-patterns-nodejs</guid>
      <description><![CDATA[While most developers focus on which auth library to use, the real game-changer is understanding authentication patterns. Here are 5 battle-tested approaches that&apos;ll transform how you think about security in Node.js.]]></description>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <category>nodejs</category>
      <category>authentication</category>
      <category>security</category>
      <category>jwt</category>
      <category>oauth</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Pagination Patterns: Offset vs Cursor-Based]]></title>
      <link>https://jsmanifest.com/pagination-patterns-offset-cursor</link>
      <guid isPermaLink="true">https://jsmanifest.com/pagination-patterns-offset-cursor</guid>
      <description><![CDATA[While building APIs, I realized most developers (myself included) default to offset pagination without understanding when cursor-based pagination could save them. Here&apos;s what I learned about choosing the right pagination strategy.]]></description>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <category>pagination</category>
      <category>api-design</category>
      <category>typescript</category>
      <category>performance</category>
      <category>database</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Build a Rate Limiter in Node.js (Token Bucket Algorithm)]]></title>
      <link>https://jsmanifest.com/token-bucket-rate-limiter-nodejs</link>
      <guid isPermaLink="true">https://jsmanifest.com/token-bucket-rate-limiter-nodejs</guid>
      <description><![CDATA[Learn how to protect your API with a token bucket rate limiter in Node.js. Build it from scratch, add Express middleware, and scale with Redis for production.]]></description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <category>Node.js</category>
      <category>Rate Limiting</category>
      <category>API Security</category>
      <category>Express</category>
      <category>Redis</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[tRPC: End-to-End Type Safety for Your API]]></title>
      <link>https://jsmanifest.com/trpc-end-to-end-type-safety</link>
      <guid isPermaLink="true">https://jsmanifest.com/trpc-end-to-end-type-safety</guid>
      <description><![CDATA[Discover how tRPC eliminates the type safety gap between your TypeScript frontend and backend without code generation or schemas. Build fully type-safe APIs in minutes.]]></description>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <category>tRPC</category>
      <category>TypeScript</category>
      <category>API Development</category>
      <category>Type Safety</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[GraphQL vs REST in 2026: A Practical Comparison]]></title>
      <link>https://jsmanifest.com/graphql-rest-practical-comparison-2026</link>
      <guid isPermaLink="true">https://jsmanifest.com/graphql-rest-practical-comparison-2026</guid>
      <description><![CDATA[An honest comparison of GraphQL and REST APIs based on real-world experience. Learn when each approach makes sense, with practical examples and performance benchmarks that actually matter.]]></description>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <category>GraphQL</category>
      <category>REST API</category>
      <category>API Design</category>
      <category>Performance</category>
      <category>Architecture</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Build a Retry Mechanism with Exponential Backoff]]></title>
      <link>https://jsmanifest.com/retry-mechanism-exponential-backoff</link>
      <guid isPermaLink="true">https://jsmanifest.com/retry-mechanism-exponential-backoff</guid>
      <description><![CDATA[Learn how to build resilient JavaScript applications with retry logic and exponential backoff to handle network failures gracefully. Includes practical TypeScript examples and real-world patterns.]]></description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>TypeScript</category>
      <category>Error Handling</category>
      <category>Async Patterns</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[JavaScript Generators for Async Control Flow]]></title>
      <link>https://jsmanifest.com/generators-async-control-flow</link>
      <guid isPermaLink="true">https://jsmanifest.com/generators-async-control-flow</guid>
      <description><![CDATA[Learn how JavaScript generators provide powerful control over async operations, enabling you to pause, resume, and coordinate complex asynchronous workflows with elegant syntax.]]></description>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>generators</category>
      <category>async</category>
      <category>control-flow</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[5 Advanced Async/Await Patterns for Complex Workflows]]></title>
      <link>https://jsmanifest.com/advanced-async-await-patterns-complex-workflows</link>
      <guid isPermaLink="true">https://jsmanifest.com/advanced-async-await-patterns-complex-workflows</guid>
      <description><![CDATA[Master advanced async/await patterns for building resilient, high-performance JavaScript applications. Learn retry strategies, rate limiting, concurrent task management, and more.]]></description>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>async-await</category>
      <category>promises</category>
      <category>performance</category>
      <category>patterns</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Avoiding Race Conditions in Async JavaScript]]></title>
      <link>https://jsmanifest.com/race-conditions-async-javascript</link>
      <guid isPermaLink="true">https://jsmanifest.com/race-conditions-async-javascript</guid>
      <description><![CDATA[Learn how to identify and prevent race conditions in JavaScript applications through practical patterns like request cancellation, state tokens, and proper async coordination.]]></description>
      <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>async</category>
      <category>promises</category>
      <category>debugging</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Promise.any: The Fastest Promise Wins]]></title>
      <link>https://jsmanifest.com/promise-any-fastest-wins</link>
      <guid isPermaLink="true">https://jsmanifest.com/promise-any-fastest-wins</guid>
      <description><![CDATA[Discover how Promise.any() helps you build resilient applications by racing promises and accepting the fastest successful response—perfect for multi-region APIs and CDN fallbacks.]]></description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>promises</category>
      <category>async</category>
      <category>performance</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Promise.allSettled vs Promise.all: Which One to Use?]]></title>
      <link>https://jsmanifest.com/promise-allsettled-vs-promise-all</link>
      <guid isPermaLink="true">https://jsmanifest.com/promise-allsettled-vs-promise-all</guid>
      <description><![CDATA[Discover the critical differences between Promise.allSettled and Promise.all, and learn when to use each method for better async code in JavaScript.]]></description>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>promises</category>
      <category>async</category>
      <category>error-handling</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[5 Node.js Security Best Practices You Must Follow]]></title>
      <link>https://jsmanifest.com/nodejs-security-best-practices</link>
      <guid isPermaLink="true">https://jsmanifest.com/nodejs-security-best-practices</guid>
      <description><![CDATA[Learn the essential Node.js security practices that will protect your applications from common vulnerabilities. From input validation to dependency audits, discover how to build secure Node.js apps in 2026.]]></description>
      <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
      <category>nodejs</category>
      <category>security</category>
      <category>best-practices</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Node.js Clustering: Scale Your Server Across CPU Cores]]></title>
      <link>https://jsmanifest.com/nodejs-clustering-scale-cpu-cores</link>
      <guid isPermaLink="true">https://jsmanifest.com/nodejs-clustering-scale-cpu-cores</guid>
      <description><![CDATA[Learn how to scale Node.js applications across multiple CPU cores using the cluster module, PM2, and smart load balancing strategies for production environments.]]></description>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>nodejs</category>
      <category>performance</category>
      <category>clustering</category>
      <category>scalability</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Structured Clone in Node.js: Deep Copying Done Right]]></title>
      <link>https://jsmanifest.com/structuredclone-deep-copying-nodejs</link>
      <guid isPermaLink="true">https://jsmanifest.com/structuredclone-deep-copying-nodejs</guid>
      <description><![CDATA[Discover how structuredClone() finally solves JavaScript&apos;s deep copying problem in Node.js - no more JSON hacks or heavy libraries required.]]></description>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>Node.js</category>
      <category>Deep Copy</category>
      <category>Performance</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Node.js ES Modules vs CommonJS: Migration Guide 2026]]></title>
      <link>https://jsmanifest.com/nodejs-esm-commonjs-migration-2026</link>
      <guid isPermaLink="true">https://jsmanifest.com/nodejs-esm-commonjs-migration-2026</guid>
      <description><![CDATA[Learn how to migrate your Node.js projects from CommonJS to ES Modules with practical examples, edge case handling, and proven strategies to avoid common pitfalls.]]></description>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
      <category>Node.js</category>
      <category>ES Modules</category>
      <category>CommonJS</category>
      <category>JavaScript</category>
      <category>Migration</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Semantic Versioning: When to Bump Major, Minor, or Patch]]></title>
      <link>https://jsmanifest.com/semantic-versioning-when-to-bump</link>
      <guid isPermaLink="true">https://jsmanifest.com/semantic-versioning-when-to-bump</guid>
      <description><![CDATA[Learn when to bump major, minor, or patch versions in your npm packages. Real-world examples and decision trees to master semantic versioning and avoid breaking your users&apos; code.]]></description>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
      <category>semantic versioning</category>
      <category>npm</category>
      <category>versioning</category>
      <category>package management</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Create a Modern npm Package in 2026: Complete Guide]]></title>
      <link>https://jsmanifest.com/create-modern-npm-package-2026</link>
      <guid isPermaLink="true">https://jsmanifest.com/create-modern-npm-package-2026</guid>
      <description><![CDATA[Learn how to build and publish a modern npm package in 2026 with TypeScript, tsup, and best practices that actually matter. Skip the over-configuration trap.]]></description>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <category>npm</category>
      <category>typescript</category>
      <category>tooling</category>
      <category>publishing</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[pnpm Workspaces: Managing Monorepos Made Easy]]></title>
      <link>https://jsmanifest.com/pnpm-workspaces-monorepo-guide</link>
      <guid isPermaLink="true">https://jsmanifest.com/pnpm-workspaces-monorepo-guide</guid>
      <description><![CDATA[Discover how pnpm workspaces simplify monorepo management with efficient dependency handling, the workspace protocol, and practical examples for production-ready projects.]]></description>
      <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
      <category>pnpm</category>
      <category>monorepo</category>
      <category>workspaces</category>
      <category>javascript</category>
      <category>typescript</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[esbuild: The Fastest JavaScript Bundler Explained]]></title>
      <link>https://jsmanifest.com/esbuild-fastest-javascript-bundler</link>
      <guid isPermaLink="true">https://jsmanifest.com/esbuild-fastest-javascript-bundler</guid>
      <description><![CDATA[Discover why esbuild is 10-100x faster than traditional bundlers and how it&apos;s changing the way we build JavaScript applications in 2026.]]></description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <category>esbuild</category>
      <category>javascript</category>
      <category>bundler</category>
      <category>build-tools</category>
      <category>performance</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Turbo: Supercharge Your Monorepo Build Performance]]></title>
      <link>https://jsmanifest.com/turborepo-build-performance-optimization</link>
      <guid isPermaLink="true">https://jsmanifest.com/turborepo-build-performance-optimization</guid>
      <description><![CDATA[Learn how Turborepo&apos;s intelligent caching and parallelization can transform your monorepo builds from painfully slow to lightning fast with practical configuration examples.]]></description>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <category>turborepo</category>
      <category>monorepo</category>
      <category>performance</category>
      <category>build optimization</category>
      <category>caching</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Vite vs Webpack in 2026: Which Should You Choose?]]></title>
      <link>https://jsmanifest.com/vite-vs-webpack-2026</link>
      <guid isPermaLink="true">https://jsmanifest.com/vite-vs-webpack-2026</guid>
      <description><![CDATA[A practical comparison of Vite and Webpack in 2026, covering performance, migration strategies, and when each tool makes sense for your projects.]]></description>
      <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
      <category>vite</category>
      <category>webpack</category>
      <category>build tools</category>
      <category>bundler</category>
      <category>performance</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Property-Based Testing in JavaScript with fast-check]]></title>
      <link>https://jsmanifest.com/property-based-testing-fast-check-javascript</link>
      <guid isPermaLink="true">https://jsmanifest.com/property-based-testing-fast-check-javascript</guid>
      <description><![CDATA[Discover how property-based testing with fast-check automatically generates test cases and finds edge cases that traditional example-based tests miss in your JavaScript applications.]]></description>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
      <category>testing</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>automation</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[5 Test Coverage Mistakes That Hide Bugs]]></title>
      <link>https://jsmanifest.com/test-coverage-mistakes-hide-bugs</link>
      <guid isPermaLink="true">https://jsmanifest.com/test-coverage-mistakes-hide-bugs</guid>
      <description><![CDATA[Discover 5 common test coverage mistakes that create a false sense of security and let bugs slip through. Learn how to write tests that actually catch issues.]]></description>
      <pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate>
      <category>testing</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>quality assurance</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Mock Service Worker: Test APIs Without a Backend]]></title>
      <link>https://jsmanifest.com/mock-service-worker-test-apis-without-backend</link>
      <guid isPermaLink="true">https://jsmanifest.com/mock-service-worker-test-apis-without-backend</guid>
      <description><![CDATA[Learn how Mock Service Worker (MSW) lets you mock APIs at the network level for testing and development—no backend required. Includes practical examples and real-world patterns.]]></description>
      <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
      <category>Testing</category>
      <category>API</category>
      <category>MSW</category>
      <category>JavaScript</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[End-to-End Testing with Playwright: Real-World Examples]]></title>
      <link>https://jsmanifest.com/playwright-end-to-end-testing-real-world-examples</link>
      <guid isPermaLink="true">https://jsmanifest.com/playwright-end-to-end-testing-real-world-examples</guid>
      <description><![CDATA[Practical Playwright testing strategies I learned the hard way — from authentication flows to CI/CD integration, with real code examples that actually work in production.]]></description>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <category>playwright</category>
      <category>testing</category>
      <category>automation</category>
      <category>e2e</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Build Robust Tests with Vitest: A Modern Testing Guide]]></title>
      <link>https://jsmanifest.com/vitest-modern-testing-guide</link>
      <guid isPermaLink="true">https://jsmanifest.com/vitest-modern-testing-guide</guid>
      <description><![CDATA[Learn how to write robust, maintainable tests with Vitest. From setup to advanced patterns, discover why this modern testing framework is changing how we approach JavaScript testing in 2026.]]></description>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
      <category>vitest</category>
      <category>javascript</category>
      <category>testing</category>
      <category>unit-testing</category>
      <category>test-automation</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[7 Testing Patterns Every JavaScript Developer Should Know]]></title>
      <link>https://jsmanifest.com/javascript-testing-patterns-developers-should-know</link>
      <guid isPermaLink="true">https://jsmanifest.com/javascript-testing-patterns-developers-should-know</guid>
      <description><![CDATA[Master these seven essential testing patterns to write better, more maintainable tests in JavaScript. From AAA pattern to Page Objects, learn practical techniques that actually work.]]></description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>testing</category>
      <category>patterns</category>
      <category>best-practices</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Debouncing vs Throttling: When to Use Each]]></title>
      <link>https://jsmanifest.com/debouncing-vs-throttling-when-to-use</link>
      <guid isPermaLink="true">https://jsmanifest.com/debouncing-vs-throttling-when-to-use</guid>
      <description><![CDATA[Learn the difference between debouncing and throttling in JavaScript, when to use each pattern, and how to implement them from scratch for better web performance.]]></description>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>Performance</category>
      <category>Event Handlers</category>
      <category>Web Optimization</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Web Workers: Move Heavy Computation Off the Main Thread]]></title>
      <link>https://jsmanifest.com/web-workers-offload-heavy-computation</link>
      <guid isPermaLink="true">https://jsmanifest.com/web-workers-offload-heavy-computation</guid>
      <description><![CDATA[Your UI is freezing because you&apos;re drowning the main thread. Learn how web workers offload heavy computation to background threads and keep your app responsive.]]></description>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>performance</category>
      <category>web workers</category>
      <category>typescript</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Memory Leaks in How to Find and Fix Them]]></title>
      <link>https://jsmanifest.com/javascript-memory-leaks-detection-fixes</link>
      <guid isPermaLink="true">https://jsmanifest.com/javascript-memory-leaks-detection-fixes</guid>
      <description><![CDATA[Learn how to detect, diagnose, and fix memory leaks in JavaScript applications using Chrome DevTools and proven prevention strategies.]]></description>
      <pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
      <category>javascript</category>
      <category>performance</category>
      <category>debugging</category>
      <category>memory management</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[5 Bundle Size Optimization Techniques That Actually Work]]></title>
      <link>https://jsmanifest.com/bundle-size-optimization-techniques</link>
      <guid isPermaLink="true">https://jsmanifest.com/bundle-size-optimization-techniques</guid>
      <description><![CDATA[Learn five practical bundle size optimization techniques that deliver real performance improvements. From tree shaking to compression strategies, discover what actually works in production.]]></description>
      <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>Performance</category>
      <category>Webpack</category>
      <category>Optimization</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Mastering Core Web Vitals with JavaScript]]></title>
      <link>https://jsmanifest.com/mastering-core-web-vitals-javascript</link>
      <guid isPermaLink="true">https://jsmanifest.com/mastering-core-web-vitals-javascript</guid>
      <description><![CDATA[Learn how to measure, optimize, and monitor Core Web Vitals using JavaScript. Discover the patterns that destroy performance and the techniques that fix them.]]></description>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>Performance</category>
      <category>Web Vitals</category>
      <category>Optimization</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>

    <item>
      <title><![CDATA[Code Splitting in 2026: Lazy Loading Done Right]]></title>
      <link>https://jsmanifest.com/code-splitting-lazy-loading-2026</link>
      <guid isPermaLink="true">https://jsmanifest.com/code-splitting-lazy-loading-2026</guid>
      <description><![CDATA[Learn how to cut your initial load time by 40% with modern code splitting strategies. From React.lazy to production-ready architectures, here&apos;s what actually works in 2026.]]></description>
      <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>Performance</category>
      <category>Code Splitting</category>
      <category>Lazy Loading</category>
      <category>Bundle Optimization</category>
      <author>chris@jsmanifest.com (Christopher Tran)</author>
    </item>
  </channel>
</rss>