13192
Daily JavaScript / JS community news, links and events. "First, software ate the world, the web ate software, and JavaScript ate the web." 'JavaScript' is a trademark of Oracle Corporation in the US. We are not endorsed by or affiliated with Oracle.
🔥🌎 TypeScript Revolution: Compiler Rewritten in Go for MIND-BLOWING Performance! 😲
Get ready for some EARTH-SHATTERING EXCITEMENT! 😉 The TypeScript team has just dropped a bombshell: they've completely rewritten the compiler in Go, and the results are nothing short of ASTOUNDING! 🤯
🎉 Here are the jaw-dropping highlights:
🔹 *10x FASTER TYPE-CHECKING* 🔥: Say goodbye to slow compilation times and hello to lightning-fast type-checking!
🔹 *SIGNIFICANTLY LESS MEMORY USAGE* 📉: The new compiler is leaner and meaner, using far less memory to get the job done.
What does this mean for you? 🤔
- *HUGELY IMPROVED AUTHORING & COMPILATION EXPERIENCE* 🚀: With the new compiler, you'll enjoy a seamless and blazing-fast TypeScript experience like never before!
Read the official announcement: https://devblogs.microsoft.com/typescript/typescript-native-port/
____
Stay tuned to @javascriptdaily for more updates, and get ready to experience the future of TypeScript! 🔜👏
📢 LLRT (Low Latency Runtime) is a new JS runtime from Amazon ✨
⚡ Designed for fast Serverless startup time
🦀 Written in Rust
💨 Embeds the QuickJS engine written in C
💡 Lightweight (~3MB)
🧪 Experimental!
https://github.com/awslabs/llrt
Happy New Year to all the JS Daily subscribers.
Let's have a cheerful year in 2024
🔥 Follow @javascriptdaily 🔥
An interesting take on Frontend in 2023 and also some predictions in the article by @Jamie
https://buttondown.email/whatever_jamie/archive/frontend-predictions-for-2024
Exciting news - roadmap editor is live 🥳An interesting feature addition to https://roadmap.sh/
You can now create custom roadmaps, add content and resources, share them with your friends, teams or publicly.
This is a huge next step for us and we are so excited about what's coming next!
#ECMAScript excitement 😉
These proposals moved this week #TC39 🎉🎉
4️⃣ Resizable ArrayBuffer
2️⃣ RegExp.escape
2️⃣🔙 ShadowRealm
1️⃣ Joint Iteration
1️⃣ Locale Extensions
1️⃣ Iterator Sequencing
1️⃣ Negated in
1️⃣ Stable Formatting
🗑️ FinalizationRegistry #cleanupSome
🗑️ Symbol.thenable
Meet hwy.dev, a new TypeScript metaframework built on top of hono.dev and htmx.org 🚀
Quickstart: npx create-hwy@latest
Features:
✅ Server-rendered JSX / TSX
✅ Nested, file-based routing
✅ Remix-style actions and parallel loaders
✅ Async page components
✅ Rich Hono middleware ecosystem
✅ 100% type-safe
✅ Built-in critical CSS inlining
✅ Live browser refresh during dev
✅ And much more...
ECMAScript excitement 😉
Safari 17.0 ships support for #TC39 Stage 3 proposal Set Methods 🎉
The seven new Set.prototype methods are:
🔸 intersection
🔸 union
🔸 difference
🔸 symmetricDifference
🔸 isSubsetOf
🔸 isSupersetOf
🔸 isDisjointFrom
🔥 Follow @javascriptdaily 🔥
https://github.com/tc39/proposal-set-methods
Bun vs pnpm
I'm seeing a lot of bun vs pnpm install speed comparisons but would like to provide some nuance: the absurd perf difference usually is a result of one tool running with a network API call overhead, while the other not.
bun install defaults to the behavior similar to pnpm's --prefer-offline flag, which skips hitting the npm API. To simulate the default behavior of pnpm, you have to use bun --force.
Here are some comparisons on my machine (network from Singapore) with different conditions:
bun (no cache, no lockfile): 5.4s
pnpm (no cache, no lockfile): 6.7s
bun (with cache, no lockfile): 30ms
pnpm (--prefer-offline, with cache, no lockfile): 587ms
bun (--force, with cache, no lockfile): 2.73s
pnpm (with cache, no lockfile): 5.9s
bun is still faster, but not so significant as some benchmark graphs may have led you to believe.
bun itself is amazing in many ways and deserve hype, but I'd love to see we compare apples to apples and not gloss over the details for engagement.
context for the benchmark: it's using the Vite + Vue + TypeScript boilerplate generated from bun create vite.
- Evan You (https://twitter.com/youyuxi/status/1701243745880932687)
🔥 Follow @javascriptdaily 🔥
TypeScript 5.2 is now here! 🎉 Now faster with
- 'using' & explicit resource management
- decorator metadata
- easier tuple type notation
- better object completions
- the inline variable refactor
- clickable inlay parameter hints
🔥 Follow @javascriptdaily 🔥
https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/
We often romanticize the notion of programming, presenting it as an abstract form of art, a science, or even a form of magic.
The truth, however, is much more practical and grounded. Code, in its essence, is communication.
- Adnan Osmani (Author of Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide)
🔥 Follow @javascriptdaily 🔥
#ECMAScript excitement 😉
This week #TC39 advanced these proposals 🎉
3️⃣ Array Grouping
3️⃣ Promise.withResolvers
3️⃣ Source Phase Imports
3️⃣ Time Zone Canonicalization
2️⃣ Deferred Import Evaluation
1️⃣ DataView get/set Uint8Clamped methods
1️⃣ Optional Chaining assignment
🔥 Follow @javascriptdaily 🔥
https://thenewstack.io/whats-next-for-javascript-new-features-to-look-forward-to/
Читать полностью…
A complete roast of JS that highlights the strongest criticisms against the world's most popular programming language.
https://www.youtube.com/watch?v=aXOChLn5ZdQ
JSR - the JavaScript Registry - is now available in public beta.
🛠️ TypeScript first, ESM only
🌐 Works across runtimes (Node, Deno, Bun, workerd and more) and alongside npm/yarn/pnpm
🤗 Free and open source
Read about it on the Deno blog:
https://deno.com/blog/jsr_open_beta
A quick and fun guide to setup a template of
#SolidJS + #TailwindCSS + #Tauri
and develop for desktop and mobile simultaneously...
🤯🤯🤯
🔥 Follow @javascriptdaily 🔥
https://www.youtube.com/watch?v=W539_PP4Y98
The rise and rise of #JavaScript
Credits: Data is beautiful (YouTube)
🔥 Follow @javascriptdaily 🔥
#threejs
A quick example of how one can "synchronize" a 3d scene across multiple windows using three.js and localStorage
🔥 Follow @javascriptdaily 🔥
Repo:
https://github.com/bgstaal/multipleWindow3dScene
Announcing WinterJS
The most performant JavaScript Service Workers server thanks to Rust and SpiderMonkey.
WinterJS is a JavaScript Service Workers server written in Rust, that uses the SpiderMonkey runtime to execute JavaScript (the same runtime that Firefox uses). We chose to follow the WinterCG specification to aim for maximum compatibility with other services such as Cloudflare Workers, Deno Deploy and Vercel (hence the name WinterJS).
WinterJS is not only blazing fast™️ but can also be compiled to WebAssembly thanks to WASIX and thus also run fully with Wasmer.
🔥 Follow @javascriptdaily 🔥
https://wasmer.io/posts/announcing-winterjs-service-workers
Tauri 1.5.0 Released 🎉🎊🎉🎊
- Bun support
- Notarytool
- Code signing improvements
- macOS frameworks
- Mixed content on Windows
https://beta.tauri.app/blog/tauri-1-5/
#ECMAScript excitement 😉
Next week's #TC39 meeting is hosted by #TechAtBloomberg in Tokyo & has a packed agenda:
🔸 AsyncContext
🔸 Decimal
🔸 Import Attributes
🔸 Intl.MessageFormat
🔸 Negated in
🔸 Pattern Matching
🔸 Structs
🔸 TDZ
🔸 Throw expressions
🔸 Type Annotations
https://github.com/tc39/agendas/blob/main/2023/09.md
Next.js 13.5 Released !!
◆ 22% faster local server startup
◆ 29% faster HMR (Fast Refresh)
◆ 40% less memory usage
◆ Optimized package imports
◆ next/image improvements
◆ And over 438 bugs patched!
🔥 Follow @javascriptdaily 🔥
https://nextjs.org/blog/next-13-5
#Bun is disrupting JavaScript land . . .
- Bun.js vs Node.js
- Bun vs Deno
- How is Bun so fast?
🔥 Follow @javascriptdaily 🔥
https://www.youtube.com/watch?v=dWqNgzZwVJQ
Bun 1.0 is finally here. 🎉🎊
Bun is a fast, all-in-one toolkit for running, building, testing, and debugging JavaScript and TypeScript, from a single file to a full-stack application. Today, Bun is stable and production-ready.
https://bun.sh/blog/bun-v1.0
Called the “Web Environment Integrity” (WEI), this is a potential gatekeeping move that has many concerned, including the three critical competitors to Google's Chrome web browser.
This situation has unfolded over the past two weeks, resulting in widespread criticism over the implementation of such a protocol.
🔥 Follow @javascriptdaily 🔥
https://news.itsfoss.com/google-controversial-tracker/
Trying to quickly prototype and experiment chunks of JS programs with a live feedback, then try
https://www.jsplayground.dev/
instead opening a tool or IDE.
🔥 Follow @javascriptdaily 🔥
#ECMAScript excitement 😉
Congrats to #NicoloRibaudo on advancing Optional Chaining for assignments to Stage 1 #TC39 today 🎉
Today Optional Chaining works on the Right-Hand Side of assignment.
value = obj?.prop
This proposal allows it on the left 👍
obj?.prop = value 🆕
🔥 Follow @javascriptdaily 🔥
Svelte 4 is here 🎉🎉
Time flies - Svelte 3 was released more than four years ago! In JavaScript-framework-time, that's eons. Svelte’s freshness has persisted throughout, but Node.js and browser APIs have evolved during that time and today we’re updating Svelte to take advantage of some of these improvements.
Svelte 4 is mainly a maintenance release, bumping minimum version requirements and tightening up the design in specific areas. It sets the stage for the next generation of Svelte to be released as Svelte 5 - we think you’ll love it.
🔥 Follow @javascriptdaily 🔥
https://svelte.dev/blog/svelte-4
Node.JS v20 - The Numbers
This article aims to provide a comparative analysis of different versions of Node.js. It highlights the improvements and setbacks and provides insights into the reasons behind those changes, without drawing any comparisons with other JavaScript runtimes.
🔥 Follow @javascriptdaily 🔥
https://blog.rafaelgss.dev/state-of-nodejs-performance-2023