<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>TypeScript TV</title><description>🚀 Ideal for beginners or advanced TypeScript programmers, our coding course guarantees something new for everyone.</description><link>https://typescript.tv/</link><item><title>AI Agents Need These TypeScript Test Patterns</title><link>https://typescript.tv/testing/ai-agents-need-these-typescript-test-patterns/</link><guid isPermaLink="true">https://typescript.tv/testing/ai-agents-need-these-typescript-test-patterns/</guid><description>When the same AI agent writes both the implementation and the tests, &quot;all tests pass&quot; is no longer evidence of correctness. Learn TypeScript testing patterns that prevent agents from gaming your test suite.</description><pubDate>Sun, 26 Apr 2026 15:16:04 GMT</pubDate></item><item><title>Upgrading to TypeScript 6: A Real-World Migration</title><link>https://typescript.tv/hands-on/upgrading-to-typescript-6-a-real-world-migration/</link><guid isPermaLink="true">https://typescript.tv/hands-on/upgrading-to-typescript-6-a-real-world-migration/</guid><description>TypeScript 6 flipped several compiler defaults, deprecated a handful of long-standing options, and gave me a good reason to enable erasableSyntaxOnly. Here&apos;s exactly what I reworked in my TypeScript projects to make the upgrade stick.</description><pubDate>Mon, 20 Apr 2026 15:02:38 GMT</pubDate></item><item><title>Co-located Tests Scale Better</title><link>https://typescript.tv/best-practices/co-located-tests-scale-better/</link><guid isPermaLink="true">https://typescript.tv/best-practices/co-located-tests-scale-better/</guid><description>Co-locating test files next to TypeScript source code beats a centralized &quot;tests&quot; folder every time. Learn why co-location scales better in large TypeScript codebases and how it keeps your project navigable.</description><pubDate>Wed, 08 Apr 2026 10:31:25 GMT</pubDate></item><item><title>Stop Type Drift with Linked Typing</title><link>https://typescript.tv/best-practices/stop-type-drift-with-linked-typing/</link><guid isPermaLink="true">https://typescript.tv/best-practices/stop-type-drift-with-linked-typing/</guid><description>Use keyof typeof to derive types from runtime objects. One source of truth, zero drift, and TypeScript catches mistakes at compile time.</description><pubDate>Wed, 08 Apr 2026 09:49:51 GMT</pubDate></item><item><title>How I Save $1,463 per Month Using Claude Code as My Server Admin</title><link>https://typescript.tv/hands-on/how-i-save-money-using-claude-code-as-my-server-admin/</link><guid isPermaLink="true">https://typescript.tv/hands-on/how-i-save-money-using-claude-code-as-my-server-admin/</guid><description>A step-by-step guide to migrating Node.js apps written in TypeScript from Heroku to a Hetzner dedicated server with Dokku, saving hundreds of dollars per year while keeping GitHub auto-deploy and managed Postgres.</description><pubDate>Tue, 07 Apr 2026 10:24:43 GMT</pubDate></item><item><title>Claude Code Settings That Scale With Your TypeScript Team</title><link>https://typescript.tv/hands-on/claude-code-has-5-setting-scopes/</link><guid isPermaLink="true">https://typescript.tv/hands-on/claude-code-has-5-setting-scopes/</guid><description>Learn the configuration scopes in Claude Code, their precedence order, and how to use each one to streamline your TypeScript development workflow.</description><pubDate>Fri, 03 Apr 2026 11:00:38 GMT</pubDate></item><item><title>You Don&apos;t Need Embeddings for RAG</title><link>https://typescript.tv/hands-on/you-dont-need-embeddings-for-rag/</link><guid isPermaLink="true">https://typescript.tv/hands-on/you-dont-need-embeddings-for-rag/</guid><description>Build a RAG pipeline where Claude queries your PostgreSQL database directly via MCP. No vector store, no embeddings, no chunking. Just SQL and the Claude Agent SDK for TypeScript.</description><pubDate>Wed, 01 Apr 2026 15:31:10 GMT</pubDate></item><item><title>Chaos Testing Your TypeScript SDKs with Toxiproxy</title><link>https://typescript.tv/testing/chaos-testing-your-typescript-sdks-with-toxiproxy/</link><guid isPermaLink="true">https://typescript.tv/testing/chaos-testing-your-typescript-sdks-with-toxiproxy/</guid><description>Learn how to use Toxiproxy with Docker Compose to inject real network failures into your Node.js backend. Verify that your TypeScript SDK actually handles latency, timeouts, and connection resets.</description><pubDate>Wed, 01 Apr 2026 10:44:48 GMT</pubDate></item><item><title>Stop Babysitting Claude Code</title><link>https://typescript.tv/hands-on/stop-babysitting-claude-code/</link><guid isPermaLink="true">https://typescript.tv/hands-on/stop-babysitting-claude-code/</guid><description>Compare three ways to run Claude Code without manual confirmations: the --dangerously-skip-permissions flag, Docker sandboxes, and Claude&apos;s auto mode. Learn the trade-offs in safety, isolation, and flexibility for your TypeScript projects.</description><pubDate>Fri, 27 Mar 2026 18:32:06 GMT</pubDate></item><item><title>Your Keyboard Is Obsolete: Voice Coding in TypeScript</title><link>https://typescript.tv/hands-on/your-keyboard-is-obsolete-voice-coding-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/your-keyboard-is-obsolete-voice-coding-in-typescript/</guid><description>Voice coding is changing how developers interact with their editors. Learn how VS Code Speech and AI agents let you build TypeScript projects, orchestrate agent teams, and even run standups, all without touching a keyboard.</description><pubDate>Thu, 12 Feb 2026 12:42:45 GMT</pubDate></item><item><title>Why Your Cat Became a Dog (And TypeScript Finally Noticed)</title><link>https://typescript.tv/best-practices/why-your-cat-became-a-dog-and-typescript-finally-noticed/</link><guid isPermaLink="true">https://typescript.tv/best-practices/why-your-cat-became-a-dog-and-typescript-finally-noticed/</guid><description>Discover how JavaScript private fields change TypeScript from structural typing to nominal typing, creating hard boundaries between classes that look identical.</description><pubDate>Wed, 21 Jan 2026 16:01:41 GMT</pubDate></item><item><title>How Intersection Types Replace Error Handling</title><link>https://typescript.tv/best-practices/how-intersection-types-replace-error-handling/</link><guid isPermaLink="true">https://typescript.tv/best-practices/how-intersection-types-replace-error-handling/</guid><description>Learn how to replace runtime validation with TypeScript intersection types for compile-time safety and cleaner code.</description><pubDate>Mon, 12 Jan 2026 19:05:33 GMT</pubDate></item><item><title>Never Review a Dependency Update Again</title><link>https://typescript.tv/hands-on/never-review-a-dependency-update-again/</link><guid isPermaLink="true">https://typescript.tv/hands-on/never-review-a-dependency-update-again/</guid><description>Set up a GitHub Actions workflow that automatically approves and merges Dependabot PRs when CI passes. Stop manually clicking merge on dependency updates.</description><pubDate>Fri, 09 Jan 2026 20:01:53 GMT</pubDate></item><item><title>Stop Committing Unformatted Code</title><link>https://typescript.tv/best-practices/stop-committing-unformatted-code/</link><guid isPermaLink="true">https://typescript.tv/best-practices/stop-committing-unformatted-code/</guid><description>Git hooks can automatically catch formatting and linting errors before they reach your repository. Learn how Lefthook makes this effortless with parallel execution and automatic fixes.</description><pubDate>Thu, 08 Jan 2026 12:07:10 GMT</pubDate></item><item><title>Never Miss a Switch Case Again</title><link>https://typescript.tv/best-practices/never-miss-a-switch-case-again/</link><guid isPermaLink="true">https://typescript.tv/best-practices/never-miss-a-switch-case-again/</guid><description>Learn how to make TypeScript catch missing switch cases at compile time using the exhaustive switch pattern with the never type.</description><pubDate>Wed, 07 Jan 2026 02:20:32 GMT</pubDate></item><item><title>Why You Should Use Locators Instead of Text in Your Tests</title><link>https://typescript.tv/hands-on/why-you-should-use-locators-instead-of-text-in-your-tests/</link><guid isPermaLink="true">https://typescript.tv/hands-on/why-you-should-use-locators-instead-of-text-in-your-tests/</guid><description>Learn why using semantic locators like data attributes and ARIA roles makes your tests more robust than text-based selectors. Discover best practices for writing frontend tests in TypeScript with Playwright.</description><pubDate>Mon, 15 Dec 2025 12:00:00 GMT</pubDate></item><item><title>Stop Using TypeScript&apos;s Exclamation Mark</title><link>https://typescript.tv/best-practices/stop-using-typescripts-exclamation-mark/</link><guid isPermaLink="true">https://typescript.tv/best-practices/stop-using-typescripts-exclamation-mark/</guid><description>The non-null assertion operator (!) tells TypeScript to trust you when you say a value isn&apos;t null or undefined. But this trust comes at a cost: runtime crashes that TypeScript could have prevented. Learn why this operator undermines type safety and what to use instead.</description><pubDate>Thu, 11 Dec 2025 13:54:19 GMT</pubDate></item><item><title>How to Fix ESLint parserOptions.project Error</title><link>https://typescript.tv/hands-on/how-to-fix-eslint-parseroptionsproject-error/</link><guid isPermaLink="true">https://typescript.tv/hands-on/how-to-fix-eslint-parseroptionsproject-error/</guid><description>Running ESLint on your TypeScript config files can trigger a confusing parser error. Learn how to quickly fix the &quot;file was not found in any of the provided project(s)&quot; error by updating your TypeScript project configuration.</description><pubDate>Thu, 11 Dec 2025 00:39:25 GMT</pubDate></item><item><title>Enabling Network Access for Codex Extension in VS Code</title><link>https://typescript.tv/hands-on/enabling-network-access-for-codex-extension-in-vscode/</link><guid isPermaLink="true">https://typescript.tv/hands-on/enabling-network-access-for-codex-extension-in-vscode/</guid><description>OpenAI&apos;s Codex extension for VS Code runs in a sandbox without internet access by default. Learn how to enable network access for Codex on Windows with WSL to unlock full agent capabilities for your TypeScript projects.</description><pubDate>Wed, 03 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Why Codemods Beat Search and Replace Every Time</title><link>https://typescript.tv/best-practices/why-codemods-beat-search-and-replace-every-time/</link><guid isPermaLink="true">https://typescript.tv/best-practices/why-codemods-beat-search-and-replace-every-time/</guid><description>Codemods are automated code transformation tools that parse and modify your source code programmatically. Learn why they&apos;re superior to search-and-replace, how major frameworks use them for upgrades, and how to leverage them in your TypeScript projects.</description><pubDate>Tue, 02 Dec 2025 13:13:00 GMT</pubDate></item><item><title>Upgrading to Tailwind CSS v4: A Migration Guide</title><link>https://typescript.tv/hands-on/upgrading-to-tailwind-css-v4-a-migration-guide/</link><guid isPermaLink="true">https://typescript.tv/hands-on/upgrading-to-tailwind-css-v4-a-migration-guide/</guid><description>Tailwind CSS v4 brings major performance improvements and a simplified configuration system. Learn how to migrate your TypeScript project from v3 to v4 with this step-by-step guide.</description><pubDate>Tue, 02 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Setting Up Vitest for React and Next.js Applications</title><link>https://typescript.tv/react/setting-up-vitest-for-react-and-nextjs-applications/</link><guid isPermaLink="true">https://typescript.tv/react/setting-up-vitest-for-react-and-nextjs-applications/</guid><description>Setting up Vitest for your Next.js application is quick and easy. Learn how to configure Vitest with React Testing Library for fast component tests without the overhead of browser-based testing.</description><pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate></item><item><title>From REST APIs to MCP: The Future of AI Integration</title><link>https://typescript.tv/hands-on/from-rest-apis-to-mcp-the-future-of-ai-integration/</link><guid isPermaLink="true">https://typescript.tv/hands-on/from-rest-apis-to-mcp-the-future-of-ai-integration/</guid><description>REST APIs changed how applications talk to each other. Now MCP (Model Context Protocol) is changing how AI talks to your data. Learn why this matters for TypeScript developers.</description><pubDate>Wed, 12 Nov 2025 21:40:00 GMT</pubDate></item><item><title>Bring Immutability and Context to Arrays</title><link>https://typescript.tv/best-practices/bring-immutability-and-context-to-arrays/</link><guid isPermaLink="true">https://typescript.tv/best-practices/bring-immutability-and-context-to-arrays/</guid><description>Const assertions provide immutability but lack semantic meaning. Learn how TypeScript&apos;s named tuples and readonly arrays combine to give you both type safety and self-documenting code.</description><pubDate>Tue, 11 Nov 2025 17:17:11 GMT</pubDate></item><item><title>__dirname is not defined in ES module scope</title><link>https://typescript.tv/new-features/dirname-is-not-defined-in-es-module-scope/</link><guid isPermaLink="true">https://typescript.tv/new-features/dirname-is-not-defined-in-es-module-scope/</guid><description>Getting the __dirname is not defined error in your ES modules? Node.js now provides import.meta.dirname and import.meta.filename as native replacements, no workarounds needed.</description><pubDate>Thu, 06 Nov 2025 01:02:34 GMT</pubDate></item><item><title>You Don&apos;t Need dotenv Anymore</title><link>https://typescript.tv/best-practices/you-dont-need-dotenv-anymore/</link><guid isPermaLink="true">https://typescript.tv/best-practices/you-dont-need-dotenv-anymore/</guid><description>Node.js now has built-in support for loading environment variables from .env files. Learn how to use the native loadEnvFile function and ditch the dotenv dependency for good.</description><pubDate>Thu, 06 Nov 2025 00:18:34 GMT</pubDate></item><item><title>Why TypeScript Enums Are Dead</title><link>https://typescript.tv/best-practices/why-typescript-enums-are-dead/</link><guid isPermaLink="true">https://typescript.tv/best-practices/why-typescript-enums-are-dead/</guid><description>Node.js v22.6.0 introduced type-stripping support that lets you run TypeScript files directly, but it breaks traditional enums. Learn why as const objects are the modern, future-proof alternative that works seamlessly with Node&apos;s new capabilities.</description><pubDate>Mon, 03 Nov 2025 22:54:19 GMT</pubDate></item><item><title>Deploy your TypeScript Website on GitHub Pages</title><link>https://typescript.tv/hands-on/deploy-your-typescript-website-on-github-pages/</link><guid isPermaLink="true">https://typescript.tv/hands-on/deploy-your-typescript-website-on-github-pages/</guid><description>Learn how to automatically deploy your TypeScript website to GitHub Pages using GitHub Actions. This step-by-step guide shows you how to set up a CI/CD pipeline that builds and deploys your site whenever you push to the main branch.</description><pubDate>Mon, 27 Oct 2025 12:23:29 GMT</pubDate></item><item><title>Android Emulator Running in Nested Virtualization</title><link>https://typescript.tv/hands-on/android-emulator-running-in-nested-virtualization/</link><guid isPermaLink="true">https://typescript.tv/hands-on/android-emulator-running-in-nested-virtualization/</guid><description>Running the Android Emulator directly inside WSL2 can cause performance issues. The solution is to run the emulator on Windows and connect to it from WSL2 using ADB. Make sure to use the same ADB version in both environments.</description><pubDate>Wed, 15 Oct 2025 00:13:15 GMT</pubDate></item><item><title>Testing Types in TypeScript</title><link>https://typescript.tv/hands-on/testing-types-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/testing-types-in-typescript/</guid><description>Testing types in TypeScript is crucial for SDK and API developers to ensure predictable type inferences. Tools like `tsc`, `dtslint`, `tsd`, and `Vitest` can help catch errors early and guarantee type behavior.</description><pubDate>Wed, 27 Aug 2025 16:01:11 GMT</pubDate></item><item><title>Make Node.js EventEmitter Type-Safe</title><link>https://typescript.tv/hands-on/make-nodejs-eventemitter-type-safe/</link><guid isPermaLink="true">https://typescript.tv/hands-on/make-nodejs-eventemitter-type-safe/</guid><description>Node.js EventEmitter can be made type-safe in TypeScript using declaration merging. This ensures correct event names and listener signatures, enhancing IDE and type checker reliability. Additional libraries like &quot;typed-emitter&quot; can further streamline the process.</description><pubDate>Fri, 22 Aug 2025 01:59:38 GMT</pubDate></item><item><title>Private Fields vs Private Elements in TypeScript</title><link>https://typescript.tv/new-features/private-fields-in-typescript-whats-the-difference-between-private-and/</link><guid isPermaLink="true">https://typescript.tv/new-features/private-fields-in-typescript-whats-the-difference-between-private-and/</guid><description>Private fields in TypeScript can be declared with either &quot;private&quot; or &quot;#&quot;. The private keyword only enforces privacy at design time through the TypeScript compiler, while the &quot;#&quot; syntax creates Private Elements that are also protected from outside access at runtime. Private Elements provide stronger encapsulation because their fields remain completely hidden from anything outside the class.</description><pubDate>Thu, 21 Aug 2025 00:02:12 GMT</pubDate></item><item><title>Switch-True Narrowing in TypeScript: A Practical Alternative to Pattern Matching</title><link>https://typescript.tv/new-features/switch-true-narrowing-in-typescript-a-practical-alternative-to-pattern-matching/</link><guid isPermaLink="true">https://typescript.tv/new-features/switch-true-narrowing-in-typescript-a-practical-alternative-to-pattern-matching/</guid><description>TypeScript 5.3 introduces switch-true narrowing, a feature that simplifies complex if/else chains. By using switch-true narrowing, conditions can be expressed more declaratively, improving code readability and type safety.</description><pubDate>Mon, 18 Aug 2025 22:54:31 GMT</pubDate></item><item><title>Streamlining CLI Input with Async Generators</title><link>https://typescript.tv/hands-on/streamlining-cli-input-with-async-generators/</link><guid isPermaLink="true">https://typescript.tv/hands-on/streamlining-cli-input-with-async-generators/</guid><description>Async generators in TypeScript can simplify handling user input in CLI tools. They yield values over time, making code cleaner and easier to follow. This approach can also be applied to various sources beyond CLI input.</description><pubDate>Tue, 12 Aug 2025 13:04:53 GMT</pubDate></item><item><title>Resilient API Calls with ts-retry-promise</title><link>https://typescript.tv/best-practices/resilient-api-calls-with-ts-retry-promise/</link><guid isPermaLink="true">https://typescript.tv/best-practices/resilient-api-calls-with-ts-retry-promise/</guid><description>External APIs are often unreliable. Between rate limits, network issues, and service outages, failures are bound to happen. In this post, you&apos;ll learn how to build more resilient TypeScript API clients using &quot;ts-retry-promise&quot;. We cover defensive error handling, smart retry conditions, and how to integrate retries cleanly into your service logic.</description><pubDate>Wed, 16 Jul 2025 17:25:33 GMT</pubDate></item><item><title>Why Write Validation Logic When Zod Can Do It Better?</title><link>https://typescript.tv/best-practices/why-write-validation-logic-when-zod-can-do-it-better/</link><guid isPermaLink="true">https://typescript.tv/best-practices/why-write-validation-logic-when-zod-can-do-it-better/</guid><description>Learn how to strengthen your TypeScript applications with Zod, a powerful schema validation library. Discover how Zod enables type-safe, runtime validation with minimal boilerplate, so you can save time and effort when developing API services and data-driven applications.</description><pubDate>Wed, 16 Jul 2025 16:29:27 GMT</pubDate></item><item><title>Goodbye JSON Schema: Typing JSON with JSON Structure</title><link>https://typescript.tv/hands-on/goodbye-json-schema-typing-json-with-json-structure/</link><guid isPermaLink="true">https://typescript.tv/hands-on/goodbye-json-schema-typing-json-with-json-structure/</guid><description>As AI-generated code and LLM-integrated APIs become foundational in software development, traditional JSON Schema shows its limits. This article introduces JSON Structure, a modern, strongly typed schema language designed for the era of AI. We explore how it improves data modeling, supports clean code generation (especially for TypeScript), and enables AI systems to reason more accurately about structured output.</description><pubDate>Thu, 10 Jul 2025 13:28:09 GMT</pubDate></item><item><title>Error Handling with Result Types</title><link>https://typescript.tv/best-practices/error-handling-with-result-types/</link><guid isPermaLink="true">https://typescript.tv/best-practices/error-handling-with-result-types/</guid><description>Learn how to replace traditional try &amp; catch error handling in TypeScript with the safer and more explicit Result Type pattern. This post walks through building a minimal custom Result implementation, explains the benefits of structured error handling, and shows how to adopt the neverthrow library and ESLint configuration.</description><pubDate>Tue, 08 Jul 2025 12:34:24 GMT</pubDate></item><item><title>Fixing TypeError ERR_UNKNOWN_FILE_EXTENSION with ts-node</title><link>https://typescript.tv/hands-on/fixing-typeerror-err_unknown_file_extension-with-ts-node/</link><guid isPermaLink="true">https://typescript.tv/hands-on/fixing-typeerror-err_unknown_file_extension-with-ts-node/</guid><description>When using TypeScript with Node.js and ts-node, you might face &quot;ERR_UNKNOWN_FILE_EXTENSION.&quot; To fix this, you have to use ts-node with specific commands for Node.js module loaders and ESM projects. Consider also alternatives like tsx and tsimp.</description><pubDate>Mon, 25 Nov 2024 13:19:26 GMT</pubDate></item><item><title>Hosting on Heroku with a Custom Domain and SSL</title><link>https://typescript.tv/hands-on/hosting-on-heroku-with-a-custom-domain-and-ssl/</link><guid isPermaLink="true">https://typescript.tv/hands-on/hosting-on-heroku-with-a-custom-domain-and-ssl/</guid><description>Learn how to host a TypeScript project on Heroku with a custom domain and SSL. Add your domain to Heroku, configure nameservers, set up A records, and add an SSL certificate using ACM for secure access.</description><pubDate>Wed, 25 Sep 2024 08:47:59 GMT</pubDate></item><item><title>Parsing CSV Files in TypeScript with Papa Parse</title><link>https://typescript.tv/hands-on/parsing-csv-files-in-typescript-with-papa-parse/</link><guid isPermaLink="true">https://typescript.tv/hands-on/parsing-csv-files-in-typescript-with-papa-parse/</guid><description>Master CSV parsing in TypeScript with Papa Parse. Install, import, and start effortlessly parsing CSV data. Customize headers, delimiters, and data types. Process large files efficiently using readable streams.</description><pubDate>Thu, 29 Aug 2024 16:20:58 GMT</pubDate></item><item><title>How to write declarative TypeScript Code?</title><link>https://typescript.tv/hands-on/how-to-write-declarative-typescript-code/</link><guid isPermaLink="true">https://typescript.tv/hands-on/how-to-write-declarative-typescript-code/</guid><description>Declarative programming in TypeScript focuses on defining the desired outcome rather than the specific steps to achieve it. It simplifies code by abstracting control flow and state management, relying on functions like filter to handle details.</description><pubDate>Wed, 28 Aug 2024 12:37:12 GMT</pubDate></item><item><title>Analyzing PDFs with ChatGPT Using OpenAI&apos;s Vision API</title><link>https://typescript.tv/hands-on/analyzing-pdfs-with-chatgpt-using-openais-vision-api/</link><guid isPermaLink="true">https://typescript.tv/hands-on/analyzing-pdfs-with-chatgpt-using-openais-vision-api/</guid><description>Learn how to convert PDFs to images using Node.js and analyze them with OpenAI&apos;s Vision API. This process ensures privacy as images are deleted after analysis.</description><pubDate>Tue, 20 Aug 2024 13:23:55 GMT</pubDate></item><item><title>Node.js rolls out experimental TypeScript support</title><link>https://typescript.tv/new-features/nodejs-rolls-out-experimental-typescript-support/</link><guid isPermaLink="true">https://typescript.tv/new-features/nodejs-rolls-out-experimental-typescript-support/</guid><description>Node.js introduces `--experimental-strip-types` flag to run TypeScript files directly without transpiling, speeding up development. This sounds great but it currently leads to compatibility issues and lack of TypeScript features. The community is discussing concerns and potential solutions for the future.</description><pubDate>Tue, 30 Jul 2024 19:11:12 GMT</pubDate></item><item><title>Understanding Branded Types in TypeScript</title><link>https://typescript.tv/hands-on/understanding-branded-types-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/understanding-branded-types-in-typescript/</guid><description>Branded types in TypeScript help create unique types to prevent errors. By using a unique marker, type guards and assertion functions help enforce these branded types for added safety.</description><pubDate>Fri, 26 Jul 2024 13:47:49 GMT</pubDate></item><item><title>Loading JSON Files Dynamically in TypeScript</title><link>https://typescript.tv/hands-on/loading-json-files-dynamically-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/loading-json-files-dynamically-in-typescript/</guid><description>Learn how to dynamically import JSON files in TypeScript using import attributes and dynamic imports. Also, discover how to use `require` in ECMAScript modules with Node.js.</description><pubDate>Thu, 18 Jul 2024 00:37:43 GMT</pubDate></item><item><title>Upgrading Expo in a React Native Project with TypeScript</title><link>https://typescript.tv/hands-on/upgrading-expo-in-a-react-native-project-with-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/upgrading-expo-in-a-react-native-project-with-typescript/</guid><description>Upgrade Expo in your TypeScript React Native project with ease. Check your versions, update the main Expo dependency, sync and fix others, and patch vulnerabilities — all in one streamlined process.</description><pubDate>Mon, 08 Jul 2024 09:56:00 GMT</pubDate></item><item><title>Reading TOTP Data for 2FA from QR Code in TypeScript</title><link>https://typescript.tv/hands-on/reading-totp-data-for-2fa-from-qr-code-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/reading-totp-data-for-2fa-from-qr-code-in-typescript/</guid><description>Learn how to extract Time-based One-Time Password (TOTP) data from a QR code in TypeScript using sharp and jsQR.</description><pubDate>Fri, 05 Jul 2024 14:53:47 GMT</pubDate></item><item><title>Fixing TypeScript Error: Type undefined is not assignable to type string</title><link>https://typescript.tv/hands-on/fixing-typescript-error-type-undefined-is-not-assignable-to-type-string/</link><guid isPermaLink="true">https://typescript.tv/hands-on/fixing-typescript-error-type-undefined-is-not-assignable-to-type-string/</guid><description>Running into the TypeScript error &quot;Type undefined is not assignable to type string&quot;? It&apos;s a frequent error when variables might be undefined but functions demand strings. Fix it with string concatenation, templates, or assertion functions.</description><pubDate>Wed, 03 Jul 2024 12:27:51 GMT</pubDate></item><item><title>Boost Your TypeScript Tests with Mutation Testing</title><link>https://typescript.tv/testing/boost-your-typescript-tests-with-mutation-testing/</link><guid isPermaLink="true">https://typescript.tv/testing/boost-your-typescript-tests-with-mutation-testing/</guid><description>Mutation testing evaluates the quality of your test suite by introducing small changes (mutations) to your code and checking if your tests can detect them. This tutorial will guide you through understanding mutation testing, setting up Stryker for TypeScript, and using it to enhance your test suite and code quality.</description><pubDate>Mon, 01 Jul 2024 23:55:48 GMT</pubDate></item><item><title>Optimizing TypeScript Configs: Balancing Compilation and Type Checking</title><link>https://typescript.tv/hands-on/optimizing-typescript-configs-balancing-compilation-and-type-checking/</link><guid isPermaLink="true">https://typescript.tv/hands-on/optimizing-typescript-configs-balancing-compilation-and-type-checking/</guid><description>Learn how to optimize TypeScript configurations for lean compilation and type checking. Use rootDir and exclude patterns to manage configuration files without unnecessary compilation.</description><pubDate>Thu, 27 Jun 2024 19:19:52 GMT</pubDate></item><item><title>Use TypeScript generators for cleaner programming</title><link>https://typescript.tv/hands-on/use-typescript-generators-for-cleaner-programming/</link><guid isPermaLink="true">https://typescript.tv/hands-on/use-typescript-generators-for-cleaner-programming/</guid><description>Generators help fetch and process data from APIs more granular, improving code modularity and user-friendliness. This tutorial teaches you how to use TypeScript generators for cleaner programming using a real-world example.</description><pubDate>Thu, 30 May 2024 10:24:13 GMT</pubDate></item><item><title>All you need to know about iterators and generators</title><link>https://typescript.tv/hands-on/all-you-need-to-know-about-iterators-and-generators/</link><guid isPermaLink="true">https://typescript.tv/hands-on/all-you-need-to-know-about-iterators-and-generators/</guid><description>Learn about iterators and generators in TypeScript. Understand how to use for-of loops, iterator protocol, iterable protocol, and async generators. See examples and practical applications.</description><pubDate>Thu, 23 May 2024 11:18:50 GMT</pubDate></item><item><title>Save memory with TypeScript generators!</title><link>https://typescript.tv/hands-on/save-memory-with-typescript-generators/</link><guid isPermaLink="true">https://typescript.tv/hands-on/save-memory-with-typescript-generators/</guid><description>Memory usage is a crucial metric when developing applications in TypeScript. It&apos;s frequently ignored until the &quot;JavaScript heap out of memory&quot; error appears. This error commonly occurs when loading large datasets in an application. In this tutorial, we will learn how to load big datasets and iterate over them while minimizing our memory usage.</description><pubDate>Mon, 20 May 2024 16:18:33 GMT</pubDate></item><item><title>The 4 Must-Know TypeScript Compiler Configs</title><link>https://typescript.tv/new-features/the-4-must-know-typescript-compiler-configs/</link><guid isPermaLink="true">https://typescript.tv/new-features/the-4-must-know-typescript-compiler-configs/</guid><description>TypeScript compiler configs are crucial for building apps. Key settings include file locations, syntax specification, module formats, and type checking capabilities. Understanding these configs enhances development. This posts shows you how to build the perfect TypeScript compiler configuration for your project and how configs from frameworks can be extended for ease.</description><pubDate>Wed, 15 May 2024 16:14:32 GMT</pubDate></item><item><title>What are Generics and why you should use them?</title><link>https://typescript.tv/hands-on/what-are-generics-and-why-you-should-use-them/</link><guid isPermaLink="true">https://typescript.tv/hands-on/what-are-generics-and-why-you-should-use-them/</guid><description>Generics in TypeScript help create reusable components that work with different data types while keeping type safety. They use placeholders for types, like in the example of managing animals in a zoo, making code adaptable and efficient.</description><pubDate>Tue, 30 Apr 2024 14:36:46 GMT</pubDate></item><item><title>Module openai has no exported member</title><link>https://typescript.tv/hands-on/module-openai-has-no-exported-member/</link><guid isPermaLink="true">https://typescript.tv/hands-on/module-openai-has-no-exported-member/</guid><description>OpenAI&apos;s Node.js API Library has updated from Version 3 to Version 4. Changes include updating imports adjusting method calls.</description><pubDate>Wed, 24 Apr 2024 14:30:52 GMT</pubDate></item><item><title>Enumberable vs. Iterable in TypeScript: What&apos;s the Difference?</title><link>https://typescript.tv/hands-on/enumberable-vs-iterable-in-typescript-whats-the-difference/</link><guid isPermaLink="true">https://typescript.tv/hands-on/enumberable-vs-iterable-in-typescript-whats-the-difference/</guid><description>In TypeScript, &quot;enumerable&quot; and &quot;iterable&quot; are terms used to describe different aspects of data collections. Enumerable refers to an object&apos;s properties that can be counted or iterated over using a `for...in` loop. Iterable, on the other hand, refers to an object that can be traversed through its elements one by one using a `for...of` loop.</description><pubDate>Wed, 10 Jan 2024 15:37:39 GMT</pubDate></item><item><title>TypeError: prettier.resolveConfig.sync is not a function</title><link>https://typescript.tv/hands-on/typeerror-prettierresolveconfigsync-is-not-a-function/</link><guid isPermaLink="true">https://typescript.tv/hands-on/typeerror-prettierresolveconfigsync-is-not-a-function/</guid><description>Learn how to fix error: prettier.resolveConfig.sync is not a function. Resolve any issues that arise from updating to Prettier v3 and migrate from Husky &amp; pretty-quick to Lefthook.</description><pubDate>Mon, 18 Dec 2023 22:47:43 GMT</pubDate></item><item><title>Improve your TypeScript workflow with Code Snippets</title><link>https://typescript.tv/hands-on/improve-your-typescript-workflow-with-code-snippets/</link><guid isPermaLink="true">https://typescript.tv/hands-on/improve-your-typescript-workflow-with-code-snippets/</guid><description>Learn how to improve your TypeScript workflow by using code snippets. This article provides a code example for logging a JSON response into a file using Node.js and TypeScript.</description><pubDate>Mon, 11 Dec 2023 14:19:29 GMT</pubDate></item><item><title>Filtering arrays in TypeScript with correct types</title><link>https://typescript.tv/best-practices/filtering-arrays-in-typescript-with-correct-types/</link><guid isPermaLink="true">https://typescript.tv/best-practices/filtering-arrays-in-typescript-with-correct-types/</guid><description>This article explains how to filter arrays in TypeScript while maintaining correct types. It demonstrates how to create a type guard to ensure that the filtered array only contains the desired type. It also discusses the downsides of type guards and compares them to assertion functions.</description><pubDate>Wed, 06 Dec 2023 14:22:05 GMT</pubDate></item><item><title>What are ECMAScript Modules?</title><link>https://typescript.tv/new-features/what-are-ecmascript-modules/</link><guid isPermaLink="true">https://typescript.tv/new-features/what-are-ecmascript-modules/</guid><description>ECMAScript Modules (ESM) enable the importing and exporting of code and are supported in modern web browsers, Deno, Bun, and Node.js. It&apos;s recommended to use ESM as major frameworks are already embracing it. Let this tutorial guide you through the process.</description><pubDate>Thu, 09 Nov 2023 17:07:20 GMT</pubDate></item><item><title>Serving static content with NestJS and Express</title><link>https://typescript.tv/hands-on/serving-static-content-with-nestjs-and-express/</link><guid isPermaLink="true">https://typescript.tv/hands-on/serving-static-content-with-nestjs-and-express/</guid><description>NestJS can serve static content when running on an Express server. This is useful when you want to host a React frontend website through your Nest service.</description><pubDate>Wed, 01 Nov 2023 11:11:00 GMT</pubDate></item><item><title>Write a simple TypeScript script with ESM</title><link>https://typescript.tv/hands-on/write-a-simple-typescript-script-with-esm/</link><guid isPermaLink="true">https://typescript.tv/hands-on/write-a-simple-typescript-script-with-esm/</guid><description>I recently wrote a small TypeScript script to generate a Markdown file with a sluggified filename. Since we&apos;re now in the era of modern ECMAScript Modules (ESM), I wanted to use this new module system in my TypeScript code. Here&apos;s how I did it.</description><pubDate>Tue, 31 Oct 2023 20:58:13 GMT</pubDate></item><item><title>Effortless Nodemon Setup with TypeScript and ESM</title><link>https://typescript.tv/hands-on/effortless-nodemon-setup-with-typescript-and-esm/</link><guid isPermaLink="true">https://typescript.tv/hands-on/effortless-nodemon-setup-with-typescript-and-esm/</guid><description>Learn how to use Nodemon to automatically restart your Node.js app when you make changes to your TypeScript code. Install the necessary dependencies and configure Nodemon to watch your TypeScript files. Then, run your application using Nodemon for a faster development experience.</description><pubDate>Wed, 20 Sep 2023 23:38:59 GMT</pubDate></item><item><title>Fix type X is not assignable to type Y</title><link>https://typescript.tv/best-practices/fix-type-x-is-not-assignable-to-type-y/</link><guid isPermaLink="true">https://typescript.tv/best-practices/fix-type-x-is-not-assignable-to-type-y/</guid><description>When working with optional parameters in TypeScript, you may encounter the error message &quot;undefined cannot be assigned to a specific type.&quot; This happens because optional parameters can either be `undefined` or of a specified type. To avoid this error, you can use several techniques.</description><pubDate>Tue, 19 Sep 2023 19:04:08 GMT</pubDate></item><item><title>What is the Windows Subsystem for Android (WSA)?</title><link>https://typescript.tv/hands-on/what-is-the-windows-subsystem-for-android-wsa/</link><guid isPermaLink="true">https://typescript.tv/hands-on/what-is-the-windows-subsystem-for-android-wsa/</guid><description>The Windows Subsystem for Android (WSA) allows you to run Android apps on Windows 11. You can install it by getting the Amazon Appstore from the Microsoft Store. Developers can activate Developer mode to test and debug Android apps.</description><pubDate>Tue, 12 Sep 2023 09:14:46 GMT</pubDate></item><item><title>What is Type Coercion in TypeScript?</title><link>https://typescript.tv/new-features/what-is-type-coercion-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/new-features/what-is-type-coercion-in-typescript/</guid><description>Type coercion is when one type of data is automatically changed into another type. For example, TypeScript can change a number into a string. This happens automatically to prevent errors when different types interact.</description><pubDate>Tue, 08 Aug 2023 19:46:06 GMT</pubDate></item><item><title>Create a TypeScript test matrix using GitHub Actions</title><link>https://typescript.tv/best-practices/create-a-typescript-test-matrix-using-github-actions/</link><guid isPermaLink="true">https://typescript.tv/best-practices/create-a-typescript-test-matrix-using-github-actions/</guid><description>GitHub workflows are a great way to set up a continuous integration pipeline. You can define jobs within a workflow and use GitHub&apos;s runners to execute those jobs. These runners can be hosted on GitHub&apos;s infrastructure or your own. In this tutorial, you&apos;ll learn how to use a matrix strategy to run jobs concurrently using different runner images.</description><pubDate>Mon, 24 Jul 2023 16:51:40 GMT</pubDate></item><item><title>Type Inference &amp; Type Annotations in TypeScript</title><link>https://typescript.tv/hands-on/type-inference-type-annotations-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/type-inference-type-annotations-in-typescript/</guid><description>TypeScript has two concepts: type annotations and type inference. Type annotations involve explicitly specifying the type of a parameter or variable, while type inference occurs when TypeScript automatically determines the type based on the implementation.</description><pubDate>Fri, 21 Jul 2023 18:12:59 GMT</pubDate></item><item><title>What is Type Compatibility in TypeScript?</title><link>https://typescript.tv/new-features/what-is-type-compatibility-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/new-features/what-is-type-compatibility-in-typescript/</guid><description>TypeScript has a structural type system, which means that types are compatible based on their shape or structure rather than their names. This allows you to interchangeably use types with different names but identical properties. You can assign one type to another if they share the same properties, including optional properties.</description><pubDate>Wed, 12 Jul 2023 13:57:32 GMT</pubDate></item><item><title>What is the satisfies operator in TypeScript?</title><link>https://typescript.tv/new-features/what-is-the-satisfies-operator-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/new-features/what-is-the-satisfies-operator-in-typescript/</guid><description>TypeScript 4.9 introduces the &quot;satisfies&quot; operator, which allows us to verify that the type of an expression matches a specific type. This operator can be used to narrow down a union type and provide more precise type checking. In the example given, the &quot;satisfies&quot; operator is used to restrict the keys and values of a record type.</description><pubDate>Thu, 06 Jul 2023 19:25:54 GMT</pubDate></item><item><title>What is Downleveling in TypeScript?</title><link>https://typescript.tv/new-features/what-is-downleveling-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/new-features/what-is-downleveling-in-typescript/</guid><description>Downleveling is the process of converting modern TypeScript code into an older version of JavaScript. This allows developers to target older JavaScript environments that may not support the latest features.</description><pubDate>Tue, 04 Jul 2023 19:03:16 GMT</pubDate></item><item><title>Safer Array Access with TypeScript 4.1</title><link>https://typescript.tv/best-practices/safer-array-access-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/best-practices/safer-array-access-in-typescript/</guid><description>The `noUncheckedIndexedAccess` compiler option in TypeScript helps catch potential errors when accessing arrays or tuples with undefined or out-of-bounds indices. Enabling this option ensures that developers handle cases where indexed accesses can result in undefined values.</description><pubDate>Thu, 15 Jun 2023 16:43:18 GMT</pubDate></item><item><title>The void operator in TypeScript and JavaScript</title><link>https://typescript.tv/new-features/the-void-operator-in-typescript-and-javascript/</link><guid isPermaLink="true">https://typescript.tv/new-features/the-void-operator-in-typescript-and-javascript/</guid><description>The void operator in TypeScript and JavaScript evaluates an expression and returns `undefined`. It can be used to prevent unintended leakage of return values and handle Promises for side effects. It is useful when you want to suppress the return value of a function or initiate a Promise without handling its resolution.</description><pubDate>Wed, 14 Jun 2023 00:44:30 GMT</pubDate></item><item><title>Improve Your Type Safety with Branded Types</title><link>https://typescript.tv/best-practices/improve-your-type-safety-with-branded-types/</link><guid isPermaLink="true">https://typescript.tv/best-practices/improve-your-type-safety-with-branded-types/</guid><description>Branded types in TypeScript can help catch programming errors early by ensuring that values meet certain criteria before they are used. To create a branded type, you add a readonly property to an existing type. Branded types are especially useful when combined with assertion functions, which validate inputs and assert the branded type after successful validation.</description><pubDate>Sun, 14 May 2023 23:00:28 GMT</pubDate></item><item><title>Avoid Errors with Defensive Coding in TypeScript</title><link>https://typescript.tv/best-practices/avoid-errors-with-defensive-coding-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/best-practices/avoid-errors-with-defensive-coding-in-typescript/</guid><description>Defensive coding is a programming practice that helps make TypeScript applications more reliable and robust. It involves checking input data for errors, handling errors gracefully, respecting data boundaries, enforcing assumptions, and providing fail-safe defaults. By following these principles, developers can reduce the risk of bugs and security vulnerabilities.</description><pubDate>Mon, 08 May 2023 22:00:29 GMT</pubDate></item><item><title>Enhancing Return Types with Function Overloading in TypeScript</title><link>https://typescript.tv/new-features/enhancing-return-types-with-function-overloading-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/new-features/enhancing-return-types-with-function-overloading-in-typescript/</guid><description>Function overloading in TypeScript allows you to define multiple functions with the same name but different parameters. This can be useful when you want to provide different behavior based on the arguments passed to the function. By using function overloading, you can improve the return types of your functions for different input scenarios.</description><pubDate>Sun, 07 May 2023 20:58:57 GMT</pubDate></item><item><title>Video Tutorial: Compiling TypeScript to JavaScript</title><link>https://typescript.tv/hands-on/video-tutorial-compiling-typescript-to-javascript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/video-tutorial-compiling-typescript-to-javascript/</guid><description>This TypeScript tutorial explores JavaScript engines like Google&apos;s V8 and Mozilla&apos;s SpiderMonkey. It explains how to configure the TypeScript compiler, write proper TypeScript code, and use Microsoft&apos;s IntelliSense feature. It also covers TypeScript&apos;s watch mode and warns against installing TypeScript globally. Troubleshooting tips are provided, along with a link to the source code on GitHub.</description><pubDate>Sun, 07 May 2023 19:56:55 GMT</pubDate></item><item><title>JavaScript in TypeScript: Learn How to Use Them Together</title><link>https://typescript.tv/hands-on/javascript-in-typescript-learn-how-to-use-them-together/</link><guid isPermaLink="true">https://typescript.tv/hands-on/javascript-in-typescript-learn-how-to-use-them-together/</guid><description>TypeScript is a superset of JavaScript, so you can use regular JavaScript code in a TypeScript application. This means you can start with your existing JavaScript codebase and gradually migrate it to TypeScript. You can also use legacy JavaScript libraries and frameworks without any issues.</description><pubDate>Sat, 21 Jan 2023 19:12:00 GMT</pubDate></item><item><title>Type Checking with Assertion Functions in TypeScript</title><link>https://typescript.tv/best-practices/type-checking-with-assertion-functions-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/best-practices/type-checking-with-assertion-functions-in-typescript/</guid><description>An assertion function is a runtime check that identifies the type of unknown input. TypeScript&apos;s compiler assumes the input is of the type claimed by the assertion function&apos;s signature. Assertion functions are useful for uncertain values, like user input, and generate runtime checks. They can raise errors if the input doesn&apos;t meet criteria.</description><pubDate>Sat, 21 Jan 2023 10:08:00 GMT</pubDate></item><item><title>How to use Mapped Types in TypeScript</title><link>https://typescript.tv/new-features/how-to-use-mapped-types-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/new-features/how-to-use-mapped-types-in-typescript/</guid><description>TypeScript 2.1 introduced mapped types, which allow you to create new types based on the properties of an existing type. For example, you can create a mapped type that has the same keys as an existing type, but with optional values.</description><pubDate>Thu, 05 Jan 2023 01:00:00 GMT</pubDate></item><item><title>How to use const assertions in TypeScript</title><link>https://typescript.tv/new-features/how-to-use-const-assertions-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/new-features/how-to-use-const-assertions-in-typescript/</guid><description>TypeScript 3.4 introduced const assertions, which allow you to claim a value as immutable. This is useful when working with arrays, as it prevents new values from being added to an existing array.</description><pubDate>Tue, 03 Jan 2023 14:00:00 GMT</pubDate></item><item><title>How to write Express.js middleware with TypeScript</title><link>https://typescript.tv/hands-on/how-to-type-express-js-middleware/</link><guid isPermaLink="true">https://typescript.tv/hands-on/how-to-type-express-js-middleware/</guid><description>You can extend your Express.js server by writing custom middleware functions. These functions intercept every request and allow you to add custom functionality or filters. You can also pass the request to other middleware functions.</description><pubDate>Thu, 25 Nov 2021 18:25:24 GMT</pubDate></item><item><title>Debugging Node.js with Chrome DevTools</title><link>https://typescript.tv/hands-on/debugging-node-js-with-chrome-devtools/</link><guid isPermaLink="true">https://typescript.tv/hands-on/debugging-node-js-with-chrome-devtools/</guid><description>You can use Chrome&apos;s DevTools to debug Node.js applications. To do this, you need to set your Node.js app as a remote target using the `--inspect` flag when starting the `node` process. Once your app is registered, you can open the DevTools for Node in Google Chrome.</description><pubDate>Wed, 17 Mar 2021 11:11:56 GMT</pubDate></item><item><title>Styling React Components with CSS and TypeScript</title><link>https://typescript.tv/react/styling-react-components-with-css-and-typescript/</link><guid isPermaLink="true">https://typescript.tv/react/styling-react-components-with-css-and-typescript/</guid><description>Learn how to add CSS styling to React Components with TypeScript. This tutorial will teach you how to structure your components, type your props, and avoid error TS2739. It also introduces CSS Modules.</description><pubDate>Wed, 17 Mar 2021 10:29:01 GMT</pubDate></item><item><title>Error TS1196: Catch clause variable type annotation</title><link>https://typescript.tv/best-practices/error-ts1196-catch-clause-variable-type-annotation/</link><guid isPermaLink="true">https://typescript.tv/best-practices/error-ts1196-catch-clause-variable-type-annotation/</guid><description>TypeScript&apos;s compiler doesn&apos;t allow custom type annotations for errors in try-catch statements. The simplest type guard is a conditional block with an instanceof check. Other type guards are presented in this article.</description><pubDate>Sun, 07 Mar 2021 15:50:04 GMT</pubDate></item><item><title>How to create a screencast</title><link>https://typescript.tv/hands-on/how-to-create-a-screencast/</link><guid isPermaLink="true">https://typescript.tv/hands-on/how-to-create-a-screencast/</guid><description>Creating a screencast can be challenging. You need the right hardware and software, and post-production is often overlooked. Here are some tips to make it easier.</description><pubDate>Fri, 05 Mar 2021 20:27:09 GMT</pubDate></item><item><title>Rendering multiple elements in React</title><link>https://typescript.tv/react/rendering-multiple-elements-in-react/</link><guid isPermaLink="true">https://typescript.tv/react/rendering-multiple-elements-in-react/</guid><description>In this episode of Amir&apos;s React with TypeScript course, you will learn how to render multiple elements in React. He will also show you how to create a TypeScript interface to specify known properties of your objects. This tutorial covers topics like creating a React Function component, using Array.map, and  basic data structures in TypeScript.</description><pubDate>Sun, 28 Feb 2021 10:33:03 GMT</pubDate></item><item><title>Improve your switch cases with TypeScript</title><link>https://typescript.tv/best-practices/improve-your-switch-cases-with-typescript/</link><guid isPermaLink="true">https://typescript.tv/best-practices/improve-your-switch-cases-with-typescript/</guid><description>In this tutorial, you will learn how to improve your switch statements and fix certain errors in TypeScript. The article provides tips and tricks, as well as a final code example. Some key takeaways include setting `noImplicitReturns` to `true`, creating a switch case for every valid value, defining a custom return type, and adding a default case to handle unexpected values.</description><pubDate>Fri, 26 Feb 2021 15:45:16 GMT</pubDate></item><item><title>React with TypeScript for Beginners</title><link>https://typescript.tv/react/react-with-typescript-for-beginners/</link><guid isPermaLink="true">https://typescript.tv/react/react-with-typescript-for-beginners/</guid><description>In 2021, TypeScript&apos;s support for React apps has greatly improved. If you&apos;re new to TypeScript and React, you can learn how to develop your first React app from Amir Ghezelbash. He provides weekly tutorials starting from scratch to help you improve your React and TypeScript skills.</description><pubDate>Mon, 22 Feb 2021 18:34:48 GMT</pubDate></item><item><title>Docker Desktop: Hardware assisted virtualization</title><link>https://typescript.tv/hands-on/docker-desktop-hardware-assisted-virtualization/</link><guid isPermaLink="true">https://typescript.tv/hands-on/docker-desktop-hardware-assisted-virtualization/</guid><description>Docker containers make it easier to set up applications by providing pre-configured images in a virtual environment. To use virtualization extensions on your CPU, like Intel&apos;s VT-x or AMD&apos;s SVM, you need to enable them in your BIOS or UEFI settings.</description><pubDate>Tue, 12 Jan 2021 18:42:31 GMT</pubDate></item><item><title>Upgrade to React Router v6</title><link>https://typescript.tv/react/upgrade-to-react-router-v6/</link><guid isPermaLink="true">https://typescript.tv/react/upgrade-to-react-router-v6/</guid><description>React Router Version 6 is great for TypeScript programmers because it comes with type definitions. It also introduces the `useRoutes` hook, which simplifies routing setups in functional React components. Additionally, the new `Outlet` API allows for rendering child components. The article provides examples of how routing was done in React Router v5 and how it has changed in v6.</description><pubDate>Sat, 02 Jan 2021 12:38:46 GMT</pubDate></item><item><title>Setup Webpack HMR with NestJS and React</title><link>https://typescript.tv/react/setup-webpack-hmr-with-nestjs-and-react/</link><guid isPermaLink="true">https://typescript.tv/react/setup-webpack-hmr-with-nestjs-and-react/</guid><description>This article explains how to set up a NestJS server with Webpack&apos;s Hot Module Replacement (HMR) to host a React web application. It provides code examples and instructions on how to access the Express instance from the NestJS framework and how to bring Webpack and its HMR plugin to your React web application.</description><pubDate>Mon, 21 Dec 2020 11:53:16 GMT</pubDate></item><item><title>Setup Webpack HMR with Express server and React</title><link>https://typescript.tv/react/setup-webpack-hmr-with-express-server-and-react/</link><guid isPermaLink="true">https://typescript.tv/react/setup-webpack-hmr-with-express-server-and-react/</guid><description>You can set up an Express server with Webpack&apos;s Hot Module Replacement (HMR) to host a React web application. The article provides code examples and instructions on how to configure your server and web application.</description><pubDate>Sun, 20 Dec 2020 22:52:34 GMT</pubDate></item><item><title>Use React with TypeScript</title><link>https://typescript.tv/react/use-react-with-typescript/</link><guid isPermaLink="true">https://typescript.tv/react/use-react-with-typescript/</guid><description>This article provides code examples on how to type your React web application using TypeScript. It covers different scenarios such as function components, class components, components with props, components with HTML props, and more.</description><pubDate>Wed, 16 Dec 2020 17:47:49 GMT</pubDate></item><item><title>Understanding Generators, Iterators and Iterables</title><link>https://typescript.tv/hands-on/understanding-generators-iterators-and-iterables/</link><guid isPermaLink="true">https://typescript.tv/hands-on/understanding-generators-iterators-and-iterables/</guid><description>In this tutorial, you will learn about generator functions in TypeScript. Generator functions are functions that return a generator object, which generates data on demand. You will also learn about the differences between iterators and iterables.</description><pubDate>Mon, 30 Nov 2020 13:16:21 GMT</pubDate></item><item><title>Function Overloading Explained</title><link>https://typescript.tv/hands-on/function-overloading-explained/</link><guid isPermaLink="true">https://typescript.tv/hands-on/function-overloading-explained/</guid><description>This article provides a code example of a Calculator class in TypeScript that can add numbers or strings. The add method converts the inputs to numbers, adds them together, and returns the result as a number or string depending on the input types.</description><pubDate>Sun, 29 Nov 2020 14:28:57 GMT</pubDate></item><item><title>When to use static methods in TypeScript?</title><link>https://typescript.tv/best-practices/when-to-use-static-methods-in-typescript/</link><guid isPermaLink="true">https://typescript.tv/best-practices/when-to-use-static-methods-in-typescript/</guid><description>Static methods in programming are functions that can be called directly from a class without needing to create an instance of the class. They are useful when you have a function that doesn&apos;t rely on any internal state of the class.</description><pubDate>Thu, 08 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Fastest way to set up a TypeScript project with Node.js (npm)</title><link>https://typescript.tv/hands-on/fastest-way-to-set-up-a-typescript-project-with-nodejs-npm/</link><guid isPermaLink="true">https://typescript.tv/hands-on/fastest-way-to-set-up-a-typescript-project-with-nodejs-npm/</guid><description>Setting up a TypeScript project with Node.js is quick and easy. Here are the steps…</description><pubDate>Wed, 05 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Error TS2307: Cannot find module events</title><link>https://typescript.tv/hands-on/error-ts2307-cannot-find-module-events/</link><guid isPermaLink="true">https://typescript.tv/hands-on/error-ts2307-cannot-find-module-events/</guid><description>If you&apos;re extending the `EventEmitter` class from Node.js and encounter the error TS2307 or TS2339, it means you&apos;re missing the Node.js type definitions. To fix this, install the typings by running `yarn add @types/node@12 --dev --tilde`. This solution has been tested with TypeScript 3.9.3 and Node.js 12.18.0 LTS.</description><pubDate>Thu, 04 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Top-level await in TypeScript 3.8</title><link>https://typescript.tv/new-features/top-level-await-in-typescript-3-8/</link><guid isPermaLink="true">https://typescript.tv/new-features/top-level-await-in-typescript-3-8/</guid><description>TypeScript 3.8 introduces a new feature called top-level await. It allows developers to use the `await` keyword without a surrounding `async` function at the top level of a module.</description><pubDate>Tue, 31 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Convert to milliseconds</title><link>https://typescript.tv/hands-on/convert-to-milliseconds/</link><guid isPermaLink="true">https://typescript.tv/hands-on/convert-to-milliseconds/</guid><description>Learn how to get the milliseconds of a specific date in your desired timezone using Moment.js. You can use a predefined UTC offset or detect the UTC offset. You can also use a predefined time zone or detect the time zone.</description><pubDate>Wed, 03 Jul 2019 00:00:00 GMT</pubDate></item><item><title>TypeScript code coverage with Karma</title><link>https://typescript.tv/testing/typescript-code-coverage-with-karma/</link><guid isPermaLink="true">https://typescript.tv/testing/typescript-code-coverage-with-karma/</guid><description>To obtain coverage reports for code running in web browsers, you can configure code coverage with TypeScript and Karma.</description><pubDate>Mon, 29 Apr 2019 00:00:00 GMT</pubDate></item><item><title>Anatomy of an Electron 4 application</title><link>https://typescript.tv/hands-on/anatomy-of-an-electron-4-application/</link><guid isPermaLink="true">https://typescript.tv/hands-on/anatomy-of-an-electron-4-application/</guid><description>In Electron 4 applications, there are two main processes: the main process and the renderer process. The main process is responsible for displaying the GUI, managing BrowserWindow instances and registering global shortcuts.</description><pubDate>Tue, 16 Apr 2019 00:00:00 GMT</pubDate></item><item><title>Setup TypeScript code coverage for Electron applications</title><link>https://typescript.tv/testing/setup-typescript-code-coverage-for-electron-applications/</link><guid isPermaLink="true">https://typescript.tv/testing/setup-typescript-code-coverage-for-electron-applications/</guid><description>This tutorial teaches you how to include all source files for code coverage reporting in an Electron app. It covers steps such as using `babel` with `electron-mocha`, registering plugins in `babel` to instrument code, and running `nyc` to create a coverage report. The article also provides code snippets and configuration files to help you implement these steps.</description><pubDate>Mon, 08 Apr 2019 00:00:00 GMT</pubDate></item><item><title>Run Node.js apps on Heroku with TypeScript</title><link>https://typescript.tv/hands-on/run-nodejs-apps-on-heroku-with-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/run-nodejs-apps-on-heroku-with-typescript/</guid><description>This article provides a step-by-step guide on how to get started with Heroku, a polyglot platform. It covers topics such as setting up a Node.js environment, connecting a Git repository, writing a Node.js application, connecting a GitHub repository, getting logs, running CLI apps, and working with databases.</description><pubDate>Tue, 19 Mar 2019 00:00:00 GMT</pubDate></item><item><title>Parse command line arguments in Node.js</title><link>https://typescript.tv/hands-on/parse-command-line-arguments-in-nodejs/</link><guid isPermaLink="true">https://typescript.tv/hands-on/parse-command-line-arguments-in-nodejs/</guid><description>There are several libraries available for building command-line interface (CLI) tools in Node.js, such as optimist, minimist, yargs, Caporal.js, and commander. In this article, the author shares their favorite CLI builder, commander, because it comes with TypeScript definitions.</description><pubDate>Tue, 12 Mar 2019 00:00:00 GMT</pubDate></item><item><title>Add a window property with TypeScript</title><link>https://typescript.tv/hands-on/add-a-window-property-with-typescript/</link><guid isPermaLink="true">https://typescript.tv/hands-on/add-a-window-property-with-typescript/</guid><description>In TypeScript, you can define custom properties on the `window` namespace by declaring them as global properties. For example, if you want to make TypeScript aware of the property `window.__coverage__`, you can declare it in your code using the `declare global` syntax.</description><pubDate>Wed, 20 Feb 2019 00:00:00 GMT</pubDate></item><item><title>Setup electron-mocha with @babel/register and TypeScript</title><link>https://typescript.tv/testing/setup-electron-mocha-with-babel-register-and-typescript/</link><guid isPermaLink="true">https://typescript.tv/testing/setup-electron-mocha-with-babel-register-and-typescript/</guid><description>This tutorial teaches you how to write tests for Electron using TypeScript and mocha. You&apos;ll learn about the necessary dependencies and how to set up your test environment.</description><pubDate>Tue, 19 Feb 2019 00:00:00 GMT</pubDate></item></channel></rss>