#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 π₯
#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
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
blog.rafaelgss.dev
State of Node.js Performance 2023
Tech insights on Performance, Security and Node.js from Rafael Gonzaga, Node.js TSC member
π9β€4
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
https://www.youtube.com/watch?v=aXOChLn5ZdQ
YouTube
JavaScript for the Haters
Why does everybody hate JavaScript so much? A complete roast of JS that highlights the strongest criticisms against the world's most popular programming language.
#javascript #roast #comedy
π₯ Black Friday Discount
https://fireship.io/pro
π₯ Use codeβ¦
#javascript #roast #comedy
π₯ Black Friday Discount
https://fireship.io/pro
π₯ Use codeβ¦
π11β€3
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
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
svelte.dev
Announcing Svelte 4
Updated performance, developer experience, and site
π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 π₯
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 π₯
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 π₯
https://www.jsplayground.dev/
instead opening a tool or IDE.
π₯ Follow @javascriptdaily π₯
JS Playground
A no-fuss JavaScript playground with instant feedback
π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 π₯
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/
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/
GitHub
GitHub - explainers-by-googlers/Web-Environment-Integrity
Contribute to explainers-by-googlers/Web-Environment-Integrity development by creating an account on GitHub.
π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/
- '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/
TypeScript
Announcing TypeScript 5.2 - TypeScript
Today weβre excited to announce the release of TypeScript 5.2! If youβre not familiar with TypeScript, itβs a language that builds on top of JavaScript by making it possible to declare and describe types. Writing types in our code allows us to explain intentβ¦
π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
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
Bun
Bun 1.0
Bun is stable and ready for production.
π₯16π3β€2
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
- Evan You (https://twitter.com/youyuxi/status/1701243745880932687)
π₯ Follow @javascriptdaily π₯
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 π₯
X (formerly Twitter)
Evan You on X
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.
π10π₯6π3β€2
JavaScript Daily
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β¦
#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.js vs Node.js
- Bun vs Deno
- How is Bun so fast?
π₯ Follow @javascriptdaily π₯
https://www.youtube.com/watch?v=dWqNgzZwVJQ
YouTube
Bun is disrupting JavaScript land
Let's take a first look at Bun 1.0 - the worlds fastest JavaScript runtime. Find out how Bun compares to Node.js and Deno.
#webdevelopment #javascript #thecodereport
π₯ Level up AI code generation with DevGPT
Try it for free: https://devgpt.com/?utm_source=fireshipβ¦
#webdevelopment #javascript #thecodereport
π₯ Level up AI code generation with DevGPT
Try it for free: https://devgpt.com/?utm_source=fireshipβ¦
π6β€1π₯1
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
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
GitHub
GitHub - tc39/proposal-set-methods: Proposal for new Set methods in JS
Proposal for new Set methods in JS. Contribute to tc39/proposal-set-methods development by creating an account on GitHub.
π11β€6
Next.js 13.5 Released !!
β 22% faster local server startup
β 29% faster HMR (Fast Refresh)
β 40% less memory usage
β Optimized package imports
β
β And over 438 bugs patched!
π₯ Follow @javascriptdaily π₯
https://nextjs.org/blog/next-13-5
β 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
nextjs.org
Next.js 13.5
Next.js 13.5 includes 22% faster local server startup, 29% faster HMR (Fast Refresh), 40% less memory usage, and more.
π8π1
Meet hwy.dev, a new TypeScript metaframework built on top of hono.dev and htmx.org π
Quickstart:
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...
Quickstart:
npx create-hwy@latestFeatures:
β 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 π 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β¦
#ECMAScript excitement π
Next week's #TC39 meeting is hosted by #TechAtBloomberg in Tokyo & has a packed agenda:
πΈ AsyncContext
πΈ Decimal
πΈ Import Attributes
πΈ Intl.MessageFormat
πΈ Negated
πΈ Pattern Matching
πΈ Structs
πΈ TDZ
πΈ Throw expressions
πΈ Type Annotations
https://github.com/tc39/agendas/blob/main/2023/09.md
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
GitHub
agendas/2023/09.md at main Β· tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
π7
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
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
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/
- Bun support
- Notarytool
- Code signing improvements
- macOS frameworks
- Mixed content on Windows
https://beta.tauri.app/blog/tauri-1-5/
Tauri
Announcing Tauri 1.5.0
The cross-platform app building toolkit
π5β€1