github.com/eslint/eslin...
It is *wild* how simple that change is for that kind of startup perf boost 😍
github.com/eslint/eslin...
It is *wild* how simple that change is for that kind of startup perf boost 😍
Main reason why I wrote this is because I've tried this API for a work-related task before, but it didn't work out at all.
Reasons explained in `Is It a Navigation?` section
After 3 months of not writing anything, finally finished writing a blogpost explaining a rarely used, but prominent 5 years old API: Scroll to Text Fragment
www.namchee.dev/posts/anchor...
Published empathic@1.1 🎉 (benchmarks below)
Many packages are eagerly joining the @e18e.dev effort but (understandably) have existing support restrictions to maintain & so can't make as much progress as they'd like.
This release helps with that~!
(cont.)
Beginning the month with yet another corrupted .git folder in my WSL is really great. 3rd times already this year.
Really wonder if I should drop WSL completely and switch to pure Linux, especially since Linux gaming is great now.
#CSS text-box
a very exciting feature!
available in:
Chrome 133 & Safari 18.2
My post on Chrome Developers:
developer.chrome.com/blog/css-tex...
↪ nerdy.dev/text-box-trim
New in Chrome 133 – which goes stable on Feb 4 – is a new method to move an element around the DOM.
Unlike the classic way of removing+reinserting a node, this moveBefore method preserves the element’s state!
Iframes remain loaded, animations don’t restart, …
DEMO: codepen.io/bramus/full/...
Is this documented somewhere?
And now, we can format without having to focus too much on the tools that we use.
I hate when people starts to `pls migrate to Y, X sucks now!` every time these kind of tools comes out.
They're forgetting the main purpose of these tools: make your code great
Lately, we also have eslint-react (www.npmjs.com/package/@esl...), which applies ESLint rules for your React-based projects without being too binded to `react-dom`
First, we have Anthony Fu's ni (github.com/antfu-collec...), which makes you ignore package manager wars.
It's nice to see the JS ecosystem moving to x-agnostic way.
🚀 Motion springs into the world of CSS generation.
Generate spring animations with our upgraded, simplified spring() function. With guides for:
- @astro.build
- @vuejs.org
- @react.dev Server Components
And more!
🔗 motion.dev/docs/css
You can use ranges too! VitePress has integrated a lot of Shiki transformers internally.
vitepress.dev/guide/markdo...
need product differentiation?
overhire a #CSS front-end team and ask them to:
- polish whatever
- add delight wherever
and watch as your product becomes smooth and buttery while everyone else's gather dust and crust
UI is a huge space offering differentiation via quality
Day 21. We can (again) extend the previous day functionality.
We can check if an element exist in an array using `extends`
Day 20. We can re-use the parser code from the previous day. But we do need to implement the result object logic.
It's self-review time again
Day 19. The trick here is to parse the line one-by-one and trimming them.
TIL: GitHub has 👍 in issues now.
Day 18. We are dealing with unprovided generics.
The trick is to assert whether the generic is provided or not. If it's not provided, access the array element. Otherwise, return the generic as-is.
Day 17. We can strongly-type the composition and utilities using generics.
To avoid type narrowing for string utilities, we can recast it using string utility types.
Day 16. We can deal with recursion with the help of `ReturnType`
Screenshot of code showing autocomplete of links
I just published version 1.0 of the astro-typed-links @astro.build integration! It greatly simplifies its usage and DX. Check it out at github.com/florian-lefe...
Day 15. We are dealing with string inference combined with recursions.
Since I don't want to deal with some funny cases, I just implemented hacky helper functions to deal with it (don't do this 😂)
Day 14. We are introduced with AsyncGenerator type which is a signature for generator functions.
To get the return type, we can `infer` it.
When reviewing a PR, please ensure that your comments and change request are submitted in bulk to avoid context switching.
Over the week, I've experienced this with my colleague and it really stresses me out when after addressing the PR comments, you still see comments popping out for 20 times
Day 13, this one is a bit difficult as we need to understand covariant and contravariant of TypeScript.
To enforce an invariant, we need to apply `out` to enforce contravariance and `in` to enfore covariance to the generic type.