


Node.js now supports TypeScript, JavaScript Rising Stars report is out, NEW developer tools and more
Jan 13, 2025 am 09:58 AMHello JavaScript Enthusiasts!
Welcome to this week’s edition of "This Week in JavaScript"!
What’s on the agenda?
Node.js embraces native TypeScript, Shadcn/ui steals the spotlight in JavaScript Rising Stars, and we've got new Import Attributes—plus the must-know tools for devs in 2025!
Native TypeScript in Node.js: A Game-Changer
Starting from Node.js v23.6.0, you can now run TypeScript files natively without extra tooling. Here’s what you need to know:
Seamless Type Stripping: No more juggling tools like ts-node—Node.js handles type stripping itself.
Not Full Transpilation Yet: Some TypeScript features like JSX, enums, and decorators aren’t supported, but for most projects, this simplifies the workflow.
Goodbye Pre-Compiling: Say goodbye to complex setups! This update drastically simplifies working with TypeScript in Node.js.
2024 JavaScript Rising Stars: Shadcn/ui Takes Center Stage
The 9th edition of JavaScript Rising Stars is out, and the trends are clear:
Shadcn/ui Dominates: It’s gaining traction for allowing developers to fully own their components without depending on external libraries.
React 19's Big News: Web component support has taken React to the next level.
Vite and Beyond: Vite continues to shine in the tooling space, with Rspack and Rolldown making a strong entrance.
Bun for Windows: Bun now supports Windows, making it an even more versatile runtime for JS developers.
Zustand for State Management: Simplicity wins with Zustand as it becomes a favorite among developers for state management.
Import Attributes: Making File Handling Easier
A new ECMAScript feature, Import Attributes, is streamlining file handling. Here’s why it matters:
Specify File Types: When importing non-JS files (JSON, CSS, WebAssembly), you can now specify file types, reducing potential errors.
Avoid Confusion: This makes working with large projects or external servers much easier by giving you more control over dynamic imports and file types.
Workflow Improvement: This is especially beneficial for projects that handle a variety of file types, making them more predictable and error-resistant.
Tools & Releases You Should Know About
The JavaScript ecosystem is constantly evolving, and these tools will help you stay ahead of the curve:
pnpm 10: Faster dependency handling, tighter security with SHA256 hashing, and lifecycle scripts no longer auto-running. It’s a boost for both team and solo projects.
Bun v1.1.43: Native S3 support, V8 heap snapshots for better debugging, and HTML bundling make this a powerhouse for your cloud-based apps.
Tesseract.js 6: OCR just got faster and leaner! The update reduces memory leaks and resource usage, with added control over output like HTML-styled text.
QuickJS 0.8: Precision meets power! New Math.sumPrecise function, improved error handling, and better Windows support make this a great update.
trimMiddle(): Perfect for shortening long strings like filenames without losing important content, even handles emojis with precision.
React-Toastify v11: In-page notifications just got easier. Simplified DOM structure, built-in styles, and custom progress bars, with accessibility updates built-in.
And that's it for the seventeenth issue of "This Week in JavaScript", brought to you by jam.dev—the tool that makes it impossible for your team to send you bad bug reports.
Feel free to share this newsletter with a fellow developer, and make sure you're subscribed to get notified about the next issue.
Until next time, happy coding!
References
Native TypeScript in Node.js
2024 JavaScript Rising Stars
Import Attributes
pnpm 10
Bun v1.1.43
Tesseract.js 6
QuickJS 0.8
trimMiddle()
React-Toastify v11
The above is the detailed content of Node.js now supports TypeScript, JavaScript Rising Stars report is out, NEW developer tools and more. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

There are three common ways to initiate HTTP requests in Node.js: use built-in modules, axios, and node-fetch. 1. Use the built-in http/https module without dependencies, which is suitable for basic scenarios, but requires manual processing of data stitching and error monitoring, such as using https.get() to obtain data or send POST requests through .write(); 2.axios is a third-party library based on Promise. It has concise syntax and powerful functions, supports async/await, automatic JSON conversion, interceptor, etc. It is recommended to simplify asynchronous request operations; 3.node-fetch provides a style similar to browser fetch, based on Promise and simple syntax

JavaScript data types are divided into primitive types and reference types. Primitive types include string, number, boolean, null, undefined, and symbol. The values are immutable and copies are copied when assigning values, so they do not affect each other; reference types such as objects, arrays and functions store memory addresses, and variables pointing to the same object will affect each other. Typeof and instanceof can be used to determine types, but pay attention to the historical issues of typeofnull. Understanding these two types of differences can help write more stable and reliable code.

Which JavaScript framework is the best choice? The answer is to choose the most suitable one according to your needs. 1.React is flexible and free, suitable for medium and large projects that require high customization and team architecture capabilities; 2. Angular provides complete solutions, suitable for enterprise-level applications and long-term maintenance; 3. Vue is easy to use, suitable for small and medium-sized projects or rapid development. In addition, whether there is an existing technology stack, team size, project life cycle and whether SSR is needed are also important factors in choosing a framework. In short, there is no absolutely the best framework, the best choice is the one that suits your needs.

Hello, JavaScript developers! Welcome to this week's JavaScript news! This week we will focus on: Oracle's trademark dispute with Deno, new JavaScript time objects are supported by browsers, Google Chrome updates, and some powerful developer tools. Let's get started! Oracle's trademark dispute with Deno Oracle's attempt to register a "JavaScript" trademark has caused controversy. Ryan Dahl, the creator of Node.js and Deno, has filed a petition to cancel the trademark, and he believes that JavaScript is an open standard and should not be used by Oracle

Promise is the core mechanism for handling asynchronous operations in JavaScript. Understanding chain calls, error handling and combiners is the key to mastering their applications. 1. The chain call returns a new Promise through .then() to realize asynchronous process concatenation. Each .then() receives the previous result and can return a value or a Promise; 2. Error handling should use .catch() to catch exceptions to avoid silent failures, and can return the default value in catch to continue the process; 3. Combinators such as Promise.all() (successfully successful only after all success), Promise.race() (the first completion is returned) and Promise.allSettled() (waiting for all completions)

CacheAPI is a tool provided by the browser to cache network requests, which is often used in conjunction with ServiceWorker to improve website performance and offline experience. 1. It allows developers to manually store resources such as scripts, style sheets, pictures, etc.; 2. It can match cache responses according to requests; 3. It supports deleting specific caches or clearing the entire cache; 4. It can implement cache priority or network priority strategies through ServiceWorker listening to fetch events; 5. It is often used for offline support, speed up repeated access speed, preloading key resources and background update content; 6. When using it, you need to pay attention to cache version control, storage restrictions and the difference from HTTP caching mechanism.

JavaScript array built-in methods such as .map(), .filter() and .reduce() can simplify data processing; 1) .map() is used to convert elements one to one to generate new arrays; 2) .filter() is used to filter elements by condition; 3) .reduce() is used to aggregate data as a single value; misuse should be avoided when used, resulting in side effects or performance problems.

JavaScript's event loop manages asynchronous operations by coordinating call stacks, WebAPIs, and task queues. 1. The call stack executes synchronous code, and when encountering asynchronous tasks, it is handed over to WebAPI for processing; 2. After the WebAPI completes the task in the background, it puts the callback into the corresponding queue (macro task or micro task); 3. The event loop checks whether the call stack is empty. If it is empty, the callback is taken out from the queue and pushed into the call stack for execution; 4. Micro tasks (such as Promise.then) take precedence over macro tasks (such as setTimeout); 5. Understanding the event loop helps to avoid blocking the main thread and optimize the code execution order.
