Spoiler: turns out high school math can be useful after all 😶🌫️
macarie.me/writing/when...
Spoiler: turns out high school math can be useful after all 😶🌫️
macarie.me/writing/when...
✂️ ESM-only (the only breaking change!)
🧩 Module automocking for easier testing
🏭 Typesafe CSF factories Preview for React
💫 UI editing and sharing optimizations
🏷️ Tag filtering exclusion for sidebar management
🔀 Svelte async component support
✂️ ESM-only (the only breaking change!)
🧩 Module automocking for easier testing
🏭 Typesafe CSF factories Preview for React
💫 UI editing and sharing optimizations
🏷️ Tag filtering exclusion for sidebar management
🔀 Svelte async component support
You can you can finally style anchored elements based on their fallback position in CSS!
Meet the CSS anchored container query 🤝
container-type: anchored
@container anchored(fallback:
(landing in Chrome 143)
developer.chrome.com/blog/anchore...
You can you can finally style anchored elements based on their fallback position in CSS!
Meet the CSS anchored container query 🤝
container-type: anchored
@container anchored(fallback:
(landing in Chrome 143)
developer.chrome.com/blog/anchore...
- Browser Mode is Stable
- Visual Regression Testing
- Improved Debugging
- Pool Stabilization
- New APIs
- Bug Fixes
Stay updated with our blog post:
vitest.dev/blog/vitest-4
- Browser Mode is Stable
- Visual Regression Testing
- Improved Debugging
- Pool Stabilization
- New APIs
- Bug Fixes
Stay updated with our blog post:
vitest.dev/blog/vitest-4
Developers can customize and extend Oxlint using JavaScript, but at a speed approaching Rust, due to 'raw transfer' between Rust and JS, and other breakthroughs
Many ESLint plugins can run without any modification.
Read the full post👇
Developers can customize and extend Oxlint using JavaScript, but at a speed approaching Rust, due to 'raw transfer' between Rust and JS, and other breakthroughs
Many ESLint plugins can run without any modification.
Read the full post👇
Congrats to proposal champion Dan Minor @mozilla.org on shipping the TC39 Stage 3 Upsert proposal in Firefox 144 🎉
let map = new Map();
map.getOrInsert(key, defaultVal);
It lets you set a default value on a map key without overwriting an existing value 👍
Congrats to proposal champion Dan Minor @mozilla.org on shipping the TC39 Stage 3 Upsert proposal in Firefox 144 🎉
let map = new Map();
map.getOrInsert(key, defaultVal);
It lets you set a default value on a map key without overwriting an existing value 👍
Nested indentation:
--indent: calc(inherit(--indent, 0) + 1);
Overridable design token defaults:
--primary-color: inherit(--primary-color, blue);
Nested indentation:
--indent: calc(inherit(--indent, 0) + 1);
Overridable design token defaults:
--primary-color: inherit(--primary-color, blue);
This release includes Activity, useEffectEvent, React Performance Tracks, partial pre-rendering, and more:
react.dev/blog/2025/10...
This release includes Activity, useEffectEvent, React Performance Tracks, partial pre-rendering, and more:
react.dev/blog/2025/10...
#html #javascript
#html #javascript
whimsy.joshwcomeau.com
I’m so excited to share all of my animation tools and techniques with y’all. 😄
whimsy.joshwcomeau.com
I’m so excited to share all of my animation tools and techniques with y’all. 😄
TS 6.0 will enable "noUncheckedSideEffectImports" by default 🎉
This increases type safety by erroring if you try to import a non-existent file.
Thanks for @arnaud-barre.bsky.social for pitching & @searyanc.dev for manually coding the PR 👍
github.com/microsoft/Ty...
TS 6.0 will enable "noUncheckedSideEffectImports" by default 🎉
This increases type safety by erroring if you try to import a non-existent file.
Thanks for @arnaud-barre.bsky.social for pitching & @searyanc.dev for manually coding the PR 👍
github.com/microsoft/Ty...
Next week's TC39 meeting has a packed agenda:
🔼 Amount
🔼 Array.prototype.pushAll
🔶 AsyncContext
🔶 Await Dictionary
🔼 Import Bytes
🔶 Intl Era Month Code
🔼 Iterator Chunking
🔶 new Global()
🔼 Non-extensible applies to private
🔼 Promise Adoption
🔼 Promise Predicate
🔶 Temporal
Next week's TC39 meeting has a packed agenda:
🔼 Amount
🔼 Array.prototype.pushAll
🔶 AsyncContext
🔶 Await Dictionary
🔼 Import Bytes
🔶 Intl Era Month Code
🔼 Iterator Chunking
🔶 new Global()
🔼 Non-extensible applies to private
🔼 Promise Adoption
🔼 Promise Predicate
🔶 Temporal
una.im/follow-the-a...
ishadeed.com/article/anch...
It’s more like position: relative across DOM. Like you can make a floating :focus.
una.im/follow-the-a...
ishadeed.com/article/anch...
It’s more like position: relative across DOM. Like you can make a floating :focus.
(essential TS types)
Strictness helpers:
- ExtendsStrict
- ExcludeStrict
- ExtractStrict
Checks:
- IsUnion
- IsOptional
- IsNullable
Key-level checks:
- IsOptionalKeyOf
- IsReadonlyKeyOf
- IsRequiredKeyOf
- IsWritableKeyOf
And lots of bug fixes!
github.com/sindresorhus...
(essential TS types)
Strictness helpers:
- ExtendsStrict
- ExcludeStrict
- ExtractStrict
Checks:
- IsUnion
- IsOptional
- IsNullable
Key-level checks:
- IsOptionalKeyOf
- IsReadonlyKeyOf
- IsRequiredKeyOf
- IsWritableKeyOf
And lots of bug fixes!
github.com/sindresorhus...
Turns out, there’s a pretty big limitation with color transitions. I share some solutions in my brand-new post!
Turns out, there’s a pretty big limitation with color transitions. I share some solutions in my brand-new post!
From the latest version of @rolldown.rs (1.0.0-beta.36) on, Rolldown will only be released in the ESM format.
The required Node version has also been bumped to align with @vite.dev (20.19+ and 22.12+). Node 18 has been dropped due to being EOL since April.
From the latest version of @rolldown.rs (1.0.0-beta.36) on, Rolldown will only be released in the ESM format.
The required Node version has also been bumped to align with @vite.dev (20.19+ and 22.12+). Node 18 has been dropped due to being EOL since April.
I just re-ran the tests with the latest versions to see what’s changed 👇
I just re-ran the tests with the latest versions to see what’s changed 👇
- Misconception 1: Specificity is a decimal score
- Misconception 2: Using the style attribute (“inline styles”) adds Specificity
- Misconception 3: Using !important adds Specificity
bram.us/2024/05/05/m...
- Misconception 1: Specificity is a decimal score
- Misconception 2: Using the style attribute (“inline styles”) adds Specificity
- Misconception 3: Using !important adds Specificity
bram.us/2024/05/05/m...
⚡️ Barrel file optimization
⚡️ Faster file system watcher
⚡️ Smaller installation size
💪 Extending Rspack with Rust
💪 Type re-export analysis
And many exciting new features...
Read more in our blog:
rspack.rs/blog/announc...
⚡️ Barrel file optimization
⚡️ Faster file system watcher
⚡️ Smaller installation size
💪 Extending Rspack with Rust
💪 Type re-export analysis
And many exciting new features...
Read more in our blog:
rspack.rs/blog/announc...
Maybe it's a little bit ambitious, but I'm excited for us to try this one. 😄
github.com/microsoft/Ty...
Maybe it's a little bit ambitious, but I'm excited for us to try this one. 😄
github.com/microsoft/Ty...