TypeScript 5.9

One of the most important innovations in TypeScript 5.9 is support for deferred module evaluation via the import defer syntax, which implements a proposed future ECMAScript standard. This feature allows a module to be imported without executing its code—and its associated dependencies—immediately. Evaluation only takes place when one of the module’s exported members is first accessed in the code. This approach can significantly improve application startup times, especially when working with large or platform-specific modules that aren't needed at the very beginning of the program’s execution. It’s important to note that this syntax can only be used for namespace imports (e.g., import defer * as feature from "./feature.js"); named or default imports are not supported.

In the spirit of improving the developer experience, the project configuration process has also been noticeably simplified. The tsc --init command now generates a much cleaner and more minimalist tsconfig.json file. Instead of overwhelming the developer with every possible configuration option and its accompanying explanation, the new default configuration focuses only on the most essential elements and includes modern settings such as "module": "nodenext", "target": "esnext", and "jsx": "react-jsx". This change not only makes starting new projects smoother, but also reduces unnecessary configuration overhead for experienced developers. Supporting this is the introduction of the new --module node20 flag, which offers a stable and predictable way to configure module resolution for Node.js version 20. It provides a more reliable alternative to the constantly evolving "nodenext" option, ensuring more consistent compilation results—especially in enterprise and production environments.

TypeScript 5.9 also boosts productivity in day-to-day code editing. In supported editors like Visual Studio Code, the pop-up windows (hovers) that display type information have become interactive. When a developer encounters a deeply nested, complex type, they no longer have to get lost in definitions: simple + and buttons allow them to expand or collapse parts of the type definition directly within the pop-up. This greatly simplifies understanding complex types without having to leave the current code snippet. And for those who want even more detail, the maximum length of these pop-up windows can now be configured using the js/ts.hover.maximumLength setting, making more comprehensive type information visible at a glance.

Significant under-the-hood improvements have also been made to optimize compilation speed. TypeScript 5.9 brings tangible performance gains to everyday workflows. The development team has refined type instantiation caching, which reduces redundant computations of intermediate types. These benefits are particularly noticeable in large codebases or when using complex external libraries. In addition, file existence checks have been optimized, which can accelerate compilation time by up to 11% in larger projects—noticeably shortening development cycles.

In summary, TypeScript 5.9 is a mature release focused on fine-tuning. The combination of deferred imports that improve runtime performance, simplified configuration that enables faster project startup, smarter editor tools that enhance productivity, and significant compilation optimizations makes this an update well worth adopting. 

Share this post
After so many "I hate CSS" articles, how is it that CSS is still so successful?
If you've ever googled "why do developers hate CSS", you know there's a flood of complaints waiting to be found online. Thousands of forum posts, tweets, memes, and long blog entries lament CSS’s "incomprehensible behavior," its "not-really-programming" nature, or the idea that it's "just for designers." It almost feels like one of the unspoken rules of developer culture is that CSS is a necessary evil—something you use only when you absolutely have to, and preferably as quickly as possible. But if so many people hate it this much—why hasn't it disappeared? In fact, why do we see more and more non-web UI platforms adopting CSS-like semantics?
According to Replit's CEO, AI Will Make Programming More Human
The rise of artificial intelligence is transforming countless industries, and software development is no exception. While many fear that AI will take over jobs and bring about a dystopian future, Amjad Masad, CEO of Replit, sees it differently. He believes AI will make work more human, interactive, and versatile. He elaborated on this vision in an interview on Y Combinator’s YouTube channel, which serves as the primary source for this article.
A new era in software development
Over the past few decades, software development has fundamentally shaped our digital world, but the latest technological breakthroughs are ushering in a new era in which computer programming is undergoing a radical transformation. According to Andrej Karpathy, former director of artificial intelligence at Tesla, software development has accelerated dramatically in recent years after decades of slow change, fundamentally rewriting our understanding of programming.
Google Cloud Run Adds GPU Support for AI and Batch Workloads
Google Cloud has officially launched general availability of NVIDIA GPU support for Cloud Run, marking a major step forward in its serverless platform. This update aims to give developers a cost-effective, scalable solution for GPU-powered tasks, especially those involving AI inference and batch processing. It addresses the rising need for accessible, production-ready GPU resources in the cloud—while preserving the key features that have made Cloud Run popular with developers.
Gemini Advanced Strengthens GitHub Integration
There is no shortage of innovation in the world of AI-based development tools. Google has now announced direct GitHub integration for its premium AI assistant, Gemini Advanced. This move is not only a response to similar developments by its competitor OpenAI, but also a significant step forward in improving developer workflows.
Ten Times Faster After Rewriting the TypeScript Engine in Go
The TypeScript team has tried several times to rewrite the original JavaScript engine in a different programming language, but so far these attempts have not produced the desired results. Recently, however, they announced a breakthrough by rewriting it in Go.