@ekampf 100% agree on the mess of the JS ecosystem and how it changes too frequently. My comment was about Rails; despite being super quick to start with, it uses Ruby, a language I used to love and won't willingly touch because types are too precious.
@ekampf TS is delightful. TS saves time, prevents many trivial production bugs, works great in a team setting with mixed levels of experience.
Generics can look like code-vomit but they make things much simpler and correct. They make it much harder to introduce bugs.
@ekampf Hard disagree :) Anything that can be validated statically, should be. This doesn't reduce the need for tests that are very important, but I'll never test "throws when gets a string and not a number" or write wasteful runtime checks for types/missing properties.
@arikfr@sindresorhus When I tried it, I think I missed the option to choose a different Chrome profile, but it's possible, just needs activation. Seems equivalent to Finicky in the way I use it.
Finicky is one of my favorite tools recently. I use work/personal profiles on Chrome and I hate when work links from Slack/email open in the personal profile and vice versa. Finicky allows me to choose which browser/profile to use based on matching rules.
https://t.co/iXSeq3OsaT
@t3dotgg@kenwheeler Not to mention test breakage in React Testing Library, and that we unfortunately still have some Enzyme tests that don't have a working adapter (although the plan is to move to RTL).
@t3dotgg@kenwheeler There are different between rendering with creareRoot and ReactDOM.render that led to bugs. Fixed some. Some are related to 3rd party deps. The ones we haven't found yet are scary and prevent us from safely fully migrate. It'll happen eventually but it's not seamless.
@altryne@arikfr@browsercompany So far it's been working for me. An open tab = a task. Chrome's built in memory management is doing a good job of suspending tabs too. Maybe I want a better in-browser UI to manage the tasks, but they definitely need to stay around.
@jondot What's the benefit of this approach? If you add another var you'll need to change all the lines, add _ in all the matchers... Seems... wrong.
I don't write Rust, but something like this would make more sense:
check(X) || bail("missing X")
or
assert("X", "missing X")