JavaScript Daily
11.6K subscribers
34 photos
2 videos
270 links
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.
Download Telegram
#ECMAScript excitement πŸ˜€

#TC39 advanced these proposals this week πŸŽ‰

4️⃣ Atomics.waitAsync
4️⃣ RegExp v flag
4️⃣ Well-Formed Unicode Strings
3️⃣ Decorator Metadata
3️⃣ Float16Array
2️⃣ Base64 for Uint8Array
2️⃣ Promise.withResolvers
2️⃣ TimeZone Canonicalizn
1️⃣ Intl.ZonedDateTimeFormat



πŸ”₯ Follow @javascriptdaily πŸ”₯
❀10πŸ‘6
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
πŸ‘9❀4
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
πŸ‘15πŸ”₯6❀3
#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 πŸ”₯
πŸ‘5
#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 πŸ”₯
πŸ‘16πŸ”₯5
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 πŸ”₯
πŸ‘9❀6πŸ₯°1
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 πŸ”₯
πŸ‘7
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/
πŸ‘8❀4πŸ’©3🀬1
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/
πŸ‘13πŸ”₯2
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
πŸ”₯16πŸ‘3❀2
🀣10πŸ‘2πŸ€”1🀯1
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 πŸ”₯
πŸ‘10πŸ”₯6πŸ‘3❀2
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
πŸ‘11❀6
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
πŸ‘8πŸ‘1
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...
πŸ‘4
JavaScript Daily
#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…
#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
πŸ‘9